Update neutron local_ip to use the tenant network
[apex-tripleo-heat-templates.git] / undercloud-source.yaml
index ef8d7cd..ce5b7e8 100644 (file)
@@ -1,5 +1,5 @@
 description: All-in-one baremetal OpenStack and all dependencies.
-heat_template_version: 2014-10-16
+heat_template_version: 2013-05-23
 parameters:
   AdminPassword:
     default: unset
@@ -11,10 +11,6 @@ parameters:
     description: The keystone auth secret.
     type: string
     hidden: true
-  CinderLVMLoopDeviceSize:
-    default: 5000
-    description: The size of the loopback file used by the cinder LVM driver.
-    type: number
   BaremetalArch:
     default: i386
     description: The architecture to use in Nova-BM - i386 or amd64.
@@ -29,15 +25,16 @@ parameters:
     description: The password for the ceilometer service account.
     type: string
     hidden: true
-  SnmpdReadonlyUserName:
-    default: ro_snmp_user
-    description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+  Debug:
+    default: ''
+    description: Set to True to enable debugging on all services.
     type: string
-  SnmpdReadonlyUserPassword:
-    default: unset
-    description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+  DefaultSignalTransport:
+    default: CFN_SIGNAL
+    description: Transport to use for software-config signals.
     type: string
-    hidden: true
+    constraints:
+      - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
   ExtraConfig:
     default: {}
     description: |
@@ -77,9 +74,19 @@ parameters:
         }
     type: json
   Flavor:
-    default: baremetal
     description: Flavor to request when deploying.
     type: string
+    constraints:
+      - custom_constraint: nova.flavor
+  GlanceLogFile:
+    description: The filepath of the file to use for logging messages from Glance.
+    type: string
+    default: ''
+  GlancePassword:
+    default: unset
+    description: The password for the glance service account, used by the glance services.
+    type: string
+    hidden: true
   GlancePort:
    default: 9292
    description: Glance port.
@@ -88,61 +95,101 @@ parameters:
    default: http
    description: Protocol to use when connecting to glance, set to https for SSL.
    type: string
-  GlancePassword:
-    default: unset
-    description: The password for the glance service account, used by the glance services.
-    type: string
-    hidden: true
   GlanceNotifierStrategy:
     description: Strategy to use for Glance notification queue
     type: string
     default: noop
-  GlanceLogFile:
-    description: The filepath of the file to use for logging messages from Glance.
-    type: string
-    default: ''
   KeyName:
     default: default
     description: Name of an existing EC2 KeyPair to enable SSH access to the instances
     type: string
+  KeystoneCACertificate:
+    default: ''
+    description: Keystone self-signed certificate authority certificate.
+    type: string
+  KeystoneSigningCertificate:
+    default: ''
+    description: Keystone certificate for verifying token validity.
+    type: string
+  KeystoneSigningKey:
+    default: ''
+    description: Keystone key for signing tokens.
+    type: string
+    hidden: true
+  KeystoneSSLCertificate:
+    default: ''
+    description: Keystone certificate for verifying token validity.
+    type: string
+  KeystoneSSLCertificateKey:
+    default: ''
+    description: Keystone key for signing tokens.
+    type: string
+    hidden: true
   HeatPassword:
     default: unset
     description: The password for the Heat service account, used by the Heat services.
     type: string
     hidden: true
+  HeatStackDomainAdminPassword:
+    description: Password for heat_domain_admin user.
+    type: string
+    default: ''
+    hidden: true
   ImageUpdatePolicy:
     default: REBUILD_PRESERVE_EPHEMERAL
     description: What policy to use when reconstructing instances. REBUILD for rebuilds,
       REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
     type: string
-  undercloudImage:
-    default: undercloud
-    type: string
+  MysqlInnodbBufferPoolSize:
+    description: >
+        Specifies the size of the buffer pool in megabytes. Setting to
+        zero should be interpreted as "no value" and will defer to the
+        lower level default.
+    type: number
+    default: 0
   NeutronPassword:
     default: unset
     description: The password for the neutron service account, used by neutron agents.
     type: string
     hidden: true
