Infrastructure Team/Puppet: Difference between revisions

No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 15: Line 15:
== Master ==
== Master ==


Only puppetmaster keeps final configuration for all Sugar Labs services. It is being started on [[Machine/lightwave|security machine]] in private git repository.
Only puppetmaster keeps final configuration for all Sugar Labs services. It is being started in a private git repository on [[Machine/lightwave]], which is a high security machine.


=== Private repository ===
=== Private repository ===
Line 50: Line 50:
  git checkout -f
  git checkout -f
  for i in $(ls /etc/puppet/manifests/nodes/*.pp); do puppet kick $(basename $i .pp); done
  for i in $(ls /etc/puppet/manifests/nodes/*.pp); do puppet kick $(basename $i .pp); done
puppet kick $(for i in $(ls /etc/puppet/manifests/nodes/*.pp); do echo $(basename $i .pp); done) || true


=== Repository hierarchy ===
=== Repository hierarchy ===
Line 57: Line 55:
Git repository consists of:
Git repository consists of:


* {{Code|modules/}}, all used modules from [http://git.sugarlabs.org/puppets puppets] project in form of submodules.
* {{Code|manifests/site.pp}}, main recipe which contain common settings and includes nodes.
* {{Code|manifests/site.pp}}, main recipe which contain common settings and includes nodes.
* {{Code|manifests/roles/}}, recipes that describes final configuration for particular service.
* {{Code|manifests/services/}}, recipes that describes final configuration for particular services.
* {{Code|manifests/nodes/}}, puppetized nodes, configuration for hosts that ask puppetmaster.
* {{Code|manifests/nodes/}}, puppetized nodes, configuration for hosts that ask puppetmaster.
* {{Code|modules/}}, git submodules with Puppet [[#Modules|modules]].


== Nodes ==
== Nodes ==