aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--environments/manila-generic-config.yaml13
-rw-r--r--environments/manila-netapp-config.yaml30
-rw-r--r--overcloud-resource-registry-puppet.yaml2
-rw-r--r--puppet/services/manila-backend-generic.yaml93
-rw-r--r--puppet/services/manila-backend-netapp.yaml112
-rw-r--r--puppet/services/manila-base.yaml66
-rw-r--r--roles_data.yaml2
7 files changed, 245 insertions, 73 deletions
diff --git a/environments/manila-generic-config.yaml b/environments/manila-generic-config.yaml
index 74011c66..a847a02b 100644
--- a/environments/manila-generic-config.yaml
+++ b/environments/manila-generic-config.yaml
@@ -1,13 +1,16 @@
-# A Heat environment file which can be used to enable a
-# a Manila generic driver backend.
+# This environment file enables Manila with the Generic 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::ManilaBackendGeneric: ../puppet/services/manila-backend-generic.yaml
parameter_defaults:
+ ManilaServiceInstanceUser: ''
+ ManilaServiceInstancePassword: ''
+ ManilaServiceInstanceFlavorId: 2
+ ManilaServiceNetworkCidr: '172.16.0.0/16'
ManilaGenericEnableBackend: true
ManilaGenericBackendName: tripleo_generic
ManilaGenericDriverHandlesShareServers: true
@@ -20,7 +23,3 @@ parameter_defaults:
ManilaGenericServiceInstanceSmbConfigPath: '$share_mount_path/smb.conf'
ManilaGenericShareVolumeFsType: 'ext4'
ManilaGenericCinderVolumeType: ''
- ManilaGenericServiceInstanceUser: ''
- ManilaGenericServiceInstancePassword: ''
- ManilaGenericServiceInstanceFlavorId: 2
- ManilaGenericServiceNetworkCidr: '172.16.0.0/16'
diff --git a/environments/manila-netapp-config.yaml b/environments/manila-netapp-config.yaml
new file mode 100644
index 00000000..98de6adf
--- /dev/null
+++ b/environments/manila-netapp-config.yaml
@@ -0,0 +1,30 @@
+# This environment file enables Manila with the Netapp 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::ManilaBackendNetapp: ../puppet/services/manila-backend-netapp.yaml
+
+parameter_defaults:
+ ManilaNetappEnableBackend: true
+ ManilaNetappBackendName: tripleo_netapp
+ ManilaNetappDriverHandlesShareServers: true
+ ManilaNetappLogin: ''
+ ManilaNetappPassword: ''
+ ManilaNetappServerHostname: ''
+ ManilaNetappTransportType: 'http'
+ ManilaNetappStorageFamily: 'ontap_cluster'
+ ManilaNetappServerPort: 80
+ ManilaNetappVolumeNameTemplate: 'share_%(share_id)s'
+ ManilaNetappVserver: ''
+ ManilaNetappVserverNameTemplate: 'os_%s'
+ ManilaNetappLifNameTemplate: 'os_%(net_allocation_id)s'
+ ManilaNetappAggrNameSearchPattern: '(.*)'
+ ManilaNetappRootVolumeAggr: ''
+ ManilaNetappRootVolume: 'root'
+ ManilaNetappPortNameSearchPattern: '(.*)'
+ ManilaNetappTraceFlags: ''
+ ManilaNetappEnabledShareProtocols: 'nfs3, nfs4.0'
+ ManilaNetappVolumeSnapshotReservePercent: 5
+ ManilaNetappSnapmirrorQuiesceTimeout: 3600
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index c3729ca5..45c15fc1 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -214,6 +214,8 @@ resource_registry:
OS::Tripleo::Services::ManilaApi: OS::Heat::None
OS::Tripleo::Services::ManilaScheduler: OS::Heat::None
OS::Tripleo::Services::ManilaShare: OS::Heat::None
+ OS::Tripleo::Services::ManilaBackendGeneric: OS::Heat::None
+ OS::Tripleo::Services::ManilaBackendNetapp: OS::Heat::None
OS::TripleO::Services::ComputeNeutronL3Agent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronMetadataAgent: OS::Heat::None
OS::TripleO::Services::AodhApi: puppet/services/aodh-api.yaml
diff --git a/puppet/services/manila-backend-generic.yaml b/puppet/services/manila-backend-generic.yaml
new file mode 100644
index 00000000..5c001c82
--- /dev/null
+++ b/puppet/services/manila-backend-generic.yaml
@@ -0,0 +1,93 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Openstack Manila generic backend.
+
+parameters:
+ ManilaGenericEnableBackend:
+ type: boolean
+ default: false
+ ManilaGenericBackendName:
+ type: string
+ default: tripleo_generic
+ ManilaGenericDriverHandlesShareServers:
+ type: string
+ default: true
+ ManilaGenericSmbTemplateConfigPath:
+ type: string
+ default: '$state_path/smb.conf'
+ ManilaGenericVolumeNameTemplate:
+ type: string
+ default: 'manila-share-%s'
+ ManilaGenericVolumeSnapshotNameTemplate:
+ type: string
+ default: 'manila-snapshot-%s'
+ ManilaGenericShareMountPath:
+ type: string
+ default: '/shares'
+ ManilaGenericMaxTimeToCreateVolume:
+ type: string
+ default: '180'
+ ManilaGenericMaxTimeToAttach:
+ type: string
+ default: '120'
+ ManilaGenericServiceInstanceSmbConfigPath:
+ type: string
+ default: '$share_mount_path/smb.conf'
+ ManilaGenericShareVolumeFsType:
+ type: string
+ default: 'ext4'
+ ManilaGenericCinderVolumeType:
+ type: string
+ default: ''
+ ManilaServiceInstanceUser:
+ type: string
+ default: ''
+ ManilaServiceInstancePassword: #SET THIS via parameter_defaults
+ type: string
+ hidden: true
+ ManilaServiceInstanceFlavorId:
+ type: number
+ default: 1
+ ManilaServiceNetworkCidr:
+ type: string
+ default: '172.16.0.0/16'
+ 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
+ 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 Generic backend.
+ value:
+ service_name: manila_backend_generic
+ config_settings:
+ manila_generic_enable_backend: {get_param: ManilaGenericEnableBackend}
+ manila::backend::generic::title: {get_param: ManilaGenericBackendName}
+ manila::backend::generic::driver_handles_share_servers: {get_param: ManilaGenericDriverHandlesShareServers}
+ manila::backend::generic::smb_template_config_path: {get_param: ManilaGenericSmbTemplateConfigPath}
+ manila::backend::generic::volume_name_template: {get_param: ManilaGenericVolumeNameTemplate}
+ manila::backend::generic::volume_snapshot_name_template: {get_param: ManilaGenericVolumeSnapshotNameTemplate}
+ manila::backend::generic::share_mount_path: {get_param: ManilaGenericShareMountPath}
+ manila::backend::generic::max_time_to_create_volume: {get_param: ManilaGenericMaxTimeToCreateVolume}
+ manila::backend::generic::max_time_to_attach: {get_param: ManilaGenericMaxTimeToAttach}
+ manila::backend::generic::service_instance_smb_config_path: {get_param: ManilaGenericServiceInstanceSmbConfigPath}
+ manila::backend::generic::share_volume_fstype: {get_param: ManilaGenericShareVolumeFsType}
+ manila::backend::generic::cinder_volume_type: {get_param: ManilaGenericCinderVolumeType}
+ manila::service_instance::service_instance_user: {get_param: ManilaServiceInstanceUser}
+ manila::service_instance::service_instance_password: {get_param: ManilaServiceInstancePassword}
+ manila::service_instance::service_instance_flavor_id: {get_param: ManilaServiceInstanceFlavorId}
+ manila::service_instance::service_network_cidr: {get_param: ManilaServiceNetworkCidr}
+
+ step_config:
diff --git a/puppet/services/manila-backend-netapp.yaml b/puppet/services/manila-backend-netapp.yaml
new file mode 100644
index 00000000..c95a8da7
--- /dev/null
+++ b/puppet/services/manila-backend-netapp.yaml
@@ -0,0 +1,112 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Openstack Manila netapp backend.
+
+parameters:
+ ManilaNetappEnableBackend:
+ type: boolean
+ default: false
+ ManilaNetappDriverHandlesShareServers:
+ type: string
+ default: true
+ ManilaNetappBackendName:
+ type: string
+ default: tripleo_netapp
+ ManilaNetappLogin:
+ type: string
+ default: ''
+ ManilaNetappPassword:
+ type: string
+ default: ''
+ ManilaNetappServerHostname:
+ type: string
+ default: ''
+ ManilaNetappTransportType:
+ type: string
+ default: 'http'
+ ManilaNetappStorageFamily:
+ type: string
+ default: 'ontap_cluster'
+ ManilaNetappServerPort:
+ type: number
+ default: 80
+ ManilaNetappVolumeNameTemplate:
+ type: string
+ default: 'share_%(share_id)s'
+ ManilaNetappVserver:
+ type: string
+ default: ''
+ ManilaNetappVserverNameTemplate:
+ type: string
+ default: 'os_%s'
+ ManilaNetappLifNameTemplate:
+ type: string
+ default: 'os_%(net_allocation_id)s'
+ ManilaNetappAggrNameSearchPattern:
+ type: string
+ default: '(.*)'
+ ManilaNetappRootVolumeAggr:
+ type: string
+ default: ''
+ ManilaNetappRootVolume:
+ type: string
+ default: 'root'
+ ManilaNetappPortNameSearchPattern:
+ type: string
+ default: '(.*)'
+ ManilaNetappTraceFlags:
+ type: string
+ default: ''
+ ManilaNetappEnabledShareProtocols:
+ type: string
+ default: 'nfs3, nfs4.0'
+ ManilaNetappVolumeSnapshotReservePercent:
+ type: number
+ default: 5
+ ManilaNetappSnapmirrorQuiesceTimeout:
+ type: number
+ default: 3600
+ 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
+ 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 Netapp backend.
+ value:
+ service_name: manila_backend_netapp
+ config_settings:
+ manila_netapp_enable_backend: {get_param: ManilaNetappEnableBackend}
+ manila::backend::netapp::title: {get_param: ManilaNetappBackendName}
+ manila::backend::netapp::netapp_login: {get_param: ManilaNetappLogin}
+ manila::backend::netapp::driver_handles_share_servers: {get_param: ManilaNetappDriverHandlesShareServers}
+ manila::backend::netapp::netapp_password: {get_param: ManilaNetappPassword}
+ manila::backend::netapp::netapp_server_hostname: {get_param: ManilaNetappServerHostname}
+ manila::backend::netapp::netapp_transport_type: {get_param: ManilaNetappTransportType}
+ manila::backend::netapp::netapp_storage_family: {get_param: ManilaNetappStorageFamily}
+ manila::backend::netapp::netapp_server_port: {get_param: ManilaNetappServerPort}
+ manila::backend::netapp::netapp_volume_name_template: {get_param: ManilaNetappVolumeNameTemplate}
+ manila::backend::netapp::netapp_vserver: {get_param: ManilaNetappVserver}
+ manila::backend::netapp::netapp_vserver_name_template: {get_param: ManilaNetappVserverNameTemplate}
+ manila::backend::netapp::netapp_lif_name_template: {get_param: ManilaNetappLifNameTemplate}
+ manila::backend::netapp::netapp_aggregate_name_search_pattern: {get_param: ManilaNetappAggrNameSearchPattern}
+ manila::backend::netapp::netapp_root_volume_aggregate: {get_param: ManilaNetappRootVolumeAggr}
+ manila::backend::netapp::netapp_root_volume: {get_param: ManilaNetappRootVolume}
+ manila::backend::netapp::netapp_port_name_search_pattern: {get_param: ManilaNetappPortNameSearchPattern}
+ manila::backend::netapp::netapp_trace_flags: {get_param: ManilaNetappTraceFlags}
+ manila::backend::netapp::netapp_enabled_share_protocols: {get_param: ManilaNetappEnabledShareProtocols}
+ manila::backend::netapp::netapp_volume_snapshot_reserve_percent: {get_param: ManilaNetappVolumeSnapshotReservePercent}
+ manila::backend::netapp::netapp_snapmirror_quiesce_timeout: {get_param: ManilaNetappSnapmirrorQuiesceTimeout}
+ step_config:
diff --git a/puppet/services/manila-base.yaml b/puppet/services/manila-base.yaml
index 78bf1c63..f4ec88c1 100644
--- a/puppet/services/manila-base.yaml
+++ b/puppet/services/manila-base.yaml
@@ -40,55 +40,6 @@ parameters:
default: 5672
description: Set rabbit subscriber port, change this if using SSL
type: number
- # Config specific parameters, to be provided via parameter_defaults
- ManilaGenericEnableBackend:
- type: boolean
- default: true
- ManilaGenericBackendName:
- type: string
- default: tripleo_generic
- ManilaGenericDriverHandlesShareServers:
- type: string
- default: true
- ManilaGenericSmbTemplateConfigPath:
- type: string
- default: '$state_path/smb.conf'
- ManilaGenericVolumeNameTemplate:
- type: string
- default: 'manila-share-%s'
- ManilaGenericVolumeSnapshotNameTemplate:
- type: string
- default: 'manila-snapshot-%s'
- ManilaGenericShareMountPath:
- type: string
- default: '/shares'
- ManilaGenericMaxTimeToCreateVolume:
- type: string
- default: '180'
- ManilaGenericMaxTimeToAttach:
- type: string
- default: '120'
- ManilaGenericServiceInstanceSmbConfigPath:
- type: string
- default: '$share_mount_path/smb.conf'
- ManilaGenericShareVolumeFsType:
- type: string
- default: 'ext4'
- ManilaGenericCinderVolumeType:
- type: string
- default: ''
- ManilaGenericServiceInstanceUser:
- type: string
- default: ''
- ManilaGenericServiceInstancePassword: #SET THIS via parameter_defaults
- type: string
- hidden: true
- ManilaGenericServiceInstanceFlavorId:
- type: number
- default: 1
- ManilaGenericServiceNetworkCidr:
- type: string
- default: '172.16.0.0/16'
outputs:
role_data:
@@ -106,23 +57,6 @@ outputs:
manila::db::mysql::dbname: manila
manila::db::database_db_max_retries: -1
manila::db::database_max_retries: -1
- manila_generic_enable_backend: {get_param: ManilaGenericEnableBackend}
- manila::backend::generic::title: {get_param: ManilaGenericBackendName}
- manila::backend::generic::driver_handles_share_servers: {get_param: ManilaGenericDriverHandlesShareServers}
- manila::backend::generic::smb_template_config_path: {get_param: ManilaGenericSmbTemplateConfigPath}
- manila::backend::generic::volume_name_template: {get_param: ManilaGenericVolumeNameTemplate}
- manila::backend::generic::volume_snapshot_name_template: {get_param: ManilaGenericVolumeSnapshotNameTemplate}
- manila::backend::generic::share_mount_path: {get_param: ManilaGenericShareMountPath}
- manila::backend::generic::max_time_to_create_volume: {get_param: ManilaGenericMaxTimeToCreateVolume}
- manila::backend::generic::max_time_to_attach: {get_param: ManilaGenericMaxTimeToAttach}
- manila::backend::generic::service_instance_smb_config_path: {get_param: ManilaGenericServiceInstanceSmbConfigPath}
- manila::backend::generic::share_volume_fstype: {get_param: ManilaGenericShareVolumeFsType}
- manila::backend::generic::cinder_volume_type: {get_param: ManilaGenericCinderVolumeType}
- manila::service_instance::service_instance_user: {get_param: ManilaGenericServiceInstanceUser}
- manila::service_instance::service_instance_password: {get_param: ManilaGenericServiceInstancePassword}
- manila::service_instance::service_instance_flavor_id: {get_param: ManilaGenericServiceInstanceFlavorId}
- manila::service_instance::service_network_cidr: {get_param: ManilaGenericServiceNetworkCidr}
manila::db::mysql::allowed_hosts:
- '%'
- "%{hiera('mysql_bind_host')}"
-
diff --git a/roles_data.yaml b/roles_data.yaml
index 61753563..a349ca72 100644
--- a/roles_data.yaml
+++ b/roles_data.yaml
@@ -52,6 +52,8 @@
- OS::TripleO::Services::GnocchiStatsd
- OS::Tripleo::Services::ManilaApi
- OS::Tripleo::Services::ManilaScheduler
+ - OS::Tripleo::Services::ManilaBackendGeneric
+ - OS::Tripleo::Services::ManilaBackendNetapp
- OS::Tripleo::Services::ManilaShare
- OS::TripleO::Services::AodhApi
- OS::TripleO::Services::AodhEvaluator