From 06787c8539bb770e738b03b6a4724aaaf1aed20c Mon Sep 17 00:00:00 2001 From: David Hill Date: Tue, 16 Nov 2021 10:30:32 -0500 Subject: [PATCH] Add support for powermax. Change-Id: I8cd4eeb1a8dac9d6823b0a05450db5dfc560ea09 Depends-on: https://review.opendev.org/c/openstack/puppet-manila/+/818108 Partial-bug: #1951131 --- .../manila/manila-backend-powermax.yaml | 80 +++++++++++++++++++ environments/manila-powermax-config.yaml | 20 +++++ 2 files changed, 100 insertions(+) create mode 100644 deployment/manila/manila-backend-powermax.yaml create mode 100644 environments/manila-powermax-config.yaml diff --git a/deployment/manila/manila-backend-powermax.yaml b/deployment/manila/manila-backend-powermax.yaml new file mode 100644 index 0000000000..35ec39bea7 --- /dev/null +++ b/deployment/manila/manila-backend-powermax.yaml @@ -0,0 +1,80 @@ +heat_template_version: wallaby + +description: > + Openstack Manila powermax backend. + +parameters: + ManilaPowerMaxBackendName: + type: string + default: tripleo_manila_powermax + ManilaPowerMaxAvailabilityZone: + default: '' + description: > + The availability zone of the PowerMax backend. + When set, it overrides the default ManilaStorageAvailabilityZone. + type: string + ManilaPowerMaxNasLogin: + type: string + default: '' + ManilaPowerMaxNasPassword: + type: string + default: '' + hidden: true + ManilaPowerMaxNasServer: + type: string + default: '' + ManilaPowerMaxServerContainer: + type: string + default: '' + ManilaPowerMaxShareDataPools: + type: string + default: '' + ManilaPowerMaxEthernetPorts: + type: string + default: '' + 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. Use + parameter_merge_strategies to merge it with the defaults. + 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 Manila PowerMax backend. + value: + service_name: manila_backend_powermax + config_settings: + map_merge: + - manila::backend::dellemc_powermax::title: {get_param: ManilaPowerMaxBackendName} + manila::backend::dellemc_powermax::emc_nas_login: {get_param: ManilaPowerMaxNasLogin} + manila::backend::dellemc_powermax::emc_nas_password: {get_param: ManilaPowerMaxNasPassword} + manila::backend::dellemc_powermax::emc_nas_server: {get_param: ManilaPowerMaxNasServer} + manila::backend::dellemc_powermax::emc_share_backend: powermax + manila::backend::dellemc_powermax::powermax_server_container: {get_param: ManilaPowerMaxServerContainer} + manila::backend::dellemc_powermax::powermax_share_data_pools: {get_param: ManilaPowerMaxShareDataPools} + manila::backend::dellemc_powermax::powermax_ethernet_ports: {get_param: ManilaPowerMaxEthernetPorts} + manila::backend::dellemc_powermax::emc_nas_server_secure: {get_param: ManilaPowerMaxNasSecureServer} + manila::backend::dellemc_powermax::emc_ssl_cert_path: {get_param: ManilaPowerMaxSSLCertPath} + manila::backend::dellemc_powermax::emc_ssl_cert_verify: {get_param: ManilaPowerMaxSSLCertVerify} + - if: + - { equals: [ { get_param: ManilaPowerMaxAvailabilityZone }, '' ] } + - { } + - manila::backend::dellemc_powermax::backend_availability_zone: { get_param: ManilaPowerMaxAvailabilityZone } diff --git a/environments/manila-powermax-config.yaml b/environments/manila-powermax-config.yaml new file mode 100644 index 0000000000..b86330cd03 --- /dev/null +++ b/environments/manila-powermax-config.yaml @@ -0,0 +1,20 @@ +# This environment file enables Manila with the PowerMax backend. +resource_registry: + OS::TripleO::Services::ManilaApi: ../deployment/manila/manila-api-container-puppet.yaml + OS::TripleO::Services::ManilaScheduler: ../deployment/manila/manila-scheduler-container-puppet.yaml + # Only manila-share is pacemaker managed: + OS::TripleO::Services::ManilaShare: ../deployment/manila/manila-share-pacemaker-puppet.yaml + OS::TripleO::Services::ManilaBackendPowerMax: ../deployment/manila/manila-backend-powermax.yaml + +parameter_defaults: + ManilaPowerMaxBackendName: tripleo_manila_powermax + ManilaPowerMaxDriverHandlesShareServers: true + ManilaPowerMaxNasLogin: '' + ManilaPowerMaxNasPassword: '' + ManilaPowerMaxNasServer: '' + ManilaPowerMaxServerContainer: '' + ManilaPowerMaxShareDataPools: '' + ManilaPowerMaxEthernetPorts: '' + ManilaPowerMaxNasSecureServer: true + ManilaPowerMaxSSLCertPath: '' + ManilaPowerMaxSSLCertVerify: true