issue in phase reconciliation logic
jaideepr97 opened this issue · comments
Describe the bug
Currently, Argo CD phase reconciliation seems to be broken. Phase appears as available even if one or more core components (app-controller, server, repo-server, redis) are still pending. This is happening because phase is being manipulated in multiple places (including while setting the host status for the instance).
To Reproduce
Steps to reproduce the behavior:
- deploy the operator
- create an argo-cd instance
cat <<EOF | oc apply -f -
apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
name: argocd
spec:
EOF
- verify that phase is initially set to
Available
and core components arerunning
- edit argo-cd to set the image version to an invalid version:
spec:
version: dummy-version
- See that core component pods are restarted with invalid image and stuck in
pending
- Confirm that argo-cd instance phase is still set to
available
Expected behavior
Phase should ONLY be set to available if all core components are running AND there is a valid host set
Additional context
Add any other context about the problem here.
Additional context
Add any other context about the problem here.