Page MenuHomePhabricator

role::puppet::self broken on new labs instances
Closed, ResolvedPublic

Description

looks like this role won't find /etc/ldap/ldap.conf when applied on fresh vm

filippo@filippo-test-jessie:~$ sudo puppet agent --test --verbose
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for i-00000a39.eqiad.wmflabs
Error: Failed to apply catalog: Could not find dependency File[/etc/ldap/ldap.conf] for Class[Puppet::Self::Config] at /etc/puppet/modules/puppet/manifests/self/master.pp:60
filippo@filippo-test-jessie:~$

Event Timeline

fgiunchedi raised the priority of this task from to Medium.
fgiunchedi updated the task description. (Show Details)
fgiunchedi subscribed.

modules/puppet/manifests/self/client.pp has:

# We'd best be sure that our ldap config is set up properly
 # before puppet goes to work, though.
 class { 'puppet::self::config':
     server   => $server,
     require  => File['/etc/ldap/ldap.conf', '/etc/ldap.conf', '/etc/nslcd.conf'],
 }

Looking at each of those files, they definitely have been populated by puppet when the instance has been created.

what filippo is reporting is that at least one of those files is not defined in puppet by default, so that class fails, even if the file is somehow managed (like, in the install image).

Andrew claimed this task.
Andrew subscribed.

This was a result of https://gerrit.wikimedia.org/r/#/c/201461/, an attempt to not override GUI settings with default new-instance settings.

Unfortunately, the gui code has a bug, and it clears puppet settings that are not set in the gui, even if those settings are not OPTIONS in the gui. That is T94851.

In the meantime, I've added all default settings to the GUI so they aren't hit by this bug.

I had an instance suffering of the issue, I had to recreate it. I can confirm puppet runs just fine now.

Thank you!