New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deploy Pulp 3 via systemd containers #45
Conversation
fd31047
to
9460d75
Compare
|
This will depend on the outcome of the images themselves -- pulp/pulp#3740 |
9460d75
to
da68677
Compare
roles/pulp3-resource-manager/templates/pulp_resource_manager.service.j2
Outdated
Show resolved
Hide resolved
| {% if pulp_container_deployment %} | ||
| [Unit] | ||
| Description=Pulp Resource Manager | ||
| Wants=syslog.service postgresql.service redis.service |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this also want network-online.target? Could this be shared between the container and non-container definitions?
da68677
to
bad3e6d
Compare
|
@ehelms I was not able to test this yet. Can the conflicts be resolved first? |
bad3e6d
to
1295663
Compare
|
Rebased on master to address the conflicts. |
fef0aec
to
daf9276
Compare
|
Updated to match recent updates to container PR (pulp/pulp#3740) with a few caveats that I will comment on inline. |
roles/pulp3-redis/tasks/main.yml
Outdated
| package: | ||
| name: epel-release | ||
| state: present | ||
| when: ansible_distribution == 'CentOS' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs to be done here as it's independent of all other roles.
roles/pulp3/tasks/configure.yml
Outdated
| @@ -1,28 +1,56 @@ | |||
| --- | |||
| - block: | |||
| # Become root so as to search paths like /usr/sbin. | |||
| - name: Find the nologin executable | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally speaking, I had to move a chunk of install and configure around. This is not the prettiest solution currently. A container based setup needs some of the aspects a base install needs but not all. Mostly this is around configuration and data storage:
- /etc/pulp
- /var/lib/pulp
Those two need to be setup and configured prior to starting the containers.
systemd-container.yaml
Outdated
| pulp_install_dir: false | ||
| pulp_container_deployment: true | ||
| # CHANGE BEFORE COMMITTING | ||
| pulp_container_registry: quay.io/ehelms |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This allows testing of current state of images, but should not be merged.
|
@ehelms I tested this some today, but there have been some changes to ansible-pulp3 so this need to be looked at. I read through the changes and they all look fine to me. I'm back from PTO so I'll be able to contribute more regularly now also. |
|
@pulp/ansible-installer this adds the capability to deploy via systemd-containers that are built using the Pulp build service made as part of this PR: pulp/pulp#3740 |
daf9276
to
43b3f70
Compare
|
pulp/pulpcore#13 replaces pulp/pulp#3740 |
They are dependent upon this PR that has yet to be merged: pulp/pulp_installer#45
|
FYI: We are removing these from pulplift: If this PR ever is accepted, just create a revert commit (with an updated list of distros). |
They are dependent upon this PR that has yet to be merged: pulp/pulp_installer#45 closes #4807 https://pulp.plan.io/issues/4807
|
@mikedep333 @ehelms what do you want to do with this PR? I'm not sure where you want to take this work next (if anywhere). |
|
AFAICT, this was the preliminary work that is now being done by pulp-operator. I'm closing, but feel free to reopen. |
This is a WIP by all means. However, this does generally work and hence why I am opening a starter PR for the work. This is set to work easily in conjunction with pulplift
A few things to note about this current setup. This uses the existing containers built from my POC project repo carafe and live on quay.io. Those containers are built from git source and include both the Ansible and File plugins.