Pulp 3 Integration » History » Revision 36
« Previous |
Revision 36/86
(diff)
| Next »
Samir Jha, 02/18/2020 09:25 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 environment with pulp 3¶
- 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://drive.google.com/file/d/1lWe6Aw2zLJRIUl3LvLFpsI1xKlAWhsEh/view?usp=sharing
cd ansible-pulp
Apply patch https://drive.google.com/file/d/1hqbQi7E_hPeFsJJImCxYR4dfctpAVB4n/view?usp=sharing
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