Drop PowerUserName from overcloud-source.yaml
[apex-tripleo-heat-templates.git] / overcloud-source.yaml
index 9f9c595..bdbf721 100644 (file)
@@ -31,15 +31,38 @@ Parameters:
     Description: The password for the Heat service account, used by the Heat services.
     Type: String
     NoEcho: true
+  ImageUpdatePolicy:
+    Default: 'REPLACE'
+    Description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
+    Type: String
   KeyName:
     Default: default
     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
     Type: String
+  NeutronBridgeMappings:
+    Description: The OVS logical->physical bridge mappings to use.
+    Type: String
+    Default: ''
   NeutronPassword:
     Default: unset
     Description: The password for the neutron service account, used by neutron agents.
     Type: String
     NoEcho: true
+  CeilometerComputeAgent:
+    Description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
+    Type: String
+    Default: ''
+    AllowedValues: ['', Present]
+  CeilometerMeteringSecret:
+    Default: unset
+    Description: Secret shared by the ceilometer services.
+    Type: String
+    NoEcho: true
+  CeilometerPassword:
+    Default: unset
+    Description: The password for the ceilometer service account.
+    Type: String
+    NoEcho: true
   NovaComputeDriver:
     Default: libvirt.LibvirtDriver
     Type: String
@@ -54,10 +77,10 @@ Parameters:
     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.
+  NeutronFlatNetworks:
     Type: String
+    Default: ''
+    Description: If set, flat networks to configure in neutron plugins.
   NeutronPublicInterface:
     Default: eth0
     Description: What interface to bridge onto br-ex for network nodes.
@@ -77,12 +100,15 @@ Parameters:
   notcomputeImage:
     Type: String
     Default: overcloud-control
+  NtpServer:
+    Type: String
+    Default: ''
 Resources:
   AccessPolicy:
     Properties:
       AllowedResources:
-      - notcompute
-      - notcomputeConfig
+      - notCompute0
+      - notCompute0Config
     Type: OS::Heat::AccessPolicy
   ComputeAccessPolicy:
     Properties:
@@ -90,25 +116,32 @@ Resources:
       - NovaCompute0
       - NovaCompute0Config
     Type: OS::Heat::AccessPolicy
-  Key:
+  notCompute0Key:
     Properties:
       UserName:
         Ref: User
     Type: AWS::IAM::AccessKey
-  CompletionCondition:
+  notCompute0CompletionCondition:
     Type: AWS::CloudFormation::WaitCondition
-    DependsOn: notcompute
+    DependsOn: notCompute0
     Properties:
-      Handle: {Ref: CompletionHandle}
+      Handle: {Ref: notCompute0CompletionHandle}
       Count: '1'
       Timeout: '1800'
-  CompletionHandle:
-    Type: AWS::CloudFormation::WaitConditionHandle
-  ComputeKey:
-    Properties:
-      UserName:
-        Ref: ComputeUser
-    Type: AWS::IAM::AccessKey
+  notCompute0CompletionHandle:
+    Type: OS::Heat::UpdateWaitConditionHandle
+  NovaCompute0Key:
+    Type: FileInclude
+    Path: nova-compute-instance.yaml
+    SubKey: Resources.NovaCompute0Key
+  NovaCompute0CompletionCondition:
+    Type: FileInclude
+    Path: nova-compute-instance.yaml
+    SubKey: Resources.NovaCompute0CompletionCondition
+  NovaCompute0CompletionHandle:
+    Type: FileInclude
+    Path: nova-compute-instance.yaml
+    SubKey: Resources.NovaCompute0CompletionHandle
   ComputeUser:
     Properties:
       Policies:
@@ -119,17 +152,21 @@ Resources:
     Path: nova-compute-instance.yaml
     SubKey: Resources.NovaCompute0Config
     Parameters:
-        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']]}
+        NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
+        KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
+        RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
+        NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
+        GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ] }
+        NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ]}, '/nova']]}
+        CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ]}, '/ceilometer']]}
+        NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [notCompute0, networks]} ]} ]}, '/neutron']]}
         NeutronNetworkType: "gre"
         NeutronEnableTunnelling: "True"
+        NeutronFlatNetworks:
+            Ref: NeutronFlatNetworks
         NeutronNetworkVLANRanges: ""
-        NeutronBridgeMappings: ""
+        NeutronBridgeMappings:
+            Ref: NeutronBridgeMappings
         RabbitPassword: "guest"
   NovaCompute0:
     Type: FileInclude
@@ -140,14 +177,14 @@ Resources:
       Policies:
       - Ref: AccessPolicy
     Type: AWS::IAM::User
-  notcomputeConfig:
+  notCompute0Config:
     Type: AWS::AutoScaling::LaunchConfiguration
     Properties:
       ImageId: '0'
       InstanceType: '0'
     Metadata:
       OpenStack::Heat::Stack: {}
-      Openstack::ImageBuilder::Elements:
+      OpenStack::ImageBuilder::Elements:
       - boot-stack
       - heat-cfntools
       - heat-localip
@@ -165,17 +202,18 @@ Resources:
         service-password:
           Ref: CinderPassword
       completion-handle:
