Bcfg2 SOP

From CDOT Wiki
Jump to: navigation, search

Before making any changes to the configuration management system, please familiarize yourself with the Bcfg2 Configuration document.

Git and Changelogs

The directory of "/var/lib/bcfg2" is controlled by a git repository. After every change, please run the command:

git commit -am "Commit Message"

This will allow us to track changes to the BCFG2 repository.

Adding Servers

To add a new client to bcfg2, modify "/var/lib/bcfg2/Metadata/clients.xml and add an entry similar to the one below:

<Client profile="primary-group" pingable="Y" pingtime="0" name="hostname" />

The hostname should match the first entry in /etc/hosts for that builder. This is because the reverse lookup of the IP address of this host should match the hostname given in clients.xml. The entry "primary-group" should be a builder model, either trimslice, efika, guruplug or panda.

Modifying Configuration


In this instance, bundles are grouped by function. For example, the kojid bundle contains the configuration files for Koji, the certificates, the services and the packages. Modification of bundles should only used to extend the configuration that the particular bundle provides. Additional services or configuration elements should have their own bundle.


The primary groups in tne repository are as follows and handle machine types.:

  • Armory (x86_64 servers in the Build farm)
  • Efika
  • Guruplug
  • Panda
  • Trimslice

Secondary groups include builder and fedora-15. Groups should not be added unless a new builder type is introduced or an experimental configuration is being tested. Please review the internal documentation for information on how to configure groups.