Project

General

Profile

Actions

Pulp 3 Integration » History » Revision 38

« Previous | Revision 38/86 (diff) | Next »
Samir Jha, 02/20/2020 09:37 PM


Pulp 3 Integration

This page is meant to capture links to various resources around pulp3 integration

Katello Dev environment with pulp 3

  • Install a katello dev environment with forklift
  • Install the following packages in your dev box:
    sudo yum -y install https://people.redhat.com/iballou/libcomps-0.1.12-1.git.0.937a666.el7.x86_64.rpm

    sudo yum -y install https://people.redhat.com/iballou/python3-libcomps-0.1.12-1.git.0.937a666.el7.x86_64.rpm
  • checkout this forklift pr if its not merged: https://github.com/theforeman/forklift/pull/980
  • setup ansible-pulp:
    cd forklift
    git clone https://github.com/pulp/ansible-pulp.git
    cd ansible-pulp
    ansible-galaxy install -r requirements.yml -p ./roles
    ansible-galaxy install pulp.pulp_rpm_prerequisites -p ./roles
    
  • within forkflift run:
    ansible-playbook ./playbooks/katello_pulp3.yml -l centos7-katello-devel
    
  • 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.
    sudo chmod -R 777 /etc/pki/pulp/
    sudo systemctl restart pulpcore-api.service
    
  • Reset the Katello Pulp 3 Dev Environment
    From within the Foreman directory:
    bundle exec rake katello:reset

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

Other Resources

Old way to deploy pulp3 on other box
  • yum install vagrant-sshfs
  • 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):
      :enabled: true
      :pulp_url: http://dev.pulp3/pulp/
      
  • 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

Deploying pulp3 on new dev boxes with postgres12:

In forklift, on branch with https://github.com/theforeman/forklift/pull/980 apply patch https://gist.github.com/sjha4/5d4189eae804bd2b3229c10870f56ac2#file-forklift-patch
(Also available here: http://file.rdu.redhat.com/~sajha/forklift.patch)

cd ansible-pulp
Apply patch https://gist.github.com/sjha4/5d4189eae804bd2b3229c10870f56ac2#file-0001-psql12-patch
(Also available here: http://file.rdu.redhat.com/~sajha/0001-psql12.patch)

vagrant ssh into devel box
run
sudo ln -s /opt/rh/rh-postgresql12/root/usr/bin/pg_config /usr/sbin/pg_config
sudo ln -s /opt/rh/rh-postgresql12/root/usr/lib64/libpq.so.rh-postgresql12-5 /usr/lib64/libpq.so.rh-postgresql12-5
exit
Run the playbook.
It might fail with postmaster.pid exists. In which case, ssh into dev box.
sudo systemctl stop postgresql
find / -name postmaster.pid
rm -f ^^
re-run the playbook.

Candlepin will probably stop working at this point. To fix this:
sudo vi /var/opt/rh/rh-postgresql12/lib/pgsql/data/pg_hba.conf
in the file set all the auth from peer to trust.
sudo systemctl restart postgres

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

Updated by Samir Jha almost 5 years ago · 86 revisions