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:
To configure all instances in a project beginning with a given prefix:
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
$ 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
Labs-announce mailing list