actions-runner-controller icon indicating copy to clipboard operation
actions-runner-controller copied to clipboard

Upgrading from 0.20.3 to 0.22.0 failing

Open sbrinkerhoff opened this issue 3 years ago • 5 comments

Describe the bug Attempting to upgrade from 0.20.2 to 0.22.0 failing.

Checks

To Reproduce

  • Remove existing controller (kubectl delete -f https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.20.3/actions-runner-controller.yaml)
  • Install 0.22.0 (kubectl apply -f https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.0/actions-runner-controller.yaml)

Details

❯ kubectl apply -f https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.0/actions-runner-controller.yaml
namespace/actions-runner-system created
customresourcedefinition.apiextensions.k8s.io/horizontalrunnerautoscalers.actions.summerwind.dev created
customresourcedefinition.apiextensions.k8s.io/runnersets.actions.summerwind.dev created
role.rbac.authorization.k8s.io/leader-election-role created
clusterrole.rbac.authorization.k8s.io/manager-role created
clusterrole.rbac.authorization.k8s.io/proxy-role created
rolebinding.rbac.authorization.k8s.io/leader-election-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/manager-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/proxy-rolebinding created
service/controller-manager-metrics-service created
service/webhook-service created
deployment.apps/controller-manager created
certificate.cert-manager.io/serving-cert created
issuer.cert-manager.io/selfsigned-issuer created
mutatingwebhookconfiguration.admissionregistration.k8s.io/mutating-webhook-configuration created
validatingwebhookconfiguration.admissionregistration.k8s.io/validating-webhook-configuration created
Error from server (Invalid): error when creating "https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.0/actions-runner-controller.yaml": CustomResourceDefinition.apiextensions.k8s.io "runnerdeployments.actions.summerwind.dev" is invalid: metadata.annotations: Too long: must have at most 262144 bytes
Error from server (Invalid): error when creating "https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.0/actions-runner-controller.yaml": CustomResourceDefinition.apiextensions.k8s.io "runnerreplicasets.actions.summerwind.dev" is invalid: metadata.annotations: Too long: must have at most 262144 bytes
Error from server (Invalid): error when creating "https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.0/actions-runner-controller.yaml": CustomResourceDefinition.apiextensions.k8s.io "runners.actions.summerwind.dev" is invalid: metadata.annotations: Too long: must have at most 262144 bytes

So I then do a replace...

❯ kubectl replace -f https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.0/actions-runner-controller.yaml
namespace/actions-runner-system replaced
customresourcedefinition.apiextensions.k8s.io/horizontalrunnerautoscalers.actions.summerwind.dev replaced
customresourcedefinition.apiextensions.k8s.io/runnersets.actions.summerwind.dev replaced
role.rbac.authorization.k8s.io/leader-election-role replaced
clusterrole.rbac.authorization.k8s.io/manager-role replaced
clusterrole.rbac.authorization.k8s.io/proxy-role replaced
rolebinding.rbac.authorization.k8s.io/leader-election-rolebinding replaced
clusterrolebinding.rbac.authorization.k8s.io/manager-rolebinding replaced
clusterrolebinding.rbac.authorization.k8s.io/proxy-rolebinding replaced
service/controller-manager-metrics-service replaced
service/webhook-service replaced
deployment.apps/controller-manager replaced
certificate.cert-manager.io/serving-cert replaced
issuer.cert-manager.io/selfsigned-issuer replaced
mutatingwebhookconfiguration.admissionregistration.k8s.io/mutating-webhook-configuration replaced
validatingwebhookconfiguration.admissionregistration.k8s.io/validating-webhook-configuration replaced
Error from server (NotFound): error when replacing "https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.0/actions-runner-controller.yaml": customresourcedefinitions.apiextensions.k8s.io "runnerdeployments.actions.summerwind.dev" not found
Error from server (NotFound): error when replacing "https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.0/actions-runner-controller.yaml": customresourcedefinitions.apiextensions.k8s.io "runnerreplicasets.actions.summerwind.dev" not found
Error from server (NotFound): error when replacing "https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.0/actions-runner-controller.yaml": customresourcedefinitions.apiextensions.k8s.io "runners.actions.summerwind.dev" not found

