Project

General

Profile

Actions

Pulp 3 Integration » History » Revision 44

« Previous | Revision 44/86 (diff) | Next »
Samir Jha, 02/28/2020 03:57 PM


Pulp 3 Integration

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

Katello Dev box with pulp3:

  • vagrant up katello-dev-box
  • vagrant ssh katello-dev-box

Adding the yum plugin:
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
sudo pip3 install scikit-build nose
sudo pip3 install pulp-rpm==3.0.0
sudo -u pulp PULP_SETTINGS='/etc/pulp/settings.py' DJANGO_SETTINGS_MODULE='pulpcore.app.settings' python3-django-admin migrate --no-input
sudo systemctl restart pulpcore-resource-manager pulpcore-content pulpcore-api pulpcore-worker@1 pulpcore-worker@2

  • 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 should now see file, docker and yum as supported content type under pulpcore in the Services tab

Katello Dev box with pulp3 on master:

On a devel box provisioned with steps above, run :

cd /usr/lib/python3.6/site-packages/
sudo pip3 install "git+https://github.com/pulp/pulpcore.git" 
sudo pip3 install scikit-build nose
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
sudo pip3 install "git+https://github.com/pulp/pulp_file.git" 
sudo pip3 install "git+https://github.com/pulp/pulp_rpm.git" 
sudo pip3 install "git+https://github.com/pulp/pulp_container.git" 
sudo rm -rf pulpcore*
sudo rm -rf pulp_*
sudo mv /usr/local/lib/pyhton3.6/site-packages/pulp* /usr/lib/pyhton3.6/site-packages/
cd ~/foreman
bundle exec rails katello:reset

Note that this does not install pulp_2to3_migration plugin. But the steps to enable will be similar to above when we get a new release of the same.

Old (ansible-based) way to deploy pulp3:

  • 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

Updated by Samir Jha about 4 years ago · 44 revisions