{{tag>[linux pulp centos 7]}}
=====Pulp 2.8 on CentOS 7=====
This page describes the installation of Pulp on CentOS 7 for repository management without consumers (no remote management).
* Read: [[https://media.readthedocs.org/pdf/pulp/latest/pulp.pdf]]
=====Install prerequisites=====
* Read manual: [[https://pulp.readthedocs.org/en/2.6-release/user-guide/installation.html]]
* Check storage requirements.
* Install Pulp repo:cd /etc/yum.repos.d
wget http://repos.fedorapeople.org/repos/pulp/pulp/rhel-pulp.repo
* Install EPEL repo:yum install epel-release-7-5.noarch.rpm
yum update
* Install MongoDB:yum install mongodb-server
systemctl enable mongod
systemctl start mongod
* Install Qpid:yum install qpid-cpp-server qpid-cpp-server-store
systemctl enable qpidd
systemctl start qpidd
=====Install and configure Pulp server=====
* Install the Pulp server:yum groupinstall pulp-server-qpid
* Edit /etc/pulp/server.conf:server_name =
* Edit /etc/qpid/qpidd.conf:auth=no
* Initialize the database:sudo -u apache pulp-manage-db
* Edit /etc/httpd/conf.d/ssl.conf:SSLProtocol all -SSLv2 -SSLv3
* Start and enable apache:systemctl enable httpd
systemctl start httpd
* Edit /etc/default/pulp_workers:PULP_CONCURRENCY=4
* Start workers:systemctl enable pulp_workers
systemctl start pulp_workers
* Edit /etc/default/pulp_celerybeat
* Start Celery:systemctl enable pulp_celerybeat
systemctl start pulp_celerybeat
* Edit /etc/default/pulp_resource_manager
* Start resource manager:systemctl enable pulp_resource_manager
systemctl start pulp_resource_manager
=====Install and configure Pulp admin=====
* Install admin:yum groupinstall pulp-admin
* Edit /etc/pulp/admin/admin.conf:host =
verify_ssl = False
=====Open firewall ports=====
* Add port 80 and 443 to trusted zone:firewall-cmd --permanent --zone=public --add-service=htts
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
firewall-cmd --zone=public --list-all
=====Create self signed certificates=====
* See: [[centos_7_tls_certificates|TLS - CentOS 7.x]]
* Also copy CA certificate, server certificate and key to /etc/pki/..., then configure Apache to use these certificates (ssl.conf and in /etc/httpd/conf.d).
=====Pulp admin=====
* Log in as non-root user (password admin):pulp-admin login -u admin
* Change the admin password:pulp-admin auth user update --login admin -p
* You can save credentials in ~/.pulp/admin.conf:[auth]
username: admin
password:
=====Add repo=====
* Create repo's:pulp-admin rpm repo create --repo-id=CentOS-7-x86_64 --feed=http://mirror.centos.org/centos/7/os/x86_64/
pulp-admin rpm repo create --repo-id=CentOS-7-x86_64-updates --feed=http://mirror.centos.org/centos/7/updates/x86_64/
* Sync repo's:pulp-admin rpm repo sync run --repo-id="CentOS-7-x86_64"
pulp-admin rpm repo sync run --repo-id="CentOS-7-x86_64-updates"
=====Schedule sync=====
* Schedule sync every day at 13.00 UTC (period 1 day = P1D):pulp-admin rpm repo sync schedules create -s 2015-01-01T13:00:00Z/P1D --repo-id=CentOS-7-x86_64
pulp-admin rpm repo sync schedules create -s 2015-01-01T13:00:00Z/P1D --repo-id=CentOS-7-x86_64-updates
=====Update feed=====
* Show details:pulp-admin rpm repo list --repo-id HP-SPP-CentOS-7-x86_64 --details
* Modify feed:pulp-admin rpm repo update --repo-id HP-SPP-CentOS-7-x86_64 --feed http://downloads.linux.hpe.com/SDR/repo/spp/RHEL/7/x86_64/current
=====yum repo file example=====
*Configure yum repo:[pulp-base]
name=CentOS-$releasever - Base
baseurl=https://repo.mgmt.domain/pulp/repos/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
=====Email notification=====
* Read the [[https://pulp.readthedocs.org/en/latest/user-guide/admin-client/events.html|manual]]
* Make sure email (ie postfix) is working on the system. Send a test mail.
* Configure [email] in /etc/pulp/server.conf and reload pulp.
* Create listener: pulp-admin event listener email create --event-type="repo.sync.finish" --subject="pulp notifications" --addresses=first@mail.tld,another@mail.tld
* List listeners: pulp-admin event listener list
=====Known problems and solutions=====
* pulp.server.db.migrations hasn't been updated to the latest available migration.
su -s /bin/sh apache -c pulp-manage-db
* Show and delete orhpaned packages:
$ pulp-admin orphan list
+----------------------------------------------------------------------+
Summary
+----------------------------------------------------------------------+
Distribution: 1
Docker Blob: 0
Docker Image: 0
Docker Manifest: 0
Docker Tag: 0
Drpm: 13
Erratum: 0
Iso: 0
Node: 0
Package Category: 0
Package Environment: 0
Package Group: 0
Package Langpacks: 0
Puppet Module: 0
Repository: 0
Rpm: 271
Srpm: 0
Yum Repo Metadata File: 3
Total: 288
$ pulp-admin orphan remove --all
This command may be exited via ctrl+c without affecting the request.
[/]
Running...
Task Succeeded