Bug 1848200 - [TESTONLY] Support for CephFS Snapshots [NEEDINFO]
Summary: [TESTONLY] Support for CephFS Snapshots
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-manila
Version: 16.2 (Train)
Hardware: All
OS: All
medium
medium
Target Milestone: z2
: 16.2 (Train on RHEL 8.4)
Assignee: Goutham Pacha Ravi
QA Contact: lkuchlan
RHOS Documentation Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-06-17 23:05 UTC by Goutham Pacha Ravi
Modified: 2022-01-07 08:00 UTC (History)
8 users (show)

Fixed In Version: openstack-manila-9.1.6-2.20210603154809.479a8a7.el8ost.1
Doc Type: Enhancement
Doc Text:
Snapshots are fully supported in the Shared File Systems service (manila) with the CephFS back ends. Users can create and delete point-in-time backups of their shares through snapshots. Cloud administrators can control the quotas of the number or size of snapshots that users can create.
Clone Of:
Environment:
Last Closed: 2021-10-14 15:55:45 UTC
Target Upstream Version:
Embargoed:
gcharot: needinfo? (spower)
lmarsh: needinfo? (spower)


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-1687 0 None None None 2022-01-05 15:42:16 UTC
Red Hat Issue Tracker RHOSPDOC-720 0 Unprioritized Open Manila. Support for CephFS Snapshots 2021-05-13 18:07:45 UTC

Description Goutham Pacha Ravi 2020-06-17 23:05:32 UTC
Description of problem:

Manila's CephFS drivers have the ability to take snapshots, but not create shares from them. This ability was turned off by default because CephFS snapshots were considered experimental and unstable in RHCS3.x (Ceph Luminous) [1]. 

To enable them on RHCS3/Luminous ceph clusters, you had to execute with admin caps:

  ceph mds set allow_new_snaps true --yes-i-really-mean-it

Due to this limitation, snapshots are disabled by default even in the manila driver [2]. To create CephFS snapshots in manila, apart from setting the above option on ceph, you will also need to do the following:

  1. In `/etc/manila/manila.conf`, set "cephfs_enable_snapshots=True" in the ceph backend section
     This can be done with TripleO using the THT option ``ManilaCephFSCephFSEnableSnapshots: true``
     This allows the driver to report "snapshot_support=True" to the manila scheduler, allowing manila to
     schedule shares that can be snapshotted on this backend/driver.

  2. Set "snapshot_support=True" in the share type
     
     # a new share type:
     manila type-create cephfstype False --snapshot-support True
 
     # an existing share type:
     manila type-key cephfstype set snapshot_support='<is> True'  # or just True, but you're not being fancy


   3. Use the share type to create shares, and create snapshots:

     manila create nfs 1 --share-type cephfstype --name my-test-share
     manila snapshot-create my-test-share --name my-test-snapshot



With OSP 16 and 16.1, we support RHCS4.x (Ceph Nautilus) and snapshots are supported in this release [3]. Snapshots are disabled by default only on existing filesystems, and they can be enabled using:


   ceph fs set <fs_name> allow_new_snaps true


However, on green field deployments, where the underlying filesystem used by manila is brand new on RHCS4, this step is not required. You can now create cephfs snapshots by performing steps (1)(2)(3) on OSP. 

We need to test this feature and remove our own documentation warning from the CephFS-via-NFS guide [4] and the CephFS-native guide [5]. 


Version-Release number of selected component (if applicable): 16+



