Berichten met een Label ‘verder’

Betere versienummers bij Puppet runs

Written by Ger Apeldoorn. Posted in Sysadmin

Bij elke Puppetrun wordt er een configuratieversie getoont, dit is een nummer gebaseerd op datum/tijd.

Voorbeeld:

# puppet agent -t
info: Retrieving plugin
----%<----
info: Caching catalog for web99.puppetspecialist.nl
info: Applying configuration version '126374558'

Aangezien wij onze manifests en hiera-data met Git beheren (en die met tags uitrollen) kunnen we daar natuurlijk beter iets aan koppelen waar we wat aan hebben:

# puppet agent -t
info: Retrieving plugin
----%<----
info: Caching catalog for web99.puppetspecialist.nl
info: Applying configuration version '3.18.0/1.11.0/development'

Zoals je hierboven kunt zien is het versienummer uit 3 componenten opgebouwd:

  • Tag Manifests
  • Tag Hieradata
  • Environment

Daar heb je tenminste wat aan!

Om dit voorelkaar te krijgen, moeten we een paar handelingen verrichten:

  • Script plaatsen
  • Configuratie Puppet Master aanpassen
  • Puppet Master restarten

Script

Maak een scriptje aan (/etc/puppetlabs/puppet/version.sh) met de volgende inhoud:

#!/bin/bash
MANVER=$(git --git-dir=/etc/puppetlabs/puppet/environments/$1/.git describe --tags)
DATVER=$(git --git-dir=/etc/puppetlabs/puppet/environments/$1_data/.git describe --tags)

echo "$MANVER/$DATVER/$1"

Maak hem executable:

chmod +x /etc/puppetlabs/puppet/version.sh

Configuratie Puppet Master

Voeg aan /etc/puppetlabs/puppet/puppet.conf het volgende regeltje toe onder [main].

config_version = /etc/puppetlabs/puppet/version.sh $environment

Restart Puppet Master

Als laatste restarten we nog even de PUppet Master om de configuratiewijziging te activeren:

/etc/init.d/pe-httpd restart

Single command server deployment

Written by Ger Apeldoorn. Posted in Sysadmin

This article is in English because it was mentioned in a PuppetLabs newsletter.

Although Puppet Enterprise gives you the wonderful tools to automate your Linux administration, you still cannot deploy a server with a single command. With the following script, you can.

Why is this so cool?

When, for instance, a new Tomcat server is needed, I create a DNS entry for that server and give a single command and get some coffee. Before it has cooled down enough to drink, the developer has his Tomcat-app deployed and the server is operational. (It takes about 8 minutes to get from scratch to a fully operational server.)

Puppet en Hiera update configuratie workflow

Written by Ger Apeldoorn. Posted in Sysadmin

Je hebt iets prachtigs gemaakt in de ‘development’ environment en wilt dit doorzetten naar ‘testing’. Hier vind je een handige manier om dat te doen.

Bij dit stukje ga ik van het volgende uit:

Van start: Enkele wijzigingen lokaal committen

Eerst maar eens naar de juiste directory: