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!


Labs-announce mailing list
Labs-l mailing list

Reply via email to