Add recursive whole-file __include__ tag
[apex-tripleo-heat-templates.git] / nova-compute-instance.yaml
index a3fef08..3074228 100644 (file)
@@ -1,11 +1,16 @@
 HeatTemplateFormatVersion: '2012-12-12'
 Description: 'Nova Compute'
 Parameters:
+  AdminPassword:
+    Default: unset
+    Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
+    Type: String
+    NoEcho: true
   KeyName: 
     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
     Type: String
     Default: default
-  InstanceType:
+  Flavor:
     Description: Use this flavor
     Type: String
     Default: baremetal
@@ -14,15 +19,13 @@ Parameters:
     Default: overcloud-compute
   KeystoneHost:
     Type: String
-  ServicePassword:
-    Description: admin_password for setting up auth in nova.
-    Type: String
   NeutronHost:
     Type: String
   RabbitHost:
     Type: String
   RabbitPassword:
     Type: String
+    NoEcho: true
   NovaInterfaces:
     Type: String
     Default: eth0
@@ -34,6 +37,11 @@ Parameters:
     Default: ''
   NovaApiHost:
     Type: String
+  NovaPassword:
+    Default: unset
+    Description: The password for the nova service account, used by nova-api.
+    Type: String
+    NoEcho: true
   GlanceHost:
     Type: String
   NovaDSN:
@@ -63,12 +71,12 @@ Resources:
       UserName:
         Ref: ComputeUser
   NovaCompute0:
-    Type: AWS::EC2::Instance
+    Type: OS::Nova::Server
     Properties:
-      ImageId:
+      image:
         {Ref: NovaImage}
-      InstanceType: {Ref: InstanceType}
-      KeyName: {Ref: KeyName}
+      flavor: {Ref: Flavor}
+      key_name: {Ref: KeyName}
     Metadata:
       os-collect-config:
         cfn:
@@ -98,6 +106,8 @@ Resources:
         compute_libvirt_type: {Ref: NovaComputeLibvirtType}
         db: {Ref: NovaDSN}
         host: {Ref: NovaApiHost}
+        service-password:
+          Ref: NovaPassword
       glance:
         host: {Ref: GlanceHost}
       keystone:
@@ -107,16 +117,20 @@ Resources:
         ovs_db: {Ref: NeutronDSN}
         ovs:
           local_ip:
-            Fn::GetAtt:
-              - NovaCompute0
-              - PrivateIp
+            Fn::Select:
+              - 0
+              - Fn::Select:
+                - ctlplane
+                - Fn::GetAtt:
+                  - NovaCompute0
+                  - networks
           tenant_network_type: {Ref: NeutronNetworkType}
           network_vlan_ranges: {Ref: NeutronNetworkVLANRanges}
           bridge_mappings: {Ref: NeutronBridgeMappings}
           enable_tunneling: {Ref: NeutronEnableTunnelling}
-
-      service-password: {Ref: ServicePassword}
-      admin-password: {Ref: ServicePassword}
+        service-password:
+          Ref: NeutronPassword
+      admin-password: {Ref: AdminPassword}
       rabbit:
         host: {Ref: RabbitHost}
         password: {Ref: RabbitPassword}