Re: [Labs-l] [Labs-announce] New Puppet configuration GUI on horizon (UPDATE)

2016-10-19 Thread Andrew Bogott

On 9/21/16 2:22 PM, Andrew Bogott wrote:


== 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.


We've just migrated all puppet role settings from Wikitech to Horizon, 
and removed the Wikitech puppet configuration UI.  So, from now on, 
Horizon holds the one canonical representation of what roles are applied 
to a given instance.


Hiera config is still a composite of the Wikitech hiera pages and the 
Horizon settings.  We may actually keep it this way indefinitely since 
there are some advantages to having free-form hiera settings stored on a 
wiki page with an edit history.  I'm still on the fence about this, so I 
welcome your thoughts.


-Andrew

___
Labs-announce mailing list
labs-annou...@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/labs-announce
___
Labs-l mailing list
Labs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/labs-l


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

2016-09-21 Thread Andrew Bogott
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//node/


== 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-annou...@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/labs-announce
___
Labs-l mailing list
Labs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/labs-l