From 8073fff378ba84a17790deed1e13272c6b9d3314 Mon Sep 17 00:00:00 2001 From: Juan Antonio Osorio Robles Date: Fri, 19 Aug 2016 13:49:09 +0300 Subject: Create entries for overcloud VIPs in /etc/hosts This will aid us in using FQDNs instead of IPs if DNS is not set. If the deployer already has DNS set up, they can easily disable this profile by adding the use-dns-for-vips.yaml environment file. bp tls-via-certmonger Change-Id: I8c1b3f253d0149d575171c208f9a1342a7b26450 Depends-On: I1bdb2701dfb3e7ef072e674c9882d3be5af7296c --- environments/use-dns-for-vips.yaml | 5 +++ overcloud-resource-registry-puppet.yaml | 1 + overcloud.yaml | 5 +++ puppet/services/vip-hosts.yaml | 56 +++++++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 environments/use-dns-for-vips.yaml create mode 100644 puppet/services/vip-hosts.yaml diff --git a/environments/use-dns-for-vips.yaml b/environments/use-dns-for-vips.yaml new file mode 100644 index 00000000..daf07bc7 --- /dev/null +++ b/environments/use-dns-for-vips.yaml @@ -0,0 +1,5 @@ +# A Heat environment file which can be used to disable the writing of the VIPs +# to the /etc/hosts file in the overcloud. Use this in case you have a working +# DNS server that you will provide for the overcloud. +resource_registry: + OS::TripleO::Services::VipHosts: OS::Heat::None diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml index b0a9c10c..a6d09acd 100644 --- a/overcloud-resource-registry-puppet.yaml +++ b/overcloud-resource-registry-puppet.yaml @@ -201,6 +201,7 @@ resource_registry: OS::TripleO::Services::GnocchiApi: puppet/services/gnocchi-api.yaml OS::TripleO::Services::GnocchiMetricd: puppet/services/gnocchi-metricd.yaml OS::TripleO::Services::GnocchiStatsd: puppet/services/gnocchi-statsd.yaml + OS::TripleO::Services::VipHosts: puppet/services/vip-hosts.yaml # Services that are disabled by default (use relevant environment files): OS::Tripleo::Services::ManilaApi: OS::Heat::None OS::Tripleo::Services::ManilaScheduler: OS::Heat::None diff --git a/overcloud.yaml b/overcloud.yaml index 38b7b6ea..2a02fda6 100644 --- a/overcloud.yaml +++ b/overcloud.yaml @@ -200,6 +200,7 @@ parameters: - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::OpenDaylight - OS::TripleO::Services::SensuClient + - OS::TripleO::Services::VipHosts description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the Controllers. @@ -226,6 +227,7 @@ parameters: - OS::TripleO::Services::NeutronSriovAgent - OS::TripleO::Services::OpenDaylightOvs - OS::TripleO::Services::SensuClient + - OS::TripleO::Services::VipHosts description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the Compute Nodes. @@ -252,6 +254,7 @@ parameters: - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::SensuClient + - OS::TripleO::Services::VipHosts description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the BlockStorage nodes. @@ -279,6 +282,7 @@ parameters: - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::SensuClient + - OS::TripleO::Services::VipHosts description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the ObjectStorage nodes. @@ -306,6 +310,7 @@ parameters: - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::SensuClient + - OS::TripleO::Services::VipHosts description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the CephStorage nodes. diff --git a/puppet/services/vip-hosts.yaml b/puppet/services/vip-hosts.yaml new file mode 100644 index 00000000..445a276c --- /dev/null +++ b/puppet/services/vip-hosts.yaml @@ -0,0 +1,56 @@ +heat_template_version: 2016-04-08 + +description: > + If the deployer doesn't have a DNS server for the overcloud nodes. This will + populate the node-names and IPs for the VIPs of the overcloud. + +parameters: + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + +outputs: + role_data: + description: role data for the VIP hosts role + value: + service_name: vip_hosts + config_settings: + tripleo::vip_hosts::hosts_spec: + external: + name: "%{hiera('cloud_name_external')}" + ip: "%{hiera('public_virtual_ip')}" + ensure: present + comment: FQDN of the external VIP + internal_api: + name: "%{hiera('cloud_name_internal_api')}" + ip: "%{hiera('internal_api_virtual_ip')}" + ensure: present + comment: FQDN of the internal api VIP + storage: + name: "%{hiera('cloud_name_storage')}" + ip: "%{hiera('storage_virtual_ip')}" + ensure: present + comment: FQDN of the storage VIP + storage_mgmt: + name: "%{hiera('cloud_name_storage_mgmt')}" + ip: "%{hiera('storage_mgmt_virtual_ip')}" + ensure: present + comment: FQDN of the storage mgmt VIP + management: + name: "%{hiera('cloud_name_management')}" + ip: "%{hiera('controller_virtual_ip')}" + ensure: present + comment: FQDN of the management VIP + step_config: | + include ::tripleo::vip_hosts -- cgit 1.2.3-korg