Project

General

Profile

Pulp 3 Integration » History » Version 34

Ian Ballou, 01/21/2020 04:23 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
h2. Katello Dev environment with pulp 3
12
13 15 Justin Sherrill
* Install a katello dev environment with forklift
14 32 Ian Ballou
* Install the following packages in your dev box: 
15 34 Ian Ballou
<pre>sudo yum -y install https://people.redhat.com/iballou/libcomps-0.1.12-1.git.0.937a666.el7.x86_64.rpm</pre>
16
<pre>sudo yum -y install https://people.redhat.com/iballou/python3-libcomps-0.1.12-1.git.0.937a666.el7.x86_64.rpm</pre>
17 15 Justin Sherrill
* checkout this forklift pr if its not merged: https://github.com/theforeman/forklift/pull/980
18
* setup ansible-pulp:
19
<pre>
20
cd forklift
21
git clone https://github.com/pulp/ansible-pulp.git
22 1 Justin Sherrill
cd ansible-pulp
23 15 Justin Sherrill
ansible-galaxy install -r requirements.yml -p ./roles
24 29 Justin Sherrill
ansible-galaxy install pulp.pulp_rpm_prerequisites -p ./roles
25 15 Justin Sherrill
</pre>
26 24 Samir Jha
27
28 15 Justin Sherrill
* within forkflift run:
29
<pre>
30
ansible-playbook ./playbooks/katello_pulp3.yml -l centos7-katello-devel
31
</pre>
32 1 Justin Sherrill
33 15 Justin Sherrill
* Refresh the smart proxy: 
34
35
  1. login to katello/foreman
36
  2. navigate to infrastructure > smart proxies
37
  3. click 'refresh' in the list of actions beside your smart proxy
38
You're now rockin' Pulp3
39 18 Partha Aji
40
41 22 Samir Jha
* *Known Issue:* Can't seem to use pulp3 on the box since pulp-api.service fails to start.
42
<pre>
43
sudo chmod -R 777 /etc/pki/pulp/
44 30 John Mitsch
sudo systemctl restart pulpcore-api.service
45 22 Samir Jha
</pre>
46 18 Partha Aji
47 33 Chris Roberts
* Reset the Katello Pulp 3 Dev Environment
48
From within the Foreman directory:
49
<pre>bundle exec rake katello:reset</pre>
50
51 23 Samir Jha
h2. Smart Proxy Setup:
52
53
* Install a smart proxy to point to your pulp3_dev box
54
* ssh into the smart proxy
55
* sudo mkdir /etc/httpd/conf.d/05-foreman-ssl.d
56
* sudo vi /etc/httpd/conf/httpd.conf
57
* Add IncludeOptional "/etc/httpd/conf.d/05-foreman-ssl.d/*.conf to the end of the file and save
58
* In forklift > Run ansible-playbook ./playbooks/katello_pulp3.yml -l centos7-proxy-devel
59
60 15 Justin Sherrill
h3. Other Resources
61
62
* pulp3 gap analysis wiki https://projects.theforeman.org/projects/katello/wiki/PulpV3GapAnalysis
63
* pulp3 gap analysis etherpad https://etherpad.net/p/pulp3_container
64
* pulp3 docker roadmap https://pulp.plan.io/projects/pulp/wiki/Pulp_Docker_Roadmap
65
66
67 16 Ian Ballou
h3. Old way to deploy pulp3 on other box
68 2 Justin Sherrill
* <pre>yum install vagrant-sshfs</pre>
69
* Checkout pulplift: https://github.com/pulp/pulplift 
70 6 Justin Sherrill
* Follow pulplift readme instructions, copy the centos7-pulp3-github box definition from vagrant/boxes.d/99-local.yaml.example 
71 2 Justin Sherrill
* vagrant up centos7-pulp3-github
72
* On katello dev env, edit /etc/foreman-proxy/settings.d/pulp3.yml    
73
** add/edit options (replacing dev.pulp3 with ip address or hostname of pulplift box):
74
<pre>
75 12 John Mitsch
:enabled: true
76
:pulp_url: http://dev.pulp3/pulp/
77
</pre> 
78
* restart foreman-proxy:  systemctl restart foreman-proxy
79 13 John Mitsch
* refresh your smart proxy, from the Infrastructure > Smart Proxies page
80 14 John Mitsch
* Confirm that you see 'pulp3' show up in the list of features for that smart proxy
81 25 Justin Sherrill
82
h3. Updating of pulp client binding Gems
83
84
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.
85
86
Example PR: https://github.com/Katello/katello/pull/8294
87
88
If there are test failures, investigate and attempt to fix them.  VCR re-recording may be necessary. 
89
90
If there is some expected change, this process can be done more often.
91
92
We will ask for a volunteer the thursday prior to each friday.  Current Schedule:
93
94
Sept 6th
95
Sept 20th
96
Oct  4th
97
Oct 18th