8.2. Konfiguration nach Erstellung der Overcloud
Es kann vorkommen, dass Sie nach der Erstellung Ihrer Overcloud eine zusätzliche Konfiguration hinzufügen möchten, entweder bei erstmaliger Erstellung oder nachfolgender Aktualisierung der Overcloud. In diesem Fall verwenden Sie die
OS::TripleO::NodeExtraConfigPost Ressource, um die Konfiguration unter Verwendung der Standard OS::Heat::SoftwareConfig Typen anzuwenden. So werden zusätzliche Konfigurationen nach Abschluss der Overcloud-Hauptkonfiguration angewendet.
In diesem Beispiel erstellen Sie zuerst eine einfache Heat-Vorlage (
/home/stack/templates/nameserver.yaml), die ein Skript ausführt um resolv.conf jedem Knoten einen variablen Nameserver anzufügen.
heat_template_version: 2014-10-16
parameters:
servers:
type: json
nameserver_ip:
type: string
resources:
ExtraConfig:
type: OS::Heat::SoftwareConfig
properties:
group: script
config:
str_replace:
template: |
#!/bin/sh
echo "nameserver _NAMESERVER_IP_" >> /etc/resolve.conf
parameters:
_NAMESERVER_IP_: {get_param: nameserver_ip}
ExtraDeployments:
type: OS::Heat::SoftwareDeployments
properties:
servers: {get_param: servers}
config: {get_resource: ExtraConfig}
actions: ['CREATE','UPDATE']
Wichtig
Der
servers Parameter ist die Serverliste zur Anwendung der Konfiguration und wird von der Parent-Vorlage bereitgestellt. Dieser Parameter ist in allen OS::TripleO::NodeExtraConfigPost Vorlagen erforderlich.
Erstellen Sie als nächstes eine Umgebungsdatei (
/home/stack/templates/post_config.yaml), die Ihre Heat-Vorlage als OS::TripleO::NodeExtraConfigPost: Ressourcentyp registriert.
resource_registry: OS::TripleO::NodeExtraConfigPost: nameserver.yaml parameter_defaults: nameserver_ip: 192.168.1.1
Um die Konfiguration hinzuzufügen, fügen Sie die Umgebungsdatei dem Stack bei Erstellung oder Aktualisierung der Overcloud hinzu. Zum Beispiel:
$ openstack overcloud deploy --templates -e ~/templates/post_config.yaml
Das fügt die Konfiguration allen Knoten hinzu, nachdem die Hauptkonfiguration bei ihrer erstmaligen Erstellung oder einer nachfolgenden Aktualisierung abgeschlossen ist.