diff --git a/meta/runtime.yml b/meta/runtime.yml index 570a1ffd..278873f5 100644 --- a/meta/runtime.yml +++ b/meta/runtime.yml @@ -173,3 +173,13 @@ plugin_routing: deprecation: removal_version: "5.0.0" warning_text: Use M(cloudera.cluster.role_info). + service_role_config_group: + redirect: cloudera.cluster.role_config_group + deprecation: + removal_version: "5.0.0" + warning_text: Use M(cloudera.cluster.role_config_group). + service_role_config_group_info: + redirect: cloudera.cluster.role_config_group_info + deprecation: + removal_version: "5.0.0" + warning_text: Use M(cloudera.cluster.role_config_group_info). diff --git a/plugins/modules/service_role_config_group.py b/plugins/modules/role_config_group.py similarity index 93% rename from plugins/modules/service_role_config_group.py rename to plugins/modules/role_config_group.py index 46b1c628..4433ef83 100644 --- a/plugins/modules/service_role_config_group.py +++ b/plugins/modules/role_config_group.py @@ -16,7 +16,7 @@ # limitations under the License. DOCUMENTATION = r""" -module: service_role_config_group +module: role_config_group short_description: Manage a cluster service role config group. description: - Manage a cluster service role config group. @@ -103,12 +103,12 @@ requirements: - cm-client seealso: - - module: cloudera.cluster.service_role_config_group_info + - module: cloudera.cluster.role_config_group_info """ EXAMPLES = r""" - name: Create or update a role config group - cloudera.cluster.service_role_config_group: + cloudera.cluster.role_config_group: host: example.cloudera.com username: "jane_smith" password: "S&peR4Ec*re" @@ -120,7 +120,7 @@ tickTime: 2500 - name: Create or update a role config group, purging undeclared parameters - cloudera.cluster.service_role_config_group: + cloudera.cluster.role_config_group: host: example.cloudera.com username: "jane_smith" password: "S&peR4Ec*re" @@ -133,7 +133,7 @@ purge: true - name: Update the base role config group for a role type - cloudera.cluster.service_role_config_group: + cloudera.cluster.role_config_group: host: example.cloudera.com username: "jane_smith" password: "S&peR4Ec*re" @@ -145,7 +145,7 @@ tickTime: 3500 - name: Reset the configuration of a role config group - cloudera.cluster.service_role_config_group: + cloudera.cluster.role_config_group: host: example.cloudera.com username: "jane_smith" password: "S&peR4Ec*re" @@ -206,7 +206,6 @@ """ from cm_client import ( - ApiConfigList, ApiRoleConfigGroup, ApiRoleConfigGroupList, ClustersResourceApi, @@ -227,9 +226,9 @@ ) -class ClusterServiceRoleConfig(ClouderaManagerMutableModule): +class RoleConfigGroup(ClouderaManagerMutableModule): def __init__(self, module): - super(ClusterServiceRoleConfig, self).__init__(module) + super(RoleConfigGroup, self).__init__(module) # Set the parameters self.cluster = self.get_param("cluster") @@ -406,20 +405,6 @@ def process(self): config=self.config, ) - # payload = ApiRoleConfigGroup( - # name=self.name, - # role_type=self.role_type, - # ) - - # if self.display_name: - # payload.display_name = self.display_name - - # # Set the configuration - # if self.config: - # payload.config = ConfigListUpdates( - # ApiConfigList(items=[]), self.config, self.purge - # ).config - if self.module._diff: self.diff = dict( before={}, @@ -473,7 +458,7 @@ def main(): supports_check_mode=True, ) - result = ClusterServiceRoleConfig(module) + result = RoleConfigGroup(module) output = dict( changed=result.changed, diff --git a/plugins/modules/service_role_config_group_info.py b/plugins/modules/role_config_group_info.py similarity index 89% rename from plugins/modules/service_role_config_group_info.py rename to plugins/modules/role_config_group_info.py index 56053cf6..79931550 100644 --- a/plugins/modules/service_role_config_group_info.py +++ b/plugins/modules/role_config_group_info.py @@ -16,7 +16,7 @@ # limitations under the License. DOCUMENTATION = r""" -module: service_role_config_group_info +module: role_config_group_info short_description: Retrieve information about a cluster service role config group or groups description: - Gather details about a role config group or groups of a service in a CDP cluster. @@ -51,6 +51,7 @@ - The role config group to examine. - If defined, the module will return the role config group. - If the role config group does not exist, the module will return an empty result. + - Mutually exclusive with O(type). type: str aliases: - role_config_group @@ -64,28 +65,35 @@ requirements: - cm-client seealso: - - module: cloudera.cluster.service_role_config_group + - module: cloudera.cluster.role_config_group """ EXAMPLES = r""" -- name: Gather the configuration details for a cluster service role - cloudera.cluster.service_role_config_info: +- name: Gather the configuration details for all role config groups for a service + cloudera.cluster.role_config_group_info: host: "example.cloudera.internal" username: "jane_person" password: "S&peR4Ec*re" cluster: ExampleCluster service: knox - role: GATEWAY -- name: Gather the configuration details in 'full' for a cluster service role - cloudera.cluster.service_role_config_info: +- name: Gather the configuration details for a base role config group + cloudera.cluster.role_config_group_info: host: "example.cloudera.internal" username: "jane_person" password: "S&peR4Ec*re" cluster: ExampleCluster - service: ecs - role: ECS - view: full + service: knox + type: GATEWAY + +- name: Gather the configuration details for a custom role config group + cloudera.cluster.role_config_group_info: + host: "example.cloudera.internal" + username: "jane_person" + password: "S&peR4Ec*re" + cluster: ExampleCluster + service: knox + name: custom_rcg_knox_gateway """ RETURN = r""" @@ -136,13 +144,12 @@ from ansible_collections.cloudera.cluster.plugins.module_utils.role_config_group_utils import ( parse_role_config_group_result, - get_base_role_config_group, ) -class ClusterServiceRoleConfigGroupInfo(ClouderaManagerModule): +class RoleConfigGroupInfo(ClouderaManagerModule): def __init__(self, module): - super(ClusterServiceRoleConfigGroupInfo, self).__init__(module) + super(RoleConfigGroupInfo, self).__init__(module) # Set the parameters self.cluster = self.get_param("cluster") @@ -239,7 +246,7 @@ def main(): supports_check_mode=True, ) - result = ClusterServiceRoleConfigGroupInfo(module) + result = RoleConfigGroupInfo(module) output = dict( changed=False, diff --git a/tests/unit/plugins/modules/service_role_config_group/test_service_role_config_group.py b/tests/unit/plugins/modules/service_role_config_group/test_service_role_config_group.py index c31523da..8decc2d9 100644 --- a/tests/unit/plugins/modules/service_role_config_group/test_service_role_config_group.py +++ b/tests/unit/plugins/modules/service_role_config_group/test_service_role_config_group.py @@ -33,7 +33,7 @@ ) from ansible_collections.cloudera.cluster.plugins.modules import ( - service_role_config_group, + role_config_group, ) from ansible_collections.cloudera.cluster.plugins.module_utils.role_config_group_utils import ( @@ -60,7 +60,7 @@ def test_missing_required(conn, module_args): ) with pytest.raises(AnsibleFailJson, match="name, role_type"): - service_role_config_group.main() + role_config_group.main() def test_invalid_service(conn, module_args, base_cluster): @@ -74,7 +74,7 @@ def test_invalid_service(conn, module_args, base_cluster): ) with pytest.raises(AnsibleFailJson, match="Service does not exist: BOOM"): - service_role_config_group.main() + role_config_group.main() def test_invalid_cluster(conn, module_args, cms_session): @@ -88,7 +88,7 @@ def test_invalid_cluster(conn, module_args, cms_session): ) with pytest.raises(AnsibleFailJson, match="Cluster does not exist: BOOM"): - service_role_config_group.main() + role_config_group.main() @pytest.mark.role_config_group( @@ -118,14 +118,14 @@ def test_base_role_config_group_set(conn, module_args, zk_role_config_group, req expected = dict(minSessionTimeout="3000", process_start_secs="25") with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == True assert expected.items() <= e.value.role_config_group["config"].items() # Idempotency with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == False assert expected.items() <= e.value.role_config_group["config"].items() @@ -158,14 +158,14 @@ def test_base_role_config_group_unset(conn, module_args, zk_role_config_group, r expected = dict(process_start_secs="26") with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == True assert expected.items() <= e.value.role_config_group["config"].items() # Idempotency with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == False assert expected.items() <= e.value.role_config_group["config"].items() @@ -199,14 +199,14 @@ def test_base_role_config_group_purge(conn, module_args, zk_role_config_group, r expected = dict(minSessionTimeout="2701") with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == True assert expected.items() <= e.value.role_config_group["config"].items() # Idempotency with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == False assert expected.items() <= e.value.role_config_group["config"].items() @@ -245,14 +245,14 @@ def test_base_role_config_group_purge_all( expected = dict() with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == True assert expected.items() <= e.value.role_config_group["config"].items() # Idempotency with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == False assert expected.items() <= e.value.role_config_group["config"].items() @@ -289,7 +289,7 @@ def test_base_role_config_group_absent( AnsibleFailJson, match="Deletion failed\. Role config group is a base \(default\) group\.", ) as e: - service_role_config_group.main() + role_config_group.main() def test_role_config_group_create(conn, module_args, zk_session, request): @@ -310,14 +310,14 @@ def test_role_config_group_create(conn, module_args, zk_session, request): expected = dict(minSessionTimeout="3000") with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == True assert expected.items() <= e.value.role_config_group["config"].items() # Idempotency with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == False assert expected.items() <= e.value.role_config_group["config"].items() @@ -352,14 +352,14 @@ def test_role_config_group_set(conn, module_args, zk_role_config_group, request) expected = dict(minSessionTimeout="3000", process_start_secs="28") with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == True assert expected.items() <= e.value.role_config_group["config"].items() # Idempotency with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == False assert expected.items() <= e.value.role_config_group["config"].items() @@ -394,14 +394,14 @@ def test_role_config_group_unset(conn, module_args, zk_role_config_group, reques expected = dict(process_start_secs="29") with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == True assert expected.items() <= e.value.role_config_group["config"].items() # Idempotency with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == False assert expected.items() <= e.value.role_config_group["config"].items() @@ -437,14 +437,14 @@ def test_role_config_group_purge(conn, module_args, zk_role_config_group, reques expected = dict(minSessionTimeout="3000") with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == True assert expected.items() <= e.value.role_config_group["config"].items() # Idempotency with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == False assert expected.items() <= e.value.role_config_group["config"].items() @@ -480,14 +480,14 @@ def test_role_config_group_purge_all(conn, module_args, zk_role_config_group, re expected = dict() with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == True assert expected.items() <= e.value.role_config_group["config"].items() # Idempotency with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == False assert expected.items() <= e.value.role_config_group["config"].items() @@ -520,14 +520,14 @@ def test_role_config_group_absent(conn, module_args, zk_role_config_group, reque ) with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == True assert not e.value.role_config_group # Idempotency with pytest.raises(AnsibleExitJson) as e: - service_role_config_group.main() + role_config_group.main() assert e.value.changed == False assert not e.value.role_config_group @@ -560,7 +560,7 @@ def test_role_config_group_invalid_type( ) with pytest.raises(AnsibleFailJson, match="Invalid role type") as e: - service_role_config_group.main() + role_config_group.main() @pytest.mark.role_config_group( @@ -590,7 +590,7 @@ def test_role_config_group_invalid_config( ) with pytest.raises(AnsibleFailJson, match="Unknown configuration attribute") as e: - service_role_config_group.main() + role_config_group.main() @pytest.mark.role_config_group( @@ -642,7 +642,7 @@ def test_role_config_group_existing_roles( ) with pytest.raises(AnsibleFailJson, match="existing role associations") as e: - service_role_config_group.main() + role_config_group.main() rcg_api.move_roles_to_base_group( cluster_name=zk_role_config_group.service_ref.cluster_name, diff --git a/tests/unit/plugins/modules/service_role_config_group_info/test_service_role_config_group_info.py b/tests/unit/plugins/modules/service_role_config_group_info/test_service_role_config_group_info.py index f64a129f..7a02ea9b 100644 --- a/tests/unit/plugins/modules/service_role_config_group_info/test_service_role_config_group_info.py +++ b/tests/unit/plugins/modules/service_role_config_group_info/test_service_role_config_group_info.py @@ -27,7 +27,7 @@ ) from ansible_collections.cloudera.cluster.plugins.modules import ( - service_role_config_group_info, + role_config_group_info, ) from ansible_collections.cloudera.cluster.plugins.module_utils.role_config_group_utils import ( get_base_role_config_group, @@ -44,21 +44,21 @@ def test_missing_required(conn, module_args): module_args(conn) with pytest.raises(AnsibleFailJson, match="cluster, service"): - service_role_config_group_info.main() + role_config_group_info.main() def test_missing_cluster(conn, module_args): module_args({**conn, "service": "example"}) with pytest.raises(AnsibleFailJson, match="cluster"): - service_role_config_group_info.main() + role_config_group_info.main() def test_missing_service(conn, module_args, base_cluster): module_args({**conn, "cluster": base_cluster.name}) with pytest.raises(AnsibleFailJson, match="service"): - service_role_config_group_info.main() + role_config_group_info.main() def test_invalid_service(conn, module_args, base_cluster): @@ -71,7 +71,7 @@ def test_invalid_service(conn, module_args, base_cluster): ) with pytest.raises(AnsibleFailJson, match="Service does not exist: BOOM"): - service_role_config_group_info.main() + role_config_group_info.main() def test_invalid_cluster(conn, module_args, cms_session): @@ -84,7 +84,7 @@ def test_invalid_cluster(conn, module_args, cms_session): ) with pytest.raises(AnsibleFailJson, match="Cluster does not exist: BOOM"): - service_role_config_group_info.main() + role_config_group_info.main() @pytest.mark.role_config_group( @@ -104,7 +104,7 @@ def test_all_role_config_groups(conn, module_args, base_cluster, zk_role_config_ ) with pytest.raises(AnsibleExitJson) as e: - service_role_config_group_info.main() + role_config_group_info.main() assert len(e.value.role_config_groups) == 2 @@ -127,7 +127,7 @@ def test_type_role_config_group(conn, module_args, base_cluster, zk_role_config_ ) with pytest.raises(AnsibleExitJson) as e: - service_role_config_group_info.main() + role_config_group_info.main() assert len(e.value.role_config_groups) == 2 @@ -163,7 +163,7 @@ def test_name_base_role_config_group( ) with pytest.raises(AnsibleExitJson) as e: - service_role_config_group_info.main() + role_config_group_info.main() # Should be only one BASE for the SERVER assert len(e.value.role_config_groups) == 1 @@ -193,7 +193,7 @@ def test_name_base_role_config_group( ) with pytest.raises(AnsibleExitJson) as e: - service_role_config_group_info.main() + role_config_group_info.main() # Should be only one non-BASE for the SERVER assert len(e.value.role_config_groups) == 1