Pulp 3 Integration » History » Revision 54
« Previous |
Revision 54/86
(diff)
| Next »
James Jeffers, 04/15/2020 02:49 PM
Pulp 3 Integration¶
This page is meant to capture links to various resources around pulp3 integration
- Initial Integration Document: https://docs.google.com/document/d/1eFM4H9BteA_nTDbUkRJgEiqSttXfAtB9-51a_OuwVJw/edit?usp=sharing
- Initial Community Post: https://community.theforeman.org/t/pulp-3-migration/10474
- Youtube Videos: https://www.youtube.com/playlist?list=PL59WSIBtIpv7tbjnsEAWNcdiOKAmjjgqE
- Tasks List: https://docs.google.com/spreadsheets/d/1PFx-VAEXlivlqDYR9INMW26AUWtuMS_XtEnwhFVP5Rc/edit?usp=sharing
- Main Tracker: https://projects.theforeman.org/issues/26987
Katello Dev box with pulp3:¶
- vagrant up katello-dev-box
- vagrant ssh katello-dev-box
Adding the yum plugin:
sudo yum install -y gcc make cmake bzip2-devel expat-devel file-devel glib2-devel libcurl-devel libmodulemd2-devel ninja-build libxml2-devel python36-devel python36-gobject rpm-devel openssl-devel sqlite-devel xz-devel zchunk-devel zlib-devel swig3
sudo pip3 install scikit-build nose
sudo pip3 install pulp-rpm==3.0.0
cd /usr/lib/python3.6/site-packages/pulpcore
sudo -u pulp PULP_SETTINGS='/etc/pulp/settings.py' DJANGO_SETTINGS_MODULE='pulpcore.app.settings' python3-django-admin migrate --no-input
sudo systemctl restart pulpcore-resource-manager pulpcore-content pulpcore-api pulpcore-worker@1 pulpcore-worker@2
- Refresh the smart proxy
- login to katello/foreman
- navigate to infrastructure > smart proxies
- click 'refresh' in the list of actions beside your smart proxy
You should now see file, docker and yum as supported content type under pulpcore in the Services tab
Katello Dev box with pulp3 on master:¶
On a devel box provisioned with steps above, run :
cd /usr/lib/python3.6/site-packages/ sudo pip3 install "git+https://github.com/pulp/pulpcore.git" sudo pip3 install scikit-build nose sudo yum install -y gcc make cmake bzip2-devel expat-devel file-devel glib2-devel libcurl-devel libmodulemd2-devel ninja-build libxml2-devel python36-devel python36-gobject rpm-devel openssl-devel sqlite-devel xz-devel zchunk-devel zlib-devel swig3 sudo pip3 install "git+https://github.com/pulp/pulp_file.git" sudo pip3 install "git+https://github.com/pulp/pulp_rpm.git" sudo pip3 install "git+https://github.com/pulp/pulp_container.git" sudo pip3 install "git+https://github.com/pulp/pulp-2to3-migration.git" sudo rm -rf pulpcore* sudo rm -rf pulp_* sudo rm -rf redis* sudo mv /usr/local/lib/python3.6/site-packages/pulp* /usr/lib/python3.6/site-packages/ sudo mv /usr/local/lib/python3.6/site-packages/redis* /usr/lib/python3.6/site-packages/ cd ~/foreman bundle exec rails katello:reset
Add the following to your /etc/pulp/settings.py
AUTHENTICATION_BACKENDS = ['pulpcore.app.authentication.PulpNoCreateRemoteUserBackend'] REST_FRAMEWORK__DEFAULT_AUTHENTICATION_CLASSES = ( 'rest_framework.authentication.SessionAuthentication', 'pulpcore.app.authentication.PulpRemoteUserAuthentication' )
Updating to a New Pulp Version in master & nightly:¶
1. Install new version locally ontop of existing version with a pip3 install command2. Identify any installer changes, open installer PRs
3. Identify katello updates:
- Updating pulp client gem bindings in katello.gemspec
- re-record vcr cassettes
- Identify any katello code changes needed to fix test cases
- open katello PR with changes
4. Update client binding rpms at foreman-packaging
5. Request rpm builds email satellite6-build@redhat.com or open a pr ourselves: https://github.com/evgeni/pulpcore-packaging#build
Old (ansible-based) way to deploy pulp3:¶
- Install a katello dev environment with forklift
- Install the following packages in your dev box:
sudo yum -y install https://people.redhat.com/iballou/libcomps-0.1.12-1.git.0.937a666.el7.x86_64.rpm
sudo yum -y install https://people.redhat.com/iballou/python3-libcomps-0.1.12-1.git.0.937a666.el7.x86_64.rpm
- checkout this forklift pr if its not merged: https://github.com/theforeman/forklift/pull/980
- setup ansible-pulp:
cd forklift git clone https://github.com/pulp/ansible-pulp.git cd ansible-pulp ansible-galaxy install -r requirements.yml -p ./roles ansible-galaxy install pulp.pulp_rpm_prerequisites -p ./roles
- within forkflift run:
ansible-playbook ./playbooks/katello_pulp3.yml -l centos7-katello-devel
- Refresh the smart proxy:
1. login to katello/foreman
2. navigate to infrastructure > smart proxies
3. click 'refresh' in the list of actions beside your smart proxy
You're now rockin' Pulp3
- Known Issue: Can't seem to use pulp3 on the box since pulp-api.service fails to start.
sudo chmod -R 777 /etc/pki/pulp/ sudo systemctl restart pulpcore-api.service
- Reset the Katello Pulp 3 Dev Environment
From within the Foreman directory:bundle exec rake katello:reset
Smart Proxy Setup:¶
- Install a smart proxy to point to your pulp3_dev box
- ssh into the smart proxy
- sudo mkdir /etc/httpd/conf.d/05-foreman-ssl.d
- sudo vi /etc/httpd/conf/httpd.conf
- Add IncludeOptional "/etc/httpd/conf.d/05-foreman-ssl.d/*.conf to the end of the file and save
- In forklift > Run ansible-playbook ./playbooks/katello_pulp3.yml -l centos7-proxy-devel
Other Resources¶
- pulp3 gap analysis wiki https://projects.theforeman.org/projects/katello/wiki/PulpV3GapAnalysis
- pulp3 gap analysis etherpad https://etherpad.net/p/pulp3_container
- pulp3 docker roadmap https://pulp.plan.io/projects/pulp/wiki/Pulp_Docker_Roadmap
Updated by James Jeffers over 4 years ago · 86 revisions