X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=swift-storage.yaml;h=e4cacf3c777de29644ef357c9c1125af84cecbf7;hb=3fe8be130bea172cdeab5d20115bfa550de92f24;hp=ea032b96a7508a866ccf72192ea9492d53d6b162;hpb=7cdb8ca6b46ee3ef04bc578db587a5329ce67624;p=apex-tripleo-heat-templates.git diff --git a/swift-storage.yaml b/swift-storage.yaml index ea032b96..e4cacf3c 100644 --- a/swift-storage.yaml +++ b/swift-storage.yaml @@ -1,9 +1,6 @@ -heat_template_version: 2014-10-16 +heat_template_version: 2015-04-30 description: 'Common Swift Storage Configuration' parameters: - ControllerIP: - default: '' - type: string ExtraConfig: default: {} description: | @@ -64,25 +61,17 @@ parameters: default: 'false' description: Value of mount_check in Swift account/container/object -server.conf type: boolean - NeutronEnableTunnelling: - default: "True" - type: string - NeutronNetworkType: - default: gre - type: string + MinPartHours: + type: number + default: 1 + description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance. PartPower: default: 10 description: Partition Power to use when building Swift rings type: number - Password: - default: unset - description: The password for the swift service account, used by the swift proxy - services. - hidden: true - type: string Replicas: type: number - default: 1 + default: 3 description: How many replicas to use in the swift rings. SnmpdReadonlyUserName: default: ro_snmp_user @@ -93,6 +82,15 @@ parameters: description: The user password for SNMPd with readonly rights running on all Overcloud nodes type: string hidden: true + UpdateIdentifier: + default: '' + type: string + description: > + Setting to a previously unused value during stack-update will trigger + package update on all nodes + Hostname: + type: string + default: '' # Defaults to Heat created hostname resources: SwiftConfig: @@ -107,11 +105,10 @@ resources: swift: hash: { get_input: swift_hash_suffix } part-power: { get_input: swift_part_power } + min-part-hours: { get_input: swift_min_part_hours } + mount-check: { get_input: swift_mount_check } replicas: {get_input: swift_replicas } - service-password: { get_input: swift_password } neutron: - enable_tunnelling: {get_param: NeutronEnableTunnelling} - tenant_network_type: {get_param: NeutronNetworkType} ovs: local_ip: { get_input: neutron_local_ip } SwiftStorage: @@ -120,23 +117,43 @@ resources: image: {get_param: Image} flavor: {get_param: Flavor} key_name: {get_param: KeyName} - user_data_format: SOFTWARE_CONFIG networks: - network: ctlplane - SwiftKeystoneConfig: - type: OS::Heat::StructuredConfig + user_data_format: SOFTWARE_CONFIG + user_data: {get_resource: NodeUserData} + name: {get_param: Hostname} + + NodeUserData: + type: OS::TripleO::NodeUserData + + InternalApiPort: + type: OS::TripleO::SwiftStorage::Ports::InternalApiPort properties: - config: - keystone: - host: {get_input: keystone_host} - SwiftStorageKeystone: - type: OS::Heat::StructuredDeployment + ControlPlaneIP: {get_attr: [SwiftStorage, networks, ctlplane, 0]} + + StoragePort: + type: OS::TripleO::SwiftStorage::Ports::StoragePort + properties: + ControlPlaneIP: {get_attr: [SwiftStorage, networks, ctlplane, 0]} + + StorageMgmtPort: + type: OS::TripleO::SwiftStorage::Ports::StorageMgmtPort properties: + ControlPlaneIP: {get_attr: [SwiftStorage, networks, ctlplane, 0]} + + NetworkConfig: + type: OS::TripleO::ObjectStorage::Net::SoftwareConfig + properties: + InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]} + StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]} + StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]} + + NetworkDeployment: + type: OS::TripleO::SoftwareDeployment + properties: + config: {get_resource: NetworkConfig} server: {get_resource: SwiftStorage} - config: {get_resource: SwiftKeystoneConfig} - signal_transport: NO_SIGNAL - input_values: - keystone_host: {get_param: ControllerIP} + SwiftStorageDeploy: type: OS::Heat::StructuredDeployment properties: @@ -149,7 +166,7 @@ resources: snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} swift_hash_suffix: {get_param: HashSuffix} swift_mount_check: {get_param: MountCheck} - swift_password: {get_param: Password} + swift_min_part_hours: {get_param: MinPartHours} swift_part_power: {get_param: PartPower} swift_replicas: { get_param: Replicas} @@ -157,7 +174,7 @@ outputs: hosts_entry: value: str_replace: - template: "IP HOST HOST.novalocal" + template: "IP HOST" params: IP: {get_attr: [SwiftStorage, networks, ctlplane, 0]} HOST: {get_attr: [SwiftStorage, name]} @@ -172,3 +189,15 @@ outputs: template: 'r1z1-IP:%PORT%/d1' params: IP: {get_attr: [SwiftStorage, networks, ctlplane, 0]} + internal_api_ip_address: + description: IP address of the server in the internal_api network + value: {get_attr: [InternalApiPort, ip_address]} + storage_ip_address: + description: IP address of the server in the storage network + value: {get_attr: [StoragePort, ip_address]} + storage_mgmt_ip_address: + description: IP address of the server in the storage_mgmt network + value: {get_attr: [StorageMgmtPort, ip_address]} + config_identifier: + description: identifier which changes if the node configuration may need re-applying + value: "None - NO_SIGNAL"