Pulp 3 Integration » History » Revision 67
« Previous |
Revision 67/86
(diff)
| Next »
Justin Sherrill, 01/08/2021 01:16 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:¶
Dev boxes are deployed with pulp3 by default, via an rpm installation- vagrant up katello-dev-box
- vagrant ssh katello-dev-box
Katello Dev box with pulp3 on master:¶
On a devel box provisioned with steps above, run :
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/pulpcore.git" \ "git+https://github.com/pulp/pulp_file.git" \ "git+https://github.com/pulp/pulp_rpm.git" \ "git+https://github.com/pulp/pulp_container.git" \ "git+https://github.com/pulp/pulp-2to3-migration.git" cd /tmp sudo -u pulp PULP_SETTINGS='/etc/pulp/settings.py' /usr/local/bin/pulpcore-manager migrate cd ~/foreman bundle exec rails katello:reset
Updating to a New Pulp Version in master & nightly:¶
1. Request build of new version from build team unless its already built: http://yum.theforeman.org/pulpcore/ (https://github.com/theforeman/pulpcore-packaging)2. Install new version locally on top of existing version with a pip3 install command, or use rpms if they are built
3. Identify any installer changes, open installer PRs
4. 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
5. Update katello-repos in https://github.com/theforeman/foreman-packaging to point to the new version
6. Update forklift to deploy with the new version: https://github.com/theforeman/forklift/blob/master/vagrant/config/versions.yaml
5. Update client binding rpms at foreman-packaging
Installing on a smart proxy: The old (ansible-based) way to deploy pulp3:¶
- vagrant up centos7-proxy-devel
- Install the following packages in your dev box:
- checkout this forklift pr: 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
- if this fails, run on the capsule:
rm -rf /usr/lib/python3.6/site-packages/setuptools* -rf
and re-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
To revert to pulp2 on smart proxy:
vi /etc/foreman-proxy/settings.d/pulpcore.yml
set enabled to false
sudo systemctl restart foreman-proxy
Refresh features of proxy
Reset the Katello Pulp 3 Dev Environment
From within the Foreman directory this will take care of it:
bundle exec rake katello:reset
¶
To ONLY reset the pulp3 db (if you know what your doing):
sudo systemctl stop pulpcore* sudo su - postgres dropdb pulp -p 7878 createdb pulp -p 7878 exit cd /usr/local/lib/pulp/src/pulpcore/ sudo -u pulp PULP_SETTINGS='/etc/pulp/settings.py' DJANGO_SETTINGS_MODULE='pulpcore.app.settings' /usr/local/lib/pulp/bin/django-admin migrate --no-input sudo -u pulp PULP_SETTINGS='/etc/pulp/settings.py' DJANGO_SETTINGS_MODULE='pulpcore.app.settings' /usr/local/lib/pulp/bin/django-admin reset-admin-password --password password Copy /etc/httpd/conf.d/05-foreman-ssl.d/pulpcore.conf from your dev box to proxy sudo systemctl restart pulpcore*
Example for querying the Pulp 3 API in a development environment:
curl https://`hostname`/pulp/api/v3/status/ --cert /etc/pki/katello/certs/pulp-client.crt --key /etc/pki/katello/private/pulp-client.key
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 Justin Sherrill almost 4 years ago · 86 revisions