Additional info:
[1] https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html-single/ceph_file_system_guide/index#cephfs-limitations
[2] https://opendev.org/openstack/manila/src/commit/fbcabd2c03985000bd9b4d4d9a4478bc0b784efa/manila/share/drivers/cephfs/driver.py#L70-L73
[3] https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/4/html/file_system_guide/introduction-to-the-ceph-file-system#cephfs-limitations
[4] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.0/html/cephfs_via_nfs_back_end_guide_for_the_shared_file_system_service/assembly_cephfs-install#proc-deploy-env_CephFS-install (contains a warning regarding parameter: ManilaCephFSCephFSEnableSnapshots)
[5] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.0/html/cephfs_back_end_guide_for_the_shared_file_system_service/edit-env-file (does not contain any warnings, but this documentation is being rewritten as part of https://bugzilla.redhat.com/show_bug.cgi?id=1812694)

Comment 3 Chuck Copello 2020-06-30 13:19:04 UTC
Changed Doc Contact to default email list.

Comment 4 spower 2020-10-23 12:44:23 UTC
Flagged as a key feature for 16.2, please add a target milestone of Beta.

Comment 10 lkuchlan 2021-08-12 12:35:20 UTC
Tested using:
openstack-manila-9.1.6-2.20210603154809.479a8a7.el8ost.1.noarch

(overcloud) [stack@undercloud-0 ~]$ manila type-list
+--------------------------------------+---------+------------+------------+--------------------------------------+-------------------------+-------------+
| ID                                   | Name    | visibility | is_default | required_extra_specs                 | optional_extra_specs    | Description |
+--------------------------------------+---------+------------+------------+--------------------------------------+-------------------------+-------------+
| 696582a3-a297-493e-b44c-4aa8d7e9d6ca | default | public     | YES        | driver_handles_share_servers : False | snapshot_support : True | None        |
+--------------------------------------+---------+------------+------------+--------------------------------------+-------------------------+-------------+
(overcloud) [stack@undercloud-0 ~]$ manila create cephfs 1
+---------------------------------------+--------------------------------------+
| Property                              | Value                                |
+---------------------------------------+--------------------------------------+
| id                                    | 5b73c382-c04f-43c6-887d-62c3c8ded537 |
| size                                  | 1                                    |
| availability_zone                     | None                                 |
| created_at                            | 2021-08-12T07:31:18.000000           |
| status                                | creating                             |
| name                                  | None                                 |
| description                           | None                                 |
| project_id                            | 4351959361dc43e7902899eaa6f66730     |
| snapshot_id                           | None                                 |
| share_network_id                      | None                                 |
| share_proto                           | CEPHFS                               |
| metadata                              | {}                                   |
| share_type                            | 696582a3-a297-493e-b44c-4aa8d7e9d6ca |
| is_public                             | False                                |
| snapshot_support                      | True                                 |
| task_state                            | None                                 |
| share_type_name                       | default                              |
| access_rules_status                   | active                               |
| replication_type                      | None                                 |
| has_replicas                          | False                                |
| user_id                               | c51b7eb2e2f8481095a35169afc500f4     |
| create_share_from_snapshot_support    | False                                |
| revert_to_snapshot_support            | False                                |
| share_group_id                        | None                                 |
| source_share_group_snapshot_member_id | None                                 |
| mount_snapshot_support                | False                                |
| share_server_id                       | None                                 |
| host                                  |                                      |
+---------------------------------------+--------------------------------------+
(overcloud) [stack@undercloud-0 ~]$ manila list
+--------------------------------------+------+------+-------------+-----------+-----------+-----------------+-------------------------+-------------------+
| ID                                   | Name | Size | Share Proto | Status    | Is Public | Share Type Name | Host                    | Availability Zone |
+--------------------------------------+------+------+-------------+-----------+-----------+-----------------+-------------------------+-------------------+
| 5b73c382-c04f-43c6-887d-62c3c8ded537 | None | 1    | CEPHFS      | available | False     | default         | hostgroup@cephfs#cephfs | nova              |
+--------------------------------------+------+------+-------------+-----------+-----------+-----------------+-------------------------+-------------------+
(overcloud) [stack@undercloud-0 ~]$ manila snapshot-create 5b73c382-c04f-43c6-887d-62c3c8ded537
+-------------------+--------------------------------------+
| Property          | Value                                |
+-------------------+--------------------------------------+
| id                | f5b59f44-023e-4ed4-a205-147e782097ae |
| share_id          | 5b73c382-c04f-43c6-887d-62c3c8ded537 |
| share_size        | 1                                    |
| created_at        | 2021-08-12T07:32:02.755926           |
| status            | creating                             |
| name              | None                                 |
| description       | None                                 |
| size              | 1                                    |
| share_proto       | CEPHFS                               |
| provider_location | None                                 |
| user_id           | c51b7eb2e2f8481095a35169afc500f4     |
| project_id        | 4351959361dc43e7902899eaa6f66730     |
+-------------------+--------------------------------------+
(overcloud) [stack@undercloud-0 ~]$ manila snapshot-list
+--------------------------------------+--------------------------------------+-----------+------+------------+
| ID                                   | Share ID                             | Status    | Name | Share Size |
+--------------------------------------+--------------------------------------+-----------+------+------------+
| f5b59f44-023e-4ed4-a205-147e782097ae | 5b73c382-c04f-43c6-887d-62c3c8ded537 | available | None | 1          |
+--------------------------------------+--------------------------------------+-----------+------+------------+

Comment 13 Thierry Vignaud 2021-10-14 15:55:45 UTC
According to our records, this should be resolved by openstack-manila-9.1.6-2.20210603154809.479a8a7.el8ost.1.  This build is available now.


Note You need to log in before you can comment on or make changes to this bug.