Kapitel 8. Erstellen benutzerdefinierter Konfigurationen

In bestimmten Fällen möchten Sie vielleicht Konfigurationen für zusätzliche Anwendungen bereitstellen, die mit Ihrer Red Hat Enterprise Linux OpenStack Platform Umgebung integrierbar sind. Diese benutzerdefinierte Konfiguration erfordert zusätzliche Heat Volagen in Ihrem Overcloud-Stack. Dieser Abschnitt erläutert einige der für Sie verfügbaren benutzerdefinierten Konfigurationsvorgänge.

8.1. Konfiguration beim Erststart

Der Director bietet einen Mechanismus um an allen Knoten bei erstmaliger Erstellung der Overcloud eine Konfiguration durchzuführen. Das erreicht der Director durch cloud-init, was man unter Verwendung des OS::TripleO::NodeUserData Ressourcentyps abrufen kann.
In diesem Beispiel erstellen Sie zuerst eine einfache Heat-Vorlage (/home/stack/templates/nameserver.yaml), die ein Skript ausführt um dem resolv.conf jedes Knotens einen bestimmten Nameserver anzufügen. Sie benutzen den OS::TripleO::MultipartMime Ressourcentypen um das Konfigurationsskript zu senden.
heat_template_version: 2014-10-16

resources:
  userdata:
    type: OS::Heat::MultipartMime
    properties:
      parts:
      - config: {get_resource: nameserver_config}

  nameserver_config:
    type: OS::Heat::SoftwareConfig
    properties:
      config: |
        #!/bin/bash
        echo "nameserver 192.168.1.1" >> /etc/resolve.conf

outputs:
  OS::stack_id:
    value: {get_resource: userdata}
Erstellen Sie als nächstes eine Umgebungsdatei (/home/stack/templates/firstboot.yaml), die Ihre Heat-Vorlagen als OS::TripleO::NodeUserData Ressourcentyp registriert.
resource_registry:
  OS::TripleO::NodeUserData: ~/templates/nameserver.yaml
Um die Konfiguration beim Erststart hinzuzufügen, fügen Sie die Umgebungsdatei dem Stack hinzu, wenn Sie die Overcloud erstmals erstellen. Zum Beispiel:
$ openstack overcloud deploy --templates -e ~/templates/firstboot.yaml
Die -e wendet die Umgebungsdatei auf den Overcloud-Stack an.
Dies fügt die Konfiguration allen Knoten bei ihrer Erstellung und ihrem Erststart hinzu. Eine weitere Einbeziehung dieser Vorlagen, wie bei der Aktualisierung des Overcloud-Stacks, führt dieses Skript nicht aus.