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
This commit is contained in:
Juan Antonio Osorio Robles 2016-08-19 13:49:09 +03:00 committed by Emilien Macchi
parent 2932988126
commit 8073fff378
4 changed files with 67 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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