diff --git a/capabilities-map.yaml b/capabilities-map.yaml index 91daa68960..7ae218c7dc 100644 --- a/capabilities-map.yaml +++ b/capabilities-map.yaml @@ -401,6 +401,15 @@ topics: Ceph and CephMDS from TripleO or the use of an external Ceph cluster for the overcloud. requires: - overcloud-resource-registry-puppet.yaml + - title: Manila with Unity + description: > + Deploys Manila and configures it with the Unity driver. + environments: + - file: environments/manila-unity-config.yaml + title: Deploys Manila with Unity driver + description: Deploys Manila and configures Unity as its default backend. + requires: + - overcloud-resource-registry-puppet.yaml - title: Glance backends description: environments: diff --git a/deployed-server/deployed-server-roles-data.yaml b/deployed-server/deployed-server-roles-data.yaml index 4a305c68cc..e01d94a16e 100644 --- a/deployed-server/deployed-server-roles-data.yaml +++ b/deployed-server/deployed-server-roles-data.yaml @@ -83,6 +83,7 @@ - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaBackendGeneric - OS::TripleO::Services::ManilaBackendNetapp + - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaBackendCephFs - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::AodhApi diff --git a/environments/contrail/roles_data_contrail.yaml b/environments/contrail/roles_data_contrail.yaml index dd1c545562..b247ff96df 100644 --- a/environments/contrail/roles_data_contrail.yaml +++ b/environments/contrail/roles_data_contrail.yaml @@ -86,6 +86,7 @@ - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaBackendGeneric - OS::TripleO::Services::ManilaBackendNetapp + - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaBackendCephFs - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::AodhApi diff --git a/environments/manila-unity-config.yaml b/environments/manila-unity-config.yaml new file mode 100644 index 0000000000..418404e1b1 --- /dev/null +++ b/environments/manila-unity-config.yaml @@ -0,0 +1,17 @@ +# This environment file enables Manila with the Unity 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::ManilaBackendUnity: ../puppet/services/manila-backend-unity.yaml + +parameter_defaults: + ManilaUnityBackendName: tripleo_manila_unity + ManilaUnityDriverHandlesShareServers: true + ManilaUnityNasLogin: '' + ManilaUnityNasPassword: '' + ManilaUnityNasServer: '' + ManilaUnityServerMetaPool: '' + ManilaUnityShareDataPools: '' + ManilaUnityEthernetPorts: '' diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index 0f0e9ceb4a..1f3ec13869 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -232,6 +232,7 @@ resource_registry: OS::TripleO::Services::ManilaShare: OS::Heat::None OS::TripleO::Services::ManilaBackendGeneric: OS::Heat::None OS::TripleO::Services::ManilaBackendNetapp: OS::Heat::None + OS::TripleO::Services::ManilaBackendUnity: OS::Heat::None OS::TripleO::Services::ManilaBackendCephFs: OS::Heat::None OS::TripleO::Services::ComputeNeutronL3Agent: OS::Heat::None OS::TripleO::Services::ComputeNeutronMetadataAgent: OS::Heat::None diff --git a/puppet/services/manila-backend-unity.yaml b/puppet/services/manila-backend-unity.yaml new file mode 100644 index 0000000000..9c8310e72b --- /dev/null +++ b/puppet/services/manila-backend-unity.yaml @@ -0,0 +1,74 @@ +heat_template_version: pike + +description: > + Openstack Manila unity backend. + +parameters: + ManilaUnityDriverHandlesShareServers: + type: string + default: true + ManilaUnityBackendName: + type: string + default: tripleo_manila_unity + ManilaUnityNasLogin: + type: string + default: '' + ManilaUnityNasPassword: + type: string + default: '' + ManilaUnityNasServer: + type: string + default: '' + ManilaUnityServerMetaPool: + type: string + default: '' + ManilaUnityShareDataPools: + type: string + default: '' + ManilaUnityEthernetPorts: + 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 Unity backend. + value: + service_name: manila_backend_unity + config_settings: + manila::backend::dellemc_unity::title: {get_param: ManilaUnityBackendName} + manila::backend::dellemc_unity::emc_nas_login: {get_param: ManilaUnityNasLogin} + manila::backend::dellemc_unity::driver_handles_share_servers: {get_param: ManilaUnityDriverHandlesShareServers} + manila::backend::dellemc_unity::emc_nas_password: {get_param: ManilaUnityNasPassword} + manila::backend::dellemc_unity::emc_nas_server: {get_param: ManilaUnityNasServer} + manila::backend::dellemc_unity::emc_share_backend: {'unity'} + manila::backend::dellemc_unity::unity_server_meta_pool: {get_param: ManilaUnityServerMetaPool} + manila::backend::dellemc_unity::unity_share_data_pools: {get_param: ManilaUnityShareDataPools} + manila::backend::dellemc_unity::unity_ethernet_ports: {get_param: ManilaUnityEthernetPorts} + step_config: + diff --git a/releasenotes/notes/unity_manila_1967789872aa11e7.yaml b/releasenotes/notes/unity_manila_1967789872aa11e7.yaml new file mode 100644 index 0000000000..9d9f1f3ca2 --- /dev/null +++ b/releasenotes/notes/unity_manila_1967789872aa11e7.yaml @@ -0,0 +1,3 @@ +features: + - | + Add support for Dell EMC Unity Manila driver diff --git a/roles/Controller.yaml b/roles/Controller.yaml index 93a58df730..8d3edfff87 100644 --- a/roles/Controller.yaml +++ b/roles/Controller.yaml @@ -80,6 +80,7 @@ - OS::TripleO::Services::ManilaBackendCephFs - OS::TripleO::Services::ManilaBackendGeneric - OS::TripleO::Services::ManilaBackendNetapp + - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml index fdbec599a9..3d0551afa4 100644 --- a/roles/ControllerOpenstack.yaml +++ b/roles/ControllerOpenstack.yaml @@ -66,6 +66,7 @@ - OS::TripleO::Services::ManilaBackendCephFs - OS::TripleO::Services::ManilaBackendGeneric - OS::TripleO::Services::ManilaBackendNetapp + - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached diff --git a/roles_data.yaml b/roles_data.yaml index 7799fdae71..f87674bb9d 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -83,6 +83,7 @@ - OS::TripleO::Services::ManilaBackendCephFs - OS::TripleO::Services::ManilaBackendGeneric - OS::TripleO::Services::ManilaBackendNetapp + - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached