Disable nova bm file injection in undercloud
[apex-tripleo-heat-templates.git] / overcloud-source.yaml
index c20f81f..97c55df 100644 (file)
@@ -6,18 +6,40 @@ Parameters:
     Default: unset
     Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
     Type: String
+    NoEcho: true
   AdminToken:
     Default: unset
     Description: The keystone auth secret.
     Type: String
-  InstanceType:
+    NoEcho: true
+  CinderPassword:
+    Default: unset
+    Description: The password for the cinder service account, used by cinder-api.
+    Type: String
+    NoEcho: true
+  Flavor:
     Default: baremetal
     Description: Flavor to request when deploying.
     Type: String
+  GlancePassword:
+    Default: unset
+    Description: The password for the glance service account, used by the glance services.
+    Type: String
+    NoEcho: true
+  HeatPassword:
+    Default: unset
+    Description: The password for the Heat service account, used by the Heat services.
+    Type: String
+    NoEcho: true
   KeyName:
     Default: default
     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
     Type: String
+  NeutronPassword:
+    Default: unset
+    Description: The password for the neutron service account, used by neutron agents.
+    Type: String
+    NoEcho: true
   NovaComputeDriver:
     Default: libvirt.LibvirtDriver
     Type: String
@@ -27,13 +49,31 @@ Parameters:
   NovaImage:
     Type: String
     Default: overcloud-compute
-  NovaInterfaces:
-    Default: eth0
+  NovaPassword:
+    Default: unset
+    Description: The password for the nova service account, used by nova-api.
     Type: String
+    NoEcho: true
   PowerUserName:
     Default: stack
     Description: What username to ssh to the virtual power host with.
     Type: String
+  NeutronPublicInterface:
+    Default: eth0
+    Description: What interface to bridge onto br-ex for network nodes.
+    Type: String
+  NeutronPublicInterfaceDefaultRoute:
+    Default: ''
+    Description: A custom default route for the NeutronPublicInterface.
+    Type: String
+  NeutronPublicInterfaceIP:
+    Default: ''
+    Description: A custom IP address to put onto the NeutronPublicInterface.
+    Type: String
+  NeutronPublicInterfaceRawDevice:
+    Default: ''
+    Description: If set, the public interface is a vlan with this device as the raw device.
+    Type: String
   notcomputeImage:
     Type: String
     Default: overcloud-control
@@ -55,6 +95,15 @@ Resources:
       UserName:
         Ref: User
     Type: AWS::IAM::AccessKey
+  CompletionCondition:
+    Type: AWS::CloudFormation::WaitCondition
+    DependsOn: notcompute
+    Properties:
+      Handle: {Ref: CompletionHandle}
+      Count: '1'
+      Timeout: '1800'
+  CompletionHandle:
+    Type: AWS::CloudFormation::WaitConditionHandle
   ComputeKey:
     Properties:
       UserName:
@@ -70,19 +119,18 @@ Resources:
     Path: nova-compute-instance.yaml
     SubKey: Resources.NovaCompute0Config
     Parameters:
-        NovaApiHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
-        KeystoneHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
-        RabbitHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
-        NeutronHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
-        GlanceHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
-        NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::GetAtt": [notcompute, PrivateIp]}, '/nova']]}
-        NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::GetAtt": [notcompute, PrivateIp]}, '/neutron']]}
+        NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
+        KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
+        RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
+        NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
+        GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ] }
+        NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ]}, '/nova']]}
+        NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notcompute, networks]} ]} ]}, '/neutron']]}
         NeutronNetworkType: "gre"
         NeutronEnableTunnelling: "True"
         NeutronNetworkVLANRanges: ""
         NeutronBridgeMappings: ""
         RabbitPassword: "guest"
-        ServicePassword: "unset"
   NovaCompute0:
     Type: FileInclude
     Path: nova-compute-instance.yaml
@@ -108,33 +156,40 @@ Resources:
         Ref: AdminPassword
       admin-token:
         Ref: AdminToken
+      bootstack:
+        public_interface_ip:
+          Ref: NeutronPublicInterfaceIP
       cinder:
         db: mysql://cinder:unset@localhost/cinder
         volume_size_mb: '5000'
+        service-password:
+          Ref: CinderPassword
+      completion-handle:
+        Ref: CompletionHandle
       controller-address:
-        Fn::GetAtt:
-          - notcompute
-          - PrivateIp
+        Fn::Select:
+         - 0
+         - Fn::Select:
+             - 'ctlplane'
+             - Fn::GetAtt:
+               - notcompute
+               - networks
       db-password: unset
       glance:
         db: mysql://glance:unset@localhost/glance
         host:
