aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYanis Guenane <yanis.guenane@enovance.com>2015-03-09 12:17:31 +0100
committerYanis Guenane <yanis.guenane@enovance.com>2015-03-12 07:05:51 -0400
commit4bc4171a151ebac2c9f1e42aed7dc23de844e429 (patch)
treebd8b8eb1f58461cd798e9cb0396d120d3c7f04b7
parent8772095c427c0c90747077271c70d84b16741359 (diff)
Use Cinder multibackend by default
Currently Cinder iscsi backend is configured within the DEFAULT section. Since we aim to support multibackend, this commit puts the iscsi backend in its own section and enable it by default configuring it properly. Also adds a parameter which can be used to disable the default backend. Co-Authored-By: Giulio Fidente <gfidente@redhat.com> Change-Id: I05fb44b59829c0afa8a6588956a48320f2f65159
-rw-r--r--cinder-storage.yaml4
-rw-r--r--controller.yaml4
-rw-r--r--overcloud-without-mergepy.yaml9
-rw-r--r--puppet/cinder-storage-puppet.yaml16
-rw-r--r--puppet/controller-puppet.yaml10
-rw-r--r--puppet/manifests/overcloud_controller.pp16
-rw-r--r--puppet/manifests/overcloud_volume.pp16
7 files changed, 68 insertions, 7 deletions
diff --git a/cinder-storage.yaml b/cinder-storage.yaml
index 0f122238..895b9d5c 100644
--- a/cinder-storage.yaml
+++ b/cinder-storage.yaml
@@ -4,6 +4,10 @@ parameters:
Image:
default: overcloud-cinder-volume
type: string
+ CinderEnableIscsiBackend:
+ default: true
+ description: Whether to enable or not the Iscsi backend for Cinder
+ type: boolean
CinderISCSIHelper:
default: tgtadm
description: The iSCSI helper to use with cinder.
diff --git a/controller.yaml b/controller.yaml
index a5ebab4f..52efa31b 100644
--- a/controller.yaml
+++ b/controller.yaml
@@ -24,6 +24,10 @@ parameters:
description: The password for the ceilometer service account.
type: string
hidden: true
+ CinderEnableIscsiBackend:
+ default: true
+ description: Whether to enable or not the Iscsi backend for Cinder
+ type: boolean
CinderISCSIHelper:
default: tgtadm
description: The iSCSI helper to use with cinder.
diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml
index c311a479..10e83363 100644
--- a/overcloud-without-mergepy.yaml
+++ b/overcloud-without-mergepy.yaml
@@ -38,6 +38,10 @@ parameters:
default: ''
description: The Ceph admin client key.
type: string
+ CinderEnableIscsiBackend:
+ default: true
+ description: Whether to enable or not the Iscsi backend for Cinder
+ type: boolean
CloudName:
default: ''
description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
@@ -510,6 +514,7 @@ resources:
CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
CinderPassword: {get_param: CinderPassword}
CinderISCSIHelper: {get_param: CinderISCSIHelper}
+ CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend}
CloudName: {get_param: CloudName}
ControlVirtualInterface: {get_param: ControlVirtualInterface}
ControllerExtraConfig: {get_param: controllerExtraConfig}
@@ -632,6 +637,8 @@ resources:
Image: {get_param: BlockStorageImage}
CinderISCSIHelper: {get_param: CinderISCSIHelper}
CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
+ # Purpose of the dedicated BlockStorage nodes should be to use their local LVM
+ CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend}
VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
KeyName: {get_param: KeyName}
Flavor: {get_param: OvercloudBlockStorageFlavor}
@@ -837,7 +844,7 @@ resources:
BlockStorageNodesPostDeployment:
type: OS::TripleO::BlockStoragePostDeployment
- depends_on: BlockStorageAllNodesDeployment
+ depends_on: [ControllerNodesPostDeployment, BlockStorageAllNodesDeployment]
properties:
servers: {get_attr: [BlockStorage, attributes, nova_server_resource]}
diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml
index 6ad4d348..2f7a04c8 100644
--- a/puppet/cinder-storage-puppet.yaml
+++ b/puppet/cinder-storage-puppet.yaml
@@ -4,6 +4,10 @@ parameters:
Image:
default: overcloud-cinder-volume
type: string
+ CinderEnableIscsiBackend:
+ default: true
+ description: Whether to enable or not the Iscsi backend for Cinder
+ type: boolean
CinderISCSIHelper:
default: tgtadm
description: The iSCSI helper to use with cinder.
@@ -115,6 +119,7 @@ resources:
template: sizeM
params:
size: {get_param: CinderLVMLoopDeviceSize}
+ cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
cinder_iscsi_helper: {get_param: CinderISCSIHelper}
rabbit_hosts:
str_replace:
@@ -148,17 +153,20 @@ resources:
volume:
raw_data: {get_file: hieradata/volume.yaml}
oac_data:
- cinder::volume::iscsi::iscsi_ip_address: local-ipv4
+ cinder_iscsi_ip_address: local-ipv4
mapped_data:
# Cinder
cinder::setup_test_volume::size: {get_input: cinder_lvm_loop_device_size}
- cinder::volume::iscsi::iscsi_helper: {get_input: cinder_iscsi_helper}
+ cinder_iscsi_helper: {get_input: cinder_iscsi_helper}
cinder::database_connection: {get_input: cinder_dsn}
cinder::rabbit_hosts: {get_input: rabbit_hosts}
cinder::rabbit_userid: {get_input: rabbit_username}
cinder::rabbit_password: {get_input: rabbit_password}
+ cinder_enable_iscsi_backend: {get_input: cinder_enable_iscsi_backend}
ntp::servers: {get_input: ntp_servers}
enable_package_install: {get_input: enable_package_install}
+ snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
+ snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
outputs:
hosts_entry:
@@ -168,3 +176,7 @@ outputs:
params:
IP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
HOST: {get_attr: [BlockStorage, name]}
+ nova_server_resource:
+ description: Heat resource handle for the block storage server
+ value:
+ {get_resource: BlockStorage}
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index 3e2957f9..798596fc 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -24,6 +24,10 @@ parameters:
description: The password for the ceilometer service account.
type: string
hidden: true
+ CinderEnableIscsiBackend:
+ default: true
+ description: Whether to enable or not the Iscsi backend for Cinder
+ type: boolean
CinderISCSIHelper:
default: tgtadm
description: The iSCSI helper to use with cinder.
@@ -439,6 +443,7 @@ resources:
debug: {get_param: Debug}
cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
cinder_password: {get_param: CinderPassword}
+ cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
cinder_iscsi_helper: {get_param: CinderISCSIHelper}
cinder_dsn:
list_join:
@@ -602,14 +607,15 @@ resources:
tripleo::ringbuilder::build_ring: True
# Cinder
cinder_lvm_loop_device_size: {get_input: cinder_lvm_loop_device_size}
- cinder::volume::iscsi::iscsi_helper: {get_input: cinder_iscsi_helper}
- cinder::volume::iscsi::iscsi_ip_address: {get_input: controller_host}
+ cinder_iscsi_helper: {get_input: cinder_iscsi_helper}
+ cinder_iscsi_ip_address: {get_input: controller_host}
cinder::database_connection: {get_input: cinder_dsn}
cinder::api::keystone_password: {get_input: cinder_password}
cinder::api::keystone_auth_host: {get_input: controller_virtual_ip}
cinder::api::bind_host: {get_input: controller_host}
cinder::rabbit_userid: {get_input: rabbit_username}
cinder::rabbit_password: {get_input: rabbit_password}
+ cinder_enable_iscsi_backend: {get_input: cinder_enable_iscsi_backend}
#cinder::debug: {get_input: debug}
# Glance
glance::api::bind_port: {get_input: glance_port}
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index fef749c5..c9af578c 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -258,11 +258,25 @@ if hiera('step') >= 2 {
include ::cinder::glance
include ::cinder::scheduler
include ::cinder::volume
- include ::cinder::volume::iscsi
class {'cinder::setup_test_volume':
size => join([hiera('cinder_lvm_loop_device_size'), 'M']),
}
+ $cinder_enable_iscsi = hiera('cinder_enable_iscsi_backend', true)
+ if $cinder_enable_iscsi {
+ $cinder_iscsi_backend = 'tripleo_iscsi'
+
+ cinder::backend::iscsi { $cinder_iscsi_backend :
+ iscsi_ip_address => hiera('cinder_iscsi_ip_address'),
+ iscsi_helper => hiera('cinder_iscsi_helper'),
+ }
+ }
+
+ $cinder_enabled_backends = any2array($cinder_iscsi_backend)
+ class { '::cinder::backends' :
+ enabled_backends => $cinder_enabled_backends,
+ }
+
# swift proxy
include ::memcached
include ::swift::proxy
diff --git a/puppet/manifests/overcloud_volume.pp b/puppet/manifests/overcloud_volume.pp
index b433321a..3d7cb490 100644
--- a/puppet/manifests/overcloud_volume.pp
+++ b/puppet/manifests/overcloud_volume.pp
@@ -30,9 +30,23 @@ if count(hiera('ntp::servers')) > 0 {
include ::cinder
include ::cinder::volume
-include ::cinder::volume::iscsi
include ::cinder::setup_test_volume
+$cinder_enable_iscsi = hiera('cinder_enable_iscsi_backend', true)
+if $cinder_enable_iscsi {
+ $cinder_iscsi_backend = 'tripleo_iscsi'
+
+ cinder::backend::iscsi { $cinder_iscsi_backend :
+ iscsi_ip_address => hiera('cinder_iscsi_ip_address'),
+ iscsi_helper => hiera('cinder_iscsi_helper'),
+ }
+}
+
+$cinder_enabled_backends = any2array($cinder_iscsi_backend)
+class { '::cinder::backends' :
+ enabled_backends => $cinder_enabled_backends,
+}
+
$snmpd_user = hiera('snmpd_readonly_user_name')
snmp::snmpv3_user { $snmpd_user:
authtype => 'MD5',