From 9757cfaeedf05e578e0357769be82d7b125c04ff Mon Sep 17 00:00:00 2001 From: rajinir Date: Fri, 4 Aug 2017 15:56:53 -0500 Subject: Add support for Dell EMC VMAX Manila Backend This change adds support for manila::backend::dellemc_vmax Change-Id: I92e189c8741c496ef6c27130f73829c327a99f1b Implements: blueprint dellemc-vmax-manila (cherry picked from commit 04daabdc8414e4435dc4cd3ccfea9a62b5631261) --- capabilities-map.yaml | 7 ++ deployed-server/deployed-server-roles-data.yaml | 1 + environments/contrail/roles_data_contrail.yaml | 1 + environments/manila-vmax-config.yaml | 19 ++++++ overcloud-resource-registry-puppet.j2.yaml | 1 + puppet/services/manila-backend-vmax.yaml | 74 ++++++++++++++++++++++ .../notes/vmax_manila_2967789872aa11e8.yaml | 4 ++ roles/Controller.yaml | 1 + roles/ControllerOpenstack.yaml | 1 + roles_data.yaml | 1 + 10 files changed, 110 insertions(+) create mode 100644 environments/manila-vmax-config.yaml create mode 100644 puppet/services/manila-backend-vmax.yaml create mode 100644 releasenotes/notes/vmax_manila_2967789872aa11e8.yaml diff --git a/capabilities-map.yaml b/capabilities-map.yaml index 35ff2daa..2c91803b 100644 --- a/capabilities-map.yaml +++ b/capabilities-map.yaml @@ -419,6 +419,13 @@ topics: - file: environments/manila-vnx-config.yaml title: Deploys Manila with VNX driver description: Deploys Manila and configures VNX as its default backend. + - title: Manila with VMAX + description: > + Deploys Manila and configures it with the VMAX driver. + environments: + - file: environments/manila-vmax-config.yaml + title: Deploys Manila with VMAX driver + description: Deploys Manila and configures VMAX as its default backend. requires: - overcloud-resource-registry-puppet.yaml - title: Glance backends diff --git a/deployed-server/deployed-server-roles-data.yaml b/deployed-server/deployed-server-roles-data.yaml index d4bc1df1..3344a812 100644 --- a/deployed-server/deployed-server-roles-data.yaml +++ b/deployed-server/deployed-server-roles-data.yaml @@ -86,6 +86,7 @@ - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaBackendCephFs - OS::TripleO::Services::ManilaBackendVNX + - OS::TripleO::Services::ManilaBackendVMAX - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhEvaluator diff --git a/environments/contrail/roles_data_contrail.yaml b/environments/contrail/roles_data_contrail.yaml index 38b70e53..4b170751 100644 --- a/environments/contrail/roles_data_contrail.yaml +++ b/environments/contrail/roles_data_contrail.yaml @@ -89,6 +89,7 @@ - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaBackendCephFs - OS::TripleO::Services::ManilaBackendVNX + - OS::TripleO::Services::ManilaBackendVMAX - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhEvaluator diff --git a/environments/manila-vmax-config.yaml b/environments/manila-vmax-config.yaml new file mode 100644 index 00000000..8c9946ca --- /dev/null +++ b/environments/manila-vmax-config.yaml @@ -0,0 +1,19 @@ +# This environment file enables Manila with the VMAX backend. +resource_registry: + OS::TripleO::Services::ManilaApi: ../puppet/services/manila-api.yaml + OS::TripleO::Services::ManilaScheduler: ../puppet/services/manila-scheduler.yaml + # Only manila-share is pacemaker managed: + OS::TripleO::Services::ManilaShare: ../puppet/services/pacemaker/manila-share.yaml + OS::TripleO::Services::ManilaBackendVMAX: ../puppet/services/manila-backend-vmax.yaml + +parameter_defaults: + ManilaVMAXBackendName: tripleo_manila_vmax + ManilaVMAXDriverHandlesShareServers: true + ManilaVMAXNasLogin: '' + ManilaVMAXNasPassword: '' + ManilaVMAXNasServer: '' + ManilaVMAXServerContainer: '' + ManilaVMAXShareDataPools: '' + ManilaVMAXEthernetPorts: '' + + diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index b8819e74..bc14adb0 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -233,6 +233,7 @@ resource_registry: OS::TripleO::Services::ManilaBackendGeneric: OS::Heat::None OS::TripleO::Services::ManilaBackendNetapp: OS::Heat::None OS::TripleO::Services::ManilaBackendUnity: OS::Heat::None + OS::TripleO::Services::ManilaBackendVMAX: OS::Heat::None OS::TripleO::Services::ManilaBackendCephFs: OS::Heat::None OS::TripleO::Services::ManilaBackendVNX: OS::Heat::None OS::TripleO::Services::ComputeNeutronL3Agent: OS::Heat::None diff --git a/puppet/services/manila-backend-vmax.yaml b/puppet/services/manila-backend-vmax.yaml new file mode 100644 index 00000000..cdd32f5d --- /dev/null +++ b/puppet/services/manila-backend-vmax.yaml @@ -0,0 +1,74 @@ +heat_template_version: pike + +description: > + Openstack Manila vmax backend. + +parameters: + ManilaVMAXDriverHandlesShareServers: + type: string + default: false + ManilaVMAXBackendName: + type: string + default: tripleo_manila_vmax + ManilaVMAXNasLogin: + type: string + default: '' + ManilaVMAXNasPassword: + type: string + default: '' + ManilaVMAXNasServer: + type: string + default: '' + ManilaVMAXServerContainer: + type: string + default: '' + ManilaVMAXShareDataPools: + type: string + default: '' + ManilaVMAXEthernetPorts: + 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. 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 Manila VMAX backend. + value: + service_name: manila_backend_vmax + config_settings: + manila::backend::dellemc_vmax::title: {get_param: ManilaVMAXBackendName} + manila::backend::dellemc_vmax::emc_nas_login: {get_param: ManilaVMAXNasLogin} + manila::backend::dellemc_vmax::driver_handles_share_servers: {get_param: ManilaVMAXDriverHandlesShareServers} + manila::backend::dellemc_vmax::emc_nas_password: {get_param: ManilaVMAXNasPassword} + manila::backend::dellemc_vmax::emc_nas_server: {get_param: ManilaVMAXNasServer} + manila::backend::dellemc_vmax::emc_share_backend: {'vmax'} + manila::backend::dellemc_vmax::vmax_server_container: {get_param: ManilaVMAXServerContainer} + manila::backend::dellemc_vmax::vmax_share_data_pools: {get_param: ManilaVMAXShareDataPools} + manila::backend::dellemc_vmax::vmax_ethernet_ports: {get_param: ManilaVMAXEthernetPorts} + step_config: + diff --git a/releasenotes/notes/vmax_manila_2967789872aa11e8.yaml b/releasenotes/notes/vmax_manila_2967789872aa11e8.yaml new file mode 100644 index 00000000..9f2a7a64 --- /dev/null +++ b/releasenotes/notes/vmax_manila_2967789872aa11e8.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + Add support for Dell EMC VMAX Manila driver diff --git a/roles/Controller.yaml b/roles/Controller.yaml index e10ff859..603aec9d 100644 --- a/roles/Controller.yaml +++ b/roles/Controller.yaml @@ -85,6 +85,7 @@ - OS::TripleO::Services::ManilaBackendNetapp - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaBackendVNX + - OS::TripleO::Services::ManilaBackendVMAX - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml index c2130011..22ae5a9c 100644 --- a/roles/ControllerOpenstack.yaml +++ b/roles/ControllerOpenstack.yaml @@ -69,6 +69,7 @@ - OS::TripleO::Services::ManilaBackendNetapp - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaBackendVNX + - OS::TripleO::Services::ManilaBackendVMAX - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached diff --git a/roles_data.yaml b/roles_data.yaml index 6c2a8ebd..d4a928c2 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -88,6 +88,7 @@ - OS::TripleO::Services::ManilaBackendNetapp - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaBackendVNX + - OS::TripleO::Services::ManilaBackendVMAX - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached -- cgit 1.2.3-korg