Pulp 3 Integration » History » Revision 25
Revision 24 (Samir Jha, 08/08/2019 06:01 PM) → Revision 25/86 (Justin Sherrill, 08/23/2019 02:18 PM)
h1. 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
h2. Katello Dev environment with pulp 3
* Install a katello dev environment with forklift
* checkout this forklift pr if its not merged: https://github.com/theforeman/forklift/pull/980
* setup ansible-pulp:
<pre>
cd forklift
git clone https://github.com/pulp/ansible-pulp.git
cd ansible-pulp
ansible-galaxy install -r requirements.yml -p ./roles
</pre>
* within forklift run:
<pre>grep "pulp_group" roles/katello_pul3/tasks/main.yml </pre>
If you don't see pulp_group: pulp
<pre>
find roles/katello_pulp3/tasks/main.yml -type f -exec sed -i 's/pulp_user: pulp/pulp_user: pulp\n pulp_group: pulp/g' {} \;
</pre>
* within forkflift run:
<pre>
ansible-playbook ./playbooks/katello_pulp3.yml -l centos7-katello-devel
</pre>
* 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.
<pre>
sudo chmod -R 777 /etc/pki/pulp/
sudo systemctl restart pulp-api.service
</pre>
h2. 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
h3. 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
h3. Old way to deploy pulp3 on other box
* <pre>yum install vagrant-sshfs</pre>
* 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):
<pre>
:enabled: true
:pulp_url: http://dev.pulp3/pulp/
</pre>
* 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
h3. 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