Reuse the various service passwords as db passwords.
[apex-tripleo-heat-templates.git] / compute.yaml
index 3095a7a..f7e434f 100644 (file)
@@ -15,8 +15,6 @@ parameters:
     default: ''
     constraints:
     - allowed_values: ['', Present]
-  CeilometerDSN:
-    type: string
   CeilometerMeteringSecret:
     default: unset
     description: Secret shared by the ceilometer services.
@@ -72,7 +70,6 @@ parameters:
   Flavor:
     description: Flavor for the nova compute node
     type: string
-    default: baremetal
     constraints:
       - custom_constraint: nova.flavor
   GlanceHost:
@@ -113,13 +110,13 @@ parameters:
       network) - if changing this either use different post-install network
       scripts or be sure to keep 'datacentre' as a mapping network name.
     type: string
-    default: ""
+    default: "datacentre:br-ex"
   NeutronEnableTunnelling:
     type: string
     default: "True"
   NeutronFlatNetworks:
     type: string
-    default: ''
+    default: 'datacentre'
     description: >
       If set, flat networks to configure in neutron plugins.
   NeutronHost:
@@ -146,7 +143,7 @@ parameters:
     description: An OVS bridge to create for accessing external networks.
     type: string
   NeutronPublicInterface:
-    default: eth0
+    default: nic1
     description: A port to add to the NeutronPhysicalBridge.
     type: string
   NeutronTunnelTypes:
@@ -171,10 +168,16 @@ 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
+  # Not relevant for Computes, should be removed
+  NeutronL3HA:
+    default: 'False'
+    description: Whether to enable l3-agent HA
+    type: string
   NeutronAgentMode:
     default: 'dvr_snat'
     description: Agent mode for the neutron-l3-agent on the controller hosts
@@ -194,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.
@@ -217,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
@@ -242,15 +259,89 @@ resources:
       networks:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
+      user_data: {get_resource: NodeUserData}
+
+  NodeUserData:
+    type: OS::TripleO::NodeUserData
+
+  NetworkConfig:
+    type: OS::TripleO::Compute::Net::SoftwareConfig
+
+  NetworkDeployment:
+    type: OS::TripleO::SoftwareDeployment
+    properties:
+      signal_transport: NO_SIGNAL
+      config: {get_attr: [NetworkConfig, config_id]}
+      server: {get_resource: NovaCompute}
+      input_values:
+        bridge_name: {get_param: NeutronPhysicalBridge}
+        interface_name: {get_param: NeutronPublicInterface}
 
   NovaComputeConfig:
-    type: OS::TripleO::Compute::SoftwareConfig
+    type: OS::Heat::StructuredConfig
+    properties:
+      group: os-apply-config
+      config:
+        nova:
+          compute_driver: { get_input: nova_compute_driver }
+          compute_libvirt_type: { get_input: nova_compute_libvirt_type }
+          debug: {get_input: debug}
+          host: {get_input: nova_api_host}
+          public_ip: {get_input: nova_public_ip}
+          service-password: {get_input: nova_password}
+        ceilometer:
+          debug: {get_input: debug}
+          metering_secret: {get_input: ceilometer_metering_secret}
+          service-password: {get_input: ceilometer_password}
+          compute_agent: {get_input: ceilometer_compute_agent}
+        snmpd:
+          export_MIB: UCD-SNMP-MIB
+          readonly_user_name: {get_input: snmpd_readonly_user_name}
+          readonly_user_password: {get_input: snmpd_readonly_user_password}
+        glance:
+          debug: {get_input: debug}
+          host: {get_input: glance_host}
+          port: {get_input: glance_port}
+          protocol: {get_input: glance_protocol}
+        keystone:
+          debug: {get_input: debug}
+          host: {get_input: keystone_host}
+        neutron:
+          debug: {get_input: debug}
+          flat-networks: {get_input: neutron_flat_networks}
+          host: {get_input: neutron_host}
+          router_distributed: {get_input: neutron_router_distributed}
+          agent_mode: {get_input: neutron_agent_mode}
+          ovs_db: {get_input: neutron_dsn}
+          metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
+          mechanism_drivers: {get_input: neutron_mechanism_drivers}
+          allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
+          l3_ha: {get_input: neutron_l3_ha}
+          ovs:
+            local_ip: {get_input: neutron_local_ip}
+            tenant_network_type: {get_input: neutron_tenant_network_type}
+            tunnel_types: {get_input: neutron_tunnel_types}
+            network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
+            bridge_mappings: {get_input: neutron_bridge_mappings}
+            enable_tunneling: {get_input: neutron_enable_tunneling}
+            physical_bridge: {get_input: neutron_physical_bridge}
+            public_interface: {get_input: neutron_public_interface}
+            public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
+          service-password: {get_input: neutron_password}
+        admin-password: {get_input: admin_password}
+        rabbit:
+          host: {get_input: rabbit_host}
+          username: {get_input: rabbit_username}
+          password: {get_input: rabbit_password}
+        ntp:
+          servers:
+              - {server: {get_input: ntp_server}}
 
   NovaComputeDeployment:
     type: OS::TripleO::SoftwareDeployment
     properties:
       signal_transport: NO_SIGNAL
-      config: {get_attr: [NovaComputeConfig, config_id]}
+      config: {get_resource: NovaComputeConfig}
       server: {get_resource: NovaCompute}
       input_values:
         debug: {get_param: Debug}
@@ -259,7 +350,6 @@ resources:
         nova_public_ip: {get_param: NovaPublicIP}
         nova_api_host: {get_param: NovaApiHost}
         nova_password: {get_param: NovaPassword}
-        ceilometer_dsn: {get_param: CeilometerDSN}
         ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
         ceilometer_password: {get_param: CeilometerPassword}
         ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
@@ -285,6 +375,7 @@ resources:
         neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
         neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
         neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
+        neutron_l3_ha: {get_param: NeutronL3HA}
         neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
         admin_password: {get_param: AdminPassword}
         rabbit_host: {get_param: RabbitHost}