Add the GlanceRegistry and Horizon endpoints to EndpointMap
[apex-tripleo-heat-templates.git] / overcloud-without-mergepy.yaml
index e7c4dfc..78886c6 100644 (file)
@@ -1,8 +1,10 @@
 heat_template_version: 2015-04-30
 
 description: >
-  Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
-  server,Dedicated RabbitMQ Server,Group of Nova Computes
+  Deploy an OpenStack environment, consisting of several node types (roles),
+  Controller, Compute, BlockStorage, SwiftStorage and CephStorage.  The Storage
+  roles enable independent scaling of the storage components, but the minimal
+  deployment is one Controller and one Compute node.
 
 
 # TODO(shadower): we should probably use the parameter groups to put
@@ -38,10 +40,12 @@ parameters:
     default: ''
     description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
     type: string
+    hidden: true
   CephAdminKey:
     default: ''
     description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key.
     type: string
+    hidden: true
   CinderEnableNfsBackend:
     default: false
     description: Whether to enable or not the NFS backend for Cinder
@@ -50,6 +54,7 @@ parameters:
     default: ''
     description: The Ceph client key. Can be created with ceph-authtool --gen-print-key. Currently only used for external Ceph deployments to create the openstack user keyring.
     type: string
+    hidden: true
   CephExternalMonHost:
     default: ''
     type: string
@@ -58,6 +63,10 @@ parameters:
     default: true
     description: Whether to enable or not the Iscsi backend for Cinder
     type: boolean
+  CinderEnableRbdBackend:
+    default: false
+    description: Whether to enable or not the Rbd backend for Cinder
+    type: boolean
   CloudName:
     default: ''
     description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
@@ -70,14 +79,14 @@ parameters:
     default: ''
     description: Set to True to enable debugging on all services.
     type: string
-  GlancePort:
-    default: "9292"
-    description: Glance port.
-    type: string
-  GlanceProtocol:
-    default: http
-    description: Protocol to use when connecting to glance, set to https for SSL.
+  HAProxySyslogAddress:
+    default: /dev/log
+    description: Syslog address where HAproxy will send its log
     type: string
+  HorizonAllowedHosts:
+    default: '*'
+    description: A list of IP/Hostname allowed to connect to horizon
+    type: comma_delimited_list
   ImageUpdatePolicy:
     default: 'REBUILD_PRESERVE_EPHEMERAL'
     description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
@@ -103,9 +112,9 @@ parameters:
     type: string
     default: "datacentre:br-ex"
   NeutronControlPlaneID:
-    default: ''
+    default: 'ctlplane'
     type: string
-    description: Neutron ID for ctlplane network.
+    description: Neutron ID or name for ctlplane network.
   NeutronEnableTunnelling:
     type: string
     default: "True"
@@ -154,6 +163,7 @@ parameters:
     default: 'unset'
     description: Shared secret to prevent spoofing
     type: string
+    hidden: true
   NeutronTunnelTypes:
     default: 'vxlan'
     description: |
@@ -172,6 +182,23 @@ parameters:
         of VXLAN VNI IDs that are available for tenant network allocation
     default: ["1:1000", ]
     type: comma_delimited_list
+  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: |
@@ -179,7 +206,7 @@ parameters:
         values, use a comma separated string, like so: 'openvswitch,l2_population'
     type: string
   NeutronAllowL3AgentFailover:
-    default: 'True'
+    default: 'False'
     description: Allow automatic l3-agent failover
     type: string
   NeutronL3HA:
@@ -188,7 +215,7 @@ parameters:
     type: string
   NeutronDhcpAgentsPerNetwork:
     type: number
-    default: 3
+    default: 1
     description: The number of neutron dhcp agents to schedule per network
   NovaPassword:
     default: unset
@@ -232,6 +259,11 @@ parameters:
     default: 5672
     description: Set rabbit subscriber port, change this if using SSL
     type: number
+  # We need to set this as string because 'unlimited' is a valid setting
+  RabbitFDLimit:
+    default: 16384
+    description: Configures RabbitMQ FD limit
+    type: string
   SnmpdReadonlyUserName:
     default: ro_snmp_user
     description: The user name for SNMPd with readonly rights running on all Overcloud nodes
@@ -248,10 +280,6 @@ parameters:
     description: The keystone auth secret.
     type: string
     hidden: true
-  CinderEnableRbdBackend:
-    default: false
-    description: Whether to enable or not the Rbd backend for Cinder
-    type: boolean
   CinderLVMLoopDeviceSize:
     default: 5000
     description: The size of the loopback file used by the cinder LVM driver.
@@ -280,6 +308,8 @@ parameters:
   ControllerCount:
     type: number
     default: 1
+    constraints:
+      - range: {min: 1}
   controllerExtraConfig:
     default: {}
     description: |
@@ -721,6 +751,23 @@ resources:
     properties:
       length: 10
 
