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.
Unmanage a share¶
Note
The unmanage
operation is not supported for shares that were created on
top of share servers and created with share networks until Shared File
Systems API version 2.49
(Stein/Manila 8.0.0 release).
Important
Shares that have dependent snapshots or share replicas cannot be removed from the Shared File Systems service unless the snapshots have been removed or unmanaged and the share replicas have been removed.
Unmanaging a share removes it from the management of the Shared File Systems service without deleting the share. It is a non-disruptive operation and existing clients are not disconnected, and the functionality is aimed at aiding infrastructure operations and maintenance workflows. To unmanage a 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.
Manage a share¶
Note
The manage
operation is not supported for shares that are exported on
share servers via share networks until Shared File Systems API version
2.49
(Stein/Manila 8.0.0 release).
Note
From API version 2.53, if the requester specifies a share type containing
a replication_type
extra spec while managing a share, manila quota
system will reserve and consume resources for two additional quotas:
share_replicas
and replica_gigabytes
.
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>]
[--share-server-id <share_server_id>]
[--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#POOL
format, 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, HDFS or MAPRFS.
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.
MAPRFS. maprfs:///share-0 -C -Z -N foo.
The optional arguments are:
name. The name of the share that is being managed.
share_type. The share type of the share that is being managed. If not specified, the service will try to manage the share with the configured default share type.
share_server_id. must be provided to manage shares within share networks. This argument can only be used with File Systems API version
2.49
(Stein/Manila 8.0.0 release) and beyond.driver_options. An optional set of one or more key and value pairs that describe driver options. 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 |
| share_group_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 |
| 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 |
| share_group_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 |
| project_id | 907004508ef4447397ce6741a8f037c1 |
| metadata | {} |
+----------------------+--------------------------------------------------------------------------+