-  NovaPassword:
-    default: unset
-    description: The password for the nova service account, used by nova-api.
-    type: string
-    hidden: true
   NeutronPublicInterfaceDefaultRoute:
     default: ''
     description: A custom default route for the NeutronPublicInterface.
     type: string
   NeutronPublicInterfaceIP:
     default: ''
-    description: A custom IP address to put onto the NeutronPublicInterface.
+    description: >
+      A custom IP address to put onto the NeutronPublicInterface bridge.
+      See also NeutronPublicInterfaceTagIP for adding a VLAN tagging IP.
+      NeutronPublicInterfaceIP is deprecated in the context of deploying
+      underclouds - its only needed for the seed bootstrap process.
     type: string
   NeutronPublicInterfaceRawDevice:
     default: ''
     description: If set, the public interface is a vlan with this device as the raw device.
     type: string
+  NeutronPublicInterfaceTag:
+    default: ''
+    description: >
+      VLAN tag for creating a public VLAN. The tag will be used to
+      create an access port on the exterior bridge, and that port will be
+      given the IP address returned by neutron from the public network.
+    type: string
+  NovaPassword:
+    default: unset
+    description: The password for the nova service account, used by nova-api.
+    type: string
+    hidden: true
+  NeutronDVR:
+    default: 'False'
+    type: string
   NtpServer:
     type: string
     default: ''
+  RabbitCookieSalt:
+    type: string
+    default: unset
+    description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
   RabbitUserName:
     default: guest
     description: The username for RabbitMQ
@@ -152,35 +199,18 @@ parameters:
     description: The password for RabbitMQ
     type: string
     hidden: true
-  RabbitCookieSalt:
+  SnmpdReadonlyUserName:
+    default: ro_snmp_user
+    description: The user name for SNMPd with readonly rights running on all Overcloud nodes
     type: string
+  SnmpdReadonlyUserPassword:
     default: unset
-    description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
-  HeatStackDomainAdminPassword:
-    description: Password for heat_domain_admin user.
+    description: The user password for SNMPd with readonly rights running on all Overcloud nodes
     type: string
-    default: ''
     hidden: true
-  MysqlInnodbBufferPoolSize:
-    description: >
-        Specifies the size of the buffer pool in megabytes. Setting to
-        zero should be interpreted as "no value" and will defer to the
-        lower level default.
-    type: number
-    default: 0
-  KeystoneCACertificate:
-    default: ''
-    description: Keystone self-signed certificate authority certificate.
-    type: string
-  KeystoneSigningCertificate:
-    default: ''
-    description: Keystone certificate for verifying token validity.
-    type: string
-  KeystoneSigningKey:
-    default: ''
-    description: Keystone key for signing tokens.
+  undercloudImage:
+    default: undercloud
     type: string
-    hidden: true
 resources:
   RabbitCookie:
     type: OS::Heat::RandomString
@@ -188,6 +218,10 @@ resources:
       length: 20
       salt:
         get_param: RabbitCookieSalt
+  MysqlRootPassword:
+    type: OS::Heat::RandomString
+    properties:
+      length: 10
   undercloudConfig:
     type: OS::Heat::StructuredConfig
     properties:
@@ -205,11 +239,9 @@ resources:
               - 0
               - Merge::Map:
                   undercloud:
-                  - Fn::Select:
+                  - get_attr:
+                    - undercloud
                     - name
-                    - get_attr:
-                      - undercloud
-                      - show
           nodeid: {get_input: bootstack_nodeid}
         bootstack:
           public_interface_ip:
@@ -229,6 +261,7 @@ resources:
           quorum_policy : ignore
         ceilometer:
           db: mysql://ceilometer:unset@localhost/ceilometer
