Ask Your Question

I am interested in making a feature request. Which form can I use to make such a request?

asked 2017-11-10 00:09:40 -0600

greynolds gravatar image

updated 2017-11-10 00:11:32 -0600

My request" I wanted to know if the new tool bolt can be added to the micro-kernel used in Razor?

Reason: Upon discovery of the hardware using the micro-kernel to deploy the os and install the tool. but have a location to edit the script. Within the script, I am sure I can write a ruby script to install the puppet agent from the selected puppet-master using the correct environment. SO when the nodes are accessible I can log on run puppet agent -t and it will install the preferred packages or the roles and profiles.

The underlying goal is to stack new hardware, discover it. Add the correct OS and the packages and agents. login in run puppet agent -t the node is ready. -> { From boot-strap to login}

EMC Hybrid Cloud solution is the closest thing I have seen but I did not see any reference to boot-strapping the hardware using facts as the discovery utility of the hardware.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2017-11-10 09:14:29 -0600

reesek gravatar image

updated 2017-11-24 00:01:23 -0600

Original Answer: What you're describing sounds precisely the job of the razor broker. Any reason you're not associating a broker to your policies to install the puppet agent?

Response to comments below:

What am I hinting around is why should I have to manually install bolt? Can bolt be installed using the micro-kernel in razor?

The microkernel doesn't really commit anything to disk, and thus wouldn't be the proper vehicle to automate the installation of anything. Its job is to send facts about the hardware its been loaded onto to the Razor server for possible match against a rule defined within a tag. The tag is associated with a policy, which dictates which OS to install on that node. If a match is made, the system is rebooted and the microkernel's job is done. Upon reboot, the kickstart process (in the case of a Linux install) takes over to begin the installation of the OS.

From here, there are a couple of options for automating the desired state of the machine.

  1. There is a choice to carry out the installation of whatever you want via the %post section once the OS installation is complete. A good example of things to do here would be to register the system with Satellite, then patch the system (something Puppet isn't inherently good at doing).
  2. While other commands can also be carried out in the %post section, say 'gem install bolt', this is better handled by Puppet. Create a base profile module that carries out all of the operating system configurations (DNS, mounts. ldap, sshd_config, etc), including the installation of packages not handled by the OS install (such as the bolt gem), scripts, or tools that need to be installed on every node.

With that, I'm not sure installing bolt on every node is the right play. It might make more sense to install bolt on a centralized server that is capable of reaching out to all nodes it needs to talk to to carry out task execution. If Puppet Enterprise is used, then upgrading to 2017.3 provides the capability of executing Puppet Tasks from the Puppet Console. At this point, the Puppet Master is that centralized server capable of reaching out to all nodes it needs to talk to to carry out task execution.

I hope that helps.

edit flag offensive delete link more


Thanks for the response. Truthfully, You are also helping me to get to a point where I can narrow down what exactly I should be asking. What am I hinting around is why should I have to manually install bolt? Can bolt be installed using the micro-kernel in razor?

greynolds gravatar imagegreynolds ( 2017-11-22 22:10:59 -0600 )edit

I understand running/installing tools using a class to add them to a group---> & pinning the nodes to that group. Going forward I would like to start adding any scripts or tools to an existing Infrastructure pipeline to allow the automation to execute or install it from bootstrap if it is possible.

greynolds gravatar imagegreynolds ( 2017-11-22 22:24:24 -0600 )edit

I had more that 200+ characters in response, so I edited my original answer above to fit it all in.

reesek gravatar imagereesek ( 2017-11-24 00:02:08 -0600 )edit

Hey, reseek thanks for the input! The concept of puppet task seems to be an ideal approach. I am currently using EP 2017.3. I was not sure how to scale or architect bolt into an existing pipeline. For me, the concept to create a task for each primary puppetmaster for the dashboard will work.

greynolds gravatar imagegreynolds ( 2017-11-24 16:53:18 -0600 )edit

I am satisfied with reseek response. I will consider this question resolved.

greynolds gravatar imagegreynolds ( 2017-11-24 17:20:03 -0600 )edit

answered 2017-11-21 16:59:22 -0600

greynolds gravatar image

Okay, I have time to re-read the explanation I gave. It appears in my attempt to paint a canvas for the reason for my request I did not express the point. This is clearly my mistake and a not so good reasoning. I currently use Razor pe-broker and I do have a ruby script which uses a variable association for the facts and points the correct puppet master. Once the node is built its added to the puppet master. Once you login in puppet agent -t is executed and the pre-defined classes are added.

What I would like to see bolt do for is have the ability to add the tool as a part of my pipeline, in my automated process. Where I can deliver the tool to all (required-nodes) after provisioning.

edit flag offensive delete link more


I'm still not 100% on what you're asking, but it sounds like you want to install bolt on each node. If that's the case, then use a package resource with the gem provider in your base profile (or whatever predefined classes you describe above) to install it.

reesek gravatar imagereesek ( 2017-11-22 16:50:17 -0600 )edit

Also, a puppet run should occur once the broker installs the agent, so there should be no need to manually conduct a puppet run, unless you're just doing some sanity checks.

reesek gravatar imagereesek ( 2017-11-22 16:51:09 -0600 )edit

It's a sanity check.

greynolds gravatar imagegreynolds ( 2017-11-22 22:10:15 -0600 )edit

Your Answer

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

Add Answer

Question Tools

1 follower


Asked: 2017-11-10 00:09:40 -0600

Seen: 66 times

Last updated: Nov 24 '17