Pass Horizon port through to controller nodes
[apex-tripleo-heat-templates.git] / nova-compute-instance.yaml
index f8b5ebe..2d8168a 100644 (file)
@@ -6,7 +6,35 @@ parameters:
     description: The password for the keystone admin account, used for monitoring, querying neutron etc.
     type: string
     hidden: true
+  AllNodesConfig:
+    type: string
+    description: OS::Heat::Config to use for all nodes deployment
+  CeilometerComputeAgent:
+    description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
+    type: string
+    default: ''
+    constraints:
+    - allowed_values: ['', Present]
+  CeilometerDSN:
+    type: string
+  CeilometerMeteringSecret:
+    default: unset
+    description: Secret shared by the ceilometer services.
+    type: string
+    hidden: true
+  CeilometerPassword:
+    default: unset
+    description: The password for the ceilometer service account.
+    type: string
+    hidden: true
+  DefaultSignalTransport:
+    default: CFN_SIGNAL
+    description: Transport to use for software-config signals.
+    type: string
+    constraints:
+      - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
   ExtraConfig:
+    default: {}
     description: |
       Additional configuration to inject into the cluster. The JSON should have
       the following structure:
@@ -27,8 +55,8 @@ parameters:
           {"config":
             [{"section": "default",
               "values":
-                [{"option": "compute_manager",
-                  "value": "ironic.nova.compute.manager.ClusterComputeManager"
+                [{"option": "force_config_drive",
+                  "value": "always"
                  }
                 ]
              },
@@ -43,32 +71,44 @@ parameters:
           }
         }
     type: json
-  KeyName:
-    description: Name of an existing EC2 KeyPair to enable SSH access to the instances
+  GlanceHost:
     type: string
-    default: default
-  OvercloudComputeFlavor:
-    description: Use this flavor
+  GlancePort:
+    default: 9292
+    description: Glance port.
+    type: string
+  GlanceProtocol:
+    default: http
+    description: Protocol to use when connecting to glance, set to https for SSL.
     type: string
-    default: baremetal
   ImageUpdatePolicy:
     default: 'REBUILD_PRESERVE_EPHEMERAL'
     description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
     type: string
-  NovaImage:
-    type: string
-    default: overcloud-compute
-  NtpServer:
+  KeyName:
+    description: Name of an existing EC2 KeyPair to enable SSH access to the instances
     type: string
-    default: ''
+    default: default
   KeystoneHost:
     type: string
+  NeutronBridgeMappings:
+    type: string
+  NeutronDSN:
+    type: string
+  NeutronEnableTunnelling:
+    type: string
   NeutronFlatNetworks:
     type: string
     default: ''
     description: If set, flat networks to configure in neutron plugins.
   NeutronHost:
     type: string
+  NeutronNetworkType:
+    default: 'gre'
+    description: The tenant network type for Neutron, either gre or vxlan.
+    type: string
+  NeutronNetworkVLANRanges:
+    type: string
   NeutronPhysicalBridge:
     default: ''
     description: An OVS bridge to create for accessing external networks.
@@ -77,107 +117,78 @@ parameters:
     default: ''
     description: A port to add to the NeutronPhysicalBridge.
     type: string
-  RabbitHost:
-    type: string
-  RabbitUserName:
-    type: string
-  RabbitPassword:
-    type: string
-    hidden: true
-  CeilometerComputeAgent:
-    description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
+  NeutronTunnelTypes:
+    default: 'gre'
+    description: |
+        The tunnel types for the Neutron tenant network. To specify multiple
+        values, use a comma separated string, like so: 'gre,vxlan'
     type: string
+  NeutronPublicInterfaceRawDevice:
     default: ''
-    constraints:
-    - allowed_values: ['', Present]
-  CeilometerMeteringSecret:
-    default: unset
-    description: Secret shared by the ceilometer services.
     type: string
-    hidden: true
-  CeilometerPassword:
-    default: unset
-    description: The password for the ceilometer service account.
+  NeutronDVR:
+    default: 'False'
     type: string
-    hidden: true
-  SnmpdReadonlyUserName:
-    default: ro_snmp_user
-    description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+  NeutronMechanismDrivers:
+    default: 'openvswitch'
+    description: |
+        The mechanism drivers for the Neutron tenant network. To specify multiple
+        values, use a comma separated string, like so: 'openvswitch,l2_population'
     type: string
-  SnmpdReadonlyUserPassword:
-    default: unset
-    description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+  NeutronAllowL3AgentFailover:
+    default: 'True'
+    description: Allow automatic l3-agent failover
+    type: string
+  NovaApiHost:
     type: string
-    hidden: true
   NovaComputeDriver:
     type: string
     default: libvirt.LibvirtDriver
+  NovaComputeExtraConfig:
+    default: {}
+    description: |
+      NovaCompute specific configuration to inject into the cluster. Same
+      structure as ExtraConfig.
+    type: json
   NovaComputeLibvirtType:
     type: string
     default: ''
-  NovaApiHost:
+  NovaDSN:
     type: string
+  NovaImage:
+    type: string
+    default: overcloud-compute
   NovaPassword:
     default: unset
     description: The password for the nova service account, used by nova-api.
     type: string
     hidden: true
-  GlanceHost:
-    type: string
-  GlancePort:
-    default: 9292
-    description: Glance port.
-    type: string
-  GlanceProtocol:
-    default: http
-    description: Protocol to use when connecting to glance, set to https for SSL.
-    type: string
-  CeilometerDSN:
-    type: string
-  NovaDSN:
-    type: string
   NovaPublicIP:
     type: string
-  NeutronDSN:
-    type: string
-  NeutronBridgeMappings:
-    type: string
-  NeutronNetworkVLANRanges:
-    type: string
-  NeutronNetworkType:
-    type: string
-  NeutronEnableTunnelling:
-    type: string
-  AllNodesConfig:
-    type: string
-    description: OS::Heat::Config to use for all nodes deployment
-  LiveUpdateUserName:
+  NtpServer:
     type: string
-    description: The live-update username for the undercloud Glance API.
     default: ''
-  LiveUpdateTenantName:
+  OvercloudComputeFlavor:
+    description: Use this flavor
     type: string
-    description: The live-update tenant name for the undercloud Glance API.
-    default: ''
-  LiveUpdateHost:
+    constraints:
+      - custom_constraint: nova.flavor
+  RabbitHost:
     type: string
-    description: The IP address for the undercloud Glance API.
-    default: ''
-  LiveUpdatePassword:
+  RabbitUserName:
+    type: string
+  RabbitPassword:
     type: string
-    default: ''
-    description: The live-update password for the undercloud Glance API.
     hidden: true
-  LiveUpdateComputeImage:
+  SnmpdReadonlyUserName:
+    default: ro_snmp_user
+    description: The user name for SNMPd with readonly rights running on all Overcloud nodes
     type: string
-    description: The image ID for live-updates to the overcloud compute nodes.
-    default: ''
-  DefaultSignalTransport:
-    default: CFN_SIGNAL
-    description: Transport to use for software-config signals.
+  SnmpdReadonlyUserPassword:
+    default: unset
+    description: The user password for SNMPd with readonly rights running on all Overcloud nodes
     type: string
-    constraints:
-      - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
+    hidden: true
 resources:
   NovaCompute0:
     type: OS::Nova::Server
@@ -192,7 +203,6 @@ resources:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
   NovaCompute0Deployment:
-    depends_on: [controller0AllNodesDeployment]
     type: OS::Heat::StructuredDeployment
     properties:
       signal_transport: NO_SIGNAL
@@ -220,32 +230,35 @@ resources:
         neutron_dsn: {get_param: NeutronDSN}
         neutron_local_ip: {get_attr: [NovaCompute0, networks, ctlplane, 0]}
         neutron_tenant_network_type: {get_param: NeutronNetworkType}
+        neutron_tunnel_types: {get_param: NeutronTunnelTypes}
         neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
         neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
         neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
         neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
         neutron_public_interface: {get_param: NeutronPublicInterface}
+        neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
         neutron_password: {get_param: NeutronPassword}
+        neutron_agent_mode: {get_param: NeutronComputeAgentMode}
+        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}
         admin_password: {get_param: AdminPassword}
         rabbit_host: {get_param: RabbitHost}
         rabbit_username: {get_param: RabbitUserName}
         rabbit_password: {get_param: RabbitPassword}
-        live_update_host: {get_param: LiveUpdateHost}
-        live_update_username: {get_param: LiveUpdateUserName}
-        live_update_password: {get_param: LiveUpdatePassword}
-        live_update_tenant_name: {get_param: LiveUpdateTenantName}
-        nova_image: {get_param: NovaImage}
-        live_update_image_id: {get_param: LiveUpdateComputeImage}
         ntp_server: {get_param: NtpServer}
   NovaCompute0AllNodesDeployment:
-    depends_on: [NovaCompute0Passthrough]
+    depends_on:
+      - controller0AllNodesDeployment
+      - NovaCompute0Deployment
+      - NovaCompute0PassthroughSpecific
     type: OS::Heat::StructuredDeployment
     properties:
       signal_transport: {get_param: DefaultSignalTransport}
       config: {get_param: AllNodesConfig}
       server: {get_resource: NovaCompute0}
   NovaCompute0Passthrough:
-    depends_on: [NovaCompute0Deployment]
     type: OS::Heat::StructuredDeployment
     properties:
       config: {get_resource: NovaComputePassthrough}
@@ -253,3 +266,12 @@ resources:
       signal_transport: NO_SIGNAL
       input_values:
         passthrough_config: {get_param: ExtraConfig}
+  NovaCompute0PassthroughSpecific:
+    depends_on: [NovaCompute0Passthrough]
+    type: OS::Heat::StructuredDeployment
+    properties:
+      config: {get_resource: NovaComputePassthroughSpecific}
+      server: {get_resource: NovaCompute0}
+      signal_transport: NO_SIGNAL
+      input_values:
+        passthrough_config_specific: {get_param: NovaComputeExtraConfig}