Project

General

Profile

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
  • 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
    
  • within forklift run:
    grep "pulp_group" roles/katello_pulp3/tasks/main.yml 

    If you don't see pulp_group: pulp
    find roles/katello_pulp3/tasks/main.yml -type f -exec sed -i 's/pulp_user: pulp/pulp_user: pulp\n    pulp_group: pulp/g' {} \;
    
  • 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 pulp-api.service
    

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

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