Merge "Ensure all Rabbit params are propagated to interested nodes."
[apex-tripleo-heat-templates.git] / puppet / compute-puppet.yaml
index ab2d0a3..a481a2e 100644 (file)
@@ -168,11 +168,13 @@ parameters:
         The mechanism drivers for the Neutron tenant network. To specify multiple
         values, use a comma separated string, like so: 'openvswitch,l2_population'
     type: string
+  # Not relevant for Computes, should be removed
   NeutronAllowL3AgentFailover:
     default: 'True'
     description: Allow automatic l3-agent failover
     type: string
-  NeutronL3HA: #FIXME this isn't wired in
+  # Not relevant for Computes, should be removed
+  NeutronL3HA:
     default: 'False'
     description: Whether to enable l3-agent HA
     type: string
@@ -195,6 +197,10 @@ parameters:
   NovaComputeLibvirtType:
     type: string
     default: ''
+  NovaEnableRbdBackend:
+    default: false
+    description: Whether to enable or not the Rbd backend for Nova
+    type: boolean
   NovaPassword:
     default: unset
     description: The password for the nova service account, used by nova-api.
@@ -218,6 +224,16 @@ parameters:
     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
   SnmpdReadonlyUserName:
     default: ro_snmp_user
     description: The user name for SNMPd with readonly rights running on all Overcloud nodes
@@ -260,21 +276,6 @@ resources:
         bridge_name: {get_param: NeutronPhysicalBridge}
         interface_name: {get_param: NeutronPublicInterface}
 
-  ComputePuppetConfig:
-    type: OS::Heat::SoftwareConfig
-    properties:
-      group: puppet
-      outputs:
-      - name: result
-      config:
-        get_file: manifests/overcloud_compute.pp
-
-  ComputePuppetDeployment:
-    type: OS::Heat::StructuredDeployment
-    properties:
-      server: {get_resource: NovaCompute}
-      config: {get_resource: ComputePuppetConfig}
-
   NovaComputeConfig:
     type: OS::Heat::StructuredConfig
     properties:
@@ -284,32 +285,50 @@ resources:
           hierarchy:
             - heat_config_%{::deploy_config_name}
             - compute
+            - ceph_cluster # provided by CephClusterConfig
+            - ceph
             - common
           datafiles:
             common:
               raw_data: {get_file: hieradata/common.yaml}
+            ceph:
+              raw_data: {get_file: hieradata/ceph.yaml}
             compute:
               raw_data: {get_file: hieradata/compute.yaml}
               oac_data:
                 nova::compute::vncserver_proxyclient_address: local-ipv4
               mapped_data:
                 #nova::debug: {get_input: debug}
+                nova::rabbit_hosts: {get_input: rabbit_hosts}
+                nova::rabbit_userid: {get_input: rabbit_username}
+                nova::rabbit_password: {get_input: rabbit_password}
+                nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
+                nova::rabbit_port: {get_input: rabbit_client_port}
                 nova_compute_driver: {get_input: nova_compute_driver}
                 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
                 nova_api_host: {get_input: nova_api_host}
                 nova::compute::vncproxy_host: {get_input: nova_public_ip}
+                nova_enable_rbd_backend: {get_input: nova_enable_rbd_backend}
                 nova_password: {get_input: nova_password}
                 #ceilometer::debug: {get_input: debug}
+                ceilometer::rabbit_hosts: {get_input: rabbit_hosts}
+                ceilometer::rabbit_userid: {get_input: rabbit_username}
+                ceilometer::rabbit_password: {get_input: rabbit_password}
+                ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
+                ceilometer::rabbit_port: {get_input: rabbit_client_port}
                 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
                 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
+                ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
                 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
                 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
                 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
-                glance_host: {get_input: glance_host}
-                glance_port: {get_input: glance_port}
-                glance_protocol: {get_input: glance_protocol}
-                keystone_host: {get_input: keystone_host}
+                nova::glance_api_servers: {get_input: glance_api_servers}
                 #neutron::debug: {get_input: debug}
+                neutron::rabbit_hosts: {get_input: rabbit_hosts}
+                neutron::rabbit_password: {get_input: rabbit_password}
+                neutron::rabbit_user: {get_input: rabbit_user}
+                neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
+                neutron::rabbit_port: {get_input: rabbit_client_port}
                 neutron_flat_networks: {get_input: neutron_flat_networks}
                 neutron_host: {get_input: neutron_host}
                 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
@@ -321,23 +340,14 @@ resources:
                 neutron_physical_bridge: {get_input: neutron_physical_bridge}
                 neutron_public_interface: {get_input: neutron_public_interface}
                 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
+                nova::network::neutron::neutron_url: {get_input: neutron_url}
+                nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
                 neutron_router_distributed: {get_input: neutron_router_distributed}
                 neutron_agent_mode: {get_input: neutron_agent_mode}
                 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
                 neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
-                neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
-                neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
                 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
                 admin_password: {get_input: admin_password}
-                nova::rabbit_host: {get_input: rabbit_host}
-                neutron::rabbit_host: {get_input: rabbit_host}
-                ceilometer::rabbit_host: {get_input: rabbit_host}
-                nova::rabbit_userid: {get_input: rabbit_username}
-                neutron::rabbit_user: {get_input: rabbit_username}
-                ceilometer::rabbit_userid: {get_input: rabbit_username}
-                nova::rabbit_password: {get_input: rabbit_password}
-                neutron::rabbit_password: {get_input: rabbit_password}
-                ceilometer::rabbit_password: {get_input: rabbit_password}
                 ntp::servers: {get_input: ntp_servers}
                 enable_package_install: {get_input: enable_package_install}
 
@@ -354,15 +364,26 @@ resources:
         nova_public_ip: {get_param: NovaPublicIP}
         nova_api_host: {get_param: NovaApiHost}
         nova_password: {get_param: NovaPassword}
+        nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
         ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
         ceilometer_password: {get_param: CeilometerPassword}
         ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
+        ceilometer_agent_auth_url:
+          list_join:
+            - ''
+            - - 'http://'
+              - {get_param: KeystoneHost}
+              - ':5000/v2.0'
         snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
         snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
-        glance_host: {get_param: GlanceHost}
-        glance_port: {get_param: GlancePort}
-        glance_protocol: {get_param: GlanceProtocol}
-        keystone_host: {get_param: KeystoneHost}
+        glance_api_servers:
+          list_join:
+            - ''
+            - - {get_param: GlanceProtocol}
+              - '://'
+              - {get_param: GlanceHost}
+              - ':'
+              - {get_param: GlancePort}
         neutron_flat_networks: {get_param: NeutronFlatNetworks}
         neutron_host: {get_param: NeutronHost}
         neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]}
@@ -378,12 +399,29 @@ resources:
         neutron_router_distributed: {get_param: NeutronDVR}
         neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
         neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
-        neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
         neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
+        neutron_url:
+          list_join:
+            - ''
+            - - 'http://'
+              - {get_param: NeutronHost}
+              - ':9696'
+        neutron_admin_auth_url:
+          list_join:
+            - ''
+            - - 'http://'
+              - {get_param: NeutronHost}
+              - ':35357/v2.0'
         admin_password: {get_param: AdminPassword}
-        rabbit_host: {get_param: RabbitHost}
+        rabbit_hosts:
+          str_replace:
+            template: '["host"]'
+            params:
+              host: {get_param: RabbitHost}
         rabbit_username: {get_param: RabbitUserName}
         rabbit_password: {get_param: RabbitPassword}
+        rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
+        rabbit_client_port: {get_param: RabbitClientPort}
         ntp_servers:
           str_replace:
             template: '["server"]'