English
« Back to projectatomic.io
Ask Your Question
0

The atomic host doesn't have yum, how do I add puppet enterprise agent?

asked 2016-10-10 20:52:59 +0000

cjcox gravatar image

Normally there is a simple command to setup a Puppet agent on a Centos host. But that command sets up a yum repo and yum installs packages to enable the puppet agent on a host. So how do I do with for an atomic host? (not the containers but the atomic host itself)

I could hack the packages in, figuring out what rpm's are needed and copying them to the host... just want know if there is a "right way" or possibly a way of enabling yum and ability to add repos to an atomic host...

Thanks for any ideas.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2016-10-12 22:14:36 +0000

portdirect gravatar image

updated 2016-10-12 22:15:20 +0000

I've previously solved this problem using two different methods, 1st by running the puppet agent in a privileged container, and also by building a custom ostree with the puppet-agent installed.

I've moved away from puppet for config-management, but found this (and the following) post made the process of building a custom tree pretty straightforward: creating-custom-atomic-trees-images-and-installers. This is probably a bit out of date (I've not refered to it directly in ages), but used as the basis for the following docker files:

To build a copy of the atomic host from these images you need to clone the repo, disable se-linux, and then start copies of the local repos required by the config I've used:

docker run -d --name openvswitch-repo -p 172.17.0.1:80:80/tcp port/openvswitch-rpm:latest

docker run -d --name mandracchio-repo -p 172.17.0.1:81:80/tcp port/mandracchio-rpms:latest

The following command then ensures that the ./build script for each script is present:

./tools/update-build-links

Then build the base ostree container:

./docker/mandracchio/mandracchio-repo-assets/build --release

Build the ostree:

./docker/mandracchio/mandracchio-repo/build --release

Finaly build the iso:

./docker/mandracchio/mandracchio-installer/build --release

You could add puppet by modifying this file and adding the Puppetlabs repo to the same directory. You would probably want to replace most of the stuff in this image, using the upstream sources to build your image.

Hope this helps.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

[hide preview]

Question Tools

Follow
1 follower

Stats

Asked: 2016-10-10 20:52:59 +0000

Seen: 199 times

Last updated: Oct 12 '16