Convert swift storage to composable services
Depends-On: Ie68d7eccf4938bdbdea93327af0638b3fd002b3e Change-Id: I1eb68d0cd5f8bf4bf954dd9f12941bc493345708 Partially-Implements: blueprint composable-services-within-roles
This commit is contained in:
parent
749d24ec9d
commit
50ee410184
@ -148,7 +148,6 @@ resource_registry:
|
|||||||
OS::TripleO::Services::HAproxy: puppet/services/haproxy.yaml
|
OS::TripleO::Services::HAproxy: puppet/services/haproxy.yaml
|
||||||
OS::TripleO::Services::Keepalived: puppet/services/keepalived.yaml
|
OS::TripleO::Services::Keepalived: puppet/services/keepalived.yaml
|
||||||
OS::TripleO::Services::Memcached: puppet/services/memcached.yaml
|
OS::TripleO::Services::Memcached: puppet/services/memcached.yaml
|
||||||
OS::TripleO::Services::SwiftProxy: puppet/services/swift-proxy.yaml
|
|
||||||
OS::TripleO::Services::SaharaApi: puppet/services/sahara-api.yaml
|
OS::TripleO::Services::SaharaApi: puppet/services/sahara-api.yaml
|
||||||
OS::TripleO::Services::SaharaEngine: puppet/services/sahara-engine.yaml
|
OS::TripleO::Services::SaharaEngine: puppet/services/sahara-engine.yaml
|
||||||
OS::TripleO::Services::Redis: puppet/services/database/redis.yaml
|
OS::TripleO::Services::Redis: puppet/services/database/redis.yaml
|
||||||
@ -160,6 +159,8 @@ resource_registry:
|
|||||||
OS::TripleO::Services::NovaVncproxy: puppet/services/nova-vncproxy.yaml
|
OS::TripleO::Services::NovaVncproxy: puppet/services/nova-vncproxy.yaml
|
||||||
OS::TripleO::Services::NovaCompute: puppet/services/nova-compute.yaml
|
OS::TripleO::Services::NovaCompute: puppet/services/nova-compute.yaml
|
||||||
OS::TripleO::Services::Ntp: puppet/services/time/ntp.yaml
|
OS::TripleO::Services::Ntp: puppet/services/time/ntp.yaml
|
||||||
|
OS::TripleO::Services::SwiftProxy: puppet/services/swift-proxy.yaml
|
||||||
|
OS::TripleO::Services::SwiftStorage: puppet/services/swift-storage.yaml
|
||||||
|
|
||||||
parameter_defaults:
|
parameter_defaults:
|
||||||
EnablePackageInstall: false
|
EnablePackageInstall: false
|
||||||
|
@ -345,10 +345,6 @@ parameters:
|
|||||||
default: false
|
default: false
|
||||||
description: Whether to deploy Ceph Storage (OSD) on the Controller
|
description: Whether to deploy Ceph Storage (OSD) on the Controller
|
||||||
type: boolean
|
type: boolean
|
||||||
ControllerEnableSwiftStorage:
|
|
||||||
default: true
|
|
||||||
description: Whether to enable Swift Storage on the Controller
|
|
||||||
type: boolean
|
|
||||||
ControllerSchedulerHints:
|
ControllerSchedulerHints:
|
||||||
type: json
|
type: json
|
||||||
description: Optional scheduler hints to pass to nova
|
description: Optional scheduler hints to pass to nova
|
||||||
@ -440,10 +436,6 @@ parameters:
|
|||||||
description: A random string to be used as a salt when hashing to determine mappings in the ring.
|
description: A random string to be used as a salt when hashing to determine mappings in the ring.
|
||||||
type: string
|
type: string
|
||||||
hidden: true
|
hidden: true
|
||||||
SwiftMountCheck:
|
|
||||||
default: 'false'
|
|
||||||
description: Value of mount_check in Swift account/container/object -server.conf
|
|
||||||
type: boolean
|
|
||||||
SwiftMinPartHours:
|
SwiftMinPartHours:
|
||||||
type: number
|
type: number
|
||||||
default: 1
|
default: 1
|
||||||
@ -587,7 +579,6 @@ parameters:
|
|||||||
- OS::TripleO::Services::HAproxy
|
- OS::TripleO::Services::HAproxy
|
||||||
- OS::TripleO::Services::Keepalived
|
- OS::TripleO::Services::Keepalived
|
||||||
- OS::TripleO::Services::Memcached
|
- OS::TripleO::Services::Memcached
|
||||||
- OS::TripleO::Services::SwiftProxy
|
|
||||||
- OS::TripleO::Services::Redis
|
- OS::TripleO::Services::Redis
|
||||||
- OS::TripleO::Services::NovaConductor
|
- OS::TripleO::Services::NovaConductor
|
||||||
- OS::TripleO::Services::MongoDb
|
- OS::TripleO::Services::MongoDb
|
||||||
@ -596,6 +587,8 @@ parameters:
|
|||||||
- OS::TripleO::Services::NovaConsoleauth
|
- OS::TripleO::Services::NovaConsoleauth
|
||||||
- OS::TripleO::Services::NovaVncproxy
|
- OS::TripleO::Services::NovaVncproxy
|
||||||
- OS::TripleO::Services::Ntp
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::SwiftProxy
|
||||||
|
- OS::TripleO::Services::SwiftStorage
|
||||||
description: A list of service resources (configured in the Heat
|
description: A list of service resources (configured in the Heat
|
||||||
resource_registry) which represent nested stacks
|
resource_registry) which represent nested stacks
|
||||||
for each service that should get installed on the Controllers.
|
for each service that should get installed on the Controllers.
|
||||||
@ -661,6 +654,7 @@ parameters:
|
|||||||
ObjectStorageServices:
|
ObjectStorageServices:
|
||||||
default:
|
default:
|
||||||
- OS::TripleO::Services::Ntp
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::SwiftStorage
|
||||||
description: A list of service resources (configured in the Heat
|
description: A list of service resources (configured in the Heat
|
||||||
resource_registry) which represent nested stacks
|
resource_registry) which represent nested stacks
|
||||||
for each service that should get installed on the ObjectStorage nodes.
|
for each service that should get installed on the ObjectStorage nodes.
|
||||||
@ -846,7 +840,6 @@ resources:
|
|||||||
PurgeFirewallRules: {get_param: PurgeFirewallRules}
|
PurgeFirewallRules: {get_param: PurgeFirewallRules}
|
||||||
EnableGalera: {get_param: EnableGalera}
|
EnableGalera: {get_param: EnableGalera}
|
||||||
EnableCephStorage: {get_param: ControllerEnableCephStorage}
|
EnableCephStorage: {get_param: ControllerEnableCephStorage}
|
||||||
EnableSwiftStorage: {get_param: ControllerEnableSwiftStorage}
|
|
||||||
ExtraConfig: {get_param: ExtraConfig}
|
ExtraConfig: {get_param: ExtraConfig}
|
||||||
FencingConfig: {get_param: FencingConfig}
|
FencingConfig: {get_param: FencingConfig}
|
||||||
Flavor: {get_param: OvercloudControlFlavor}
|
Flavor: {get_param: OvercloudControlFlavor}
|
||||||
@ -885,7 +878,6 @@ resources:
|
|||||||
RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
|
RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
|
||||||
RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
|
RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
|
||||||
SwiftHashSuffix: {get_param: SwiftHashSuffix}
|
SwiftHashSuffix: {get_param: SwiftHashSuffix}
|
||||||
SwiftMountCheck: {get_param: SwiftMountCheck}
|
|
||||||
SwiftMinPartHours: {get_param: SwiftMinPartHours}
|
SwiftMinPartHours: {get_param: SwiftMinPartHours}
|
||||||
SwiftPartPower: {get_param: SwiftPartPower}
|
SwiftPartPower: {get_param: SwiftPartPower}
|
||||||
SwiftReplicas: { get_param: SwiftReplicas}
|
SwiftReplicas: { get_param: SwiftReplicas}
|
||||||
@ -1061,7 +1053,6 @@ resources:
|
|||||||
KeyName: {get_param: KeyName}
|
KeyName: {get_param: KeyName}
|
||||||
Flavor: {get_param: OvercloudSwiftStorageFlavor}
|
Flavor: {get_param: OvercloudSwiftStorageFlavor}
|
||||||
HashSuffix: {get_param: SwiftHashSuffix}
|
HashSuffix: {get_param: SwiftHashSuffix}
|
||||||
MountCheck: {get_param: SwiftMountCheck}
|
|
||||||
MinPartHours: {get_param: SwiftMinPartHours}
|
MinPartHours: {get_param: SwiftMinPartHours}
|
||||||
PartPower: {get_param: SwiftPartPower}
|
PartPower: {get_param: SwiftPartPower}
|
||||||
Image: {get_param: SwiftStorageImage}
|
Image: {get_param: SwiftStorageImage}
|
||||||
|
@ -96,10 +96,6 @@ parameters:
|
|||||||
default: false
|
default: false
|
||||||
description: Whether to deploy Ceph Storage (OSD) on the Controller
|
description: Whether to deploy Ceph Storage (OSD) on the Controller
|
||||||
type: boolean
|
type: boolean
|
||||||
EnableSwiftStorage:
|
|
||||||
default: true
|
|
||||||
description: Whether to enable Swift Storage on the Controller
|
|
||||||
type: boolean
|
|
||||||
ExtraConfig:
|
ExtraConfig:
|
||||||
default: {}
|
default: {}
|
||||||
description: |
|
description: |
|
||||||
@ -343,10 +339,6 @@ parameters:
|
|||||||
in the ring.
|
in the ring.
|
||||||
hidden: true
|
hidden: true
|
||||||
type: string
|
type: string
|
||||||
SwiftMountCheck:
|
|
||||||
default: 'false'
|
|
||||||
description: Value of mount_check in Swift account/container/object -server.conf
|
|
||||||
type: boolean
|
|
||||||
SwiftMinPartHours:
|
SwiftMinPartHours:
|
||||||
type: number
|
type: number
|
||||||
default: 1
|
default: 1
|
||||||
@ -632,7 +624,6 @@ resources:
|
|||||||
enable_galera: {get_param: EnableGalera}
|
enable_galera: {get_param: EnableGalera}
|
||||||
enable_load_balancer: {get_param: EnableLoadBalancer}
|
enable_load_balancer: {get_param: EnableLoadBalancer}
|
||||||
enable_ceph_storage: {get_param: EnableCephStorage}
|
enable_ceph_storage: {get_param: EnableCephStorage}
|
||||||
enable_swift_storage: {get_param: EnableSwiftStorage}
|
|
||||||
manage_firewall: {get_param: ManageFirewall}
|
manage_firewall: {get_param: ManageFirewall}
|
||||||
purge_firewall_rules: {get_param: PurgeFirewallRules}
|
purge_firewall_rules: {get_param: PurgeFirewallRules}
|
||||||
mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
|
mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
|
||||||
@ -750,7 +741,6 @@ resources:
|
|||||||
swift_ring_build: {get_param: SwiftRingBuild}
|
swift_ring_build: {get_param: SwiftRingBuild}
|
||||||
swift_replicas: {get_param: SwiftReplicas}
|
swift_replicas: {get_param: SwiftReplicas}
|
||||||
swift_min_part_hours: {get_param: SwiftMinPartHours}
|
swift_min_part_hours: {get_param: SwiftMinPartHours}
|
||||||
swift_mount_check: {get_param: SwiftMountCheck}
|
|
||||||
enable_package_install: {get_param: EnablePackageInstall}
|
enable_package_install: {get_param: EnablePackageInstall}
|
||||||
enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
|
enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
|
||||||
swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
|
swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
|
||||||
@ -874,7 +864,6 @@ resources:
|
|||||||
tripleo::ringbuilder::part_power: {get_input: swift_part_power}
|
tripleo::ringbuilder::part_power: {get_input: swift_part_power}
|
||||||
tripleo::ringbuilder::replicas: {get_input: swift_replicas}
|
tripleo::ringbuilder::replicas: {get_input: swift_replicas}
|
||||||
tripleo::ringbuilder::min_part_hours: {get_input: swift_min_part_hours}
|
tripleo::ringbuilder::min_part_hours: {get_input: swift_min_part_hours}
|
||||||
swift_mount_check: {get_input: swift_mount_check}
|
|
||||||
|
|
||||||
# Cinder
|
# Cinder
|
||||||
tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
|
tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
|
||||||
@ -912,7 +901,6 @@ resources:
|
|||||||
admin_password: {get_input: admin_password}
|
admin_password: {get_input: admin_password}
|
||||||
enable_galera: {get_input: enable_galera}
|
enable_galera: {get_input: enable_galera}
|
||||||
enable_ceph_storage: {get_input: enable_ceph_storage}
|
enable_ceph_storage: {get_input: enable_ceph_storage}
|
||||||
enable_swift_storage: {get_input: enable_swift_storage}
|
|
||||||
mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
|
mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
|
||||||
mysql_max_connections: {get_input: mysql_max_connections}
|
mysql_max_connections: {get_input: mysql_max_connections}
|
||||||
mysql::server::root_password: {get_input: mysql_root_password}
|
mysql::server::root_password: {get_input: mysql_root_password}
|
||||||
|
@ -215,24 +215,6 @@ if hiera('step') >= 4 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# swift storage
|
|
||||||
if str2bool(hiera('enable_swift_storage', true)) {
|
|
||||||
class { '::swift::storage::all':
|
|
||||||
mount_check => str2bool(hiera('swift_mount_check')),
|
|
||||||
}
|
|
||||||
if(!defined(File['/srv/node'])) {
|
|
||||||
file { '/srv/node':
|
|
||||||
ensure => directory,
|
|
||||||
owner => 'swift',
|
|
||||||
group => 'swift',
|
|
||||||
require => Package['openstack-swift'],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$swift_components = ['account', 'container', 'object']
|
|
||||||
swift::storage::filter::recon { $swift_components : }
|
|
||||||
swift::storage::filter::healthcheck { $swift_components : }
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ceilometer
|
# Ceilometer
|
||||||
$ceilometer_backend = downcase(hiera('ceilometer_backend'))
|
$ceilometer_backend = downcase(hiera('ceilometer_backend'))
|
||||||
case $ceilometer_backend {
|
case $ceilometer_backend {
|
||||||
|
@ -409,36 +409,6 @@ MYSQL_HOST=localhost\n",
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# swift storage
|
|
||||||
if str2bool(hiera('enable_swift_storage', true)) {
|
|
||||||
class {'::swift::storage::all':
|
|
||||||
mount_check => str2bool(hiera('swift_mount_check')),
|
|
||||||
}
|
|
||||||
class {'::swift::storage::account':
|
|
||||||
manage_service => $non_pcmk_start,
|
|
||||||
enabled => $non_pcmk_start,
|
|
||||||
}
|
|
||||||
class {'::swift::storage::container':
|
|
||||||
manage_service => $non_pcmk_start,
|
|
||||||
enabled => $non_pcmk_start,
|
|
||||||
}
|
|
||||||
class {'::swift::storage::object':
|
|
||||||
manage_service => $non_pcmk_start,
|
|
||||||
enabled => $non_pcmk_start,
|
|
||||||
}
|
|
||||||
if(!defined(File['/srv/node'])) {
|
|
||||||
file { '/srv/node':
|
|
||||||
ensure => directory,
|
|
||||||
owner => 'swift',
|
|
||||||
group => 'swift',
|
|
||||||
require => Package['openstack-swift'],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$swift_components = ['account', 'container', 'object']
|
|
||||||
swift::storage::filter::recon { $swift_components : }
|
|
||||||
swift::storage::filter::healthcheck { $swift_components : }
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ceilometer
|
# Ceilometer
|
||||||
case downcase(hiera('ceilometer_backend')) {
|
case downcase(hiera('ceilometer_backend')) {
|
||||||
/mysql/: {
|
/mysql/: {
|
||||||
|
@ -26,22 +26,6 @@ if hiera('step') >= 1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if hiera('step') >= 4 {
|
if hiera('step') >= 4 {
|
||||||
class { '::swift::storage::all':
|
|
||||||
mount_check => str2bool(hiera('swift_mount_check')),
|
|
||||||
}
|
|
||||||
if(!defined(File['/srv/node'])) {
|
|
||||||
file { '/srv/node':
|
|
||||||
ensure => directory,
|
|
||||||
owner => 'swift',
|
|
||||||
group => 'swift',
|
|
||||||
require => Package['openstack-swift'],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$swift_components = ['account', 'container', 'object']
|
|
||||||
swift::storage::filter::recon { $swift_components : }
|
|
||||||
swift::storage::filter::healthcheck { $swift_components : }
|
|
||||||
|
|
||||||
$snmpd_user = hiera('snmpd_readonly_user_name')
|
$snmpd_user = hiera('snmpd_readonly_user_name')
|
||||||
snmp::snmpv3_user { $snmpd_user:
|
snmp::snmpv3_user { $snmpd_user:
|
||||||
authtype => 'MD5',
|
authtype => 'MD5',
|
||||||
|
44
puppet/services/swift-storage.yaml
Normal file
44
puppet/services/swift-storage.yaml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
heat_template_version: 2016-04-08
|
||||||
|
|
||||||
|
description: >
|
||||||
|
OpenStack Swift Storage service configured with Puppet
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
EndpointMap:
|
||||||
|
default: {}
|
||||||
|
description: Mapping of service endpoint -> protocol. Typically set
|
||||||
|
via parameter_defaults in the resource registry.
|
||||||
|
type: json
|
||||||
|
Debug:
|
||||||
|
default: ''
|
||||||
|
description: Set to True to enable debugging on all services.
|
||||||
|
type: string
|
||||||
|
SwiftMountCheck:
|
||||||
|
default: false
|
||||||
|
description: Value of mount_check in Swift account/container/object -server.conf
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
# DEPRECATED options for compatibility with overcloud.yaml
|
||||||
|
# This should be removed and manipulation of the ControllerServices list
|
||||||
|
# used instead, but we need client support for that first
|
||||||
|
ControllerEnableSwiftStorage:
|
||||||
|
default: true
|
||||||
|
description: Whether to enable Swift Storage on the Controller
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
parameter_groups:
|
||||||
|
- label: deprecated
|
||||||
|
description: Do not use deprecated params, they will be removed.
|
||||||
|
parameters:
|
||||||
|
- ControllerEnableSwiftStorage
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
role_data:
|
||||||
|
description: Role data for the Swift Proxy role.
|
||||||
|
value:
|
||||||
|
config_settings:
|
||||||
|
# Swift
|
||||||
|
swift::storage::all::mount_check: {get_param: SwiftMountCheck}
|
||||||
|
tripleo::profile::base::swift::storage::enable_swift_storage: {get_param: ControllerEnableSwiftStorage}
|
||||||
|
step_config: |
|
||||||
|
include ::tripleo::profile::base::swift::storage
|
@ -18,10 +18,6 @@ parameters:
|
|||||||
default: default
|
default: default
|
||||||
description: Name of an existing Nova key pair to enable SSH access to the instances
|
description: Name of an existing Nova key pair to enable SSH access to the instances
|
||||||
type: string
|
type: string
|
||||||
MountCheck:
|
|
||||||
default: 'false'
|
|
||||||
description: Value of mount_check in Swift account/container/object -server.conf
|
|
||||||
type: boolean
|
|
||||||
MinPartHours:
|
MinPartHours:
|
||||||
type: number
|
type: number
|
||||||
default: 1
|
default: 1
|
||||||
@ -286,7 +282,6 @@ resources:
|
|||||||
tripleo::ringbuilder::part_power: { get_input: swift_part_power }
|
tripleo::ringbuilder::part_power: { get_input: swift_part_power }
|
||||||
tripleo::ringbuilder::replicas: {get_input: swift_replicas }
|
tripleo::ringbuilder::replicas: {get_input: swift_replicas }
|
||||||
swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
|
swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
|
||||||
swift_mount_check: {get_input: swift_mount_check }
|
|
||||||
tripleo::ringbuilder::min_part_hours: { get_input: swift_min_part_hours }
|
tripleo::ringbuilder::min_part_hours: { get_input: swift_min_part_hours }
|
||||||
timezone::timezone: {get_input: timezone}
|
timezone::timezone: {get_input: timezone}
|
||||||
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
|
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
|
||||||
@ -307,7 +302,6 @@ resources:
|
|||||||
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
|
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
|
||||||
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
|
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
|
||||||
swift_hash_suffix: {get_param: HashSuffix}
|
swift_hash_suffix: {get_param: HashSuffix}
|
||||||
swift_mount_check: {get_param: MountCheck}
|
|
||||||
swift_min_part_hours: {get_param: MinPartHours}
|
swift_min_part_hours: {get_param: MinPartHours}
|
||||||
swift_ring_build: {get_param: RingBuild}
|
swift_ring_build: {get_param: RingBuild}
|
||||||
swift_part_power: {get_param: PartPower}
|
swift_part_power: {get_param: PartPower}
|
||||||
|
Loading…
Reference in New Issue
Block a user