Pulp operates with three main components that get installed potentially on different machines.
Additional steps are needed for upgrading Pulp 1.1 installations. More information can be found in the Pulp v1 Upgrades section of this guide.
- 80 for consumers to access repositories served over HTTP
- 443 for consumers to access repositories served over HTTPS
- 443 for clients (both admin and consumer) to access Pulp APIs
- 5672 for consumers to connect to the message bus if it is left unsecured
- 5671 for consumers to connect to the message bus if it is running over HTTPS
MongoDB is known to have serious limitations on 32-bit architectures. It is strongly advised that you run MongoDB on a 64-bit architecture.
The MongoDB database can easily grow to 10GB or more in size, which vastly exceeds the amount of data actually stored in the database. This is normal (but admittedly surprising) behavior for MongoDB. As such, make sure you allocate plenty of storage within /var/lib/mongodb.
To host Pulp’s content units on an NFS share, please mount that share at /var/lib/pulp/content, and not at /var/lib/pulp. Because parts of Pulp use transient sqlite databases, and sqlite is known to have problems working over NFS, it is important to mount an NFS share only in the content directory.
- MRG Messaging v. 1
- MRG Messaging Base v. 1
$ sudo yum groupinstall pulp-server
[messaging] url: tcp://localhost:5672
- email if you intend to have the server send email (off by default)
- database if you want to use non-default database settings
- messaging if your Qpid server is on a different host or if you want to use SSL
- security to provide your own SSL CA certificates, which is a good idea if you intend to use Pulp in production
- server if you want to change the server’s URL components or default credentials
$ sudo service mongod start $ sudo chkconfig mongod on $ sudo service qpidd start $ sudo chkconfig qpidd on
On new MongoDB installations, the start call may exit before the database is actually running. In these cases, this call will fail with an error about the connection failing. If this occurs, give MongoDB a few minutes to finish initializing and attempt this call again.
$ sudo pulp-manage-db
$ sudo service httpd start $ sudo chkconfig httpd on
The Pulp Admin Client is used for administrative commands on the Pulp server, such as the manipulation of repositories and content. The Pulp Admin Client can be run on any machine that can access the Pulp server’s REST API, including the server itself. It is not a requirement that the admin client be run on a machine that is configured as a Pulp consumer.
Pulp admin commands are accessed through the pulp-admin script.
$ sudo yum groupinstall pulp-admin
[server] host = localhost.localdomain
The Pulp Consumer Client is present on all systems that wish to act as a consumer of a Pulp server. The Pulp Consumer Client provides the means for a system to register and configure itself with a Pulp server. Additionally, the Pulp Consumer Client runs an agent that will receive messages and commands from the Pulp server.
Pulp consumer commands are accessed through the pulp-consumer script. This script must be run as root to permit access to add references to the Pulp server’s repositories.
$ sudo yum groupinstall pulp-consumer
[server] host = localhost.localdomain
$ sudo chkconfig pulp-agent on
$ sudo service pulp-agent start
To try out Pulp, the default SSL configuration should work well. However, when deploying Pulp in production, you should supply your own SSL certificates.
In /etc/pulp/server.conf, find the [security] section. There is good documentation in-line, but make sure in particular that cacert and cakey point to the certificate and private key that you want Apache to use for HTTPS. Also make sure that Apache’s config in /etc/httpd/conf.d/pulp.conf matches these settings. If you plan to use Pulp’s consumer features, set ssl_ca_certificate.
If you want to use SSL with Qpid, see the Qpid SSL Configuration Guide.
To configure pulp for connecting to the MongoDB with username/password authentication, use the following steps: 1. Configure MongoDB for username password authentication. See MongoDB - Enable Authentication for details. 2. In /etc/pulp/server.conf, find the [database] section and edit the username and password values to match the user configured in step 1. 3. Restart the httpd service
$ sudo service httpd restart