8 Shared File Systems #
Shared File Systems service provides a set of services for management of shared file systems in a multi-project cloud environment. The service resembles OpenStack block-based storage management from the OpenStack Block Storage service project. With the Shared File Systems service, you can create a remote file system, mount the file system on your instances, and then read and write data from your instances to and from your file system.
The Shared File Systems service serves same purpose as the Amazon Elastic File System (EFS) does.
8.1 Introduction #
The OpenStack File Share service allows you to offer shared file systems service to OpenStack users in your installation. The Shared File Systems service can run in a single-node or multiple node configuration. The Shared File Systems service can be configured to provision shares from one or more back ends, so it is required to declare at least one back end. Shared File System service contains several configurable components.
It is important to understand these components:
Share networks
Shares
Multi-tenancy
Back ends
The Shared File Systems service consists of four types of services, most of which are similar to those of the Block Storage service:
manila-apimanila-datamanila-schedulermanila-share
Installation of first three - manila-api, manila-data, and
manila-scheduler is common for almost all deployments. But configuration
of manila-share is backend-specific and can differ from deployment to
deployment.
8.2 Key concepts #
8.2.1 Share #
In the Shared File Systems service share is the fundamental resource unit
allocated by the Shared File System service. It represents an allocation of a
persistent, readable, and writable filesystems. Compute instances access these
filesystems. Depending on the deployment configuration, clients outside of
OpenStack can also access the filesystem.
A share is an abstract storage object that may or may not directly
map to a "share" concept from the underlying storage provider.
See the description of share instance for more details.
8.2.2 Share instance #
This concept is tied with share and represents created resource on specific
back end, when share represents abstraction between end user and
back-end storages. In common cases, it is one-to-one relation.
One single share has more than one share instance in two cases:
When
share migrationis being appliedWhen
share replicationis enabled
Therefore, each share instance stores information specific to real
allocated resource on storage. And share represents the information
that is common for share instances.
A user with member role will not be able to work with it directly. Only
a user with admin role has rights to perform actions against specific
share instances.
8.2.3 Snapshot #
A snapshot is a point-in-time, read-only copy of a share. You can
create Snapshots from an existing, operational share regardless
of whether a client has mounted the file system. A snapshot
can serve as the content source for a new share. Specify the
Create from snapshot option when creating a new share on the
dashboard.
8.2.4 Storage Pools #
With the Kilo release of OpenStack, Shared File Systems can use
storage pools. The storage may present one or more logical storage
resource pools that the Shared File Systems service
will select as a storage location when provisioning shares.
8.2.5 Share Type #
Share type is an abstract collection of criteria used to characterize
shares. They are most commonly used to create a hierarchy of functional
capabilities. This hierarchy represents tiered storage services levels. For
example, an administrator might define a premium share type that
indicates a greater level of performance than a basic share type.
Premium represents the best performance level.
8.2.6 Share Access Rules #
Share access rules define which users can access a particular share.
For example, administrators can declare rules for NFS shares by
listing the valid IP networks which will access the share. List the
IP networks in CIDR notation.
8.2.7 Security Services #
Security services``allow granular client access rules for
administrators. They can declare rules for authentication or
authorization to access ``share content. External services including LDAP,
Active Directory, and Kerberos can be declared as resources. Examine and
consult these resources when making an access decision for a
particular share. You can associate Shares with multiple
security services, but only one service per one type.
8.2.8 Share Networks #
A share network is an object that defines a relationship between a
project network and subnet, as defined in an OpenStack Networking service or
Compute service. The share network is also defined in shares
created by the same project. A project may find it desirable to
provision shares such that only instances connected to a particular
OpenStack-defined network have access to the share. Also,
security services can be attached to share networks,
because most of auth protocols require some interaction with network services.
The Shared File Systems service has the ability to work outside of OpenStack.
That is due to the StandaloneNetworkPlugin. The plugin is compatible with
any network platform, and does not require specific network services in
OpenStack like Compute or Networking service. You can set the network
parameters in the manila.conf file.
8.2.9 Share Servers #
A share server is a logical entity that hosts the shares created
on a specific share network. A share server may be a
configuration object within the storage controller, or it may represent
logical resources provisioned within an OpenStack deployment used to
support the data path used to access shares.
Share servers interact with network services to determine the appropriate
IP addresses on which to export shares according to the related share
network. The Shared File Systems service has a pluggable network model that
allows share servers to work with different implementations of
the Networking service.
8.3 Share management #
A share is a remote, mountable file system. You can mount a share to and access a share from several hosts by several users at a time.
You can create a share and associate it with a network, list shares, and show information for, update, and delete a specified share. You can also create snapshots of shares. To create a snapshot, you specify the ID of the share that you want to snapshot.
The shares are based on of the supported Shared File Systems protocols:
NFS. Network File System (NFS).
CIFS. Common Internet File System (CIFS).
GLUSTERFS. Gluster file system (GlusterFS).
HDFS. Hadoop Distributed File System (HDFS).
CEPHFS. Ceph File System (CephFS).
The Shared File Systems service provides set of drivers that enable you to use various network file storage devices, instead of the base implementation. That is the real purpose of the Shared File Systems service in production.
8.3.1 Share basic operations #
8.3.1.1 General concepts #
To create a file share, and access it, the following general concepts are prerequisite knowledge:
To create a share, use
manila createcommand and specify the required arguments: the size of the share and the shared file system protocol.NFS,CIFS,GlusterFS,HDFS, orCephFSshare file system protocols are supported.You can also optionally specify the share network and the share type.
After the share becomes available, use the
manila showcommand to get the share export locations.After getting the share export locations, you can create an Section 8.3.1.8, “Manage access to share” for the share, mount it and work with files on the remote file system.
There are big number of the share drivers created by different vendors in the Shared File Systems service. As a Python class, each share driver can be set for the Section 8.10, “Multi-storage configuration” and run in the back end to manage the share operations.
Initially there are two driver modes for the back ends:
no share servers mode
share servers mode
Each share driver supports one or two of possible back end modes that can be
configured in the manila.conf file. The configuration option
driver_handles_share_servers in the manila.conf file sets the share
servers mode or no share servers mode, and defines the driver mode for share
storage lifecycle management:
|
Mode |
Config option |
Description |
|---|---|---|
|
no share servers |
driver_handles_share_servers = False |
An administrator rather than a share driver manages the bare metal storage with some net interface instead of the presence of the share servers. |
|
share servers |
driver_handles_share_servers = True |
The share driver creates the share server and manages, or handles, the share server life cycle. |
It is Section 8.5, “Share types” which have the
extra specifications that help scheduler to filter back ends and choose the
appropriate back end for the user that requested to create a share. The
required extra boolean specification for each share type is
driver_handles_share_servers. As an administrator, you can create the share
types with the specifications you need. For details of managing the share types
and configuration the back ends, see Section 8.5, “Share types” and
Section 8.10, “Multi-storage configuration” documentation.
You can create a share in two described above modes:
in a no share servers mode without specifying the share network and specifying the share type with
driver_handles_share_servers = Falseparameter. See subsection Section 8.3.1.2, “Create a share in no share servers mode”.in a share servers mode with specifying the share network and the share type with
driver_handles_share_servers = Trueparameter. See subsection Section 8.3.1.3, “Create a share in share servers mode”.
8.3.1.4 Update share #
Update the name, or description, or level of visibility for all projects for the share if you need:
$ manila update Share2 --description "My second share. Updated" --is-public False
$ manila show Share2
+----------------------+----------------------------------------------------------------------+
| Property | Value |
+----------------------+----------------------------------------------------------------------+
| status | available |
| share_type_name | default |
| description | My second share. Updated |
| availability_zone | nova |
| share_network_id | c895fe26-92be-4152-9e6c-f2ad230efb13 |
| export_locations | |
| | path = 10.254.0.3:/shares/share-fe874928-39a2-441b-8d24-29e6f0fde965 |
| | preferred = False |
| | is_admin_only = False |
| | id = de6d4012-6158-46f0-8b28-4167baca51a7 |
| | share_instance_id = fe874928-39a2-441b-8d24-29e6f0fde965 |
| | path = 10.0.0.3:/shares/share-fe874928-39a2-441b-8d24-29e6f0fde965 |
| | preferred = False |
| | is_admin_only = True |
| | id = 602d0f5c-921b-4e45-bfdb-5eec8a89165a |
| | share_instance_id = fe874928-39a2-441b-8d24-29e6f0fde965 |
| share_server_id | 2e9d2d02-883f-47b5-bb98-e053b8d1e683 |
| host | manila@london#LONDON |
| access_rules_status | active |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | 195e3ba2-9342-446a-bc93-a584551de0ac |
| size | 1 |
| name | Share2 |
| share_type | bf6ada49-990a-47c3-88bc-c0cb31d5c9bf |
| has_replicas | False |
| replication_type | None |
| created_at | 2016-03-25T12:13:40.000000 |
| share_proto | NFS |
| consistency_group_id | None |
| project_id | 907004508ef4447397ce6741a8f037c1 |
| metadata | {u'aim': u'testing'} |
+----------------------+----------------------------------------------------------------------+A share can have one of these status values:
|
Status |
Description |
|---|---|
|
creating |
The share is being created. |
|
deleting |
The share is being deleted. |
|
error |
An error occurred during share creation. |
|
error_deleting |
An error occurred during share deletion. |
|
available |
The share is ready to use. |
|
manage_starting |
Share manage started. |
|
manage_error |
Share manage failed. |
|
unmanage_starting |
Share unmanage started. |
|
unmanage_error |
Share cannot be unmanaged. |
|
unmanaged |
Share was unmanaged. |
|
extending |
The extend, or increase, share size request was issued successfully. |
|
extending_error |
Extend share failed. |
|
shrinking |
Share is being shrunk. |
|
shrinking_error |
Failed to update quota on share shrinking. |
|
shrinking_possible_data_loss_error |
Shrink share failed due to possible data loss. |
|
migrating |
Share migration is in progress. |
8.3.1.5 Share metadata #
If you want to set the metadata key-value pairs on the share, run:
$ manila metadata Share2 set project=my_abc deadline=01/20/16
Get all metadata key-value pairs of the share:
$ manila metadata-show Share2 +----------+----------+ | Property | Value | +----------+----------+ | aim | testing | | project | my_abc | | deadline | 01/20/16 | +----------+----------+
You can update the metadata:
$ manila metadata-update-all Share2 deadline=01/30/16 +----------+----------+ | Property | Value | +----------+----------+ | deadline | 01/30/16 | +----------+----------+
You also can unset the metadata using manila metadata <share_name> unset <metadata_key(s)>.
8.3.1.6 Reset share state #
As administrator, you can reset the state of a share.
Use manila reset-state [--state <state>] <share> command to reset share
state, where state indicates which state to assign the share. Options
include available, error, creating, deleting,
error_deleting states.
$ manila reset-state Share2 --state deleting
$ manila show Share2
+----------------------+----------------------------------------------------------------------+
| Property | Value |
+----------------------+----------------------------------------------------------------------+
| status | deleting |
| share_type_name | default |
| description | My second share. Updated |
| availability_zone | nova |
| share_network_id | c895fe26-92be-4152-9e6c-f2ad230efb13 |
| export_locations | |
| | path = 10.254.0.3:/shares/share-fe874928-39a2-441b-8d24-29e6f0fde965 |
| | preferred = False |
| | is_admin_only = False |
| | id = de6d4012-6158-46f0-8b28-4167baca51a7 |
| | share_instance_id = fe874928-39a2-441b-8d24-29e6f0fde965 |
| | path = 10.0.0.3:/shares/share-fe874928-39a2-441b-8d24-29e6f0fde965 |
| | preferred = False |
| | is_admin_only = True |
| | id = 602d0f5c-921b-4e45-bfdb-5eec8a89165a |
| | share_instance_id = fe874928-39a2-441b-8d24-29e6f0fde965 |
| share_server_id | 2e9d2d02-883f-47b5-bb98-e053b8d1e683 |
| host | manila@london#LONDON |
| access_rules_status | active |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | 195e3ba2-9342-446a-bc93-a584551de0ac |
| size | 1 |
| name | Share2 |
| share_type | bf6ada49-990a-47c3-88bc-c0cb31d5c9bf |
| has_replicas | False |
| replication_type | None |
| created_at | 2016-03-25T12:13:40.000000 |
| share_proto | NFS |
| consistency_group_id | None |
| project_id | 907004508ef4447397ce6741a8f037c1 |
| metadata | {u'deadline': u'01/30/16'} |
+----------------------+----------------------------------------------------------------------+8.3.1.7 Delete and force-delete share #
You also can force-delete a share.
The shares cannot be deleted in transitional states. The transitional
states are creating, deleting, managing, unmanaging,
migrating, extending, and shrinking statuses for the shares.
Force-deletion deletes an object in any state. Use the policy.json file
to grant permissions for this action to other roles.
The configuration file policy.json may be used from different places.
The path /etc/manila/policy.json is one of expected paths by default.
Use manila delete <share_name_or_ID> command to delete a specified share:
$ manila delete %share_name_or_id%
If you specified Section 8.8, “Consistency groups”
while creating a share, you should provide the --consistency-group
parameter to delete the share:
$ manila delete %share_name_or_id% --consistency-group %consistency-group-id%
If you try to delete the share in one of the transitional state using soft-deletion you'll get an error:
$ manila delete Share2
Delete for share 195e3ba2-9342-446a-bc93-a584551de0ac failed: Invalid share: Share status must be one of ('available', 'error', 'inactive'). (HTTP 403) (Request-ID: req-9a77b9a0-17d2-4d97-8a7a-b7e23c27f1fe)
ERROR: Unable to delete any of the specified shares.A share cannot be deleted in a transitional status, that it why an error from
python-manilaclient appeared.
Print the list of all shares for all projects:
$ manila list --all-tenants +--------------------------------------+---------+------+-------------+-----------+-----------+-----------------+----------------------+-------------------+ | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | +--------------------------------------+---------+------+-------------+-----------+-----------+-----------------+----------------------+-------------------+ | 10f5a2a1-36f5-45aa-a8e6-00e94e592e88 | Share1 | 1 | NFS | available | False | my_type | manila@paris#epsilon | nova | | 195e3ba2-9342-446a-bc93-a584551de0ac | Share2 | 1 | NFS | available | False | default | manila@london#LONDON | nova | +--------------------------------------+---------+------+-------------+-----------+-----------+-----------------+----------------------+-------------------+
Force-delete Share2 and check that it is absent in the list of shares, run:
$ manila force-delete Share2 $ manila list +--------------------------------------+---------+------+-------------+-----------+-----------+-----------------+----------------------+-------------------+ | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | +--------------------------------------+---------+------+-------------+-----------+-----------+-----------------+----------------------+-------------------+ | 10f5a2a1-36f5-45aa-a8e6-00e94e592e88 | Share1 | 1 | NFS | available | False | my_type | manila@paris#epsilon | nova | +--------------------------------------+---------+------+-------------+-----------+-----------+-----------------+----------------------+-------------------+
8.3.2 Manage and unmanage share #
To manage a share means that an administrator, rather than a share
driver, manages the storage lifecycle. This approach is appropriate when an
administrator already has the custom non-manila share with its size, shared
file system protocol, and export path, and an administrator wants to
register it in the Shared File System service.
To unmanage a share means to unregister a specified share from the Shared
File Systems service. Administrators can revert an unmanaged share to managed
status if needed.
8.3.2.1 Unmanage a share #
The unmanage operation is not supported for shares that were
created on top of share servers and created with share networks.
The Share service should have the
option driver_handles_share_servers = False
set in the manila.conf file. You can unmanage a share that has
no dependent snapshots.
To unmanage managed share, run the manila unmanage <share>
command. Then try to print the information about the share. The
returned result should indicate that Shared File Systems service won't
find the share:
$ manila unmanage share_for_docs $ manila show share_for_docs ERROR: No share with a name or ID of 'share_for_docs' exists.
8.3.2.2 Manage a share #
To register the non-managed share in the File System service, run the
manila manage command:
manila manage [--name <name>] [--description <description>]
[--share_type <share-type>]
[--driver_options [<key=value> [<key=value> ...]]]
<service_host> <protocol> <export_path>The positional arguments are:
service_host. The manage-share service host in
host@backend#POOLformat, which consists of the host name for the back end, the name of the back end, and the pool name for the back end.protocol. The Shared File Systems protocol of the share to manage. Valid values are NFS, CIFS, GlusterFS, or HDFS.
export_path. The share export path in the format appropriate for the protocol:
NFS protocol. 10.0.0.1:/foo_path.
CIFS protocol. \\10.0.0.1\foo_name_of_cifs_share.
HDFS protocol. hdfs://10.0.0.1:foo_port/foo_share_name.
GlusterFS. 10.0.0.1:/foo_volume.
The driver_options is an optional set of one or more key and value pairs
that describe driver options. Note that the share type must have the
driver_handles_share_servers = False option. As a result, a special share
type named for_managing was used in example.
To manage share, run:
$ manila manage \
manila@paris#shares \
nfs \
1.0.0.4:/shares/manila_share_6d2142d8_2b9b_4405_867f_8a48094c893f \
--name share_for_docs \
--description "We manage share." \
--share_type for_managing
+-----------------------------+--------------------------------------+
| Property | Value |
+-----------------------------+--------------------------------------+
| status | manage_starting |
| share_type_name | for_managing |
| description | We manage share. |
| availability_zone | None |
| share_network_id | None |
| share_server_id | None |
| host | manila@paris#shares |
| access_rules_status | active |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | ddfb1240-ed5e-4071-a031-b842035a834a |
| size | None |
| name | share_for_docs |
| share_type | 14ee8575-aac2-44af-8392-d9c9d344f392 |
| has_replicas | False |
| replication_type | None |
| created_at | 2016-03-25T15:22:43.000000 |
| share_proto | NFS |
| consistency_group_id | None |
| source_cgsnapshot_member_id | None |
| project_id | 907004508ef4447397ce6741a8f037c1 |
| metadata | {} |
+-----------------------------+--------------------------------------+Check that the share is available:
$ manila show share_for_docs
+----------------------+--------------------------------------------------------------------------+
| Property | Value |
+----------------------+--------------------------------------------------------------------------+
| status | available |
| share_type_name | for_managing |
| description | We manage share. |
| availability_zone | None |
| share_network_id | None |
| export_locations | |
| | path = 1.0.0.4:/shares/manila_share_6d2142d8_2b9b_4405_867f_8a48094c893f |
| | preferred = False |
| | is_admin_only = False |
| | id = d4d048bf-4159-4a94-8027-e567192b8d30 |
| | share_instance_id = 4c8e3887-4f9a-4775-bab4-e5840a09c34e |
| | path = 2.0.0.3:/shares/manila_share_6d2142d8_2b9b_4405_867f_8a48094c893f |
| | preferred = False |
| | is_admin_only = True |
| | id = 1dd4f0a3-778d-486a-a851-b522f6e7cf5f |
| | share_instance_id = 4c8e3887-4f9a-4775-bab4-e5840a09c34e |
| share_server_id | None |
| host | manila@paris#shares |
| access_rules_status | active |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | ddfb1240-ed5e-4071-a031-b842035a834a |
| size | 1 |
| name | share_for_docs |
| share_type | 14ee8575-aac2-44af-8392-d9c9d344f392 |
| has_replicas | False |
| replication_type | None |
| created_at | 2016-03-25T15:22:43.000000 |
| share_proto | NFS |
| consistency_group_id | None |
| project_id | 907004508ef4447397ce6741a8f037c1 |
| metadata | {} |
+----------------------+--------------------------------------------------------------------------+8.3.3 Manage and unmanage share snapshot #
To manage a share snapshot means that an administrator, rather than a
share driver, manages the storage lifecycle. This approach is appropriate
when an administrator manages share snapshots outside of the Shared File
Systems service and wants to register it with the service.
To unmanage a share snapshot means to unregister a specified share
snapshot from the Shared File Systems service. Administrators can revert an
unmanaged share snapshot to managed status if needed.
8.3.3.1 Unmanage a share snapshot #
The unmanage operation is not supported for shares that were
created on top of share servers and created with share networks.
The Share service should have the option
driver_handles_share_servers = False set in the manila.conf file.
To unmanage managed share snapshot, run the :command:
manila snapshot-unmanage <share_snapshot> command. Then try to print the
information about the share snapshot. The returned result should indicate that
Shared File Systems service won't find the share snapshot:
$ manila snapshot-unmanage my_test_share_snapshot $ manila snapshot-show my_test_share_snapshot ERROR: No sharesnapshot with a name or ID of 'my_test_share_snapshot' exists.
8.3.3.2 Manage a share snapshot #
To register the non-managed share snapshot in the File System service, run the
manila snapshot-manage command:
manila snapshot-manage [--name <name>] [--description <description>]
[--driver_options [<key=value> [<key=value> ...]]]
<share> <provider_location>The positional arguments are:
share. Name or ID of the share.
provider_location. Provider location of the share snapshot on the backend.
The driver_options is an optional set of one or more key and value pairs
that describe driver options.
To manage share snapshot, run:
$ manila snapshot-manage \
9ba52cc6-c97e-4b40-8653-4bcbaaf9628d \
4d1e2863-33dd-4243-bf39-f7354752097d \
--name my_test_share_snapshot \
--description "My test share snapshot" \
+-------------------+--------------------------------------+
| Property | Value |
+-------------------+--------------------------------------+
| status | manage_starting |
| share_id | 9ba52cc6-c97e-4b40-8653-4bcbaaf9628d |
| user_id | d9f4003655c94db5b16c591920be1f91 |
| description | My test share snapshot |
| created_at | 2016-07-25T04:49:42.600980 |
| size | None |
| share_proto | NFS |
| provider_location | 4d1e2863-33dd-4243-bf39-f7354752097d |
| id | 89c663b5-026d-45c7-a43b-56ef0ba0faab |
| project_id | aaa33a0ca4324965a3e65ae47e864e94 |
| share_size | 1 |
| name | my_test_share_snapshot |
+-------------------+--------------------------------------+Check that the share snapshot is available:
$ manila snapshot-show my_test_share_snapshot +-------------------+--------------------------------------+ | Property | Value | +-------------------+--------------------------------------+ | status | available | | share_id | 9ba52cc6-c97e-4b40-8653-4bcbaaf9628d | | user_id | d9f4003655c94db5b16c591920be1f91 | | description | My test share snapshot | | created_at | 2016-07-25T04:49:42.000000 | | size | 1 | | share_proto | NFS | | provider_location | 4d1e2863-33dd-4243-bf39-f7354752097d | | id | 89c663b5-026d-45c7-a43b-56ef0ba0faab | | project_id | aaa33a0ca4324965a3e65ae47e864e94 | | share_size | 1 | | name | my_test_share_snapshot | +-------------------+--------------------------------------+
8.3.4 Resize share #
To change file share size, use the manila extend command and
the manila shrink command. For most drivers it is safe
operation. If you want to be sure that your data is safe, you can make
a share back up by creating a snapshot of it.
You can extend and shrink the share with the manila extend and
manila shrink commands respectively, and specify the share
with the new size that does not exceed the quota. For details, see
Section 8.3.5, “Quotas and limits”. You also cannot shrink
share size to 0 or to a greater value than the current share size.
While extending, the share has an extending status. This means that
the increase share size request was issued successfully.
To extend the share and check the result, run:
$ manila extend docs_resize 2
$ manila show docs_resize
+----------------------+--------------------------------------------------------------------------+
| Property | Value |
+----------------------+--------------------------------------------------------------------------+
| status | available |
| share_type_name | my_type |
| description | None |
| availability_zone | nova |
| share_network_id | None |
| export_locations | |
| | path = 1.0.0.4:/shares/manila_share_b8afc508_8487_442b_b170_ea65b07074a8 |
| | preferred = False |
| | is_admin_only = False |
| | id = 3ffb76f4-92b9-4639-83fd-025bc3e302ff |
| | share_instance_id = b8afc508-8487-442b-b170-ea65b07074a8 |
| | path = 2.0.0.3:/shares/manila_share_b8afc508_8487_442b_b170_ea65b07074a8 |
| | preferred = False |
| | is_admin_only = True |
| | id = 1f0e263f-370d-47d3-95f6-1be64088b9da |
| | share_instance_id = b8afc508-8487-442b-b170-ea65b07074a8 |
| share_server_id | None |
| host | manila@paris#shares |
| access_rules_status | active |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | b07dbebe-a328-403c-b402-c8871c89e3d1 |
| size | 2 |
| name | docs_resize |
| share_type | 14ee8575-aac2-44af-8392-d9c9d344f392 |
| has_replicas | False |
| replication_type | None |
| created_at | 2016-03-25T15:33:18.000000 |
| share_proto | NFS |
| consistency_group_id | None |
| project_id | 907004508ef4447397ce6741a8f037c1 |
| metadata | {} |
+----------------------+--------------------------------------------------------------------------+While shrinking, the share has a shrinking status. This means that the
decrease share size request was issued successfully. To shrink the share and
check the result, run:
$ manila shrink docs_resize 1
$ manila show docs_resize
+----------------------+--------------------------------------------------------------------------+
| Property | Value |
+----------------------+--------------------------------------------------------------------------+
| status | available |
| share_type_name | my_type |
| description | None |
| availability_zone | nova |
| share_network_id | None |
| export_locations | |
| | path = 1.0.0.4:/shares/manila_share_b8afc508_8487_442b_b170_ea65b07074a8 |
| | preferred = False |
| | is_admin_only = False |
| | id = 3ffb76f4-92b9-4639-83fd-025bc3e302ff |
| | share_instance_id = b8afc508-8487-442b-b170-ea65b07074a8 |
| | path = 2.0.0.3:/shares/manila_share_b8afc508_8487_442b_b170_ea65b07074a8 |
| | preferred = False |
| | is_admin_only = True |
| | id = 1f0e263f-370d-47d3-95f6-1be64088b9da |
| | share_instance_id = b8afc508-8487-442b-b170-ea65b07074a8 |
| share_server_id | None |
| host | manila@paris#shares |
| access_rules_status | active |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | b07dbebe-a328-403c-b402-c8871c89e3d1 |
| size | 1 |
| name | docs_resize |
| share_type | 14ee8575-aac2-44af-8392-d9c9d344f392 |
| has_replicas | False |
| replication_type | None |
| created_at | 2016-03-25T15:33:18.000000 |
| share_proto | NFS |
| consistency_group_id | None |
| project_id | 907004508ef4447397ce6741a8f037c1 |
| metadata | {} |
+----------------------+--------------------------------------------------------------------------+8.4 Migrate shares #
As an administrator, you can migrate a share with its data from one
location to another in a manner that is transparent to users and
workloads. You can use manila client commands to complete a share
migration.
Possible use cases for data migration include:
Bring down a physical storage device for maintenance without disrupting workloads.
Modify the properties of a share.
Free up space in a thinly-provisioned back end.
Migrate a share with the manila migrate command, as shown in the
following example:
$ manila migrate shareID destinationHost --force-host-copy True|False
In this example, --force-host-copy True forces the generic
host-based migration mechanism and bypasses any driver optimizations.
destinationHost is in this format host#pool which includes
destination host and pool.
If the user is not an administrator, the migration fails.
8.9 Share replication #
Replication of data has a number of use cases in the cloud. One use case is High Availability of the data in a shared file system, used for example, to support a production database. Another use case is ensuring Data Protection; i.e being prepared for a disaster by having a replication location that will be ready to back up your primary data source.
The Shared File System service supports user facing APIs that allow users to create shares that support replication, add and remove share replicas and manage their snapshots and access rules. Three replication types are currently supported and they vary in the semantics associated with the primary share and the secondary copies.
Share replication is an experimental Shared File Systems API in
the Mitaka release. Contributors can change or remove the experimental
part of the Shared File Systems API in further releases without maintaining
backward compatibility. Experimental APIs have an
X-OpenStack-Manila-API-Experimental: true header in their HTTP requests.
8.9.1 Replication types supported #
Before using share replication, make sure the Shared File System driver that
you are running supports this feature. You can check it in the
manila-scheduler service reports. The replication_type capability
reported can have one of the following values:
- writable
The driver supports creating
writableshare replicas. All share replicas can be accorded read/write access and would be synchronously mirrored.- readable
The driver supports creating
read-onlyshare replicas. All secondary share replicas can be accorded read access. Only the primary (oractiveshare replica) can be written into.- dr
The driver supports creating
dr(abbreviated from Disaster Recovery) share replicas. A secondary share replica is inaccessible until after apromotion.- None
The driver does not support Share Replication.
The term active share replica refers to the primary share. In
writable style of replication, all share replicas are active, and
there could be no distinction of a primary share. In readable and
dr styles of replication, a secondary share replica may be referred
to as passive, non-active or simply, replica.
8.9.2 Configuration #
Two new configuration options have been introduced to support Share Replication.
- replica_state_update_interval
Specify this option in the
DEFAULTsection of yourmanila.conf. The Shared File Systems service requests periodic update of thereplica_stateof allnon-activeshare replicas. The update occurs with respect to an interval corresponding to this option. If it is not specified, it defaults to 300 seconds.- replication_domain
Specify this option in the backend stanza when using a multi-backend style configuration. The value can be any ASCII string. Two backends that can replicate between each other would have the same
replication_domain. This comes from the premise that the Shared File Systems service expects Share Replication to be performed between symmetric backends. This option is required for using the Share Replication feature.
8.9.3 Health of a share replica #
Apart from the status attribute, share replicas have the
replica_state attribute to denote the state of data replication on the
storage backend. The primary share replica will have it's replica_state
attribute set to active. The secondary share replicas may have one of
the following as their replica_state:
- in_sync
The share replica is up to date with the
activeshare replica (possibly within a backend-specificrecovery point objective).- out_of_sync
The share replica is out of date (all new share replicas start out in this
replica_state).- error
When the scheduler fails to schedule this share replica or some potentially irrecoverable error occurred with regard to updating data for this replica.
8.9.4 Promotion or failover #
For readable and dr types of replication, we refer to the task
of switching a non-active share replica with the active replica as
promotion. For the writable style of replication, promotion does
not make sense since all share replicas are active (or writable) at all
times.
The status attribute of the non-active replica being promoted will be
set to replication_change during its promotion. This has been classified as
a busy state and thus API interactions with the share are restricted
while one of its share replicas is in this state.
8.9.5 Share replication workflows #
The following examples have been implemented with the ZFSonLinux driver that
is a reference implementation in the Shared File Systems service. It operates
in driver_handles_share_servers=False mode and supports the readable
type of replication. In the example, we assume a configuration of two
Availability Zones (configuration option: storage_availability_zone),
called availability_zone_1 and availability_zone_2.
Multiple availability zones are not necessary to use the replication feature.
However, the use of an availability zone as a failure domain is encouraged.
Pay attention to the network configuration for the ZFS driver. Here, we assume
a configuration of zfs_service_ip and zfs_share_export_ip from two
separate networks. The service network is reachable from the host where the
manila-share service is running. The share export IP is from a network that
allows user access.
See Configuring the ZFSonLinux driver for information on how to set up the ZFSonLinux driver.
8.9.5.1 Creating a share that supports replication #
Create a new share type and specify the replication_type as an extra-spec
within the share-type being used.
Use the manila type-create command to create a new share type.
Specify the name and the value for the extra-spec
driver_handles_share_servers.
$ manila type-create readable_type_replication False +----------------------+--------------------------------------+ | Property | Value | +----------------------+--------------------------------------+ | required_extra_specs | driver_handles_share_servers : False | | Name | readable_type_replication | | Visibility | public | | is_default | - | | ID | 3b3ee3f7-6e43-4aa1-859d-0b0511c43074 | | optional_extra_specs | snapshot_support : True | +----------------------+--------------------------------------+
Use the manila type-key command to set an extra-spec to the
share type.
$ manila type-key readable_type_replication set replication_type=readable
This command has no output. To verify the extra-spec, use the
manila extra-specs-list command and specify the share type's name
or ID as a parameter.
Create a share with the share type
Use the manila create command to create a share. Specify the share
protocol, size and the availability zone.
$ manila create NFS 1 --share_type readable_type_replication --name my_share --description "This share will have replicas" --az availability_zone_1
+-----------------------------+--------------------------------------+
| Property | Value |
+-----------------------------+--------------------------------------+
| status | creating |
| share_type_name | readable_type_replication |
| description | This share will have replicas |
| availability_zone | availability_zone_1 |
| share_network_id | None |
| share_server_id | None |
| host | |
| access_rules_status | active |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | e496ed61-8f2e-436b-b299-32c3e90991cc |
| size | 1 |
| name | my_share |
| share_type | 3b3ee3f7-6e43-4aa1-859d-0b0511c43074 |
| has_replicas | False |
| replication_type | readable |
| created_at | 2016-03-29T20:22:18.000000 |
| share_proto | NFS |
| consistency_group_id | None |
| source_cgsnapshot_member_id | None |
| project_id | 48a5ca76ac69405e99dc1c13c5195186 |
| metadata | {} |
+-----------------------------+--------------------------------------+Use the manila show command to retrieve details of the share.
Specify the share ID or name as a parameter.
$ manila show my_share
+-----------------------------+--------------------------------------------------------------------+
| Property | Value |
+-----------------------------+--------------------------------------------------------------------+
| status | available |
| share_type_name | readable_type_replication |
| description | This share will have replicas |
| availability_zone | availability_zone_1 |
| share_network_id | None |
| export_locations | |
| | path = |
| |10.32.62.26:/alpha/manila_share_38efc042_50c2_4825_a6d8_cba2a8277b28|
| | preferred = False |
| | is_admin_only = False |
| | id = e1d754b5-ec06-42d2-afff-3e98c0013faf |
| | share_instance_id = 38efc042-50c2-4825-a6d8-cba2a8277b28 |
| | path = |
| |172.21.0.23:/alpha/manila_share_38efc042_50c2_4825_a6d8_cba2a8277b28|
| | preferred = False |
| | is_admin_only = True |
| | id = 6f843ecd-a7ea-4939-86de-e1e01d9e8672 |
| | share_instance_id = 38efc042-50c2-4825-a6d8-cba2a8277b28 |
| share_server_id | None |
| host | openstack4@zfsonlinux_1#alpha |
| access_rules_status | active |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | e496ed61-8f2e-436b-b299-32c3e90991cc |
| size | 1 |
| name | my_share |
| share_type | 3b3ee3f7-6e43-4aa1-859d-0b0511c43074 |
| has_replicas | False |
| replication_type | readable |
| created_at | 2016-03-29T20:22:18.000000 |
| share_proto | NFS |
| consistency_group_id | None |
| source_cgsnapshot_member_id | None |
| project_id | 48a5ca76ac69405e99dc1c13c5195186 |
| metadata | {} |
+-----------------------------+--------------------------------------------------------------------+When you create a share that supports replication, an active replica is
created for you. You can verify this with the
manila share-replica-list command.
8.9.5.2 Creating and promoting share replicas #
Create a share replica
Use the manila share-replica-create command to create a share
replica. Specify the share ID or name as a parameter. You may
optionally provide the availability_zone and share_network_id. In the
example below, share_network_id is not used since the ZFSonLinux driver
does not support it.
$ manila share-replica-create my_share --az availability_zone_2 +-------------------+--------------------------------------+ | Property | Value | +-------------------+--------------------------------------+ | status | creating | | share_id | e496ed61-8f2e-436b-b299-32c3e90991cc | | availability_zone | availability_zone_2 | | created_at | 2016-03-29T20:24:53.148992 | | updated_at | None | | share_network_id | None | | share_server_id | None | | host | | | replica_state | None | | id | 78a5ef96-6c36-42e0-b50b-44efe7c1807e | +-------------------+--------------------------------------+
See details of the newly created share replica
Use the manila share-replica-show command to see details
of the newly created share replica. Specify the share replica's ID as a
parameter.
$ manila share-replica-show 78a5ef96-6c36-42e0-b50b-44efe7c1807e +-------------------+--------------------------------------+ | Property | Value | +-------------------+--------------------------------------+ | status | available | | share_id | e496ed61-8f2e-436b-b299-32c3e90991cc | | availability_zone | availability_zone_2 | | created_at | 2016-03-29T20:24:53.000000 | | updated_at | 2016-03-29T20:24:58.000000 | | share_network_id | None | | share_server_id | None | | host | openstack4@zfsonlinux_2#beta | | replica_state | in_sync | | id | 78a5ef96-6c36-42e0-b50b-44efe7c1807e | +-------------------+--------------------------------------+
See all replicas of the share
Use the manila share-replica-list command to see all the replicas
of the share. Specify the share ID or name as an optional parameter.
$ manila share-replica-list --share-id my_share +--------------------------------------+-----------+---------------+--------------------------------------+-------------------------------+---------------------+----------------------------+ | ID | Status | Replica State | Share ID | Host | Availability Zone | Updated At | +--------------------------------------+-----------+---------------+--------------------------------------+-------------------------------+---------------------+----------------------------+ | 38efc042-50c2-4825-a6d8-cba2a8277b28 | available | active | e496ed61-8f2e-436b-b299-32c3e90991cc | openstack4@zfsonlinux_1#alpha | availability_zone_1 | 2016-03-29T20:22:19.000000 | | 78a5ef96-6c36-42e0-b50b-44efe7c1807e | available | in_sync | e496ed61-8f2e-436b-b299-32c3e90991cc | openstack4@zfsonlinux_2#beta | availability_zone_2 | 2016-03-29T20:24:58.000000 | +--------------------------------------+-----------+---------------+--------------------------------------+-------------------------------+---------------------+----------------------------+
Promote the secondary share replica to be the new active replica
Use the manila share-replica-promote command to promote a
non-active share replica to become the active replica. Specify the
non-active replica's ID as a parameter.
$ manila share-replica-promote 78a5ef96-6c36-42e0-b50b-44efe7c1807e
This command has no output.
The promotion may take time. During the promotion, the replica_state
attribute of the share replica being promoted will be set to
replication_change.
$ manila share-replica-list --share-id my_share +--------------------------------------+-----------+--------------------+--------------------------------------+-------------------------------+---------------------+----------------------------+ | ID | Status | Replica State | Share ID | Host | Availability Zone | Updated At | +--------------------------------------+-----------+--------------------+--------------------------------------+-------------------------------+---------------------+----------------------------+ | 38efc042-50c2-4825-a6d8-cba2a8277b28 | available | active | e496ed61-8f2e-436b-b299-32c3e90991cc | openstack4@zfsonlinux_1#alpha | availability_zone_1 | 2016-03-29T20:32:19.000000 | | 78a5ef96-6c36-42e0-b50b-44efe7c1807e | available | replication_change | e496ed61-8f2e-436b-b299-32c3e90991cc | openstack4@zfsonlinux_2#beta | availability_zone_2 | 2016-03-29T20:32:19.000000 | +--------------------------------------+-----------+--------------------+--------------------------------------+-------------------------------+---------------------+----------------------------+
Once the promotion is complete, the replica_state will be set to
active.
$ manila share-replica-list --share-id my_share +--------------------------------------+-----------+---------------+--------------------------------------+-------------------------------+---------------------+----------------------------+ | ID | Status | Replica State | Share ID | Host | Availability Zone | Updated At | +--------------------------------------+-----------+---------------+--------------------------------------+-------------------------------+---------------------+----------------------------+ | 38efc042-50c2-4825-a6d8-cba2a8277b28 | available | in_sync | e496ed61-8f2e-436b-b299-32c3e90991cc | openstack4@zfsonlinux_1#alpha | availability_zone_1 | 2016-03-29T20:32:19.000000 | | 78a5ef96-6c36-42e0-b50b-44efe7c1807e | available | active | e496ed61-8f2e-436b-b299-32c3e90991cc | openstack4@zfsonlinux_2#beta | availability_zone_2 | 2016-03-29T20:32:19.000000 | +--------------------------------------+-----------+---------------+--------------------------------------+-------------------------------+---------------------+----------------------------+
8.9.5.3 Access rules #
Create an IP access rule for the share
Use the manila access-allow command to add an access rule.
Specify the share ID or name, protocol and the target as parameters.
$ manila access-allow my_share ip 0.0.0.0/0 --access-level rw +--------------+--------------------------------------+ | Property | Value | +--------------+--------------------------------------+ | share_id | e496ed61-8f2e-436b-b299-32c3e90991cc | | access_type | ip | | access_to | 0.0.0.0/0 | | access_level | rw | | state | new | | id | 8b339cdc-c1e0-448f-bf6d-f068ee6e8f45 | +--------------+--------------------------------------+
Access rules are not meant to be different across the replicas of the share.
However, as per the type of replication, drivers may choose to modify the
access level prescribed. In the above example, even though read/write access
was requested for the share, the driver will provide read-only access to
the non-active replica to the same target, because of the semantics of
the replication type: readable. However, the target will have read/write
access to the (currently) non-active replica when it is promoted to
become the active replica.
The manila access-deny command can be used to remove a previously
applied access rule.
List the export locations of the share
Use the manila share-export-locations-list command to list the
export locations of a share.
$ manila share-export-location-list my_share +--------------------------------------+---------------------------------------------------------------------------+-----------+ | ID | Path | Preferred | +--------------------------------------+---------------------------------------------------------------------------+-----------+ | 3ed3fbf5-2fa1-4dc0-8440-a0af72398cb6 | 10.32.62.21:/beta/subdir/manila_share_78a5ef96_6c36_42e0_b50b_44efe7c1807e| False | | 6f843ecd-a7ea-4939-86de-e1e01d9e8672 | 172.21.0.23:/alpha/manila_share_38efc042_50c2_4825_a6d8_cba2a8277b28 | False | | e1d754b5-ec06-42d2-afff-3e98c0013faf | 10.32.62.26:/alpha/manila_share_38efc042_50c2_4825_a6d8_cba2a8277b28 | False | | f3c5585f-c2f7-4264-91a7-a4a1e754e686 | 172.21.0.29:/beta/subdir/manila_share_78a5ef96_6c36_42e0_b50b_44efe7c1807e| False | +--------------------------------------+---------------------------------------------------------------------------+-----------+
Identify the export location corresponding to the share replica on the user accessible network and you may mount it on the target node.
As an administrator, you can list the export locations for a particular
share replica by using the
manila share-instance-export-location-list command and
specifying the share replica's ID as a parameter.
8.9.5.4 Snapshots #
Create a snapshot of the share
Use the manila snapshot-create command to create a snapshot
of the share. Specify the share ID or name as a parameter.
$ manila snapshot-create my_share --name "my_snapshot" +-------------------+--------------------------------------+ | Property | Value | +-------------------+--------------------------------------+ | status | creating | | share_id | e496ed61-8f2e-436b-b299-32c3e90991cc | | description | None | | created_at | 2016-03-29T21:14:03.000000 | | share_proto | NFS | | provider_location | None | | id | 06cdccaf-93a0-4e57-9a39-79fb1929c649 | | size | 1 | | share_size | 1 | | name | my_snapshot | +-------------------+--------------------------------------+
Show the details of the snapshot
Use the manila snapshot-show to view details of a snapshot.
Specify the snapshot ID or name as a parameter.
$ manila snapshot-show my_snapshot +-------------------+--------------------------------------+ | Property | Value | +-------------------+--------------------------------------+ | status | available | | share_id | e496ed61-8f2e-436b-b299-32c3e90991cc | | description | None | | created_at | 2016-03-29T21:14:03.000000 | | share_proto | NFS | | provider_location | None | | id | 06cdccaf-93a0-4e57-9a39-79fb1929c649 | | size | 1 | | share_size | 1 | | name | my_snapshot | +-------------------+--------------------------------------+
The status attribute of a snapshot will transition from creating
to available only when it is present on all the share replicas that have
their replica_state attribute set to active or in_sync.
Likewise, the replica_state attribute of a share replica will
transition from out_of_sync to in_sync only when all available
snapshots are present on it.
8.9.5.5 Planned failovers #
As an administrator, you can use the manila share-replica-resync
command to attempt to sync data between active and non-active share
replicas of a share before promotion. This will ensure that share replicas have
the most up-to-date data and their relationships can be safely switched.
$ manila share-replica-resync 38efc042-50c2-4825-a6d8-cba2a8277b28
This command has no output.
8.9.5.6 Updating attributes #
If an error occurs while updating data or replication relationships (during
a promotion), the Shared File Systems service may not be able to determine
the consistency or health of a share replica. It may require administrator
intervention to make any fixes on the storage backend as necessary. In such a
situation, state correction within the Shared File Systems service is possible.
As an administrator, you can:
Reset the status attribute of a share replica
Use the manila share-replica-reset-state command to reset
the status attribute. Specify the share replica's ID as a parameter
and use the --state option to specify the state intended.
$ manila share-replica-reset-state 38efc042-50c2-4825-a6d8-cba2a8277b28 --state=available
This command has no output.
Reset the replica_state attribute
Use the manila share-replica-reset-replica-state command to
reset the replica_state attribute. Specify the share replica's ID
and use the --state option to specify the state intended.
$ manila share-replica-reset-replica-state 38efc042-50c2-4825-a6d8-cba2a8277b28 --state=out_of_sync
This command has no output.
Force delete a specified share replica in any state
Use the manila share-replica-delete command with the
'--force' key to remove the share replica, regardless of the state it is in.
$ manila share-replica-show 9513de5d-0384-4528-89fb-957dd9b57680 +-------------------+--------------------------------------+ | Property | Value | +-------------------+--------------------------------------+ | status | error | | share_id | e496ed61-8f2e-436b-b299-32c3e90991cc | | availability_zone | availability_zone_1 | | created_at | 2016-03-30T01:32:47.000000 | | updated_at | 2016-03-30T01:34:25.000000 | | share_network_id | None | | share_server_id | None | | host | openstack4@zfsonlinux_1#alpha | | replica_state | out_of_sync | | id | 38efc042-50c2-4825-a6d8-cba2a8277b28 | +-------------------+--------------------------------------+ $ manila share-replica-delete --force 38efc042-50c2-4825-a6d8-cba2a8277b28
This command has no output.
Use the policy.json file to grant permissions for these actions to other
roles.
8.9.5.7 Deleting share replicas #
Use the manila share-replica-delete command with the share
replica's ID to delete a share replica.
$ manila share-replica-delete 38efc042-50c2-4825-a6d8-cba2a8277b28
This command has no output.
You cannot delete the last active replica with this command. You should
use the manila delete command to remove the share.
8.11 Networking #
Unlike the OpenStack Block Storage service, the Shared File Systems service must connect to the Networking service. The share service requires the option to self-manage share servers. For client authentication and authorization, you can configure the Shared File Systems service to work with different network authentication services, like LDAP, Kerberos protocols, or Microsoft Active Directory.
8.12 Troubleshoot Shared File Systems service #
8.12.1 Failures in Share File Systems service during a share creation #
8.12.1.1 Problem #
New shares can enter error state during the creation process.
8.12.1.2 Solution #
Make sure, that share services are running in debug mode. If the debug mode is not set, you will not get any tips from logs how to fix your issue.
Find what share service holds a specified share. To do that, run command
manila show <share_id_or_name>and find a share host in the output. Host uniquely identifies what share service holds the broken share.Look thought logs of this share service. Usually, it can be found at
/etc/var/log/manila-share.log. This log should contain kind of traceback with extra information to help you to find the origin of issues.
8.12.2 No valid host was found #
8.12.2.1 Problem #
If a share type contains invalid extra specs, the scheduler will not be able to locate a valid host for the shares.
8.12.2.2 Solution #
To diagnose this issue, make sure that scheduler service is running in
debug mode. Try to create a new share and look for message Failed to
schedule create_share: No valid host was found. in
/etc/var/log/manila-scheduler.log.
To solve this issue look carefully through the list of extra specs in the share type, and the list of share services reported capabilities. Make sure that extra specs are pointed in the right way.
8.12.3 Created share is unreachable #
8.12.3.1 Problem #
By default, a new share does not have any active access rules.
8.12.3.2 Solution #
To provide access to new share, you need to create appropriate access rule with the right value. The value must defines access.
8.12.4 Service becomes unavailable after upgrade #
8.12.4.1 Problem #
After upgrading the Shared File Systems service from version v1 to version v2.x, you must update the service endpoint in the OpenStack Identity service. Otherwise, the service may become unavailable.
8.12.4.2 Solution #
To get the service type related to the Shared File Systems service, run:
# openstack endpoint list # openstack endpoint show <share-service-type>
You will get the endpoints expected from running the Shared File Systems service.
Make sure that these endpoints are updated. Otherwise, delete the outdated endpoints and create new ones.
8.12.5 Failures during management of internal resources #
8.12.5.1 Problem #
The Shared File System service manages internal resources effectively. Administrators may need to manually adjust internal resources to handle failures.
8.12.5.2 Solution #
Some drivers in the Shared File Systems service can create service entities,
like servers and networks. If it is necessary, you can log in to
project service and take manual control over it.