Project

General

Profile

Pulp 3 Integration » History » Version 32

Ian Ballou, 11/07/2019 09:21 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
<pre>sudo yum install https://people.redhat.com/iballou/libcomps-0.1.12-1.git.0.937a666.el7.x86_64.rpm</pre>
16
<pre>sudo yum 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 23 Samir Jha
h2. Smart Proxy Setup:
48
49
* Install a smart proxy to point to your pulp3_dev box
50
* ssh into the smart proxy
51
* sudo mkdir /etc/httpd/conf.d/05-foreman-ssl.d
52
* sudo vi /etc/httpd/conf/httpd.conf
53
* Add IncludeOptional "/etc/httpd/conf.d/05-foreman-ssl.d/*.conf to the end of the file and save
54
* In forklift > Run ansible-playbook ./playbooks/katello_pulp3.yml -l centos7-proxy-devel
55
56 15 Justin Sherrill
h3. Other Resources
57
58
* pulp3 gap analysis wiki https://projects.theforeman.org/projects/katello/wiki/PulpV3GapAnalysis
59
* pulp3 gap analysis etherpad https://etherpad.net/p/pulp3_container
60
* pulp3 docker roadmap https://pulp.plan.io/projects/pulp/wiki/Pulp_Docker_Roadmap
61
62
63 16 Ian Ballou
h3. Old way to deploy pulp3 on other box
64 2 Justin Sherrill
* <pre>yum install vagrant-sshfs</pre>
65
* Checkout pulplift: https://github.com/pulp/pulplift 
66 6 Justin Sherrill
* Follow pulplift readme instructions, copy the centos7-pulp3-github box definition from vagrant/boxes.d/99-local.yaml.example 
67 2 Justin Sherrill
* vagrant up centos7-pulp3-github
68
* On katello dev env, edit /etc/foreman-proxy/settings.d/pulp3.yml    
69
** add/edit options (replacing dev.pulp3 with ip address or hostname of pulplift box):
70
<pre>
71 12 John Mitsch
:enabled: true
72
:pulp_url: http://dev.pulp3/pulp/
73
</pre> 
74
* restart foreman-proxy:  systemctl restart foreman-proxy
75 13 John Mitsch
* refresh your smart proxy, from the Infrastructure > Smart Proxies page
76 14 John Mitsch
* Confirm that you see 'pulp3' show up in the list of features for that smart proxy
77 25 Justin Sherrill
78
h3. Updating of pulp client binding Gems
79
80
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.
81
82
Example PR: https://github.com/Katello/katello/pull/8294
83
84
If there are test failures, investigate and attempt to fix them.  VCR re-recording may be necessary. 
85
86
If there is some expected change, this process can be done more often.
87
88
We will ask for a volunteer the thursday prior to each friday.  Current Schedule:
89
90
Sept 6th
91
Sept 20th
92
Oct  4th
93
Oct 18th