X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=overcloud-without-mergepy.yaml;h=8532081b9bf49c7d1640ba0c0e080a4ddde31ee8;hb=410707efe8e0785fa7420078ebe540426e3f6588;hp=803a50162ef0b575b1fcd868791dd6acf9a02b95;hpb=61848672732585749724b74dcada09d9eed49c9c;p=apex-tripleo-heat-templates.git diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index 803a5016..8532081b 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -139,6 +139,10 @@ parameters: default: 'True' description: Allow automatic l3-agent failover type: string + NeutronL3HA: + default: 'False' + description: Whether to enable l3-agent HA + type: string NovaPassword: default: unset description: The password for the nova service account, used by nova-api. @@ -190,7 +194,18 @@ parameters: description: The user password for SNMPd with readonly rights running on all Overcloud nodes type: string hidden: true - + CephClusterFSID: + default: '' + type: string + description: The Ceph cluster FSID. + CephMonKey: + default: '' + description: The Ceph monitors key. + type: string + CephAdminKey: + default: '' + description: The Ceph admin client key. + type: string # Controller-specific params AdminToken: @@ -370,13 +385,21 @@ parameters: description: The password for the swift service account, used by the swift proxy services. type: string hidden: true + SwiftMountCheck: + default: 'false' + description: Value of mount_check in Swift account/container/object -server.conf + type: boolean + SwiftMinPartHours: + type: number + default: 1 + description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance. SwiftPartPower: default: 10 description: Partition Power to use when building Swift rings type: number SwiftReplicas: type: number - default: 1 + default: 3 description: How many replicas to use in the swift rings. # Compute-specific params @@ -433,7 +456,7 @@ parameters: # Block storage specific parameters BlockStorageCount: type: number - default: 1 + default: 0 BlockStorageImage: default: overcloud-cinder-volume type: string @@ -456,6 +479,18 @@ parameters: default: overcloud-swift-storage type: string +# Ceph storage specific parameters + CephStorageCount: + type: number + default: 0 + CephStorageImage: + default: overcloud-ceph-storage + type: string + OvercloudCephStorageFlavor: + default: baremetal + description: Flavor for Ceph storage nodes to request when deploying. + type: string + resources: Controller: @@ -509,6 +544,9 @@ resources: NeutronAgentMode: {get_param: NeutronAgentMode} NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers} NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover} + NeutronL3HA: {get_param: NeutronL3HA} + NeutronNetworkType: {get_param: NeutronNetworkType} + NeutronTunnelTypes: {get_param: NeutronTunnelTypes} NovaPassword: {get_param: NovaPassword} NtpServer: {get_param: NtpServer} PublicVirtualInterface: {get_param: PublicVirtualInterface} @@ -523,6 +561,8 @@ resources: SSLKey: {get_param: SSLKey} SSLCACertificate: {get_param: SSLCACertificate} SwiftHashSuffix: {get_param: SwiftHashSuffix} + SwiftMountCheck: {get_param: SwiftMountCheck} + SwiftMinPartHours: {get_param: SwiftMinPartHours} SwiftPartPower: {get_param: SwiftPartPower} SwiftPassword: {get_param: SwiftPassword} SwiftReplicas: { get_param: SwiftReplicas} @@ -565,6 +605,7 @@ resources: NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice} NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers} 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} @@ -577,12 +618,6 @@ resources: RabbitUserName: {get_param: RabbitUserName} SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName} SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword} - CeilometerDSN: - list_join: - - '' - - - mysql://ceilometer:unset@ - - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} - - /ceilometer BlockStorage: type: OS::Heat::ResourceGroup @@ -591,16 +626,15 @@ resources: resource_def: type: OS::TripleO::BlockStorage properties: - AdminPassword: {get_param: AdminPassword} Image: {get_param: BlockStorageImage} CinderISCSIHelper: {get_param: CinderISCSIHelper} CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize} - CinderPassword: {get_param: CinderPassword} VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} KeyName: {get_param: KeyName} Flavor: {get_param: OvercloudBlockStorageFlavor} RabbitPassword: {get_param: RabbitPassword} RabbitUserName: {get_param: RabbitUserName} + NtpServer: {get_param: NtpServer} ObjectStorage: type: OS::Heat::ResourceGroup @@ -609,47 +643,40 @@ resources: resource_def: type: OS::TripleO::ObjectStorage properties: - ControllerIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} KeyName: {get_param: KeyName} - NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling} - NeutronNetworkType: {get_param: NeutronNetworkType} Flavor: {get_param: OvercloudSwiftStorageFlavor} HashSuffix: {get_param: SwiftHashSuffix} + MountCheck: {get_param: SwiftMountCheck} + MinPartHours: {get_param: SwiftMinPartHours} PartPower: {get_param: SwiftPartPower} - Password: {get_param: SwiftPassword} Image: {get_param: SwiftStorageImage} Replicas: { get_param: SwiftReplicas} + NtpServer: {get_param: NtpServer} + CephStorage: + type: OS::Heat::ResourceGroup + properties: + count: {get_param: CephStorageCount} + resource_def: + type: OS::TripleO::CephStorage + properties: + Image: {get_param: CephStorageImage} + KeyName: {get_param: KeyName} + Flavor: {get_param: OvercloudCephStorageFlavor} + CephClusterFSID: {get_param: CephClusterFSID} + CephMonKey: {get_param: CephMonKey} + CephAdminKey: {get_param: CephAdminKey} + CephMonitors: {get_attr: [Controller, corosync_node]} allNodesConfig: - type: OS::Heat::StructuredConfig + type: OS::TripleO::AllNodes::SoftwareConfig properties: - config: - completion-signal: {get_input: deploy_signal_id} - hosts: - list_join: - - "\n" - - - list_join: - - "\n" - - {get_attr: [Compute, hosts_entry]} - - list_join: - - "\n" - - {get_attr: [Controller, hosts_entry]} - - list_join: - - "\n" - - {get_attr: [BlockStorage, hosts_entry]} - - list_join: - - "\n" - - {get_attr: [ObjectStorage, hosts_entry]} - rabbit: - nodes: - list_join: - - ',' - - {get_attr: [Controller, hostname]} - sysctl: - net.ipv4.tcp_keepalive_time: 5 - net.ipv4.tcp_keepalive_probes: 5 - net.ipv4.tcp_keepalive_intvl: 1 + compute_hosts: {get_attr: [Compute, hosts_entry]} + controller_hosts: {get_attr: [Controller, hosts_entry]} + block_storage_hosts: {get_attr: [BlockStorage, hosts_entry]} + object_storage_hosts: {get_attr: [ObjectStorage, hosts_entry]} + ceph_storage_hosts: {get_attr: [CephStorage, hosts_entry]} + controller_names: {get_attr: [Controller, hostname]} MysqlRootPassword: type: OS::Heat::RandomString @@ -684,53 +711,37 @@ resources: replacement_policy: AUTO ControllerBootstrapNodeConfig: - type: OS::Heat::StructuredConfig + type: OS::TripleO::BootstrapNode::SoftwareConfig properties: - group: os-apply-config - config: - bootstrap_host: - bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]} + bootstrap_nodeid: {get_attr: [Controller, resource.0.hostname]} ControllerBootstrapNodeDeployment: type: OS::Heat::StructuredDeployments properties: - config: {get_resource: ControllerBootstrapNodeConfig} + config: {get_attr: [ControllerBootstrapNodeConfig, config_id]} servers: {get_attr: [Controller, attributes, nova_server_resource]} signal_transport: NO_SIGNAL ControllerSwiftDeployment: type: OS::Heat::StructuredDeployments properties: - config: {get_resource: SwiftDevicesAndProxyConfig} + config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]} servers: {get_attr: [Controller, attributes, nova_server_resource]} signal_transport: NO_SIGNAL ObjectStorageSwiftDeployment: type: OS::Heat::StructuredDeployments properties: - config: {get_resource: SwiftDevicesAndProxyConfig} + config: {get_attr: [SwiftDevicesAndProxyConfig, config_id]} servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]} signal_transport: NO_SIGNAL SwiftDevicesAndProxyConfig: - type: OS::Heat::StructuredConfig + type: OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig properties: - group: os-apply-config - config: - swift: - devices: - list_join: - - ", " - - - list_join: - - ", " - - {get_attr: [Controller, swift_device]} - - list_join: - - ", " - - {get_attr: [ObjectStorage, swift_device]} - proxy-memcache: - list_join: - - "," - - {get_attr: [Controller, swift_proxy_memcache]} + controller_swift_devices: {get_attr: [Controller, swift_device]} + object_store_swift_devices: {get_attr: [ObjectStorage, swift_device]} + controller_swift_proxy_memcaches: {get_attr: [Controller, swift_proxy_memcache]} ControllerClusterConfig: type: OS::Heat::StructuredConfig @@ -757,15 +768,51 @@ resources: ControllerAllNodesDeployment: type: OS::Heat::StructuredDeployments properties: - config: {get_resource: allNodesConfig} + config: {get_attr: [allNodesConfig, config_id]} servers: {get_attr: [Controller, attributes, nova_server_resource]} ComputeAllNodesDeployment: type: OS::Heat::StructuredDeployments properties: - config: {get_resource: allNodesConfig} + config: {get_attr: [allNodesConfig, config_id]} servers: {get_attr: [Compute, attributes, nova_server_resource]} + BlockStorageAllNodesDeployment: + type: OS::Heat::StructuredDeployments + properties: + config: {get_attr: [allNodesConfig, config_id]} + servers: {get_attr: [BlockStorage, attributes, nova_server_resource]} + + ObjectStorageAllNodesDeployment: + type: OS::Heat::StructuredDeployments + properties: + config: {get_attr: [allNodesConfig, config_id]} + servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]} + + # Nested stack deployment runs after all other controller deployments + ControllerNodesPostDeployment: + type: OS::TripleO::ControllerPostDeployment + depends_on: [ControllerBootstrapNodeDeployment, ControllerAllNodesDeployment, ControllerSwiftDeployment] + properties: + servers: {get_attr: [Controller, attributes, nova_server_resource]} + + ComputeNodesPostDeployment: + type: OS::TripleO::ComputePostDeployment + depends_on: ComputeAllNodesDeployment + properties: + servers: {get_attr: [Compute, attributes, nova_server_resource]} + + ObjectStorageNodesPostDeployment: + type: OS::TripleO::ObjectStoragePostDeployment + depends_on: [ObjectStorageSwiftDeployment, ObjectStorageAllNodesDeployment] + properties: + servers: {get_attr: [ObjectStorage, attributes, nova_server_resource]} + + BlockStorageNodesPostDeployment: + type: OS::TripleO::BlockStoragePostDeployment + depends_on: BlockStorageAllNodesDeployment + properties: + servers: {get_attr: [BlockStorage, attributes, nova_server_resource]} outputs: KeystoneURL: