From 1d83f18f22d9802b6bfd667b6ff24acb812b5f0b Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Thu, 21 Jul 2016 16:24:09 +0100 Subject: Allow map_replace substitution of network names To allow per-node data such as bind_ip's to move into the composable services templates, we do a value substitution on the config settings hiera map, where e.g internal_api will be replaced with the NetIpMap IP assigned to that. To enable subnet/uri lookup via the same method, we add all the subnet/uri mappings to the main net_ip_map output. Change-Id: I7850d4dc8bf4db5f7ac6a6b53c1d900b561b4580 --- network/ports/net_ip_map.yaml | 21 +++++++++++++++++++++ puppet/ceph-storage.yaml | 7 +++++-- puppet/cinder-storage.yaml | 7 +++++-- puppet/compute.yaml | 7 +++++-- puppet/controller.yaml | 7 +++++-- puppet/swift-storage.yaml | 7 +++++-- 6 files changed, 46 insertions(+), 10 deletions(-) diff --git a/network/ports/net_ip_map.yaml b/network/ports/net_ip_map.yaml index 78c7c32c..1ed74528 100644 --- a/network/ports/net_ip_map.yaml +++ b/network/ports/net_ip_map.yaml @@ -82,6 +82,26 @@ outputs: storage_mgmt: {get_param: StorageMgmtIp} tenant: {get_param: TenantIp} management: {get_param: ManagementIp} + ctlplane_subnet: + list_join: + - '' + - - {get_param: ControlPlaneIp} + - '/' + - {get_param: ControlPlaneSubnetCidr} + external_subnet: {get_param: ExternalIpSubnet} + internal_api_subnet: {get_param: InternalApiIpSubnet} + storage_subnet: {get_param: StorageIpSubnet} + storage_mgmt_subnet: {get_param: StorageMgmtIpSubnet} + tenant_subnet: {get_param: TenantIpSubnet} + management_subnet: {get_param: ManagementIpSubnet} + ctlplane_uri: {get_param: ControlPlaneIp} + external_uri: {get_param: ExternalIpUri} + internal_api_uri: {get_param: InternalApiIpUri} + storage_uri: {get_param: StorageIpUri} + storage_mgmt_uri: {get_param: StorageMgmtIpUri} + tenant_uri: {get_param: TenantIpUri} + management_uri: {get_param: ManagementIpUri} + # net_ip_subnet_map is deprecated, please use *subnet from net_ip_map net_ip_subnet_map: description: > A Hash containing a mapping of network names to assigned IPs/CIDR @@ -99,6 +119,7 @@ outputs: storage_mgmt: {get_param: StorageMgmtIpSubnet} tenant: {get_param: TenantIpSubnet} management: {get_param: ManagementIpSubnet} + # net_ip_uri_map is deprecated, please use *uri from net_ip_map net_ip_uri_map: description: > A Hash containing a mapping of network names to assigned IPs for a diff --git a/puppet/ceph-storage.yaml b/puppet/ceph-storage.yaml index cc632610..ace9e151 100644 --- a/puppet/ceph-storage.yaml +++ b/puppet/ceph-storage.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2015-04-30 +heat_template_version: 2016-10-14 description: 'OpenStack ceph storage node configured by Puppet' parameters: OvercloudCephStorageFlavor: @@ -264,7 +264,10 @@ resources: mapped_data: service_names: {get_param: ServiceNames} service_configs: - mapped_data: {get_param: ServiceConfigSettings} + mapped_data: + map_replace: + - {get_param: ServiceConfigSettings} + - values: {get_attr: [NetIpMap, net_ip_map]} network: mapped_data: net_ip_map: {get_attr: [NetIpMap, net_ip_map]} diff --git a/puppet/cinder-storage.yaml b/puppet/cinder-storage.yaml index a987b8f8..e4df6aed 100644 --- a/puppet/cinder-storage.yaml +++ b/puppet/cinder-storage.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2015-04-30 +heat_template_version: 2016-10-14 description: 'OpenStack cinder storage configured by Puppet' parameters: BlockStorageImage: @@ -271,7 +271,10 @@ resources: mapped_data: service_names: {get_param: ServiceNames} service_configs: - mapped_data: {get_param: ServiceConfigSettings} + mapped_data: + map_replace: + - {get_param: ServiceConfigSettings} + - values: {get_attr: [NetIpMap, net_ip_map]} network: mapped_data: net_ip_map: {get_attr: [NetIpMap, net_ip_map]} diff --git a/puppet/compute.yaml b/puppet/compute.yaml index dcb3c39a..e029c605 100644 --- a/puppet/compute.yaml +++ b/puppet/compute.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2015-10-15 +heat_template_version: 2016-10-14 description: > OpenStack hypervisor node configured via Puppet. @@ -382,7 +382,10 @@ resources: mapped_data: service_names: {get_param: ServiceNames} service_configs: - mapped_data: {get_param: ServiceConfigSettings} + mapped_data: + map_replace: + - {get_param: ServiceConfigSettings} + - values: {get_attr: [NetIpMap, net_ip_map]} compute_extraconfig: mapped_data: {get_param: NovaComputeExtraConfig} extraconfig: diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 93f0e03e..5734ce0a 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2016-04-08 +heat_template_version: 2016-10-14 description: > OpenStack controller node configured by Puppet. @@ -625,7 +625,10 @@ resources: mapped_data: service_names: {get_param: ServiceNames} service_configs: - mapped_data: {get_param: ServiceConfigSettings} + mapped_data: + map_replace: + - {get_param: ServiceConfigSettings} + - values: {get_attr: [NetIpMap, net_ip_map]} controller_extraconfig: mapped_data: map_merge: diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml index 298b5bd2..3553f77a 100644 --- a/puppet/swift-storage.yaml +++ b/puppet/swift-storage.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2015-04-30 +heat_template_version: 2016-10-14 description: 'OpenStack swift storage node configured by Puppet' parameters: OvercloudSwiftStorageFlavor: @@ -258,7 +258,10 @@ resources: mapped_data: service_names: {get_param: ServiceNames} service_configs: - mapped_data: {get_param: ServiceConfigSettings} + mapped_data: + map_replace: + - {get_param: ServiceConfigSettings} + - values: {get_attr: [NetIpMap, net_ip_map]} network: mapped_data: net_ip_map: {get_attr: [NetIpMap, net_ip_map]} -- cgit 1.2.3-korg