Pulp 3 Integration » History » Version 80
Justin Sherrill, 10/06/2021 01:05 PM
1 | 1 | Justin Sherrill | h1. Pulp 3 Integration |
---|---|---|---|
2 | |||
3 | This page is meant to capture links to various resources around pulp3 integration |
||
4 | |||
5 | * Initial Integration Document: https://docs.google.com/document/d/1eFM4H9BteA_nTDbUkRJgEiqSttXfAtB9-51a_OuwVJw/edit?usp=sharing |
||
6 | * Initial Community Post: https://community.theforeman.org/t/pulp-3-migration/10474 |
||
7 | * Youtube Videos: https://www.youtube.com/playlist?list=PL59WSIBtIpv7tbjnsEAWNcdiOKAmjjgqE |
||
8 | * Tasks List: https://docs.google.com/spreadsheets/d/1PFx-VAEXlivlqDYR9INMW26AUWtuMS_XtEnwhFVP5Rc/edit?usp=sharing |
||
9 | 17 | John Mitsch | * Main Tracker: https://projects.theforeman.org/issues/26987 |
10 | 2 | Justin Sherrill | |
11 | 41 | Justin Sherrill | h2. Katello Dev box with pulp3: |
12 | 40 | Samir Jha | |
13 | 62 | Justin Sherrill | Dev boxes are deployed with pulp3 by default, via an rpm installation |
14 | 40 | Samir Jha | * vagrant up katello-dev-box |
15 | 1 | Justin Sherrill | * vagrant ssh katello-dev-box |
16 | 40 | Samir Jha | |
17 | 44 | Samir Jha | h2. Katello Dev box with pulp3 on master: |
18 | 1 | Justin Sherrill | |
19 | 69 | Samir Jha | Dev boxes come installed and configured to use yum, docker and files on pulp3. |
20 | To enable ansible collection content type, you need to perform the following steps on the devel box: |
||
21 | 1 | Justin Sherrill | |
22 | 69 | Samir Jha | # <pre> |
23 | 71 | Samir Jha | # sudo pip3 install pulp-ansible==0.7.0 |
24 | 72 | Samir Jha | # sudo mv /usr/local/lib/python3.6/site-packages/pulp_ansibl* /usr/lib/python3.6/site-packages/ |
25 | 70 | Samir Jha | # sudo -u pulp PULP_SETTINGS='/etc/pulp/settings.py' DJANGO_SETTINGS_MODULE='pulpcore.app.settings' python3-django-admin migrate --no-input |
26 | 69 | Samir Jha | # </pre> |
27 | # In file ~/foreman/config/settings.plugins.d/katello.yaml, |
||
28 | # Add :ansible_collection: true to the dict of content types. |
||
29 | 70 | Samir Jha | # Restart foreman server and refresh smart proxy features. |
30 | 1 | Justin Sherrill | |
31 | h2. Updating to a New Pulp Version in master & nightly: |
||
32 | |||
33 | 74 | Justin Sherrill | 1. Request build of new version via the discourse Development discussion unless its already built: http://yum.theforeman.org/pulpcore/ (https://github.com/theforeman/pulpcore-packaging). List the plugin versions you would like (usually the latest of them all) and request a time frame (try to give ~2 weeks). Example: https://community.theforeman.org/t/request-for-pulpcore-3-13-builds/23855 |
34 | 73 | Justin Sherrill | 1. Send an email to satellite-delivery@redhat.com and link to the discourse thread. |
35 | 2. Once the new yum repo is available, update your pulp packages locally on your devel environment. If you are wanting to jump ahead, try to pip3 install the new versions and pray. |
||
36 | 63 | Justin Sherrill | 3. Identify any installer changes, open installer PRs |
37 | 4. Identify katello updates: |
||
38 | 48 | Samir Jha | * Updating pulp client gem bindings in katello.gemspec |
39 | 1 | Justin Sherrill | * re-record vcr cassettes |
40 | 48 | Samir Jha | * Identify any katello code changes needed to fix test cases |
41 | 1 | Justin Sherrill | * open katello PR with changes |
42 | 67 | Justin Sherrill | |
43 | 66 | Justin Sherrill | 5. Update katello-repos in https://github.com/theforeman/foreman-packaging to point to the new version |
44 | 6. Update forklift to deploy with the new version: https://github.com/theforeman/forklift/blob/master/vagrant/config/versions.yaml |
||
45 | 48 | Samir Jha | |
46 | 63 | Justin Sherrill | 5. Update client binding rpms at foreman-packaging |
47 | |||
48 | 1 | Justin Sherrill | |
49 | 75 | Justin Sherrill | h2. Using a 2nd server as a pulp server, for use in development. |
50 | 76 | Justin Sherrill | |
51 | 75 | Justin Sherrill | If you have a devel environment and want to spin up a 2nd dev box via pulp_installer to test with, for example to dev or test against a pulp version that doesn't have rpm builds yet. |
52 | |||
53 | 1. Spinup a fresh dev environment, or reset your old one with 'bundle exec rake katello:reset' |
||
54 | 2. On your hypervisor, setup pulp-installer: |
||
55 | 1 | Justin Sherrill | <pre> |
56 | 75 | Justin Sherrill | git clone https://github.com/pulp/pulp_installer |
57 | cd pulp_installer |
||
58 | git clone https://github.com/theforeman/forklift.git |
||
59 | 1 | Justin Sherrill | </pre> |
60 | 75 | Justin Sherrill | 3. edit pulp_installer/example.user-config.yml uncomment plugins to install |
61 | 4. Spin up PULP3 Box: |
||
62 | 1 | Justin Sherrill | <pre> |
63 | 75 | Justin Sherrill | vagrant up pulp3-sandbox-centos7 |
64 | vagant ssh pulp3-sandbox-centos7 |
||
65 | 1 | Justin Sherrill | </pre> |
66 | 75 | Justin Sherrill | 5. grab the ip address and hostname of the PULP3 box: |
67 | 1 | Justin Sherrill | <pre> |
68 | 75 | Justin Sherrill | sudo yum install net-tools |
69 | hostname |
||
70 | ifconfig |
||
71 | 1 | Justin Sherrill | </pre> |
72 | 75 | Justin Sherrill | 6. Add hostname/ipaddress to /etc/hosts on the KATELLO server, as root: |
73 | 60 | Samir Jha | <pre> |
74 | 75 | Justin Sherrill | echo "192.168.0.8 pulp3-sandbox-centos7.example.com" >> /etc/hosts |
75 | </pre> |
||
76 | 80 | Justin Sherrill | 7. Reset the admin password on the PULP3 Box (as root, run): |
77 | 75 | Justin Sherrill | <pre> |
78 | 80 | Justin Sherrill | DJANGO_SETTINGS_MODULE='pulpcore.app.settings' PULP_SETTINGS='/etc/pulp/settings.py' /usr/local/lib/pulp/bin/pulpcore-manager reset-admin-password --password password |
79 | 64 | Samir Jha | </pre> |
80 | |||
81 | 75 | Justin Sherrill | 8. copy contents of /etc/pulp/certs/root.crt on PULP box to the KATELLO box in file: /etc/pki/ca-trust/source/anchors/pulpcore.crt |
82 | 9. Update ca trust: |
||
83 | <pre> |
||
84 | update-ca-trust |
||
85 | </pre> |
||
86 | 62 | Justin Sherrill | |
87 | 75 | Justin Sherrill | 10. On the KATELLO box, reconfigure the smart proxy plugin, edit /etc/foreman-proxy/settings.d/pulpcore.yml replace contents with (Substituting correct hostname): |
88 | <pre> |
||
89 | --- |
||
90 | :enabled: https |
||
91 | :pulp_url: https://pulp3-sandbox-centos7.balmora.example.com |
||
92 | :content_app_url: https://pulp3-sandbox-centos7.balmora.example.com/pulp/content |
||
93 | :mirror: false |
||
94 | :username: admin |
||
95 | 1 | Justin Sherrill | :password: password |
96 | </pre> |
||
97 | |||
98 | 11. restart the foreman-proxy: |
||
99 | <pre> |
||
100 | systemctl restart foreman-proxy |
||
101 | </pre> |
||
102 | 12. Navigate to Infrastructure > Smart proxies and refresh the smart proxy features |
||
103 | 78 | Ryan Verdile | |
104 | 79 | Ryan Verdile | h3. To pip install a pulp plugin on the new pulp server: |
105 | 78 | Ryan Verdile | |
106 | Make sure to use the pip executable found in the same bin directory that the pulp service executables are found. For example, '/usr/local/lib/pulp/bin/pip'. |
||
107 | |||
108 | To find this location run: |
||
109 | <pre> |
||
110 | systemctl status "pulp*" |
||
111 | </pre> |
||
112 | Then look under the CGroup of one of the pulp services. |
||
113 | 59 | Ian Ballou | |
114 | h2. Example for querying the Pulp 3 API in a development environment: |
||
115 | 68 | Ian Ballou | <pre> |
116 | curl https://`hostname`/pulp/api/v3/status/ --cert /etc/pki/katello/certs/pulp-client.crt --key /etc/pki/katello/private/pulp-client.key |
||
117 | 25 | Justin Sherrill | </pre> |
118 | |||
119 | Recommendation: try the pulp-cli: https://github.com/pulp/pulp-cli#katello |
||
120 | |||
121 | h3. Other Resources |
||
122 | 1 | Justin Sherrill | |
123 | * pulp3 gap analysis wiki https://projects.theforeman.org/projects/katello/wiki/PulpV3GapAnalysis |
||
124 | * pulp3 gap analysis etherpad https://etherpad.net/p/pulp3_container |
||
125 | * pulp3 docker roadmap https://pulp.plan.io/projects/pulp/wiki/Pulp_Docker_Roadmap |