8.4. Anwendung benutzerdefinierter Puppet-Konfigurationen

Unter gewissen Umständen müssen Sie einige zusätzliche Komponenten zu Ihren Overcloud-Knoten installieren und konfigurieren. Das können Sie mit einem benutzerdefinierten Puppet-Manifest erreichen, das auf die Knoten angewandt wird, nachdem die Hauptkonfiguration abgeschlossen ist. Als einfaches Beispiel können Sie motd zu jedem Knoten installieren. Um das zu erreichen müssen Sie zuerst eine Heat-Vorlage (/home/stack/templates/custom_puppet_config.yaml) erstellen, die die Puppet-Konfiguration startet.
resources:
  ExtraPuppetConfig:
    type: OS::Heat::SoftwareConfig
    properties:
      config: {get_file: motd.pp}
      group: puppet
      options:
        enable_hiera: True
        enable_facter: False

  ExtraPuppetDeployments:
    type: OS::Heat::SoftwareDeployments
    properties:
      config: {get_resource: ExtraPuppetConfig}
      servers: {get_param: servers}
Das umfasst den /home/stack/templates/motd.pp innerhalb der Vorlage und übergibt ihn den Knoten zur Konfiguration. Die motd.pp Datei selbst enthält Ihre Puppet-Klassen zum Installieren und Konfigurieren motd.
Erstellen Sie dann eine Umgebungsdatei (/home/stack/templates/puppet_post_config.yaml), die Ihre Heat-Vorlage als OS::TripleO::NodeExtraConfigPost: Ressourcentyp registriert.
resource_registry:
  OS::TripleO::NodeExtraConfigPost: ~/templates/custom_puppet_config.yaml
Zuletzt nehmen Sie diese Umgebungsdatei bei der Erstellung des Overcloud-Stacks auf:
$ openstack overcloud deploy --templates -e ~/templates/custom_puppet_config.yaml
Das wendet die Konfiguration aus motd.pp auf alle Knoten in der Overcloud an.