diff options
author | Juan Antonio Osorio Robles <jaosorior@redhat.com> | 2015-12-04 15:36:30 +0200 |
---|---|---|
committer | Juan Antonio Osorio Robles <jaosorior@redhat.com> | 2015-12-04 15:36:30 +0200 |
commit | a7925bc9ed253baae87185016b65dc4cb774d966 (patch) | |
tree | fa926185e90907c8a34f285cfc914eb4b26d3428 | |
parent | 3ec35a3f2f9f1e5c3f2cb3e62087b1dd421a178f (diff) |
Add option to add metadata for the overcloud nodes
Some Nova hooks might require custom properties/metadata set for the
servers deployed in the overcloud, and this would enable us to inject
such information.
For FreeIPA (IdM) integration, there is effectively a Nova hook that
requires such data.
Currently this inserts metadata for all servers, but a subsequent CR
will introduce per-role metadata. However, that was not added to this
because it will require the usage of map_merge. which will block those
changes to be backported. However, this one is not a problem in that
sense.
Change-Id: I98b15406525eda8dff704360d443590260430ff0
-rw-r--r-- | overcloud.yaml | 11 | ||||
-rw-r--r-- | puppet/ceph-storage.yaml | 7 | ||||
-rw-r--r-- | puppet/cinder-storage.yaml | 7 | ||||
-rw-r--r-- | puppet/compute.yaml | 7 | ||||
-rw-r--r-- | puppet/controller.yaml | 7 | ||||
-rw-r--r-- | puppet/swift-storage.yaml | 7 |
6 files changed, 46 insertions, 0 deletions
diff --git a/overcloud.yaml b/overcloud.yaml index 67636182..f7074a7b 100644 --- a/overcloud.yaml +++ b/overcloud.yaml @@ -289,6 +289,12 @@ parameters: description: > The DNS domain used for the hosts. This should match the dhcp_domain configured in the Undercloud neutron. Defaults to localdomain. + ServerMetadata: + default: {} + description: > + Extra properties or metadata passed to Nova for the created nodes in + the overcloud. It's accessible via the Nova metadata API. + type: json # Controller-specific params AdminToken: @@ -924,6 +930,7 @@ resources: params: '%stackname%': {get_param: 'OS::stack_name'} NodeIndex: '%index%' + ServerMetadata: {get_param: ServerMetadata} Compute: type: OS::Heat::ResourceGroup @@ -998,6 +1005,7 @@ resources: params: '%stackname%': {get_param: 'OS::stack_name'} CloudDomain: {get_param: CloudDomain} + ServerMetadata: {get_param: ServerMetadata} BlockStorage: type: OS::Heat::ResourceGroup @@ -1036,6 +1044,7 @@ resources: ExtraConfig: {get_param: ExtraConfig} BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig} CloudDomain: {get_param: CloudDomain} + ServerMetadata: {get_param: ServerMetadata} ObjectStorage: type: OS::Heat::ResourceGroup @@ -1065,6 +1074,7 @@ resources: ExtraConfig: {get_param: ExtraConfig} ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig} CloudDomain: {get_param: CloudDomain} + ServerMetadata: {get_param: ServerMetadata} CephStorage: type: OS::Heat::ResourceGroup @@ -1089,6 +1099,7 @@ resources: ExtraConfig: {get_param: ExtraConfig} CephStorageExtraConfig: {get_param: CephStorageExtraConfig} CloudDomain: {get_param: CloudDomain} + ServerMetadata: {get_param: ServerMetadata} ControllerIpListMap: type: OS::TripleO::Network::Ports::NetIpListMap diff --git a/puppet/ceph-storage.yaml b/puppet/ceph-storage.yaml index 1dc20a50..b34d2c02 100644 --- a/puppet/ceph-storage.yaml +++ b/puppet/ceph-storage.yaml @@ -65,6 +65,12 @@ parameters: description: > The DNS domain used for the hosts. This should match the dhcp_domain configured in the Undercloud neutron. Defaults to localdomain. + ServerMetadata: + default: {} + description: > + Extra properties or metadata passed to Nova for the created nodes in + the overcloud. It's accessible via the Nova metadata API. + type: json resources: @@ -80,6 +86,7 @@ resources: user_data_format: SOFTWARE_CONFIG user_data: {get_resource: UserData} name: {get_param: Hostname} + metadata: {get_param: ServerMetadata} # Combine the NodeAdminUserData and NodeUserData mime archives UserData: diff --git a/puppet/cinder-storage.yaml b/puppet/cinder-storage.yaml index f1d25e78..82c0e814 100644 --- a/puppet/cinder-storage.yaml +++ b/puppet/cinder-storage.yaml @@ -118,6 +118,12 @@ parameters: description: > The DNS domain used for the hosts. This should match the dhcp_domain configured in the Undercloud neutron. Defaults to localdomain. + ServerMetadata: + default: {} + description: > + Extra properties or metadata passed to Nova for the created nodes in + the overcloud. It's accessible via the Nova metadata API. + type: json resources: @@ -133,6 +139,7 @@ resources: user_data_format: SOFTWARE_CONFIG user_data: {get_resource: UserData} name: {get_param: Hostname} + metadata: {get_param: ServerMetadata} # Combine the NodeAdminUserData and NodeUserData mime archives UserData: diff --git a/puppet/compute.yaml b/puppet/compute.yaml index c33373d1..deedf00f 100644 --- a/puppet/compute.yaml +++ b/puppet/compute.yaml @@ -297,6 +297,12 @@ parameters: The DNS domain used for the hosts. This should match the dhcp_domain configured in the Undercloud neutron. Defaults to localdomain. + ServerMetadata: + default: {} + description: > + Extra properties or metadata passed to Nova for the created nodes in + the overcloud. It's accessible via the Nova metadata API. + type: json resources: @@ -314,6 +320,7 @@ resources: user_data_format: SOFTWARE_CONFIG user_data: {get_resource: UserData} name: {get_param: Hostname} + metadata: {get_param: ServerMetadata} # Combine the NodeAdminUserData and NodeUserData mime archives UserData: diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 2c1c18a3..417e9d4d 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -634,6 +634,12 @@ parameters: description: > The DNS domain used for the hosts. This should match the dhcp_domain configured in the Undercloud neutron. Defaults to localdomain. + ServerMetadata: + default: {} + description: > + Extra properties or metadata passed to Nova for the created nodes in + the overcloud. It's accessible via the Nova metadata API. + type: json resources: @@ -649,6 +655,7 @@ resources: user_data_format: SOFTWARE_CONFIG user_data: {get_resource: UserData} name: {get_param: Hostname} + metadata: {get_param: ServerMetadata} # Combine the NodeAdminUserData and NodeUserData mime archives UserData: diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml index fbb2b878..a8183f76 100644 --- a/puppet/swift-storage.yaml +++ b/puppet/swift-storage.yaml @@ -88,6 +88,12 @@ parameters: description: > The DNS domain used for the hosts. This should match the dhcp_domain configured in the Undercloud neutron. Defaults to localdomain. + ServerMetadata: + default: {} + description: > + Extra properties or metadata passed to Nova for the created nodes in + the overcloud. It's accessible via the Nova metadata API. + type: json resources: @@ -103,6 +109,7 @@ resources: user_data_format: SOFTWARE_CONFIG user_data: {get_resource: UserData} name: {get_param: Hostname} + metadata: {get_param: ServerMetadata} # Combine the NodeAdminUserData and NodeUserData mime archives UserData: |