Browse Source

Merge "Support for Dell EMC VXFlexOS Backend" into stable/ussuri

changes/11/735511/1
Zuul 3 weeks ago
committed by Gerrit Code Review
parent
commit
eeb8857f39
11 changed files with 195 additions and 0 deletions
  1. +148
    -0
      deployment/cinder/cinder-backend-dellemc-vxflexos-puppet.yaml
  2. +35
    -0
      environments/cinder-dellemc-vxflexos-config.yaml
  3. +1
    -0
      overcloud-resource-registry-puppet.j2.yaml
  4. +4
    -0
      releasenotes/notes/vxflexos-driver-bec8e372280c44e6.yaml
  5. +1
    -0
      roles/Controller.yaml
  6. +1
    -0
      roles/ControllerNoCeph.yaml
  7. +1
    -0
      roles/ControllerNovaStandalone.yaml
  8. +1
    -0
      roles/ControllerStorageDashboard.yaml
  9. +1
    -0
      roles/ControllerStorageNfs.yaml
  10. +1
    -0
      roles/Standalone.yaml
  11. +1
    -0
      roles_data.yaml

+ 148
- 0
deployment/cinder/cinder-backend-dellemc-vxflexos-puppet.yaml View File

@@ -0,0 +1,148 @@
# Copyright (c) 2020 Dell Inc, or its subsidiaries.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
heat_template_version: rocky

description: >
Openstack Cinder Dell EMC VxFlexOS backend

parameters:
CinderEnableVxFlexOSBackend:
type: boolean
default: true
CinderVxFlexOSBackendName:
type: string
default: 'tripleo_dellemc_VxFlexOS'
CinderVxFlexOSAvailabilityZone:
default: ''
description: >
The availability zone of the VxFlexOS Cinder backend.
When set, it overrides the default CinderStorageAvailabilityZone.
type: string
CinderVxFlexOSSanIp:
type: string
description: VxFlexOS Gateway server IP
CinderVxFlexOSSanLogin:
type: string
description: VxFlexOS user credentials.
CinderVxFlexOSSanPassword:
type: string
hidden: true
description: VxFlexOS user password.
CinderVxFlexOSStoragePools:
type: string
description: >
Storage Pools. Comma separated list of storage pools used to provide
volumes. Each pool should be specified as a
protection_domain_name:storage_pool_name value
CinderVxFlexOSAllowMigrationDuringRebuild:
type: boolean
default: false
description: Allow volume migration during rebuild.
CinderVxFlexOSAllowNonPaddedVolumes:
type: boolean
default: false
description: >
Allow volumes to be created in Storage Pools when zero padding is
disabled. This option should not be enabled if multiple tenants will
utilize volumes from a shared Storage Pool.
CinderVxFlexOSMaxOverSubscriptionRatio:
type: number
default: 10.0
description: Maximum value allowed is 10.0.
CinderVxFlexOSRestServerPort:
type: number
default: 443
description: (Port(min=0, max=65535)) VxFlexOS Gateway REST server port.
CinderVxFlexOSRoundVolumeCapacity:
type: boolean
default: true
description: >
Round volume sizes up to 8GB boundaries. VxFlex OS requires volumes to be
sized in multiples of 8GB. If set to False, volume creation will fail for
volumes not sized properly.
CinderVxFlexOSServerApiVersion:
type: string
default: ''
description: VxFlexOS API version.
CinderVxFlexOSUnmapVolumeBeforeDeletion:
type: boolean
default: false
description: Unmap volumes before deletion.
CinderVxFlexOSSanThinProvision:
type: boolean
default: true
description: Wheater to use thin provisioning or not.
CinderVxFlexOSDriverSSLCertVerify:
type: boolean
default: false
description: Verify the server certificate.
CinderVxFlexOSDriverSSLCertPath:
type: string
default: ''
description: Server certificate path.
ServiceData:
default: {}
description: Dictionary packing service data
type: json
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
type: json
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.

