taikun.cloud

Taikun OCP Guide

Table of Contents

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. From API version 2.62, manila quota
system will validate size of the share against
per_share_gigabytes quota.

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             | {}                                                                       |
+----------------------+--------------------------------------------------------------------------+