You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Our servers (both physical and virtual) gets their operatingsystem installed trough an installer which is PXE-booted. Our general approach are that all our hardware should boot from the network all the time, and if the host is not set up to be installed the pxelinux config will tell it to boot locally. This allows us to reinstall machines by simply marking them for reinstallation in the dashboard, and then reboot the machine.

During the installation the machine are going trough multiple states in the dashboard. These states are described in the rest of this article.

Provisioning

The provisioning state is used for hosts which are just been set up for a reinstall. This state instructs our DHCP/TFTP servers to boot the servers into the installation image the next time it reboots. A host in this stat will also be rejected by out puppetmasters, as they should not need reconfiguration. 

Installing

When a host starts the operating system installer one of the first things it does is to collect the configuration-file (preseed) from our servers. The collection of this configfiles triggers a transition from provisioning to installing, as it is a good indication that the OS installation has started. When this happens, a couple of things happens behind the scene:

  • If there exist a puppet client certificate with the same name as the host, it will be deleted.
  • The DHCP/TFTP servers will configure the server to loaclboot the server the next time it boots.

Puppet-Sign

After the operating system is installed the server retrieves a post-install script. Retrieving this script makes the host change state to "puppet-sign", which means that the certificate for this puppet-client now can be automaticly signed when the client sends inn a CSR. The postinstall script does the following:

  • Downloads and installs the puppet-client
  • Configures the puppet-client to start on boot
  • Configures the puppet-client to tell it where to find the
    • puppetmaster
    • puppetca

Puppet-Ready

When the certificate is signed the state is changed into puppet-ready. This state indicates that the host is installed, and puppet is installed on it, but it have not had time to run a full puppet-run yet.

Operational

Hosts are in the operational stage if they have recently checked in after a puppet-run

 

  • No labels