+  EndpointMap:
+    type: OS::TripleO::EndpointMap
+    properties:
+      CloudName: {get_param: CloudName}
+      CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
+      CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
+      GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
+      GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
+      HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
+      KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
+      KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
+      MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
+      NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
+      NovaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
+      SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
+      PublicVirtualIP: {get_attr: [VipMap, net_ip_map, external]}
+
   Controller:
     type: OS::Heat::ResourceGroup
     depends_on: Networks
@@ -754,15 +801,15 @@ resources:
           ExtraConfig: {get_param: ExtraConfig}
           FencingConfig: {get_param: FencingConfig}
           Flavor: {get_param: OvercloudControlFlavor}
-          GlancePort: {get_param: GlancePort}
-          GlanceProtocol: {get_param: GlanceProtocol}
           GlancePassword: {get_param: GlancePassword}
           GlanceBackend: {get_param: GlanceBackend}
           GlanceNotifierStrategy: {get_param: GlanceNotifierStrategy}
           GlanceLogFile: {get_param: GlanceLogFile}
+          HAProxySyslogAddress: {get_param: HAProxySyslogAddress}
           HeatPassword: {get_param: HeatPassword}
           HeatStackDomainAdminPassword: {get_param: HeatStackDomainAdminPassword}
           HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey}
+          HorizonAllowedHosts: {get_param: HorizonAllowedHosts}
           HorizonSecret: {get_resource: HorizonSecret}
           Image: {get_param: controllerImage}
           ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
@@ -792,6 +839,9 @@ resources:
           NeutronDVR: {get_param: NeutronDVR}
           NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
           NeutronAgentMode: {get_param: NeutronAgentMode}
+          NeutronCorePlugin: {get_param: NeutronCorePlugin}
+          NeutronServicePlugins: {get_param: NeutronServicePlugins}
+          NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
           NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
           NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
           NeutronL3HA: {get_param: NeutronL3HA}
@@ -808,6 +858,7 @@ resources:
           RabbitCookie: {get_attr: [RabbitCookie, value]}
           RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
           RabbitClientPort: {get_param: RabbitClientPort}
+          RabbitFDLimit: {get_param: RabbitFDLimit}
           SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
           SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
           RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
@@ -823,8 +874,14 @@ resources:
           VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} # deprecated. Use per service VIP settings instead now.
           PublicVirtualIP: {get_attr: [PublicVirtualIP, ip_address]}
           ServiceNetMap: {get_param: ServiceNetMap}
+          EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
+          CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
+          CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
           HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
           GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
+          GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
+          NovaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
+          SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
           MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
           KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
           KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
@@ -850,12 +907,11 @@ resources:
           CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
           CeilometerPassword: {get_param: CeilometerPassword}
           CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
+          CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
           Debug: {get_param: Debug}
           ExtraConfig: {get_param: ExtraConfig}
           Flavor: {get_param: OvercloudComputeFlavor}
           GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
-          GlancePort: {get_param: GlancePort}
-          GlanceProtocol: {get_param: GlanceProtocol}
           Image: {get_param: NovaImage}
           ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
           KeyName: {get_param: KeyName}
@@ -875,6 +931,9 @@ resources:
           NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
           NeutronAgentMode: {get_param: NeutronComputeAgentMode}
           NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
+          NeutronCorePlugin: {get_param: NeutronCorePlugin}
+          NeutronServicePlugins: {get_param: NeutronServicePlugins}
+          NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
           NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
           # L3 HA and Failover is not relevant for Computes, should be removed
           NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
@@ -895,6 +954,7 @@ resources:
           SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
           SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
           ServiceNetMap: {get_param: ServiceNetMap}
+          EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
           UpdateIdentifier: {get_param: UpdateIdentifier}
           Hostname:
             str_replace:
@@ -921,8 +981,6 @@ resources:
           KeyName: {get_param: KeyName}
           Flavor: {get_param: OvercloudBlockStorageFlavor}
           VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
-          GlancePort: {get_param: GlancePort}
-          GlanceProtocol: {get_param: GlanceProtocol}
           GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
           RabbitPassword: {get_param: RabbitPassword}
           RabbitUserName: {get_param: RabbitUserName}
@@ -936,6 +994,7 @@ resources:
               params:
                 '%stackname%': {get_param: 'OS::stack_name'}
           ServiceNetMap: {get_param: ServiceNetMap}
+          EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
           MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
           ExtraConfig: {get_param: ExtraConfig}
           BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
@@ -1054,7 +1113,7 @@ resources:
     depends_on: Networks
     properties:
       name: control_virtual_ip
-      network_id: {get_param: NeutronControlPlaneID}
+      network: {get_param: NeutronControlPlaneID}
       fixed_ips: {get_param: ControlFixedIPs}
       replacement_policy: AUTO
 
@@ -1361,12 +1420,7 @@ resources:
 outputs:
   KeystoneURL:
     description: URL for the Overcloud Keystone service
-    value:
-      list_join:
-      - ''
-      - - http://
-        - {get_attr: [PublicVirtualIP, ip_address]}
-        - :5000/v2.0/
+    value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
   KeystoneAdminVip:
     description: Keystone Admin VIP endpoint
     value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}