Browse Source

Add support for NVMeOF cinder backend

Change-Id: I2ee3b44fc4a7bede635b0bfcacd1dab8547d123a
changes/72/559572/10
Hamdy Khader 4 years ago
parent
commit
afcf2c71e3
  1. 4
      capabilities-map.yaml
  2. 22
      environments/cinder-nvmeof-config.yaml
  3. 1
      overcloud-resource-registry-puppet.j2.yaml
  4. 76
      puppet/services/cinder-backend-nvmeof.yaml
  5. 4
      releasenotes/notes/add-cinder-backend-nvmeof-023d967980fcf7b8.yaml
  6. 1
      roles/Controller.yaml
  7. 1
      roles/ControllerNoCeph.yaml
  8. 1
      roles_data.yaml

4
capabilities-map.yaml

@ -390,6 +390,10 @@ topics:
configured via puppet
requires:
- overcloud-resource-registry-puppet.yaml
- file: environments/cinder-nvmeof-config.yaml
title: Cinder NVMeOF backend
description: >
Enable a Cinder NVMeOF backend, configured via puppet
- title: Cinder backup service
description:
environments:

22
environments/cinder-nvmeof-config.yaml

@ -0,0 +1,22 @@
# A Heat environment file which can be used to enable a
# Cinder NVMeOF backend, configured via puppet
resource_registry:
OS::TripleO::Services::CinderBackendNVMeOF: ../puppet/services/cinder-backend-nvmeof.yaml
parameter_defaults:
CinderNVMeOFBackendName: 'tripleo_nvmeof'
CinderNVMeOFTargetPort: 4460
CinderNVMeOFTargetHelper: 'nvmet'
CinderNVMeOFTargetProtocol: 'nvmet_rdma'
CinderNVMeOFTargetPrefix: 'nvme-subsystem'
CinderNVMeOFTargetPortId: 1
CinderNVMeOFTargetNameSpaceId: 10
ControllerParameters:
ExtraKernelModules:
nvmet: {}
nvmet-rdma: {}
ComputeParameters:
ExtraKernelModules:
nvme: {}
nvme-rdma: {}

1
overcloud-resource-registry-puppet.j2.yaml

@ -307,6 +307,7 @@ resource_registry:
OS::TripleO::Services::CinderBackendNetApp: OS::Heat::None
OS::TripleO::Services::CinderBackendScaleIO: OS::Heat::None
OS::TripleO::Services::CinderBackendVRTSHyperScale: OS::Heat::None
OS::TripleO::Services::CinderBackendNVMeOF: OS::Heat::None
OS::TripleO::Services::CinderHPELeftHandISCSI: OS::Heat::None
OS::TripleO::Services::Etcd: OS::Heat::None
OS::TripleO::Services::Ec2Api: OS::Heat::None

76
puppet/services/cinder-backend-nvmeof.yaml

@ -0,0 +1,76 @@
heat_template_version: queens
description: >
Openstack Cinder NVMeOF backend
parameters:
CinderNVMeOFBackendName:
type: string
default: 'tripleo_nvmeof'
CinderNVMeOFTargetPort:
type: number
default: 4460
CinderNVMeOFTargetHelper:
type: string
default: 'nvmet'
CinderNVMeOFTargetProtocol:
type: string
default: 'nvmet_rdma'
CinderNVMeOFTargetPrefix:
type: string
default: 'nvme-subsystem'
CinderNVMeOFTargetPortId:
type: number
default: 1
CinderNVMeOFTargetNameSpaceId:
type: number
default: 10
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 NVMeOF backend.
value:
service_name: cinder_backend_nvmeof
config_settings:
tripleo::profile::base::cinder::volume::cinder_enable_nvmeof_backend: true
tripleo::profile::base::cinder::volume::nvmeof::volume_backend_name: {get_param: CinderNVMeOFBackendName}
tripleo::profile::base::cinder::volume::nvmeof::target_port: {get_param: CinderNVMeOFTargetPort}
tripleo::profile::base::cinder::volume::nvmeof::target_helper: {get_param: CinderNVMeOFTargetHelper}
tripleo::profile::base::cinder::volume::nvmeof::target_protocol: {get_param: CinderNVMeOFTargetProtocol}
tripleo::profile::base::cinder::volume::nvmeof::target_prefix: {get_param: CinderNVMeOFTargetPrefix}
tripleo::profile::base::cinder::volume::nvmeof::nvmet_port_id: {get_param: CinderNVMeOFTargetPortId}
tripleo::profile::base::cinder::volume::nvmeof::nvmet_ns_id: {get_param: CinderNVMeOFTargetNameSpaceId}
tripleo::profile::base::cinder::volume::nvmeof::target_ip_address:
str_replace:
template:
"%{hiera('$NETWORK')}"
params:
$NETWORK: {get_param: [ServiceNetMap, CinderIscsiNetwork]}
step_config: |
include ::tripleo::profile::base::cinder::volume

4
releasenotes/notes/add-cinder-backend-nvmeof-023d967980fcf7b8.yaml

@ -0,0 +1,4 @@
---
features:
- |
Add NVMeOF as Cinder backend.

1
roles/Controller.yaml

@ -61,6 +61,7 @@
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendScaleIO
- OS::TripleO::Services::CinderBackendVRTSHyperScale
- OS::TripleO::Services::CinderBackendNVMeOF
- OS::TripleO::Services::CinderBackup
- OS::TripleO::Services::CinderHPELeftHandISCSI
- OS::TripleO::Services::CinderScheduler

1
roles/ControllerNoCeph.yaml

@ -54,6 +54,7 @@
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendScaleIO
- OS::TripleO::Services::CinderBackendVRTSHyperScale
- OS::TripleO::Services::CinderBackendNVMeOF
- OS::TripleO::Services::CinderBackup
- OS::TripleO::Services::CinderHPELeftHandISCSI
- OS::TripleO::Services::CinderScheduler

1
roles_data.yaml

@ -64,6 +64,7 @@
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendScaleIO
- OS::TripleO::Services::CinderBackendVRTSHyperScale
- OS::TripleO::Services::CinderBackendNVMeOF
- OS::TripleO::Services::CinderBackup
- OS::TripleO::Services::CinderHPELeftHandISCSI
- OS::TripleO::Services::CinderScheduler

Loading…
Cancel
Save