Changes

Jump to navigation Jump to search
no edit summary
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 47: Line 47:     
  #!/bin/bash
 
  #!/bin/bash
  /bin/bash /usr/share/doc/git-core/contrib/hooks/post-receive-email
+
  sh /usr/share/doc/git-core/contrib/hooks/post-receive-email
 
  git checkout -f
 
  git checkout -f
  tail -n0 -f /var/log/daemon.log &
+
  for i in $(ls /etc/puppet/manifests/nodes/*.pp); do puppet kick $(basename $i .pp); done
puppet kick --all
  −
sleep 3
      
=== 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 ==
   −
Hosts that fetch configuration from the [[#Master|puppetmast]] need <code>puppet >= 2.6</code> package. If {{Code|puppet}} was installed from gems, it needs to be initially configured:
+
Hosts that fetch configuration from the [[#Master|puppetmast]] need <code>puppet >= 2.6</code> package.
   −
puppetmasterd --mkusers
+
If {{Code|puppet}} was installed from gems, it needs to be initially configured:
   −
Node's puppet agent might have optional configuration in {{Code|/etc/puppet/puppet.conf}}:
+
puppet master --mkusers
   −
[main]
+
To complete configuration, execute:
  runinterval = <fetch-configuration-in-every-n-seconds>
+
 
 +
  puppet agent --no-daemonize --onetime --server puppet.sugarlabs.org
    
Every puppetized host should have particular node file in {{Code|manifests/nodes/<host-name>.pp}} on [[#Master|puppetmaster]].
 
Every puppetized host should have particular node file in {{Code|manifests/nodes/<host-name>.pp}} on [[#Master|puppetmaster]].

Navigation menu