Merge "Deprecate the undercloud templates."
[apex-tripleo-heat-templates.git] / controller.yaml
index 5596591..18dcc8e 100644 (file)
@@ -28,6 +28,10 @@ parameters:
     description: The password for the ceilometer service and db account.
     type: string
     hidden: true
+  CinderEnableNfsBackend:
+    default: false
+    description: Whether to enable or not the NFS backend for Cinder
+    type: boolean
   CinderEnableIscsiBackend:
     default: true
     description: Whether to enable or not the Iscsi backend for Cinder
@@ -44,6 +48,18 @@ parameters:
     default: 5000
     description: The size of the loopback file used by the cinder LVM driver.
     type: number
+  CinderNfsMountOptions:
+    default: ''
+    description: >
+      Mount options for NFS mounts used by Cinder NFS backend. Effective
+      when CinderEnableNfsBackend is true.
+    type: string
+  CinderNfsServers:
+    default: ''
+    description: >
+      NFS servers used by Cinder NFS backend. Effective when
+      CinderEnableNfsBackend is true.
+    type: comma_delimited_list
   CinderPassword:
     default: unset
     description: The password for the cinder service and db account, used by cinder-api.
@@ -239,6 +255,16 @@ parameters:
     description: Keystone key for signing tokens.
     type: string
     hidden: true
+  KeystoneNotificationDriver:
+    description: Comma-separated list of Oslo notification drivers used by Keystone
+    default: ['messaging']
+    type: comma_delimited_list
+  KeystoneNotificationFormat:
+    description: The Keystone notification format
+    default: 'basic'
+    type: string
+    constraints:
+      - allowed_values: [ 'basic', 'cadf' ]
   MysqlClusterUniquePart:
     description: A unique identifier of the MySQL cluster the controller is in.
     type: string
@@ -253,10 +279,18 @@ parameters:
         lower level default.
     type: number
     default: 0
+  MysqlMaxConnections:
+    description: Configures MySQL max_connections config setting
+    type: number
+    default: 4096
   MysqlRootPassword:
     type: string
     hidden: true
     default: ''  # Has to be here because of the ignored empty value bug
+  NeutronExternalNetworkBridge:
+    description: Name of bridge used for external network traffic.
+    type: string
+    default: 'br-ex'
   NeutronBridgeMappings:
     description: >
       The OVS logical->physical bridge mappings to use. See the Neutron
@@ -283,6 +317,23 @@ parameters:
     default: 'unset'
     description: Shared secret to prevent spoofing
     type: string
+  NeutronCorePlugin:
+    default: 'ml2'
+    description: |
+        The core plugin for Neutron. The value should be the entrypoint to be loaded
+        from neutron.core_plugins namespace.
+    type: string
+  NeutronServicePlugins:
+    default: "router"
+    description: |
+        Comma-separated list of service plugin entrypoints to be loaded from the
+        neutron.service_plugins namespace.
+    type: comma_delimited_list
+  NeutronTypeDrivers:
+    default: "vxlan,vlan,flat,gre"
+    description: |
+        Comma-separated list of network type driver entrypoints to be loaded.
+    type: comma_delimited_list
   NeutronMechanismDrivers:
     default: 'openvswitch'
     description: |
@@ -297,6 +348,10 @@ parameters:
     default: 'False'
     description: Whether to enable l3-agent HA
     type: string
+  NeutronDhcpAgentsPerNetwork:
+    type: number
+    default: 3
+    description: The number of neutron dhcp agents to schedule per network
   NeutronEnableTunnelling:
     type: string
     default: "True"
@@ -305,7 +360,7 @@ parameters:
     default: 'datacentre'
     description: If set, flat networks to configure in neutron plugins.
   NeutronNetworkType:
-    default: 'gre'
+    default: 'vxlan'
     description: The tenant network type for Neutron, either gre or vxlan.
     type: string
   NeutronNetworkVLANRanges:
@@ -347,16 +402,32 @@ parameters:
     description: If set, the public interface is a vlan with this device as the raw device.
     type: string
   NeutronTunnelTypes:
-    default: 'gre'
+    default: 'vxlan'
     description: |
         The tunnel types for the Neutron tenant network. To specify multiple
         values, use a comma separated string, like so: 'gre,vxlan'
     type: string