-          Fn::GetAtt:
-            - notcompute
-            - PrivateIp
-      os-collect-config:
-        cfn:
-          access_key_id:
-            Ref: Key
-          path: notcomputeConfig.Metadata
-          secret_access_key:
-            Fn::GetAtt:
-            - Key
-            - SecretAccessKey
-          stack_name:
-            Ref: AWS::StackName
+          Fn::Select:
+           - 0
+           - Fn::Select:
+               - 'ctlplane'
+               - Fn::GetAtt:
+                 - notcompute
+                 - networks
+        service-password:
+          Ref: GlancePassword
       heat:
-        admin_password: unset
+        admin_password:
+          Ref: HeatPassword
         admin_tenant_name: service
         admin_user: heat
         auth_encryption_key: unset___________
@@ -143,73 +198,124 @@ Resources:
           Fn::Join:
             - ''
             - - 'http://'
-              - Fn::GetAtt:
-                  - notcompute
-                  - PrivateIp
+              - Fn::Select:
+                - 0
+                - Fn::Select:
+                  - 'ctlplane'
+                  - Fn::GetAtt:
+                    - notcompute
+                    - networks
               - ':8003'
         metadata_server_url:
           Fn::Join:
             - ''
             - - 'http://'
-              - Fn::GetAtt:
-                  - notcompute
-                  - PrivateIp
+              - Fn::Select:
+                - 0
+                - Fn::Select:
+                  - 'ctlplane'
+                  - Fn::GetAtt:
+                    - notcompute
+                    - networks
               - ':8000'
         waitcondition_server_url:
           Fn::Join:
             - ''
             - - 'http://'
-              - Fn::GetAtt:
-                  - notcompute
-                  - PrivateIp
+              - Fn::Select:
+                - 0
+                - Fn::Select:
+                  - 'ctlplane'
+                  - Fn::GetAtt:
+                    - notcompute
+                    - networks
               - ':8000/v1/waitcondition'
-      interfaces:
-        control: eth0
       keystone:
         db: mysql://keystone:unset@localhost/keystone
         host:
-          Fn::GetAtt:
-            - notcompute
-            - PrivateIp
-      nova:
-        compute_driver: libvirt.LibvirtDriver
-        db: mysql://nova:unset@localhost/nova
-        host:
-          Fn::GetAtt:
-            - notcompute
-            - PrivateIp
-        metadata-proxy: true
+          Fn::Select:
+            - 0
+            - Fn::Select:
+              - 'ctlplane'
+              - Fn::GetAtt:
+                - notcompute
+                - networks
       neutron:
         host:
-          Fn::GetAtt:
-            - notcompute
-            - PrivateIp
+          Fn::Select:
+            - 0
+            - Fn::Select:
+              - ctlplane
+              - Fn::GetAtt:
+                - notcompute
+                - networks
         metadata_proxy_shared_secret: unset
         ovs:
           enable_tunneling: 'True'
           local_ip:
-            Fn::GetAtt:
-              - notcompute
-              - PrivateIp
-          public_interface: eth0
+            Fn::Select:
+              - 0
+              - Fn::Select:
+                - ctlplane
+                - Fn::GetAtt:
+                  - notcompute
+                  - networks
+          public_interface:
+            Ref: NeutronPublicInterface
+          public_interface_raw_device:
+            Ref: NeutronPublicInterfaceRawDevice
+          public_interface_route:
+            Ref: NeutronPublicInterfaceDefaultRoute
           physical_bridge: br-ex
           tenant_network_type: gre
         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
+        service-password:
+          Ref: NeutronPassword
+      nova:
+        compute_driver: libvirt.LibvirtDriver
+        db: mysql://nova:unset@localhost/nova
+        default_floating_pool:
+          ext-net
+        host:
+          Fn::Select:
+            - 0
+            - Fn::Select:
+              - 'ctlplane'
+              - Fn::GetAtt:
+                - notcompute
+                - networks
+        metadata-proxy: true
+        service-password:
+          Ref: NovaPassword
+      os-collect-config:
+        cfn:
+          access_key_id:
+            Ref: Key
+          path: notcomputeConfig.Metadata
+          secret_access_key:
+            Fn::GetAtt:
+            - Key
+            - SecretAccessKey
+          stack_name:
+            Ref: AWS::StackName
       rabbit:
         host:
-          Fn::GetAtt:
-            - notcompute
-            - PrivateIp
+          Fn::Select:
+            - 0
+            - Fn::Select:
+              - ctlplane
+              - Fn::GetAtt:
+                - notcompute
+                - networks
         password: guest
-      service-password: unset
   notcompute:
-    Type: AWS::EC2::Instance
+    Type: OS::Nova::Server
     Properties:
-      ImageId:
+      image:
         Ref: notcomputeImage
-      InstanceType:
-        Ref: InstanceType
-      KeyName:
+      flavor:
+        Ref: Flavor
+      key_name:
         Ref: KeyName
     Metadata:
       os-collect-config: