-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: |
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
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:
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
- properties:
- config:
- keystone:
- host: {get_input: keystone_host}
- SwiftStorageKeystone:
- type: OS::Heat::StructuredDeployment
+ user_data_format: SOFTWARE_CONFIG
+ user_data: {get_resource: NodeUserData}
+
+ NodeUserData:
+ type: OS::TripleO::NodeUserData
+
+ NetworkConfig:
+ type: OS::TripleO::ObjectStorage::Net::SoftwareConfig
+
+ NetworkDeployment:
+ type: OS::TripleO::SoftwareDeployment
properties:
+ config: {get_attr: [NetworkConfig, config_id]}
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:
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}
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]}