+  NeutronTunnelIdRanges:
+    description: |
+        Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
+        of GRE tunnel IDs that are available for tenant network allocation
+    default: ["1:1000", ]
+    type: comma_delimited_list
+  NeutronVniRanges:
+    description: |
+        Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
+        of VXLAN VNI IDs that are available for tenant network allocation
+    default: ["1:1000", ]
+    type: comma_delimited_list
   NovaPassword:
     default: unset
     description: The password for the nova service and db account, used by nova-api.
     type: string
     hidden: true
+  MongoDbNoJournal:
+    default: false
+    description: Should MongoDb journaling be disabled
+    type: boolean
   NtpServer:
     type: string
     default: ''
@@ -461,6 +532,9 @@ parameters:
   MysqlVirtualIP:
     type: string
     default: ''
+  KeystoneAdminApiVirtualIP:
+    type: string
+    default: ''
   KeystonePublicApiVirtualIP:
     type: string
     default: ''
@@ -528,6 +602,7 @@ resources:
   NetworkConfig:
     type: OS::TripleO::Controller::Net::SoftwareConfig
     properties:
+      ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
       ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
       InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
       StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
@@ -629,9 +704,13 @@ resources:
           metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
           agent_mode: {get_input: neutron_agent_mode}
           router_distributed: {get_input: neutron_router_distributed}
+          core_plugin: {get_input: neutron_core_plugin}
+          service_plugins: {get_input: neutron_service_plugins}
+          type_drivers: {get_input: neutron_type_drivers}
           mechanism_drivers: {get_input: neutron_mechanism_drivers}
           allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
           l3_ha: {get_input: neutron_l3_ha}
+          dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
           ovs:
             enable_tunneling: {get_input: neutron_enable_tunneling}
             local_ip: {get_input: controller_host}
@@ -644,6 +723,8 @@ resources:
             physical_bridge: br-ex
             tenant_network_type: {get_input: neutron_tenant_network_type}
             tunnel_types: {get_input: neutron_tunnel_types}
+            tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
+            vni_ranges: {get_input: neutron_vni_ranges}
           ovs_db: {get_input: neutron_dsn}
           service-password: {get_input: neutron_password}
           dnsmasq-options: {get_input: neutron_dnsmasq_options}
@@ -664,6 +745,8 @@ resources:
           host: {get_input: controller_virtual_ip}
           metadata-proxy: true
           service-password: {get_input: nova_password}
+        mongodb:
+          nojournal: {get_input: mongodb_no_journal}
         rabbit:
           host: {get_input: controller_virtual_ip}
           username: {get_input: rabbit_username}
@@ -859,6 +942,7 @@ resources:
               - '@'
               - {get_param: VirtualIP}
               - '/keystone'
+        mongodb_no_journal: {get_param: MongoDbNoJournal}
         mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
         mysql_root_password: {get_param: MysqlRootPassword}
         mysql_cluster_name:
@@ -870,9 +954,27 @@ resources:
         neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
         neutron_agent_mode: {get_param: NeutronAgentMode}
         neutron_router_distributed: {get_param: NeutronDVR}
+        neutron_core_plugin: {get_param: NeutronCorePlugin}
+        neutron_service_plugins:
+          str_replace:
+            template: "['PLUGINS']"
+            params:
+              PLUGINS:
+                list_join:
+                - "','"
+                - {get_param: NeutronServicePlugins}
+        neutron_type_drivers:
+          str_replace:
+            template: "['DRIVERS']"
+            params:
+              DRIVERS:
+                list_join:
+                - "','"
+                - {get_param: NeutronTypeDrivers}
         neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
         neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
         neutron_l3_ha: {get_param: NeutronL3HA}
+        neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
         neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
         neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
         neutron_public_interface: {get_param: NeutronPublicInterface}
@@ -881,6 +983,22 @@ resources:
         neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
         neutron_tenant_network_type: {get_param: NeutronNetworkType}
         neutron_tunnel_types: {get_param: NeutronTunnelTypes}
+        neutron_tunnel_id_ranges:
+          str_replace:
+            template: "['RANGES']"
+            params:
+              RANGES:
+                list_join:
+                - "','"
+                - {get_param: NeutronTunnelIdRanges}
+        neutron_vni_ranges:
+          str_replace:
+            template: "['RANGES']"
+            params:
+              RANGES:
+                list_join:
+                - "','"
+                - {get_param: NeutronVniRanges}
         neutron_password: {get_param: NeutronPassword}
         neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
         neutron_dsn: