Move RabbitMQ settings out of controller.yaml
authorDan Prince <dprince@redhat.com>
Wed, 17 Aug 2016 17:26:40 +0000 (13:26 -0400)
committerDan Prince <dprince@redhat.com>
Wed, 24 Aug 2016 01:29:05 +0000 (21:29 -0400)
This moves the config settings out of controller.yaml for RabbitMQ
and into puppet/services/rabbitmq.yaml.

Related-Bug: #1604414

Change-Id: I6b3d71653fb91b89b85dae7df4088afff22b71ac

overcloud.yaml
puppet/controller.yaml
puppet/services/rabbitmq.yaml

index 0e195a4..b88d1dc 100644 (file)
@@ -400,7 +400,6 @@ resources:
           HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
           HorizonSecret: {get_resource: HorizonSecret}
           PcsdPassword: {get_resource: PcsdPassword}
-          RabbitCookie: {get_attr: [RabbitCookie, value]}
           RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
           RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
           ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
index b63a01c..65e47b7 100644 (file)
@@ -176,28 +176,6 @@ parameters:
         Specifies the interface where the public-facing virtual ip will be assigned.
         This should be int_public when a VLAN is being used.
     type: string
-  RabbitCookie:
-    type: string
-    default: ''  # Has to be here because of the ignored empty value bug
-    hidden: true
-  RabbitPassword:
-    description: The password for RabbitMQ
-    type: string
-    hidden: true
-  RabbitUserName:
-    default: guest
-    description: The username for RabbitMQ
-    type: string
-  RabbitClientUseSSL:
-    default: false
-    description: >
-        Rabbit client subscriber parameter to specify
-        an SSL connection to the RabbitMQ host.
-    type: string
-  RabbitClientPort:
-    default: 5672
-    description: Set rabbit subscriber port, change this if using SSL
-    type: number
   RedisPassword:
     description: The password for Redis
     type: string
@@ -478,11 +456,6 @@ resources:
         instance_name_template: {get_param: InstanceNameTemplate}
         fencing_config: {get_param: FencingConfig}
         pcsd_password: {get_param: PcsdPassword}
-        rabbit_username: {get_param: RabbitUserName}
-        rabbit_password: {get_param: RabbitPassword}
-        rabbit_cookie: {get_param: RabbitCookie}
-        rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
-        rabbit_client_port: {get_param: RabbitClientPort}
         control_virtual_interface: {get_param: ControlVirtualInterface}
         public_virtual_interface: {get_param: PublicVirtualInterface}
         swift_hash_suffix: {get_param: SwiftHashSuffix}
@@ -517,7 +490,6 @@ resources:
                       template: "NETWORK_subnet"
                       params:
                         NETWORK: {get_param: [ServiceNetMap, HorizonNetwork]}
-        rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitmqNetwork]}]}
         redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
         redis_vip: {get_param: RedisVirtualIP}
         sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
@@ -677,9 +649,6 @@ resources:
                 # Sahara
                 sahara::host: {get_input: sahara_api_network}
 
-                # RabbitMQ
-                rabbitmq::node_ip_address: {get_input: rabbitmq_network}
-                rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
                 # Redis
                 redis::bind: {get_input: redis_network}
                 redis_vip: {get_input: redis_vip}
index 5d58064..06595b0 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-04-08
+heat_template_version: 2016-10-14
 
 description: >
   RabbitMQ service configured with Puppet
@@ -34,6 +34,10 @@ parameters:
     default: false
     description: Enable IPv6 in RabbitMQ
     type: boolean
+  RabbitCookie:
+    type: string
+    default: ''
+    hidden: true
 
 outputs:
   role_data:
@@ -66,5 +70,19 @@ outputs:
           tcp_listen_options: '[binary, {packet, raw}, {reuseaddr, true}, {backlog, 128}, {nodelay, true}, {exit_on_close, false}, {keepalive, true}]'
           cluster_partition_handling: 'pause_minority'
           loopback_users: '[]'
+        rabbitmq::erlang_cookie:
+          yaql:
+            expression: $.data.passwords.where($ != '').first()
+            data:
+              passwords:
+                - {get_param: RabbitCookie}
+                - {get_param: [DefaultPasswords, rabbit_cookie]}
+        # NOTE: bind IP is found in Heat replacing the network name with the
+        # local node IP for the given network; replacement examples
+        # (eg. for internal_api):
+        # internal_api -> IP
+        # internal_api_uri -> [IP]
+        # internal_api_subnet - > IP/CIDR
+        rabbitmq::node_ip_address: {get_param: [ServiceNetMap, RabbitmqNetwork]}
       step_config: |
         include ::tripleo::profile::base::rabbitmq