X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=overcloud-without-mergepy.yaml;h=b7ef0869d8291428eff0e65f07faf54e7c6c77c8;hb=e02baab696e25525b31991791c95422060fc7136;hp=c54248d588907b988c9392eb9a90345818b55188;hpb=29327cd0902cc88229c693b44449f03bf88e911f;p=apex-tripleo-heat-templates.git diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index c54248d5..b7ef0869 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2014-10-16 +heat_template_version: 2015-04-30 description: > Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL @@ -15,6 +15,10 @@ parameters: description: The password for the keystone admin account, used for monitoring, querying neutron etc. type: string hidden: true + CeilometerBackend: + default: 'mongodb' + description: The ceilometer backend type. + type: string CeilometerMeteringSecret: default: unset description: Secret shared by the ceilometer services. @@ -29,14 +33,14 @@ parameters: CephClusterFSID: default: '' type: string - description: The Ceph cluster FSID. + description: The Ceph cluster FSID. Must be a UUID. CephMonKey: default: '' - description: The Ceph monitors key. + description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key. type: string CephAdminKey: default: '' - description: The Ceph admin client key. + description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key. type: string CinderEnableIscsiBackend: default: true @@ -183,6 +187,7 @@ parameters: type: string default: unset description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change. + # FIXME: 'guest' is provisioned in RabbitMQ by default, we should create a user if these are changed RabbitUserName: default: guest description: The username for RabbitMQ @@ -218,6 +223,10 @@ 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. @@ -254,6 +263,23 @@ parameters: default: 'br-ex' description: Interface where virtual ip will be assigned. type: string + EnableGalera: + default: true + description: Whether to use Galera instead of regular MariaDB. + type: boolean + EnablePacemaker: + default: false + description: If enabled services will be monitored by Pacemaker; it + will manage VIPs as well, in place of Keepalived. + type: boolean + ControllerEnableCephStorage: + default: false + description: Whether to deploy Ceph Storage (OSD) on the Controller + type: boolean + ControllerEnableSwiftStorage: + default: true + description: Whether to enable Swift Storage on the Controller + type: boolean ExtraConfig: default: {} description: | @@ -305,6 +331,13 @@ parameters: description: The password for the glance service account, used by the glance services. type: string hidden: true + GlanceBackend: + default: swift + description: The short name of the Glance backend to use. Should be one + of swift, rbd or file + type: string + constraints: + - allowed_values: ['swift', 'file', 'rbd'] HeatPassword: default: unset description: The password for the Heat service account, used by the Heat services. @@ -447,6 +480,10 @@ parameters: NovaComputeLibvirtType: default: '' type: string + NovaEnableRbdBackend: + default: false + description: Whether to enable or not the Rbd backend for Nova + type: boolean NovaImage: type: string default: overcloud-compute @@ -503,8 +540,19 @@ resources: HeatAuthEncryptionKey: type: OS::Heat::RandomString + PcsdPassword: + type: OS::Heat::RandomString + properties: + length: 16 + + HorizonSecret: + type: OS::Heat::RandomString + properties: + length: 10 + Controller: type: OS::Heat::ResourceGroup + depends_on: Networks properties: count: {get_param: ControllerCount} resource_def: @@ -512,25 +560,34 @@ resources: properties: AdminPassword: {get_param: AdminPassword} AdminToken: {get_param: AdminToken} + CeilometerBackend: {get_param: CeilometerBackend} CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret} CeilometerPassword: {get_param: CeilometerPassword} CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize} CinderPassword: {get_param: CinderPassword} CinderISCSIHelper: {get_param: CinderISCSIHelper} CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend} + CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend} CloudName: {get_param: CloudName} ControlVirtualInterface: {get_param: ControlVirtualInterface} ControllerExtraConfig: {get_param: controllerExtraConfig} + Debug: {get_param: Debug} + EnableGalera: {get_param: EnableGalera} + EnablePacemaker: {get_param: EnablePacemaker} + EnableCephStorage: {get_param: ControllerEnableCephStorage} + EnableSwiftStorage: {get_param: ControllerEnableSwiftStorage} ExtraConfig: {get_param: ExtraConfig} 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} HeatPassword: {get_param: HeatPassword} HeatStackDomainAdminPassword: {get_param: HeatStackDomainAdminPassword} HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey} + HorizonSecret: {get_resource: HorizonSecret} Image: {get_param: controllerImage} ImageUpdatePolicy: {get_param: ImageUpdatePolicy} KeyName: {get_param: KeyName} @@ -561,9 +618,10 @@ resources: NeutronTunnelTypes: {get_param: NeutronTunnelTypes} NovaPassword: {get_param: NovaPassword} NtpServer: {get_param: NtpServer} + PcsdPassword: {get_resource: PcsdPassword} PublicVirtualInterface: {get_param: PublicVirtualInterface} - RabbitUserName: {get_param: RabbitUserName} RabbitPassword: {get_param: RabbitPassword} + RabbitUserName: {get_param: RabbitUserName} RabbitCookie: {get_attr: [RabbitCookie, value]} RabbitClientUseSSL: {get_param: RabbitClientUseSSL} RabbitClientPort: {get_param: RabbitClientPort} @@ -583,6 +641,7 @@ resources: Compute: type: OS::Heat::ResourceGroup + depends_on: Networks properties: count: {get_param: ComputeCount} resource_def: @@ -592,6 +651,7 @@ resources: CeilometerComputeAgent: {get_param: CeilometerComputeAgent} CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret} CeilometerPassword: {get_param: CeilometerPassword} + Debug: {get_param: Debug} ExtraConfig: {get_param: ExtraConfig} Flavor: {get_param: OvercloudComputeFlavor} GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} @@ -616,28 +676,34 @@ resources: NeutronAgentMode: {get_param: NeutronComputeAgentMode} NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice} NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers} + # L3 HA and Failover is not relevant for Computes, should be removed NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover} NeutronL3HA: {get_param: NeutronL3HA} NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} NovaComputeDriver: {get_param: NovaComputeDriver} NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig} NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType} + NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend} NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]} NovaPassword: {get_param: NovaPassword} NtpServer: {get_param: NtpServer} RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} RabbitPassword: {get_param: RabbitPassword} RabbitUserName: {get_param: RabbitUserName} + RabbitClientUseSSL: {get_param: RabbitClientUseSSL} + RabbitClientPort: {get_param: RabbitClientPort} SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName} SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword} BlockStorage: type: OS::Heat::ResourceGroup + depends_on: Networks properties: count: {get_param: BlockStorageCount} resource_def: type: OS::TripleO::BlockStorage properties: + Debug: {get_param: Debug} Image: {get_param: BlockStorageImage} CinderISCSIHelper: {get_param: CinderISCSIHelper} CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize} @@ -648,10 +714,13 @@ resources: Flavor: {get_param: OvercloudBlockStorageFlavor} RabbitPassword: {get_param: RabbitPassword} RabbitUserName: {get_param: RabbitUserName} + RabbitClientUseSSL: {get_param: RabbitClientUseSSL} + RabbitClientPort: {get_param: RabbitClientPort} NtpServer: {get_param: NtpServer} ObjectStorage: type: OS::Heat::ResourceGroup + depends_on: Networks properties: count: {get_param: ObjectStorageCount} resource_def: @@ -669,6 +738,7 @@ resources: CephStorage: type: OS::Heat::ResourceGroup + depends_on: Networks properties: count: {get_param: CephStorageCount} resource_def: @@ -684,6 +754,7 @@ resources: properties: compute_hosts: {get_attr: [Compute, hosts_entry]} controller_hosts: {get_attr: [Controller, hosts_entry]} + controller_ips: {get_attr: [Controller, ip_address]} block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]} object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]} ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]} @@ -705,8 +776,13 @@ resources: length: 20 salt: {get_param: RabbitCookieSalt} + # creates the network architecture + Networks: + type: OS::TripleO::Network + ControlVirtualIP: type: OS::Neutron::Port + depends_on: Networks properties: name: control_virtual_ip network_id: {get_param: NeutronControlPlaneID} @@ -715,6 +791,7 @@ resources: PublicVirtualIP: type: OS::Neutron::Port + depends_on: Networks properties: name: public_virtual_ip network: {get_param: PublicVirtualNetwork} @@ -725,6 +802,7 @@ resources: type: OS::TripleO::BootstrapNode::SoftwareConfig properties: bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]} + bootstrap_nodeid_ip: {get_attr: [Controller, resource.0.ip_address]} ControllerBootstrapNodeDeployment: type: OS::Heat::StructuredDeployments @@ -754,6 +832,12 @@ resources: object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]} controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]} + ComputeCephDeployment: + type: OS::Heat::StructuredDeployments + properties: + config: {get_attr: [CephClusterConfig, config_id]} + servers: {get_attr: [Compute, attributes, nova_server_resource]} + ControllerCephDeployment: type: OS::Heat::StructuredDeployments properties: @@ -836,7 +920,7 @@ resources: ComputeNodesPostDeployment: type: OS::TripleO::ComputePostDeployment - depends_on: ComputeAllNodesDeployment + depends_on: [ComputeAllNodesDeployment, ComputeCephDeployment] properties: servers: {get_attr: [Compute, attributes, nova_server_resource]}