actions / actions-runner-controller

Kubernetes controller for GitHub Actions self-hosted runners
Apache License 2.0
4.42k stars 1.04k forks source link

Upgrading from 0.20.3 to 0.22.0 failing #1256

Open sbrinkerhoff opened 2 years ago

sbrinkerhoff commented 2 years ago

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

Checks

To Reproduce

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 commented 2 years ago

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
Mokto commented 2 years ago

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

toast-gear commented 2 years ago

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

mumoshu commented 2 years ago

@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

Mokto commented 2 years ago

Works, thanks!