Hey,

Why not just create a symlink ?

Also you should open a bug report https://launchpad.net/cloud-init

Best regards,

Le 07/11/2017 à 18:04, Martijn a écrit :
Hi all,

We deploy Ubuntu 14.04 and 16.04 instances in AWS and use cloud-init to bootstrap them. Specifically we pass them user-data in 'cloud-config' yaml format (one of the formats that cloud-init understands).

Now that we've migrated to Puppet 4.10+ I'm having trouble finding the correct syntax to dynamically set the certname for the agent. I'd like the certname to contain the instance-id and the fqdn. It seems the Cloud-config format was never updated to deal with modern Puppet versions.

Previously, with Puppet 3.x we used the following:

|
<snip>
fqdn: test01.example.com
|apt:
  sources:
    puppetlabs.list:
      source: "deb http://apt.puppetlabs.com $RELEASE main dependencies"
      keyid: 6F6B15509CF8E59E6E469F327F438280EF8D349F|
apt_update: true
apt_upgrade: true
packages:
 - puppet
puppet:
  conf:
    agent:
      server: "puppet.example.com"
      certname: "%i.%f"
|

The last hash (puppet.conf.agent) would generate a file /etc/puppet/puppet.conf containing a line like certname=i-197f2394.test01.example.com which was fine for Puppet 3, but not 4 or 5.

For Puppet 4 the correct path is|/etc/puppetlabs/puppet/puppet.conf but cloud-init doesn't appear to know that so I came up with the following new cloud-config that simply writes the correct file:|

|
<snip>
fqdn: test01.example.com
apt:
  sources:
    puppetlabs-pc1.list:
      source: "deb http://apt.puppetlabs.com $RELEASE PC1"
      keyid: 6F6B15509CF8E59E6E469F327F438280EF8D349F
package_update: true
package_upgrade: true
packages:
  - puppet-agent
write_files:
  - path: /etc/puppetlabs/puppet/puppet.conf
    content:
        [agent]
        certname="%i.%f"
        server=puppet.insiders.nl
|

Unfortunately, the %i and %f variables are never replaced by the instance-id and fqdn, as they were previously. I've tried half a dozen variations, but none appear to work. Variable interpolation appears to be limited to the old "puppet.conf.agent" style.

How do *you* bootstrap your Puppet nodes on AWS?
How do you dynamically set the certname these days?

Thanks, Martijn
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/68494e23-bc06-43e2-9329-d308c6fdb1c4%40googlegroups.com <https://groups.google.com/d/msgid/puppet-users/68494e23-bc06-43e2-9329-d308c6fdb1c4%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/ac5eac2d-04db-21e1-b51b-d305db825722%40quake.fr.
For more options, visit https://groups.google.com/d/optout.

Reply via email to