outputs:
role_data:
description: Role data for the Cinder Dell EMC VxFlexOS backend.
value:
service_name: cinder_backend_vxflexos
config_settings:
map_merge:
- tripleo::profile::base::cinder::volume::cinder_enable_VxFlexOS_backend: {get_param: CinderEnableVxFlexOSBackend}
cinder::backend::dellemc_vxflexos::volume_backend_name: {get_param: CinderVxFlexOSBackendName}
cinder::backend::dellemc_vxflexos::san_login: {get_param: CinderVxFlexOSSanLogin}
cinder::backend::dellemc_vxflexos::san_password: {get_param: CinderVxFlexOSSanPassword}
cinder::backend::dellemc_vxflexos::san_ip: {get_param: CinderVxFlexOSSanIp}
cinder::backend::dellemc_vxflexos::vxflexos_storage_pools: {get_param: CinderVxFlexOSStoragePools}
cinder::backend::dellemc_vxflexos::vxflexos_allow_migration_during_rebuild: {get_param: CinderVxFlexOSAllowMigrationDuringRebuild}
cinder::backend::dellemc_vxflexos::vxflexos_allow_non_padded_volumes: {get_param: CinderVxFlexOSAllowNonPaddedVolumes}
cinder::backend::dellemc_vxflexos::vxflexos_max_over_subscription_ratio: {get_param: CinderVxFlexOSMaxOverSubscriptionRatio}
cinder::backend::dellemc_vxflexos::vxflexos_rest_server_port: {get_param: CinderVxFlexOSRestServerPort}
cinder::backend::dellemc_vxflexos::vxflexos_round_volume_capacity: {get_param: CinderVxFlexOSRoundVolumeCapacity}
cinder::backend::dellemc_vxflexos::vxflexos_server_api_version: {get_param: CinderVxFlexOSRoundVolumeCapacity}
cinder::backend::dellemc_vxflexos::vxflexos_unmap_volume_before_deletion: {get_param: CinderVxFlexOSUnmapVolumeBeforeDeletion}
cinder::backend::dellemc_vxflexos::san_thin_provision: {get_param: CinderVxFlexOSSanThinProvision}
cinder::backend::dellemc_vxflexos::driver_ssl_cert_verify: {get_param: CinderVxFlexOSDriverSSLCertVerify}
cinder::backend::dellemc_vxflexos::driver_ssl_cert_path: {get_param: CinderVxFlexOSDriverSSLCertPath}
-
if:
- {equals : [{get_param: CinderVxFlexOSAvailabilityZone}, '']}
- {}
- cinder::backend::dellemc_vxflexos::backend_availability_zone: {get_param: CinderVxFlexOSAvailabilityZone}

+ 35
- 0
environments/cinder-dellemc-vxflexos-config.yaml View File

@@ -0,0 +1,35 @@
# Copyright (c) 2020 Dell Inc, or its subsidiaries.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# A Heat environment file which can be used to enable a
# a Cinder Dell EMC VxFlexOS backend, configured via puppet
resource_registry:
OS::TripleO::Services::CinderBackendVxFlexOS: ../deployment/cinder/cinder-backend-vxflexos-puppet.yaml

parameter_defaults:
CinderEnableVxFlexOSBackend: true
CinderVxFlexOSBackendName: 'tripleo_dellemc_vxflexos'
CinderVxFlexOSSanIp: ''
CinderVxFlexOSSanLogin: ''
CinderVxFlexOSSanPassword: ''
CinderVxFlexOSStoragePools: 'domain1:pool1'
CinderVxFlexOSAllowMigrationDuringRebuild: false
CinderVxFlexOSAllowNonPaddedVolumes: false
CinderVxFlexOSMaxOverSubscriptionRatio: 7.0
CinderVxFlexOSRestServerPort: 443
CinderVxFlexOSServerApiVersion: ''
CinderVxFlexOSUnmapVolumeBeforeDeletion: false
CinderVxFlexOSSanThinProvision: true
CinderVxFlexOSDriverSSLCertVerify: false
CinderVxFlexOSDriverSSLCertPath: ''

+ 1
- 0
overcloud-resource-registry-puppet.j2.yaml View File

@@ -278,6 +278,7 @@ resource_registry:
OS::TripleO::Services::CinderBackendDellEMCUnity: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCVNX: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCVxFlexOS: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCXtremio: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI: OS::Heat::None
OS::TripleO::Services::CinderBackendNetApp: OS::Heat::None


+ 4
- 0
releasenotes/notes/vxflexos-driver-bec8e372280c44e6.yaml View File

@@ -0,0 +1,4 @@
---
features:
- Added support for VxFlexOS cinder block
storage backend driver

+ 1
- 0
roles/Controller.yaml View File

@@ -63,6 +63,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCVxFlexOS
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI
- OS::TripleO::Services::CinderBackendNetApp


+ 1
- 0
roles/ControllerNoCeph.yaml View File

@@ -55,6 +55,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCVxFlexOS
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI
- OS::TripleO::Services::CinderBackendNetApp


+ 1
- 0
roles/ControllerNovaStandalone.yaml View File

@@ -48,6 +48,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCVxFlexOS
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI
- OS::TripleO::Services::CinderBackendNetApp


+ 1
- 0
roles/ControllerStorageDashboard.yaml View File

@@ -64,6 +64,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCVxFlexOS
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI
- OS::TripleO::Services::CinderBackendNetApp


+ 1
- 0
roles/ControllerStorageNfs.yaml View File

@@ -65,6 +65,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCVxFlexOS
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI
- OS::TripleO::Services::CinderBackendNetApp


+ 1
- 0
roles/Standalone.yaml View File

@@ -54,6 +54,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCVxFlexOS
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI
- OS::TripleO::Services::CinderBackendDellSc


+ 1
- 0
roles_data.yaml View File

@@ -66,6 +66,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCVxFlexOS
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI
- OS::TripleO::Services::CinderBackendNetApp


Loading…
Cancel
Save