From 9c1128f9e50a3e72b9d6ea4f7d0fb3c46cd6c773 Mon Sep 17 00:00:00 2001 From: Meenakshi Dembi Date: Mon, 10 May 2021 15:47:29 +0530 Subject: [PATCH 1/6] Added snapScheduleParameters in the modify method so that snap schedule can be edited via playbook --- storops/unity/resource/filesystem.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/storops/unity/resource/filesystem.py b/storops/unity/resource/filesystem.py index 3c884799..f054b435 100644 --- a/storops/unity/resource/filesystem.py +++ b/storops/unity/resource/filesystem.py @@ -80,7 +80,7 @@ def create(cls, cli, pool, nas_server, name, size, proto=None, def modify(self, size=None, is_thin=None, tiering_policy=None, user_cap=False, is_compression=None, access_policy=None, locking_policy=None, description=None, - cifs_fs_parameters=None): + cifs_fs_parameters=None, snapScheduleParameters=None): sr = self.storage_resource if sr is None: raise ValueError('storage resource for filesystem {} not found.' @@ -103,6 +103,8 @@ def modify(self, size=None, is_thin=None, tiering_policy=None, params['cifsFsParameters'] = cifs_fs_parameters if description is not None: params['description'] = description + if snapScheduleParameters: + params['snapScheduleParameters'] = snapScheduleParameters if not params: return RestResponse('', self._cli) From d1c2ebf09287221df7fe892422056348bbbd38f7 Mon Sep 17 00:00:00 2001 From: Meenakshi Dembi Date: Tue, 11 May 2021 14:00:59 +0530 Subject: [PATCH 2/6] Added snapScheduleParameters in the modify method so that snap schedule can be edited via playbook --- storops_test/unity/resource/test_filesystem.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/storops_test/unity/resource/test_filesystem.py b/storops_test/unity/resource/test_filesystem.py index d3cc8611..aa4283cf 100644 --- a/storops_test/unity/resource/test_filesystem.py +++ b/storops_test/unity/resource/test_filesystem.py @@ -245,6 +245,16 @@ def test_modify_success_empty_description(self): fs.modify(description='') assert_that(fs.description, equal_to('')) + @patch_rest + def test_modify_success_snap_schedule(self): + fs = UnityFileSystem(cli=t_rest(), _id='fs_22') + + snapScheduleParameters = {'snapSchedule': {'id': 'snapSch_1'}, 'isSnapSchedulePaused': False} + + fs.modify(snapScheduleParameters=snapScheduleParameters) + fs_snapSchedule = fs.snapScheduleParameters['snapSchedule'] + assert_that(fs_snapSchedule['id'], equal_to('snapSch_1')) + @patch_rest def test_delete_filesystem_async(self): fs = UnityFileSystem(_id='fs_14', cli=t_rest()) From ffe635450a7a716aae252051948e9a3f08020fa1 Mon Sep 17 00:00:00 2001 From: Meenakshi Dembi Date: Thu, 13 May 2021 11:39:09 +0530 Subject: [PATCH 3/6] Add the unit test and also added the data in index.json --- storops_test/unity/resource/test_filesystem.py | 18 ++++++------------ .../unity/rest_data/storageResource/index.json | 11 +++++++++++ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/storops_test/unity/resource/test_filesystem.py b/storops_test/unity/resource/test_filesystem.py index aa4283cf..58415492 100644 --- a/storops_test/unity/resource/test_filesystem.py +++ b/storops_test/unity/resource/test_filesystem.py @@ -248,12 +248,9 @@ def test_modify_success_empty_description(self): @patch_rest def test_modify_success_snap_schedule(self): fs = UnityFileSystem(cli=t_rest(), _id='fs_22') - - snapScheduleParameters = {'snapSchedule': {'id': 'snapSch_1'}, 'isSnapSchedulePaused': False} - - fs.modify(snapScheduleParameters=snapScheduleParameters) - fs_snapSchedule = fs.snapScheduleParameters['snapSchedule'] - assert_that(fs_snapSchedule['id'], equal_to('snapSch_1')) + snapScheduleParameters = {'snapSchedule': {'id': 'snapSch_1'}} + resp = fs.modify(snapScheduleParameters=snapScheduleParameters) + assert_that(resp.is_ok(), equal_to(True)) @patch_rest def test_delete_filesystem_async(self): @@ -429,12 +426,9 @@ def test_replicate_with_dst_resource_provisioning(self, fs = UnityFileSystem.get(cli=t_rest(), _id='fs_4') if remote_system: remote_system = UnityRemoteSystem(_id=remote_system, cli=t_rest()) - rep_session = fs.replicate_with_dst_resource_provisioning( - 60, 'pool_1', dst_fs_name=dst_fs_name, - remote_system=remote_system, replication_name=rep_name, - dst_size=dst_size, is_dst_thin=is_dst_thin, - dst_tiering_policy=dst_tiering_policy, - is_dst_compression=is_dst_compression) + rep_session = fs.replicate_with_dst_resource_provisioning(60, 'pool_1', dst_fs_name=dst_fs_name, + remote_system=remote_system, replication_name=rep_name, dst_size=dst_size, is_dst_thin=is_dst_thin, + dst_tiering_policy=dst_tiering_policy, is_dst_compression=is_dst_compression) assert_that(rep_session.id, equal_to(expected_rep_session_id)) @patch_rest diff --git a/storops_test/unity/rest_data/storageResource/index.json b/storops_test/unity/rest_data/storageResource/index.json index 9f7ea701..6ee205a2 100644 --- a/storops_test/unity/rest_data/storageResource/index.json +++ b/storops_test/unity/rest_data/storageResource/index.json @@ -348,6 +348,17 @@ }, "response": "size_too_small.json" }, + { + "url": "/api/instances/storageResource/res_22/action/modifyFilesystem?compact=True", + "body": { + "snapScheduleParameters": { + "snapSchedule": { + "id": "snapSch_1" + } + } + }, + "response": "empty.json" + }, { "url": "/api/types/storageResource/action/createFilesystem?compact=True", "body": { From f7e52d4aad652c8341ac0cb9907adf45806e282e Mon Sep 17 00:00:00 2001 From: Meenakshi Dembi Date: Thu, 13 May 2021 13:30:21 +0530 Subject: [PATCH 4/6] flake8 issue resolution --- storops_test/unity/resource/test_filesystem.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/storops_test/unity/resource/test_filesystem.py b/storops_test/unity/resource/test_filesystem.py index 58415492..de4e281b 100644 --- a/storops_test/unity/resource/test_filesystem.py +++ b/storops_test/unity/resource/test_filesystem.py @@ -354,8 +354,7 @@ def test_create_cifs_share_success_all_params(self): assert_that(share.is_continuous_availability_enabled, equal_to(True)) assert_that(share.is_abe_enabled, equal_to(True)) assert_that(share.is_branch_cache_enabled, equal_to(True)) - assert_that(share.offline_availability, - equal_to(offline_availability)) + assert_that(share.offline_availability, equal_to(offline_availability)) assert_that(share.umask, equal_to(umask)) assert_that(share.description, equal_to(description)) From 386c1b14faef446e4f5828960724740f45f80805 Mon Sep 17 00:00:00 2001 From: Meenakshi Dembi Date: Thu, 13 May 2021 14:11:37 +0530 Subject: [PATCH 5/6] Addressed flake8 issues --- storops_test/unity/resource/test_filesystem.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/storops_test/unity/resource/test_filesystem.py b/storops_test/unity/resource/test_filesystem.py index de4e281b..4aca931f 100644 --- a/storops_test/unity/resource/test_filesystem.py +++ b/storops_test/unity/resource/test_filesystem.py @@ -354,7 +354,8 @@ def test_create_cifs_share_success_all_params(self): assert_that(share.is_continuous_availability_enabled, equal_to(True)) assert_that(share.is_abe_enabled, equal_to(True)) assert_that(share.is_branch_cache_enabled, equal_to(True)) - assert_that(share.offline_availability, equal_to(offline_availability)) + assert_that(share.offline_availability, + equal_to(offline_availability)) assert_that(share.umask, equal_to(umask)) assert_that(share.description, equal_to(description)) @@ -425,9 +426,12 @@ def test_replicate_with_dst_resource_provisioning(self, fs = UnityFileSystem.get(cli=t_rest(), _id='fs_4') if remote_system: remote_system = UnityRemoteSystem(_id=remote_system, cli=t_rest()) - rep_session = fs.replicate_with_dst_resource_provisioning(60, 'pool_1', dst_fs_name=dst_fs_name, - remote_system=remote_system, replication_name=rep_name, dst_size=dst_size, is_dst_thin=is_dst_thin, - dst_tiering_policy=dst_tiering_policy, is_dst_compression=is_dst_compression) + rep_session = fs.replicate_with_dst_resource_provisioning( + 60, 'pool_1', dst_fs_name=dst_fs_name, + remote_system=remote_system, replication_name=rep_name, + dst_size=dst_size, is_dst_thin=is_dst_thin, + dst_tiering_policy=dst_tiering_policy, + is_dst_compression=is_dst_compression) assert_that(rep_session.id, equal_to(expected_rep_session_id)) @patch_rest From f21b9326f9cb3379e3177a03e00fb34ae92504f8 Mon Sep 17 00:00:00 2001 From: Meenakshi Dembi Date: Thu, 13 May 2021 15:47:21 +0530 Subject: [PATCH 6/6] Changed the parameter name from snapScheduleParameters to snap_schedule_parameters --- storops/unity/resource/filesystem.py | 6 +++--- storops_test/unity/resource/test_filesystem.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/storops/unity/resource/filesystem.py b/storops/unity/resource/filesystem.py index f054b435..abc31923 100644 --- a/storops/unity/resource/filesystem.py +++ b/storops/unity/resource/filesystem.py @@ -80,7 +80,7 @@ def create(cls, cli, pool, nas_server, name, size, proto=None, def modify(self, size=None, is_thin=None, tiering_policy=None, user_cap=False, is_compression=None, access_policy=None, locking_policy=None, description=None, - cifs_fs_parameters=None, snapScheduleParameters=None): + cifs_fs_parameters=None, snap_schedule_parameters=None): sr = self.storage_resource if sr is None: raise ValueError('storage resource for filesystem {} not found.' @@ -103,8 +103,8 @@ def modify(self, size=None, is_thin=None, tiering_policy=None, params['cifsFsParameters'] = cifs_fs_parameters if description is not None: params['description'] = description - if snapScheduleParameters: - params['snapScheduleParameters'] = snapScheduleParameters + if snap_schedule_parameters: + params['snapScheduleParameters'] = snap_schedule_parameters if not params: return RestResponse('', self._cli) diff --git a/storops_test/unity/resource/test_filesystem.py b/storops_test/unity/resource/test_filesystem.py index 4aca931f..5119054d 100644 --- a/storops_test/unity/resource/test_filesystem.py +++ b/storops_test/unity/resource/test_filesystem.py @@ -248,8 +248,8 @@ def test_modify_success_empty_description(self): @patch_rest def test_modify_success_snap_schedule(self): fs = UnityFileSystem(cli=t_rest(), _id='fs_22') - snapScheduleParameters = {'snapSchedule': {'id': 'snapSch_1'}} - resp = fs.modify(snapScheduleParameters=snapScheduleParameters) + snap_schedule_parameters = {'snapSchedule': {'id': 'snapSch_1'}} + resp = fs.modify(snap_schedule_parameters=snap_schedule_parameters) assert_that(resp.is_ok(), equal_to(True)) @patch_rest