diff options
-rw-r--r-- | cinder-storage.yaml | 4 | ||||
-rw-r--r-- | controller.yaml | 10 | ||||
-rw-r--r-- | deprecated/overcloud-source.yaml | 5 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 13 | ||||
-rw-r--r-- | puppet/cinder-storage-puppet.yaml | 16 | ||||
-rw-r--r-- | puppet/controller-puppet.yaml | 16 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 16 | ||||
-rw-r--r-- | puppet/manifests/overcloud_volume.pp | 16 |
8 files changed, 86 insertions, 10 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..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. @@ -129,6 +133,9 @@ parameters: type: string default: '' hidden: true + HeatAuthEncryptionKey: + description: Auth encryption key for heat-engine + type: string Image: type: string default: overcloud-control @@ -457,7 +464,7 @@ resources: admin_password: {get_input: heat_password} admin_tenant_name: service admin_user: heat - auth_encryption_key: unset___________ + auth_encryption_key: {get_input: heat_auth_encryption_key} db: {get_input: heat_dsn} debug: {get_input: debug} stack_domain_admin_password: {get_input: heat_stack_domain_admin_password} @@ -690,6 +697,7 @@ resources: - '/glance' heat_password: {get_param: HeatPassword} heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword} + heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey} heat_dsn: list_join: - '' diff --git a/deprecated/overcloud-source.yaml b/deprecated/overcloud-source.yaml index 91b6b7fd..82fe6755 100644 --- a/deprecated/overcloud-source.yaml +++ b/deprecated/overcloud-source.yaml @@ -475,6 +475,8 @@ resources: SubKey: resources.NovaCompute0PassthroughSpecific parameters: passthrough_config_specific: {get_param: NovaComputeExtraConfig} + HeatAuthEncryptionKey: + type: OS::Heat::RandomString controllerConfig: type: OS::Heat::StructuredConfig properties: @@ -561,7 +563,8 @@ resources: get_param: HeatPassword admin_tenant_name: service admin_user: heat - auth_encryption_key: unset___________ + auth_encryption_key: + get_resource: HeatAuthEncryptionKey db: Fn::Join: - '' diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index c311a479..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 @@ -496,6 +500,9 @@ parameters: resources: + HeatAuthEncryptionKey: + type: OS::Heat::RandomString + Controller: type: OS::Heat::ResourceGroup properties: @@ -510,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} @@ -522,6 +530,7 @@ resources: GlanceLogFile: {get_param: GlanceLogFile} HeatPassword: {get_param: HeatPassword} HeatStackDomainAdminPassword: {get_param: HeatStackDomainAdminPassword} + HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey} Image: {get_param: controllerImage} ImageUpdatePolicy: {get_param: ImageUpdatePolicy} KeyName: {get_param: KeyName} @@ -632,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} @@ -837,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 d838f99b..1892b68f 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. @@ -129,6 +133,9 @@ parameters: type: string default: '' hidden: true + HeatAuthEncryptionKey: + description: Auth encryption key for heat-engine + type: string Image: type: string default: overcloud-control @@ -433,12 +440,14 @@ resources: - - 'http://' - {get_param: VirtualIP} - ':8000/v1/waitcondition' + heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey} admin_password: {get_param: AdminPassword} admin_token: {get_param: AdminToken} neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP} 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 +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} @@ -636,7 +646,7 @@ resources: heat::engine::heat_watch_server_url: {get_input: heat.watch_server_url} heat::engine::heat_metadata_server_url: {get_input: heat.metadata_server_url} heat::engine::heat_waitcondition_server_url: {get_input: heat.waitcondition_server_url} - heat::engine::auth_encryption_key: unset___________ + heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key} heat::rabbit_userid: {get_input: rabbit_username} heat::rabbit_password: {get_input: rabbit_password} heat::rabbit_host: {get_input: controller_virtual_ip} diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index 5b04b6d0..87cc7ec0 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -264,11 +264,25 @@ if hiera('step') >= 3 { 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', |