Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade ArgoCD to 1.8 #14

Closed
megian opened this issue Feb 3, 2021 · 6 comments
Closed

Upgrade ArgoCD to 1.8 #14

megian opened this issue Feb 3, 2021 · 6 comments

Comments

@megian
Copy link
Contributor

megian commented Feb 3, 2021

Because of an bug/feature the component nginx-ingress couldn't be installed correctly. It does require ArgoCD 1.8. See argoproj/argo-cd#2737 for more details.

I've created the branch upgrade-1.8 and in in-place upgrade with ArgoCD itself did work, except of sync the repo-server deployment.

The sync did stop with the error:
The Deployment "argocd-repo-server" is invalid: spec.template.spec.containers[0].livenessProbe.tcpSocket: Forbidden: may not specify more than 1 handler type

To proceed I did command to replace the entire object:
k -n syn replace -f ~/Git/syn/commodore/catalog/manifests/argocd/30_repo-server/deployment.yaml

This worked out and ArgoCD 1.8.3 is currently working. And also the deployment of the application-controller gets removed. See https://argoproj.github.io/argo-cd/operator-manual/upgrading/1.7-1.8/#the-argocd-application-controller-converted-to-statefulset as reference.

Neverless steward expects to have deployments and not a statefulset and is continuously creating a deployment:
I0203 17:32:04.755780 1 app-controller.go:103] Created Argo CD application-controller deployment

Issues to fix:

@megian
Copy link
Contributor Author

megian commented Mar 9, 2021

Fix steward not creating an no longer required deployment projectsyn/steward#61 has been fixed.

@megian
Copy link
Contributor Author

megian commented Mar 9, 2021

Similar issue kubernetes/kubernetes#30991

@megian
Copy link
Contributor Author

megian commented Mar 10, 2021

readinessProbe.tcpSocket is replaced by readinessProbe.httpGet

     --- manifests/argocd/30_repo-server/deployment.yaml
     +++ manifests/argocd/30_repo-server/deployment.yaml
     @@ -16,6 +16,21 @@
            labels:
              app.kubernetes.io/name: argocd-repo-server
          spec:
            automountServiceAccountToken: false
            containers:
                name: argocd-repo-server
                readinessProbe:
     +            httpGet:
     +              path: /healthz
     +              port: 8084
                  initialDelaySeconds: 5
                  periodSeconds: 10
     -            tcpSocket:
     -              port: 8081
                volumeMounts:
                  - mountPath: /app/config/ssh
                    name: ssh-known-hosts

@megian
Copy link
Contributor Author

megian commented Mar 11, 2021

Simplest workaround is to remove the liveness probe of argocd-repo-server:

oc patch deployment/argocd-repo-server -n syn --type json -p '[{"op":"remove", "path": "/spec/template/spec/containers/0/livenessProbe"}]'

@tobru
Copy link
Contributor

tobru commented Apr 29, 2021

Should we upgrade this issue to say "Upgrade Argo CD to 2.0"?

@megian
Copy link
Contributor Author

megian commented Apr 29, 2021

Should we upgrade this issue to say "Upgrade Argo CD to 2.0"?

No I'm closing this. This is relevant information for the upgrade to 1.8. The upgrade 1.8 to 2.0 is different and this has no relation to https://argoproj.github.io/argo-cd/operator-manual/upgrading/1.8-2.0/.

@megian megian closed this as completed Apr 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants