From 9c31e0bcbda0d9a07254cfb98c364a4b784c058e Mon Sep 17 00:00:00 2001 From: Lenka Segura Date: Mar 07 2023 08:27:14 +0000 Subject: Fixing errors of the module to retrieve discourse groups --- diff --git a/Makefile b/Makefile index e3ae920..f4a7b9b 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ # To re-generate a bundle for another specific version without changing the standard setup, you can: # - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2) # - use environment variables to overwrite this value (e.g export VERSION=0.0.2) -VERSION ?= 0.0.17 +VERSION ?= 0.0.24 # CHANNELS define the bundle channels used in the bundle. # Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable") diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index ab8dc25..45d060a 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -14,6 +14,7 @@ rules: - pods - pods/exec - pods/log + - configmaps verbs: - create - delete diff --git a/roles/fas2discourseconfig/defaults/main.yml b/roles/fas2discourseconfig/defaults/main.yml index 186c771..b029f32 100644 --- a/roles/fas2discourseconfig/defaults/main.yml +++ b/roles/fas2discourseconfig/defaults/main.yml @@ -10,7 +10,7 @@ discourse_api: "OVERRIDEME" discourse_ignored_groups: - "admins" - "staff" - - "moderator" + - "moderators" - "trust_level_0" - "trust_level_1" - "trust_level_2" diff --git a/roles/fas2discourseconfig/library/fas2discourse_retrieve_discourse_groups.py b/roles/fas2discourseconfig/library/fas2discourse_retrieve_discourse_groups.py index 9198a7c..094604a 100644 --- a/roles/fas2discourseconfig/library/fas2discourse_retrieve_discourse_groups.py +++ b/roles/fas2discourseconfig/library/fas2discourse_retrieve_discourse_groups.py @@ -59,18 +59,19 @@ msg: sample: 'Successfully retrieved groups from Dicourse.' """ -headers = {"Api-Key": "%s" % (discourse_api), "Api-Username": "system"} # Helper function to retrieve fasjson groups def get_groups(discourse_host, discourse_api): + headers = {"Api-Key": "%s" % (discourse_api), "Api-Username": "system"} url = f"{discourse_host}/groups.json" response = requests.get(url, headers=headers) if response.ok: return response.json() -def get_group_members(group): +def get_group_members(group, discourse_api, discourse_host): + headers = {"Api-Key": "%s" % (discourse_api), "Api-Username": "system"} url = f"{discourse_host}/groups/{group}/members.json" response = requests.get(url, headers=headers) if response.ok: @@ -82,6 +83,7 @@ def run_module(): module_args = dict( discourse_api=dict(type="str", required=True), discourse_host=dict(type="str", required=True), + discourse_ignored_groups=dict(dict="str", required=True), ) # seed the result dict in the object @@ -115,11 +117,12 @@ def run_module(): for v in discourse_groups_response["groups"]: if v["name"] not in discourse_ignored_groups: group = {"groupname": v["name"], "groupmembers": []} - group_members = get_group_members(v["name"]) + group_members = get_group_members(v["name"], discourse_api, discourse_host) if group_members["members"]: for number in range(len(group_members)): group["groupmembers"].append(group_members["members"][number]["username"]) discourse_groups.append(group) + print(f"BEHOLD! Printing discourse groups: {discourse_groups}") result["discourse_groups"] = discourse_groups result["changed"] = True diff --git a/roles/fas2discourseconfig/tasks/retrieve_discourse_groups.yml b/roles/fas2discourseconfig/tasks/retrieve_discourse_groups.yml index 406eb7a..c9be777 100644 --- a/roles/fas2discourseconfig/tasks/retrieve_discourse_groups.yml +++ b/roles/fas2discourseconfig/tasks/retrieve_discourse_groups.yml @@ -8,12 +8,18 @@ name: "{{ f2d_discourse_secret }}" register: f2d_discourse_secret_yaml -- set_fact: - f2d_discourse_secret: "{{ f2d_discourse_secret_yaml.resources[0] | from_yaml }}" -- set_fact: - discourse_api: "{{ f2d_discourse_secret.data['fas2discourse-discourse-apikey'] | b64decode }}" -- set_fact: - discourse_host: "{{ f2d_discourse_secret.data['fas2discourse-host'] | b64decode }}" +- name: Prints the secret + ansible.builtin.debug: + msg: + - "{{ f2d_discourse_secret_yaml }}" + + + #- set_fact: + #f2d_discourse_secret: "{{ f2d_discourse_secret_yaml.resources[0] | from_yaml }}" + #- set_fact: + # discourse_api: "{{ f2d_discourse_secret.data['fas2discourse-discourse-apikey'] | b64decode }}" + #- set_fact: + # discourse_host: "{{ f2d_discourse_secret.data['fas2discourse-host'] | b64decode }}" - name: Retrieve discourse groups