Pulp 3 Integration » History » Version 63
Justin Sherrill, 10/02/2020 01:51 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 | |||
18 | 44 | Samir Jha | h2. Katello Dev box with pulp3 on master: |
19 | 1 | Justin Sherrill | |
20 | 44 | Samir Jha | On a devel box provisioned with steps above, run : |
21 | |||
22 | <pre> |
||
23 | 1 | Justin Sherrill | sudo pip3 install scikit-build nose |
24 | 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 |
||
25 | 55 | Justin Sherrill | |
26 | sudo pip3 install "git+https://github.com/pulp/pulpcore.git" \ |
||
27 | "git+https://github.com/pulp/pulp_file.git" \ |
||
28 | "git+https://github.com/pulp/pulp_rpm.git" \ |
||
29 | "git+https://github.com/pulp/pulp_container.git" \ |
||
30 | 1 | Justin Sherrill | "git+https://github.com/pulp/pulp-2to3-migration.git" |
31 | 55 | Justin Sherrill | |
32 | 1 | Justin Sherrill | cd /tmp |
33 | 55 | Justin Sherrill | sudo -u pulp PULP_SETTINGS='/etc/pulp/settings.py' /usr/local/bin/pulpcore-manager migrate |
34 | 56 | Justin Sherrill | |
35 | 55 | Justin Sherrill | cd ~/foreman |
36 | bundle exec rails katello:reset |
||
37 | </pre> |
||
38 | 44 | Samir Jha | |
39 | 1 | Justin Sherrill | |
40 | h2. Updating to a New Pulp Version in master & nightly: |
||
41 | |||
42 | 63 | Justin Sherrill | 1. Request build of new version from build team unles its already built: http://yum.theforeman.org/pulpcore/ (https://github.com/theforeman/pulpcore-packaging) |
43 | 2. Install new version locally on top of existing version with a pip3 install command, or use rpms if they are built |
||
44 | 3. Identify any installer changes, open installer PRs |
||
45 | 4. Identify katello updates: |
||
46 | 48 | Samir Jha | * Updating pulp client gem bindings in katello.gemspec |
47 | 1 | Justin Sherrill | * re-record vcr cassettes |
48 | 48 | Samir Jha | * Identify any katello code changes needed to fix test cases |
49 | * open katello PR with changes |
||
50 | |||
51 | 63 | Justin Sherrill | 5. Update client binding rpms at foreman-packaging |
52 | |||
53 | 49 | Justin Sherrill | |
54 | 1 | Justin Sherrill | |
55 | |||
56 | 49 | Justin Sherrill | |
57 | |||
58 | 1 | Justin Sherrill | |
59 | |||
60 | 62 | Justin Sherrill | h2. Installing on a smart proxy: The old (ansible-based) way to deploy pulp3: |
61 | 1 | Justin Sherrill | |
62 | 62 | Justin Sherrill | * vagrant up centos7-proxy-devel |
63 | 1 | Justin Sherrill | * Install the following packages in your dev box: |
64 | 62 | Justin Sherrill | * checkout this forklift pr: https://github.com/theforeman/forklift/pull/980 |
65 | 49 | Justin Sherrill | * setup ansible-pulp: |
66 | <pre> |
||
67 | cd forklift |
||
68 | git clone https://github.com/pulp/ansible-pulp.git |
||
69 | cd ansible-pulp |
||
70 | ansible-galaxy install -r requirements.yml -p ./roles |
||
71 | ansible-galaxy install pulp.pulp_rpm_prerequisites -p ./roles |
||
72 | </pre> |
||
73 | |||
74 | |||
75 | * within forkflift run: |
||
76 | <pre> |
||
77 | ansible-playbook ./playbooks/katello_pulp3.yml -l centos7-katello-devel |
||
78 | 48 | Samir Jha | </pre> |
79 | |||
80 | 62 | Justin Sherrill | * if this fails, run on the capsule: |
81 | <pre> |
||
82 | rm -rf /usr/lib/python3.6/site-packages/setuptools* -rf |
||
83 | </pre> |
||
84 | and re-run: |
||
85 | <pre> |
||
86 | ansible-playbook ./playbooks/katello_pulp3.yml -l centos7-katello-devel |
||
87 | </pre> |
||
88 | |||
89 | 61 | Samir Jha | * Refresh the smart proxy: |
90 | |||
91 | 1. login to katello/foreman |
||
92 | 60 | Samir Jha | 2. navigate to infrastructure > smart proxies |
93 | 3. click 'refresh' in the list of actions beside your smart proxy |
||
94 | You're now rockin' Pulp3 |
||
95 | |||
96 | |||
97 | 62 | Justin Sherrill | h2. Reset the Katello Pulp 3 Dev Environment |
98 | From within the Foreman directory this will take care of it: |
||
99 | 60 | Samir Jha | <pre>bundle exec rake katello:reset</pre> |
100 | |||
101 | 62 | Justin Sherrill | To ONLY reset the pulp3 db (if you know what your doing): |
102 | 60 | Samir Jha | <pre> |
103 | 62 | Justin Sherrill | sudo systemctl stop pulpcore* |
104 | sudo su - postgres |
||
105 | dropdb pulp -p 7878 |
||
106 | createdb pulp -p 7878 |
||
107 | exit |
||
108 | cd /usr/local/lib/pulp/src/pulpcore/ |
||
109 | 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 |
||
110 | 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 |
||
111 | Copy /etc/httpd/conf.d/05-foreman-ssl.d/pulpcore.conf from your dev box to proxy |
||
112 | sudo systemctl restart pulpcore* |
||
113 | 60 | Samir Jha | </pre> |
114 | |||
115 | 59 | Ian Ballou | h2. Example for querying the Pulp 3 API in a development environment: |
116 | <pre> |
||
117 | curl https://`hostname`/pulp/api/v3/status/ --cert /etc/pki/katello/certs/pulp-client.crt --key /etc/pki/katello/private/pulp-client.key |
||
118 | </pre> |
||
119 | |||
120 | 25 | Justin Sherrill | h3. Other Resources |
121 | |||
122 | * pulp3 gap analysis wiki https://projects.theforeman.org/projects/katello/wiki/PulpV3GapAnalysis |
||
123 | * pulp3 gap analysis etherpad https://etherpad.net/p/pulp3_container |
||
124 | * pulp3 docker roadmap https://pulp.plan.io/projects/pulp/wiki/Pulp_Docker_Roadmap |