Use native resource for nova-compute-instance
[apex-tripleo-heat-templates.git] / undercloud-vm.yaml
index 9ba6285..2292726 100644 (file)
@@ -1,7 +1,15 @@
 Description: All-in-one baremetal OpenStack and all dependencies.
 HeatTemplateFormatVersion: '2012-12-12'
 Parameters:
-  InstanceType:
+  AdminPassword:
+    Default: unset
+    Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
+    Type: String
+  AdminToken:
+    Default: unset
+    Description: The keystone auth secret.
+    Type: String
+  Flavor:
     Default: baremetal
     Description: Flavor to request when deploying.
     Type: String
@@ -12,6 +20,10 @@ Parameters:
   Image:
     Default: undercloud
     Type: String
+  NeutronPassword:
+    Default: unset
+    Description: The password for the neutron service account, used by neutron agents.
+    Type: String
   PowerUserName:
     Default: stack
     Description: What username to ssh to the virtual power host with.
@@ -20,7 +32,7 @@ Resources:
   AccessPolicy:
     Properties:
       AllowedResources:
-      - notcompute
+      - notcomputeConfig
     Type: OS::Heat::AccessPolicy
   Key:
     Properties:
@@ -32,19 +44,26 @@ Resources:
       Policies:
       - Ref: AccessPolicy
     Type: AWS::IAM::User
-  notcompute:
+  notcomputeConfig:
+    Type: AWS::AutoScaling::LaunchConfiguration
+    Properties:
+      ImageId: '0'
+      InstanceType: foo
     Metadata:
       OpenStack::Heat::Stack: {}
       Openstack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, neutron-network-node ]
-      admin-password: unset
-      admin-token: unset
-      controller-address: 0.0.0.0
+      admin-password:
+        Ref: AdminPassword
+      admin-token:
+        Ref: AdminToken
+      controller-address:
+        Fn::GetAtt:
+          - notcompute
+          - PrivateIp
       cinder:
         db: mysql://cinder:unset@localhost/cinder
         volume_size_mb: '5000'
       db-password: unset
-      dib:
-        ramdisk_elements: deploy
       glance:
         db: mysql://glance:unset@localhost/glance
         host: 127.0.0.1
@@ -54,22 +73,35 @@ Resources:
         admin_user: heat
         auth_encryption_key: unset___________
         db: mysql://heat:unset@localhost/heat
-        heat_watch_server_url: http://0.0.0.0:8003
-        metadata_server_url: http://0.0.0.0:8000
-        waitcondition_server_url: http://0.0.0.0:8000/v1/waitcondition
-        access_key_id:
-          Ref: Key
-        refresh:
-        - resource: notcompute
-        secret_key:
-          Fn::GetAtt:
-          - Key
-          - SecretAccessKey
-        stack:
-          name:
+        heat_watch_server_url:
+          Fn::Join:
+            - ''
+            - - http://
+              - {"Fn::GetAtt": [ notcompute, PrivateIp ]}
+              - ":8003"
+        metadata_server_url:
+          Fn::Join:
+            - ''
+            - - http://
+              - {"Fn::GetAtt": [ notcompute, PrivateIp ]}
+              - ":8000"
+        waitcondition_server_url:
+          Fn::Join:
+            - ''
+            - - http://
+              - {"Fn::GetAtt": [ notcompute, PrivateIp ]}
+              - ":8000/v1/waitcondition"
+      os-collect-config:
+        cfn:
+          access_key_id:
+            Ref: Key
+          path: notcomputeConfig.Metadata
+          secret_access_key:
+            Fn::GetAtt:
+            - Key
+            - SecretAccessKey
+          stack_name:
             Ref: AWS::StackName
-          region:
-            Ref: AWS::Region
       interfaces:
         control: eth2
       keystone:
@@ -88,7 +120,7 @@ Resources:
           arch: i386
           db: mysql://nova:unset@localhost/nova_bm
           power_manager: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager
-          pxe_deploy_timeout: 1200
+          pxe_deploy_timeout: 2400
           virtual_power:
             user:
               Ref: PowerUserName
@@ -105,11 +137,10 @@ Resources:
           physical_network: ctlplane
           network_vlan_ranges: ctlplane
           bridge_mappings: ctlplane:br-ctlplane
-          fixed_range: 
-            start: 192.0.2.5
-            end: 192.0.2.24
           tenant_network_type: vlan
           enable_tunneling: 'False'
+        service-password:
+          Ref: NeutronPassword
       rabbit:
         host: 127.0.0.1
         password: guest
@@ -117,11 +148,24 @@ Resources:
         store_user: unset
         store_key: unset
       service-password: unset
+  notcompute:
+    Type: OS::Nova::Server
     Properties:
-      ImageId:
+      image:
         Ref: Image
-      InstanceType:
-        Ref: InstanceType
-      KeyName:
+      flavor:
+        Ref: Flavor
+      key_name:
         Ref: KeyName
-    Type: AWS::EC2::Instance
+    Metadata:
+      os-collect-config:
+        cfn:
+          access_key_id:
+            Ref: Key
+          path: notcomputeConfig.Metadata
+          secret_access_key:
+            Fn::GetAtt:
+            - Key
+            - SecretAccessKey
+          stack_name:
+            Ref: AWS::StackName