sbrinkerhoff avatar Mar 21 '22 22:03 sbrinkerhoff

From https://github.com/actions-runner-controller/actions-runner-controller/issues/1157#issuecomment-1055421900.

kubectl install -f https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.20.4/actions-runner-controller.yaml
❯ CHART_VERSION=0.16.2
❯ curl -L https://github.com/actions-runner-controller/actions-runner-controller/releases/download/actions-runner-controller-${CHART_VERSION}/actions-runner-controller-${CHART_VERSION}.tgz | tar zxv --strip 1 actions-runner-controller/crds

❯ kubectl replace -f crds/
customresourcedefinition.apiextensions.k8s.io/horizontalrunnerautoscalers.actions.summerwind.dev replaced
customresourcedefinition.apiextensions.k8s.io/runnerdeployments.actions.summerwind.dev replaced
customresourcedefinition.apiextensions.k8s.io/runnerreplicasets.actions.summerwind.dev replaced
customresourcedefinition.apiextensions.k8s.io/runners.actions.summerwind.dev replaced
customresourcedefinition.apiextensions.k8s.io/runnersets.actions.summerwind.dev replaced

Then install..

kubectl replace -f https://github.com/actions-runner-controller/actions-runner-controller/releases/download/v0.22.0/actions-runner-controller.yaml
namespace/actions-runner-system replaced
namespace/actions-runner-system replaced
namespace/actions-runner-system replaced
customresourcedefinition.apiextensions.k8s.io/horizontalrunnerautoscalers.actions.summerwind.dev replaced
customresourcedefinition.apiextensions.k8s.io/runnerdeployments.actions.summerwind.dev replaced
customresourcedefinition.apiextensions.k8s.io/runnerreplicasets.actions.summerwind.dev replaced
customresourcedefinition.apiextensions.k8s.io/runners.actions.summerwind.dev replaced
customresourcedefinition.apiextensions.k8s.io/runnersets.actions.summerwind.dev replaced
role.rbac.authorization.k8s.io/leader-election-role replaced
clusterrole.rbac.authorization.k8s.io/manager-role replaced
clusterrole.rbac.authorization.k8s.io/proxy-role replaced
rolebinding.rbac.authorization.k8s.io/leader-election-rolebinding replaced
clusterrolebinding.rbac.authorization.k8s.io/manager-rolebinding replaced
clusterrolebinding.rbac.authorization.k8s.io/proxy-rolebinding replaced
service/controller-manager-metrics-service replaced
service/webhook-service replaced
deployment.apps/controller-manager replaced
certificate.cert-manager.io/serving-cert replaced
issuer.cert-manager.io/selfsigned-issuer replaced
mutatingwebhookconfiguration.admissionregistration.k8s.io/mutating-webhook-configuration replaced
validatingwebhookconfiguration.admissionregistration.k8s.io/validating-webhook-configuration replaced

sbrinkerhoff avatar Mar 21 '22 22:03 sbrinkerhoff

Same here but as I'm a helm + argocd user I'm not sure how to solve it.

Mokto avatar Mar 24 '22 08:03 Mokto

https://github.com/kubernetes/kubernetes/issues/82292 upstream issue, we are probably going to need to remove the description fields to cut down on the size. We probably also need to look into externalising the api docs a the same time https://github.com/actions-runner-controller/actions-runner-controller/issues/1014

toast-gear avatar Mar 29 '22 12:03 toast-gear

@Mokto Can you try replace=true sync option https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/#replace-resource-instead-of-applying-changes

mumoshu avatar Mar 29 '22 20:03 mumoshu

Works, thanks!

Mokto avatar Mar 30 '22 06:03 Mokto