From 4bc4171a151ebac2c9f1e42aed7dc23de844e429 Mon Sep 17 00:00:00 2001 From: Yanis Guenane Date: Mon, 9 Mar 2015 12:17:31 +0100 Subject: 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 Change-Id: I05fb44b59829c0afa8a6588956a48320f2f65159 --- puppet/cinder-storage-puppet.yaml | 16 ++++++++++++++-- puppet/controller-puppet.yaml | 10 ++++++++-- puppet/manifests/overcloud_controller.pp | 16 +++++++++++++++- puppet/manifests/overcloud_volume.pp | 16 +++++++++++++++- 4 files changed, 52 insertions(+), 6 deletions(-) (limited to 'puppet') 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', -- cgit 1.2.3-korg