Chapter 4. Completing post-deployment configuration
You must complete two post-deployment configuration tasks before you create NFS shares, grant user access, and mount NFS shares.
- Map the Networking service (neutron) storage network to the isolated data center storage network.
- Make the storage provider network available to trusted tenants only through custom role based access control (RBAC). Do not share the storage provider network globally.
- Create a private share type.
- Grant access to specific trusted tenants.
After you complete these steps, the tenant compute instances can create, allow access to, and mount native CephFS shares.
4.1. Creating the storage provider network
You must map the new isolated storage network to a Networking (neutron) provider network. The Compute VMs attach to the network to access native CephFS share export locations.
For information about network security with the Shared File Systems service, see Hardening the Shared File Systems Service in the Security and Hardening Guide.
Procedure
The openstack network create
command defines the configuration for the storage neutron network.
From an undercloud node, enter the following command:
source ~/overcloudrc
Copy to clipboardCopied[stack@undercloud ~]$ source ~/overcloudrc
On an undercloud node, create the storage network:
openstack network create Storage --provider-network-type vlan --provider-physical-network datacentre --provider-segment 30
Copy to clipboardCopied(overcloud) [stack@undercloud-0 ~]$ openstack network create Storage --provider-network-type vlan --provider-physical-network datacentre --provider-segment 30
You can enter this command with the following options:
-
For the
--provider-physical-network
option, use the default valuedatacentre
, unless you set another tag for the br-isolated bridge through NeutronBridgeMappings in your tripleo-heat-templates. -
For the
--provider-segment
option, use the value set for the Storage isolated network in your network environment file. If this was not customized, the default environment file is/usr/share/openstack-tripleo-heat-templates/network_data.yaml
. The VLAN associated with the Storage network value is30
unless you modified the isolated network definitions. -
For the
--provider-network-type
option, use the valuevlan
.
-
For the
4.2. Configuring the storage provider network
Create a corresponding StorageSubnet
on the neutron provider network. Ensure that the subnet is the same for the storage_subnet
in the undercloud, and that the allocation range for the storage subnet and the corresponding undercloud subnet do not overlap.
Requirements
- The start and ending IP range for the allocation pool
- The subnet IP range
Procedure
From an undercloud node, enter the following command:
source ~/overcloudrc
Copy to clipboardCopied[stack@undercloud ~]$ source ~/overcloudrc
Use the sample command to provision the network. Update the values to suit your environment.
openstack subnet create \ --allocation-pool start=172.17.3.10,end=172.17.3.149 \ --dhcp \ --network Storage \ --subnet-range 172.17.3.0/24 \ --gateway none StorageSubnet
Copy to clipboardCopied(overcloud) [stack@undercloud-0 ~]$ openstack subnet create \ --allocation-pool start=172.17.3.10,end=172.17.3.149 \ --dhcp \ --network Storage \ --subnet-range 172.17.3.0/24 \ --gateway none StorageSubnet
-
For the
--allocation-pool
option, replace thestart=172.17.3.10,end=172.17.3.149
IP values with the IP values for your network. -
For the
--subnet-range
option, replace the172.17.3.0/24
subnet range with the subnet range for your network.
-
For the
4.3. Configuring role-based access control for the storage provider network
After you identify the trusted tenants or projects that can use the storage network, configure role-based access control (RBAC) rules for them through the Networking service (neutron).
Requirements
Names of the projects that need access to the storage network
Procedure
From an undercloud node, enter the following command:
source ~/overcloudrc
Copy to clipboardCopied[stack@undercloud ~]$ source ~/overcloudrc
Identify the projects that require access:
openstack project list
Copy to clipboardCopied(overcloud) [stack@undercloud-0 ~]$ openstack project list +----------------------------------+---------+ | ID | Name | +----------------------------------+---------+ | 06f1068f79d2400b88d1c2c33eacea87 | demo | | 5038dde12dfb44fdaa0b3ee4bfe487ce | service | | 820e2d9c956644c2b1530b514127fd0d | admin | +----------------------------------+---------+
Create network RBAC rules with the desired projects:
openstack network rbac create \ --action access_as_shared Storage \ --type network \ --target-project demo
Copy to clipboardCopied(overcloud) [stack@undercloud-0 ~]$ openstack network rbac create \ --action access_as_shared Storage \ --type network \ --target-project demo
Repeat this step for all of the projects that require access to the storage network.