On Fri, May 13, 2011 at 09:41:04AM -0400, Greg Blomquist wrote:
On 05/13/2011 09:33 AM, Mark McLoughlin wrote:
On Fri, 2011-05-13 at 09:09 -0400, Greg Blomquist wrote:
On 05/12/2011 01:11 PM, Mark McLoughlin wrote:
- When a template is built, the puppet manifests for the services are included in a standard location and asserted with the default parameters. This causes the packages available for all services to be installed.
Not sure I understand this part. Does this mean that puppet has to be executed at image build time?
Yes, with the default parameters - i.e. with $enabled = false so that the packages are installed, but not configured
Or that there still is a packages reference in the template somewhere that pulls in the right packages?
That's the bit I'm trying to avoid - the template author shouldn't have to list the packages required in two different places (think DRY) and the puppet manifest is the natural place
In your example, would the template still explicitly call out that there's a requirement for the postfix package to be installed? Or, would it simply rely on the fact that the puppet script pulls in the package? If the latter, then doesn't this require puppet to run at image build time to fetch the package? Is it even possible to kick off puppet at image build time?
It should be, but I haven't checked whether image factory supports it yet. Isn't puppet the perfect way to describe the configuration of a template? i.e. rather than kickstart %post scripts?
Oh, I agree for certain. However, I'm just not sure the technology supports it. Of course, I have no basis for that position. Just something always thought was true.
I'd be extremely happy to be wrong!
Well, image factory right now does all its building in one of two ways: Running the native installer for an OS inside a VM, or running a JEOS somewhere and adding software to it using the native tools for the JEOS. In either of those cases it should also be possible for Factory to call out to puppet to set config or install packages or something.
--H