Don't write CLOUDNAME to the hosts file.
authorBen Nemec <bnemec@redhat.com>
Fri, 15 Jan 2016 03:24:18 +0000 (21:24 -0600)
committerBen Nemec <bnemec@redhat.com>
Wed, 20 Jan 2016 15:43:40 +0000 (09:43 -0600)
Currently the value of the CloudName param gets written into the
/etc/hosts file on each controller, but it turns out this is an
invalid configuration.  CloudName is supposed to be the DNS name
of the overcloud, and the IP being written is (at least in my case)
the internal API VIP.  This breaks in cases such as SSL because
the services are not listening on an SSL port on the internal API
network, so if a service tries to talk to another service using a
CloudName-defined public endpoint it ends up pointed at a
non-existent internal address:port.

Since by definition CloudName is supposed to be resolvable by the
configured DNS server, we should not need an explicit hosts entry
as well.  Thus, this patch removes that from the file.

Change-Id: I919b42a219d95296f46852dd3266a54d968cf66b

overcloud.yaml
puppet/controller.yaml

index bedd054..9e0e3b2 100644 (file)
@@ -859,7 +859,6 @@ resources:
           CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
           CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend}
           CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
-          CloudName: {get_param: CloudName}
           CloudDomain: {get_param: CloudDomain}
           ControlVirtualInterface: {get_param: ControlVirtualInterface}
           ControllerExtraConfig: {get_param: controllerExtraConfig}
index f537822..4a2f889 100644 (file)
@@ -89,10 +89,6 @@ parameters:
     default: 0
     description: Number of workers for Cinder service.
     type: number
-  CloudName:
-    default: overcloud
-    description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
-    type: string
   ControllerExtraConfig:
     default: {}
     description: |
@@ -1598,12 +1594,11 @@ outputs:
       Server's IP address and hostname in the /etc/hosts format
     value:
       str_replace:
-        template: IP HOST.DOMAIN HOST CLOUDNAME
+        template: IP HOST.DOMAIN HOST
         params:
           IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
           DOMAIN: {get_param: CloudDomain}
           HOST: {get_attr: [Controller, name]}
-          CLOUDNAME: {get_param: CloudName}
   nova_server_resource:
     description: Heat resource handle for the Nova compute server
     value: