diff options
-rw-r--r-- | cinder-storage.yaml | 4 | ||||
-rw-r--r-- | controller.yaml | 4 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 9 | ||||
-rw-r--r-- | puppet/cinder-storage-puppet.yaml | 16 | ||||
-rw-r--r-- | puppet/controller-puppet.yaml | 10 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 16 | ||||
-rw-r--r-- | puppet/manifests/overcloud_volume.pp | 16 |
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 0f69d23a..2dcfb50e 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 10a8a7fa..c54248d5 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 @@ -513,6 +517,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} @@ -636,6 +641,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} @@ -841,7 +848,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 ae14910b..76e5483a 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. @@ -443,6 +447,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: @@ -606,14 +611,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', |