aboutsummaryrefslogtreecommitdiffstats
path: root/extraconfig/nova_metadata/krb-service-principals.yaml
diff options
context:
space:
mode:
authorDan Sneddon <dsneddon@redhat.com>2017-07-21 14:33:33 -0700
committerBob Fournier <bfournie@redhat.com>2017-08-04 09:44:31 -0400
commitb19b88bd1c9944aec1ba96e6d8b99099d54a95f0 (patch)
tree31d4b75429d063e4d342baa1b5bce35b10f0c006 /extraconfig/nova_metadata/krb-service-principals.yaml
parentfd1b1f8ec647d56346c0ad3728fed8fbfb482632 (diff)
Render VIPs dynamically based on network_data.yaml
This change modifies the templates to dynamically define the VIPs based on network_data.yaml. If a network is defined and marked with "vip: true" in network_data.yaml, it will be included in the overcloud.yaml which defines the deployment-level resources. This should make it possible to create custom networks and use them for services which use high-availability through VIPs. Also, extraconfig/nova_metadata/krb-service-pricipals.yaml was modified to dynamically produce the FQDN map for VIPs on isolated networks, to match overcloud.j2.yaml. Depends-On: If074f87494a46305c990a0ea332c7b576d3c6ed8 Depends-On: Iab8aca2f1fcaba0c8f109717a4b3068f629c9aab Partially-implements: blueprint composable-networks Closes-bug: 1667104 Change-Id: I71339a6ac41133e95dbc3f93abb7a9fdeb0f2da0
Diffstat (limited to 'extraconfig/nova_metadata/krb-service-principals.yaml')
-rw-r--r--extraconfig/nova_metadata/krb-service-principals.yaml84
1 files changed, 0 insertions, 84 deletions
diff --git a/extraconfig/nova_metadata/krb-service-principals.yaml b/extraconfig/nova_metadata/krb-service-principals.yaml
deleted file mode 100644
index cdd4341a..00000000
--- a/extraconfig/nova_metadata/krb-service-principals.yaml
+++ /dev/null
@@ -1,84 +0,0 @@
-heat_template_version: pike
-description: 'Generates the relevant service principals for a server'
-
-parameters:
- RoleData:
- type: json
- description: the list containing the 'role_data' output for the ServiceChain
-
- # Coming from parameter_defaults
- CloudName:
- default: overcloud.localdomain
- description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
- type: string
- CloudNameInternal:
- default: overcloud.internalapi.localdomain
- description: >
- The DNS name of this cloud's internal API endpoint. E.g.
- 'ci-overcloud.internalapi.tripleo.org'.
- type: string
- CloudNameStorage:
- default: overcloud.storage.localdomain
- description: >
- The DNS name of this cloud's storage endpoint. E.g.
- 'ci-overcloud.storage.tripleo.org'.
- type: string
- CloudNameStorageManagement:
- default: overcloud.storagemgmt.localdomain
- description: >
- The DNS name of this cloud's storage management endpoint. E.g.
- 'ci-overcloud.storagemgmt.tripleo.org'.
- type: string
- CloudNameCtlplane:
- default: overcloud.ctlplane.localdomain
- description: >
- The DNS name of this cloud's provisioning network endpoint. E.g.
- 'ci-overcloud.ctlplane.tripleo.org'.
- type: string
-
-resources:
-
- IncomingMetadataSettings:
- type: OS::Heat::Value
- properties:
- value:
- yaql:
- # Filter null values and values that contain don't contain
- # 'metadata_settings', get the values from that key and get the
- # unique ones.
- expression: list(coalesce($.data, []).where($ != null).where($.containsKey('metadata_settings')).metadata_settings.flatten().distinct())
- data: {get_param: RoleData}
-
- # Generates entries for nova metadata with the following format:
- # 'managed_service_<id>' : <service>/<fqdn>
- # Depending on the requested network
- IndividualServices:
- type: OS::Heat::Value
- properties:
- value:
- yaql:
- expression: let(fqdns => $.data.fqdns) -> dict(coalesce($.data.metadata, []).where($ != null and $.type = 'vip').select([concat('managed_service_', $.service, $.network), concat($.service, '/', $fqdns.get($.network))]))
- data:
- metadata: {get_attr: [IncomingMetadataSettings, value]}
- fqdns:
- external: {get_param: CloudName}
- internal_api: {get_param: CloudNameInternal}
- storage: {get_param: CloudNameStorage}
- storage_mgmt: {get_param: CloudNameStorageManagement}
- ctlplane: {get_param: CloudNameCtlplane}
-
- CompactServices:
- type: OS::Heat::Value
- properties:
- value:
- yaql:
- expression: dict(coalesce($.data, []).where($ != null and $.type = 'node').select([$.service, $.network.replace('_', '')]).groupBy($[0], $[1]))
- data: {get_attr: [IncomingMetadataSettings, value]}
-
-outputs:
- metadata:
- description: actual metadata entries that will be passed to the server.
- value:
- map_merge:
- - {get_attr: [IndividualServices, value]}
- - compact_services: {get_attr: [CompactServices, value]}