[Labs-l] [Labs-announce] New Puppet configuration GUI on horizon

Andrew Bogott abogott at wikimedia.org
Wed Sep 21 19:22:04 UTC 2016


I've just deployed some new Horizon panels for puppet configuration.  If 
you care about puppetizing your instances, read on.  If you're not 
really sure what Puppet is, you can probably ignore this.


== Whats new ==

The new interface can be found in three places in horizon:

For instance-specific config:

     Project->Compute->Instances->(instance name)->Puppet Configuration

For project-wide config:

     Project->Puppet->Project Puppet

To configure all instances in a project beginning with a given prefix:

     Project->Puppet->Prefix Puppet

As you can imagine, this can get a bit complex, with config cascading 
through some or all of the above configs (and multiple prefixes to boot).

Adding to the complexity, for now:  The old wikitech-based instance 
configuration pages (and the wiki-based hiera pages) are still active. 
You can configure your instances or projects from ALL of the places, and 
all of the different configurations will be applied.  All roles or 
classes included in any of the above interfaces will be applied to a 
given instance.  For hiera, there's an order of precedence (where the 
last things in this list clobber anything earlier in the list):

wikitech project hiera

wikitech instance hiera

horizon project hiera

horizon prefix hiera (longest prefix to shortest)

horizon instance hiera

If you want to see what's actually happening on your instance, you can 
investigate with

$ curl labcontrol1001.wikimedia.org:8100/v1/<project>/node/<instance-fqdn>


== What's coming up ==

Early in October (probably around the 5th), I'll be removing the puppet 
and hiera interfaces from wikitech, and migrating any settings or 
content from there to the new Horizon system.  With luck the 
transitional period (when the wikitech settings are still in force but 
not actually visible) will be brief.  After that, we'll have a single, 
Horizon-based config that should generally work more consistently than 
either the old Wikitech system or the current mishmash.


== What you need to do ==

Please explore the new interface, and let me know what issues you find. 
(It's slow and ugly, but should be feature-complete.) Barring serious 
bugs in the new UI, any future changes to puppet or hiera configuration 
should be made using the new Horizon panels.

If you want to get ahead of the game, please go ahead and migrate 
settings from wikitech to the new interface.  That will make my upcoming 
migration task considerably easier.

The new interface is entirely role-based.  That means that if you 
currently rely on puppet classes that are /not/ role classes (e.g. they 
don't begin with 'role::' ) they will not be selectable in the new 
interfaces.  For such cases, please notify me, open a phab task, or 
submit a patch that wraps the class in a proper role.


== Self Hosted Puppetmaster / Project Puppetmaster ==

If you are running a project puppetmaster / self hosted puppetmaster, 
make sure they are running the latest puppet successfully. If not, 
changes made in horizon might not take effect


Have fun!


-Andrew


_______________________________________________
Labs-announce mailing list
Labs-announce at lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/labs-announce


More information about the Labs-l mailing list