-
Bug
-
Resolution: Done
-
Major
-
None
-
5
-
False
-
None
-
False
-
5
-
Pipelines Sprint TekShift 4, Pipelines Sprint TekShift 5, Pipelines Sprint TekShift 6, Pipelines Sprint TekShift 7, Pipelines Sprint TekShift 8, Pipelines Sprint TekShift 9, Pipelines Sprint TekShift 10, Pipelines Sprint TekShift 11, Pipelines Sprint TekShift 12
Operator blocks installation of components if it cannot create resources like ServiceAccount like Pipelines, Configmap, etc in a namespace. Keep in mind that these namespaces might be used to run Tekton workloads but are not critical for component installation. The operator should issue warning and errors but the installation should not be blocked.
Example:
If a resource quota is set on ConfigMaps for a given namespace:
$ oc get resourcequota project-quota -n testservice NAME AGE REQUEST LIMIT project-quota 29h configmaps: 3/3, cpu: 0/3, memory: 0/1G
then the operator blocks the installation of the components since it cannot create the ConfigMaps in that namespace.
acceptance criteria
- split the errors into critical errors (that block the reconcile loop and break the product) that are necessary for functioning of the product AND non-critical errors (that cause certain parts of the product to malfunction, like some namespaces, etc) that are surfaced to the users but don't block the reconcile loop and don't break the product - tektonconfig could still be set to false in case of non-critical errors
- devise a mechanism to return critical errors while blocking the reconcile loop
- devise a mechanism to return non-critical errors while NOT blocking the reconcile loop
- this mechanism is applied to `func (r *rbac) createResources()` here
- this mechanism is applied to the `PreReconcile()` loop here
- figure out if this mechanism needs to be applied to other parts of the operator and create further stories
- is depended on by
-
RFE-5304 Add namespace name in the error message related to `pipelines-scc-rolebinding` in pipelines operator pod logs
- Backlog