Convert swift storage to composable services

Depends-On: Ie68d7eccf4938bdbdea93327af0638b3fd002b3e

Change-Id: I1eb68d0cd5f8bf4bf954dd9f12941bc493345708
Partially-Implements: blueprint composable-services-within-roles
This commit is contained in:
Steven Hardy 2016-05-24 17:25:33 +01:00 committed by Giulio Fidente
parent 749d24ec9d
commit 50ee410184
8 changed files with 49 additions and 95 deletions

View File

@ -148,7 +148,6 @@ resource_registry:
OS::TripleO::Services::HAproxy: puppet/services/haproxy.yaml
OS::TripleO::Services::Keepalived: puppet/services/keepalived.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::SaharaEngine: puppet/services/sahara-engine.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::NovaCompute: puppet/services/nova-compute.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:
EnablePackageInstall: false

View File

@ -345,10 +345,6 @@ parameters:
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
ControllerSchedulerHints:
type: json
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.
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
@ -587,7 +579,6 @@ parameters:
- OS::TripleO::Services::HAproxy
- OS::TripleO::Services::Keepalived
- OS::TripleO::Services::Memcached
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::Redis
- OS::TripleO::Services::NovaConductor
- OS::TripleO::Services::MongoDb
@ -596,6 +587,8 @@ parameters:
- OS::TripleO::Services::NovaConsoleauth
- OS::TripleO::Services::NovaVncproxy
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::SwiftStorage
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Controllers.
@ -661,6 +654,7 @@ parameters:
ObjectStorageServices:
default:
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::SwiftStorage
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the ObjectStorage nodes.
@ -846,7 +840,6 @@ resources:
PurgeFirewallRules: {get_param: PurgeFirewallRules}
EnableGalera: {get_param: EnableGalera}
EnableCephStorage: {get_param: ControllerEnableCephStorage}
EnableSwiftStorage: {get_param: ControllerEnableSwiftStorage}
ExtraConfig: {get_param: ExtraConfig}
FencingConfig: {get_param: FencingConfig}
Flavor: {get_param: OvercloudControlFlavor}
@ -885,7 +878,6 @@ resources:
RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
SwiftHashSuffix: {get_param: SwiftHashSuffix}
SwiftMountCheck: {get_param: SwiftMountCheck}
SwiftMinPartHours: {get_param: SwiftMinPartHours}
SwiftPartPower: {get_param: SwiftPartPower}
SwiftReplicas: { get_param: SwiftReplicas}
@ -1061,7 +1053,6 @@ resources:
KeyName: {get_param: KeyName}
Flavor: {get_param: OvercloudSwiftStorageFlavor}
HashSuffix: {get_param: SwiftHashSuffix}
MountCheck: {get_param: SwiftMountCheck}
MinPartHours: {get_param: SwiftMinPartHours}
PartPower: {get_param: SwiftPartPower}
Image: {get_param: SwiftStorageImage}

View File

@ -96,10 +96,6 @@ parameters:
default: false
description: Whether to deploy Ceph Storage (OSD) on the Controller
type: boolean
EnableSwiftStorage:
default: true
description: Whether to enable Swift Storage on the Controller
type: boolean
ExtraConfig:
default: {}
description: |
@ -343,10 +339,6 @@ parameters:
in the ring.
hidden: true
type: string
SwiftMountCheck:
default: 'false'
description: Value of mount_check in Swift account/container/object -server.conf
type: boolean
SwiftMinPartHours:
type: number
default: 1
@ -632,7 +624,6 @@ resources:
enable_galera: {get_param: EnableGalera}
enable_load_balancer: {get_param: EnableLoadBalancer}
enable_ceph_storage: {get_param: EnableCephStorage}
enable_swift_storage: {get_param: EnableSwiftStorage}
manage_firewall: {get_param: ManageFirewall}
purge_firewall_rules: {get_param: PurgeFirewallRules}
mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
@ -750,7 +741,6 @@ resources:
swift_ring_build: {get_param: SwiftRingBuild}
swift_replicas: {get_param: SwiftReplicas}
swift_min_part_hours: {get_param: SwiftMinPartHours}
swift_mount_check: {get_param: SwiftMountCheck}
enable_package_install: {get_param: EnablePackageInstall}
enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
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::replicas: {get_input: swift_replicas}
tripleo::ringbuilder::min_part_hours: {get_input: swift_min_part_hours}
swift_mount_check: {get_input: swift_mount_check}
# Cinder
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}
enable_galera: {get_input: enable_galera}
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_max_connections: {get_input: mysql_max_connections}
mysql::server::root_password: {get_input: mysql_root_password}

View File

@ -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_backend = downcase(hiera('ceilometer_backend'))
case $ceilometer_backend {

View File

@ -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
case downcase(hiera('ceilometer_backend')) {
/mysql/: {

View File

@ -26,22 +26,6 @@ if hiera('step') >= 1 {
}
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')
snmp::snmpv3_user { $snmpd_user:
authtype => 'MD5',

View 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

View File

@ -18,10 +18,6 @@ parameters:
default: default
description: Name of an existing Nova key pair to enable SSH access to the instances
type: string
MountCheck:
default: 'false'
description: Value of mount_check in Swift account/container/object -server.conf
type: boolean
MinPartHours:
type: number
default: 1
@ -286,7 +282,6 @@ resources:
tripleo::ringbuilder::part_power: { get_input: swift_part_power }
tripleo::ringbuilder::replicas: {get_input: swift_replicas }
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 }
timezone::timezone: {get_input: timezone}
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_password: {get_param: SnmpdReadonlyUserPassword}
swift_hash_suffix: {get_param: HashSuffix}
swift_mount_check: {get_param: MountCheck}
swift_min_part_hours: {get_param: MinPartHours}
swift_ring_build: {get_param: RingBuild}
swift_part_power: {get_param: PartPower}