fas2discourse: Update index to link to the fas2discourse operator SOPs fas2discourse: Add SOP for interacting with the operator fas2discourse: add SOP for debugging issues with operator Signed-off-by: David Kirwan <dkirwan@redhat.com>
37 lines
2 KiB
Text
37 lines
2 KiB
Text
= Debugging issues with the fas2discourse Operator
|
|
|
|
== Resources
|
|
- [1] Code: https://pagure.io/cpe/fas2discourse/
|
|
- [2] Playbook: https://pagure.io/fedora-infra/ansible/blob/main/f/playbooks/manual/fas2discourse.yml
|
|
- [3] Role: https://pagure.io/fedora-infra/ansible/blob/main/f/roles/fas2discourse
|
|
|
|
== Workload
|
|
The operator runs in the namespace: `fas2discourse-operator` on both the staging and production openshift clusters.
|
|
|
|
There is a single pod running. First port of call should be to examine the logs of this pod.
|
|
|
|
By default, the verbocity of logs are set low. To increase them to debug level add the following annotation to the `Fas2DiscourseConfig` object in the `fas2discourse-operator` namespace:
|
|
|
|
----
|
|
apiVersion: fas2discourse.apps.fedoraproject.org/v1alpha1
|
|
kind: Fas2discourseConfig
|
|
metadata:
|
|
annotations:
|
|
ansible.sdk.operatorframework.io/verbosity: '5'
|
|
----
|
|
|
|
This will enable full output from logging, which may aid in debugging.
|
|
|
|
The following task list is contained inside the operator. This list is repeated in the reconcile loop which is currently set to run every `20 minutes`.
|
|
|
|
----
|
|
# tasks file for Fas2discourseConfig
|
|
|
|
- include_tasks: retrieve_openshift_secrets.yml # Retrieves the secrets such as discourse api key etc and populates variable which feeds into the later tasks
|
|
- include_tasks: kerberos_auth.yml # Authenticate to fasjson via keytab
|
|
- include_tasks: retrieve_discourse_groups.yml # Contact Discourse API, retrieve the list of groups, and retrieve the list of users in each group
|
|
- include_tasks: retrieve_ipa_groups.yml # Contact fasjson, using the Discourse group list, retrieve the membership of each group in IPA
|
|
- include_tasks: sync_group_membership.yml # Using set functions, discover who is not in Discourse group but is in IPA group: add them. Who is in Discourse group but not in IPA group: remove them.
|
|
----
|
|
|
|
The results of each call in the workflow is outputted in the log. If any task fails the entire loop stops and retries.
|