-        Ref: CompletionHandle
+        Ref: notCompute0CompletionHandle
       controller-address:
         Fn::Select:
          - 0
          - Fn::Select:
              - 'ctlplane'
              - Fn::GetAtt:
-               - notcompute
+               - notCompute0
                - networks
       db-password: unset
       glance:
+        backend: swift
         db: mysql://glance:unset@localhost/glance
         host:
           Fn::Select:
@@ -183,10 +221,13 @@ Resources:
            - Fn::Select:
                - 'ctlplane'
                - Fn::GetAtt:
-                 - notcompute
+                 - notCompute0
                  - networks
         service-password:
           Ref: GlancePassword
+        swift-store-user: service:glance
+        swift-store-key:
+          Ref: GlancePassword
       heat:
         admin_password:
           Ref: HeatPassword
@@ -203,7 +244,7 @@ Resources:
                 - Fn::Select:
                   - 'ctlplane'
                   - Fn::GetAtt:
-                    - notcompute
+                    - notCompute0
                     - networks
               - ':8003'
         metadata_server_url:
@@ -215,7 +256,7 @@ Resources:
                 - Fn::Select:
                   - 'ctlplane'
                   - Fn::GetAtt:
-                    - notcompute
+                    - notCompute0
                     - networks
               - ':8000'
         waitcondition_server_url:
@@ -227,7 +268,7 @@ Resources:
                 - Fn::Select:
                   - 'ctlplane'
                   - Fn::GetAtt:
-                    - notcompute
+                    - notCompute0
                     - networks
               - ':8000/v1/waitcondition'
       keystone:
@@ -238,16 +279,17 @@ Resources:
             - Fn::Select:
               - 'ctlplane'
               - Fn::GetAtt:
-                - notcompute
+                - notCompute0
                 - networks
       neutron:
+        flat-networks: {Ref: NeutronFlatNetworks}
         host:
           Fn::Select:
             - 0
             - Fn::Select:
               - ctlplane
               - Fn::GetAtt:
-                - notcompute
+                - notCompute0
                 - networks
         metadata_proxy_shared_secret: unset
         ovs:
@@ -258,8 +300,9 @@ Resources:
               - Fn::Select:
                 - ctlplane
                 - Fn::GetAtt:
-                  - notcompute
+                  - notCompute0
                   - networks
+          bridge_mappings: {Ref: NeutronBridgeMappings}
           public_interface:
             Ref: NeutronPublicInterface
           public_interface_raw_device:
@@ -271,6 +314,11 @@ Resources:
         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
         service-password:
           Ref: NeutronPassword
+      ceilometer:
+        db: mysql://ceilometer:unset@localhost/ceilometer
+        metering_secret: {Ref: CeilometerMeteringSecret}
+        service-password:
+          Ref: CeilometerPassword
       nova:
         compute_driver: libvirt.LibvirtDriver
         db: mysql://nova:unset@localhost/nova
@@ -282,7 +330,7 @@ Resources:
             - Fn::Select:
               - 'ctlplane'
               - Fn::GetAtt:
-                - notcompute
+                - notCompute0
                 - networks
         metadata-proxy: true
         service-password:
@@ -290,11 +338,11 @@ Resources:
       os-collect-config:
         cfn:
           access_key_id:
-            Ref: Key
-          path: notcomputeConfig.Metadata
+            Ref: notCompute0Key
+          path: notCompute0Config.Metadata
           secret_access_key:
             Fn::GetAtt:
-            - Key
+            - notCompute0Key
             - SecretAccessKey
           stack_name:
             Ref: AWS::StackName
@@ -305,14 +353,19 @@ Resources:
             - Fn::Select:
               - ctlplane
               - Fn::GetAtt:
-                - notcompute
+                - notCompute0
                 - networks
         password: guest
-  notcompute:
+      ntp:
+        servers:
+            - {server: {Ref: NtpServer}, fudge: "stratum 0"}
+  notCompute0:
     Type: OS::Nova::Server
     Properties:
       image:
         Ref: notcomputeImage
+      image_update_policy:
+        Ref: ImageUpdatePolicy
       flavor:
         Ref: Flavor
       key_name:
@@ -321,11 +374,11 @@ Resources:
       os-collect-config:
         cfn:
           access_key_id:
-            Ref: Key
-          path: notcomputeConfig.Metadata
+            Ref: notCompute0Key
+          path: notCompute0Config.Metadata
           secret_access_key:
             Fn::GetAtt:
-            - Key
+            - notCompute0Key
             - SecretAccessKey
           stack_name:
             Ref: AWS::StackName
@@ -333,10 +386,14 @@ Outputs:
   KeystoneURL:
     Description: URL for the Overcloud Keystone service
     Value:
-      Fn::Select:
-        - 0
+      Fn::Join:
+      - ''
+      - - http://
         - Fn::Select:
-          - ctlplane
-          - Fn::GetAtt:
-            - notcompute
-            - networks
+          - 0
+          - Fn::Select:
+            - ctlplane
+            - Fn::GetAtt:
+              - notCompute0
+              - networks
+        - :5000/v2.0/