User:Djmitche/New Releng Puppet Infrastructure: Difference between revisions

no edit summary
No edit summary
No edit summary
 
Line 10: Line 10:
The releng puppet masters are managed by IT (in fact, managed by IT's puppet infrastructure).
The releng puppet masters are managed by IT (in fact, managed by IT's puppet infrastructure).


We will be using the same puppet versions as the rest of Mozilla.  Currently, this is Puppet-2.7.1.  As IT upgrades, the masters will be upgraded; releng can then upgrade the clients using puppet itself.
The releng puppet infrastructure will be using the same puppet versions as the rest of Mozilla.  Currently, this is Puppet-2.7.1.  As IT upgrades, the masters will be upgraded; releng can then upgrade the clients using puppet itself.
 
= Base Images =
The base images for this infrastructure are barely-modified OS installs.  They have just enough installed that they can connect to a puppet server, get certificates, and puppetize on boot.
 
See [[User:Djmitche/User:Djmitche/New Releng Puppet Infrastructure/Base Images|the base images page]] for details on how that is set up.


= Manifests =
= Manifests =
Line 24: Line 29:
* Storage - this can wind up taking a *huge* amount of space.  Saving space with hard-links between identical files might help, especially with snapshots.
* Storage - this can wind up taking a *huge* amount of space.  Saving space with hard-links between identical files might help, especially with snapshots.
** {{todo|Is there a utility to fix this?}}
** {{todo|Is there a utility to fix this?}}
* Replication -  
* Replication - how can all of the masters stay in sync?
* Updates - how can we time package updates?
** This has significant security implications
 
== RPMs / Yum Repos Repos ==
== RPMs / Yum Repos Repos ==
(dir structure here, sources)
There are several repos hosted on each puppet master:
* CentOS 6
** os - from the DVD
** updates - mirrored at a well-defined time
* EPEL 6 - mirrored at a well-defined time
* releng
** public - packages we can share with the community
** private - packages that are private or proprietary (hopefully minimal)
 
most of the questions in "Concerns", above, are still un-answered.
 
== DMGs ==
== DMGs ==
== Python Packages ==
== Python Packages ==
Line 47: Line 65:


= Clients =
= Clients =
Client images should proceed automatically from imaging to a fully-operational state.  The base image for each OS is an OS install plus whatever minimal equipment is required to invoke puppet, which is responsible for making the system operational.
Client images should proceed automatically from imaging to a fully-operational state.  The base images are designed to support this.


I've begun work on this for CentOS 6.0 in [[User:Djmitche/CentOS-60 Base Image]].
= Automatic/Manual Updates =
A few things will need to be kept current. We will need some automated means to nag about these, lest the releng infra again fall out of date.
* security updates for packages
* puppet versions
canmove, Confirmed users
1,394

edits