+          debug: {get_param: Debug}
           metering_secret: {get_param: CeilometerMeteringSecret}
           snmpd_readonly_user_name:
             get_param: SnmpdReadonlyUserName
@@ -240,6 +273,7 @@ resources:
         glance:
           backend: file
           db: mysql://glance:unset@localhost/glance
+          debug: {get_param: Debug}
           host: 127.0.0.1
           port:
             get_param: GlancePort
@@ -258,28 +292,40 @@ resources:
           admin_user: heat
           auth_encryption_key: unset___________
           db: mysql://heat:unset@localhost/heat
+          debug: {get_param: Debug}
           stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
           watch_server_url: {get_input: heat.watch_server_url}
           metadata_server_url: {get_input: heat.metadata_server_url}
           waitcondition_server_url: {get_input: heat.waitcondition_server_url}
         keystone:
           db: mysql://keystone:unset@localhost/keystone
+          debug: {get_param: Debug}
           host: 127.0.0.1
           ca_certificate: {get_param: KeystoneCACertificate}
           signing_key: {get_param: KeystoneSigningKey}
           signing_certificate: {get_param: KeystoneSigningCertificate}
+          ssl:
+              certificate: {get_param: KeystoneSSLCertificate}
+              certificate_key: {get_param: KeystoneSSLCertificateKey}
         mysql:
           innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
+          root-password: {get_resource: MysqlRootPassword}
+          bind_address: 127.0.0.1
         neutron:
+          debug: {get_param: Debug}
           host: 127.0.0.1
           ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
           ovs:
+            local_ip:
+              get_input: controller_host
             public_interface:
               get_param: NeutronPublicInterface
             public_interface_raw_device:
               get_param: NeutronPublicInterfaceRawDevice
             public_interface_route:
               get_param: NeutronPublicInterfaceDefaultRoute
+            public_interface_tag:
+              get_param: NeutronPublicInterfaceTag
             physical_bridge: br-ctlplane
             physical_network: ctlplane
             network_vlan_ranges: ctlplane
@@ -300,7 +346,7 @@ resources:
             - value
         ntp:
           servers:
-            - {server: {get_param: NtpServer}, fudge: "stratum 0"}
+            - {server: {get_param: NtpServer}}
   undercloudPassthroughConfig:
     type: OS::Heat::StructuredConfig
     properties:
@@ -319,16 +365,17 @@ resources:
       networks:
         - network: ctlplane
       user_data_format: SOFTWARE_CONFIG
-  99_undercloudDeployment:
+  undercloudDeployment:
+    depends_on: [undercloudPassthroughDeployment]
     type: OS::Heat::StructuredDeployment
     properties:
       config: {get_resource: undercloudConfig}
       server: {get_resource: undercloud}
+      signal_transport: {get_param: DefaultSignalTransport}
       input_values:
         bootstack_nodeid:
           get_attr:
           - undercloud
-          - show
           - name
         controller_host:
           get_attr:
@@ -337,24 +384,25 @@ resources:
           - ctlplane
           - 0
         heat.watch_server_url:
-          list_join:
+          Fn::Join:
             - ''
             - - 'http://'
               - get_attr: [undercloud, networks, ctlplane, 0]
               - ':8003'
         heat.metadata_server_url:
-          list_join:
+          Fn::Join:
             - ''
             - - 'http://'
               - {get_attr: [undercloud, networks, ctlplane, 0]}
               - ':8000'
         heat.waitcondition_server_url:
-          list_join:
+          Fn::Join:
             - ''
             - - 'http://'
               - {get_attr: [undercloud, networks, ctlplane, 0]}
               - ':8000/v1/waitcondition'
-  00_undercloudPassthroughDeployment:
+  undercloudPassthroughDeployment:
+    depends_on: [undercloudNovaDeployment]
     type: OS::Heat::StructuredDeployment
     properties:
       config: {get_resource: undercloudPassthroughConfig}