Pulp 3 Integration » History » Revision 40
« Previous |
Revision 40/86
(diff)
| Next »
Samir Jha, 02/21/2020 12:10 AM
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 yum plugin using vagrant:¶
Install and enable pulp_rpm plugin
- vagrant up katello-dev-box
- vagrant ssh katello-dev-box
- Execute commands below:
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 sudo pip3 install scikit-build nose sudo pip3 install pulp-rpm==3.0.0 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 environment with pulp 3 using ansible playbook:¶
- 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
Old way to deploy pulp3 on other box
yum install vagrant-sshfs
- Checkout pulplift: https://github.com/pulp/pulplift
- Follow pulplift readme instructions, copy the centos7-pulp3-github box definition from vagrant/boxes.d/99-local.yaml.example
- vagrant up centos7-pulp3-github
- On katello dev env, edit /etc/foreman-proxy/settings.d/pulp3.yml
- add/edit options (replacing dev.pulp3 with ip address or hostname of pulplift box):
:enabled: true
:pulp_url: http://dev.pulp3/pulp/
- restart foreman-proxy: systemctl restart foreman-proxy
- refresh your smart proxy, from the Infrastructure > Smart Proxies page
- Confirm that you see 'pulp3' show up in the list of features for that smart proxy
yum install vagrant-sshfs
- add/edit options (replacing dev.pulp3 with ip address or hostname of pulplift box):
:enabled: true :pulp_url: http://dev.pulp3/pulp/
Deploying pulp3 on new dev boxes with postgres12:¶
In forklift, on branch with https://github.com/theforeman/forklift/pull/980 apply patch https://gist.github.com/sjha4/5d4189eae804bd2b3229c10870f56ac2#file-forklift-patch
cd ansible-pulp
Apply patch https://gist.github.com/sjha4/5d4189eae804bd2b3229c10870f56ac2#file-0001-psql12-patch
vagrant ssh into devel box
run
sudo ln -s /opt/rh/rh-postgresql12/root/usr/bin/pg_config /usr/sbin/pg_config
sudo ln -s /opt/rh/rh-postgresql12/root/usr/lib64/libpq.so.rh-postgresql12-5 /usr/lib64/libpq.so.rh-postgresql12-5
exit
Run the playbook.
It might fail with postmaster.pid exists. In which case, ssh into dev box.
sudo systemctl stop postgresql
find / -name postmaster.pid
rm -f ^^
re-run the playbook.
Candlepin will probably stop working at this point. To fix this:
sudo vi /var/opt/rh/rh-postgresql12/lib/pgsql/data/pg_hba.conf
in the file set all the auth from peer to trust.
sudo systemctl restart postgres
Updating of pulp client binding Gems¶
Every two weeks on a Friday, a PR should be open against katello to bump the client gems. A script is provided https://gist.githubusercontent.com/jlsherrill/836268d9ee9b33fc1fff06e9061db4f4/raw/7a1044725b00c44246fd241e9bed644c5fab6321/generate_pulp3_deps.rb to output the relevant requirements that can be put into katello.gemspec.
Example PR: https://github.com/Katello/katello/pull/8294
If there are test failures, investigate and attempt to fix them. VCR re-recording may be necessary.
If there is some expected change, this process can be done more often.
We will ask for a volunteer the thursday prior to each friday. Current Schedule:
Sept 6th
Sept 20th
Oct 4th
Oct 18th
Updated by Samir Jha almost 5 years ago · 86 revisions