wave icon indicating copy to clipboard operation
wave copied to clipboard

wave-system namespace finalizer prevents namespace deletion

Open Ghazgkull opened this issue 5 years ago • 7 comments

The finalizer on the wave-system namespace prevents wave from being cleanly and completely removed from a cluster.

Attempts to delete the wave-system namespace simply hang forever.

Ghazgkull avatar Jan 05 '21 18:01 Ghazgkull

Thanks for reporting this.

This is certainly not desired behaviour. I'll need to take a closer look when I get a chance and see about reproducing it.

In the meantime, once the Wave Deployment has been deleted, it should be safe to manually remove the finalizer using kubectl edit or similar and then deleting the namespace as usual.

wonderhoss avatar Jan 12 '21 21:01 wonderhoss

Just to make sure I'm not making false assumptions, can you confirm how you deployed Wave in the first place? Did you use the Kustomization provided in this repo?

wonderhoss avatar Jan 12 '21 22:01 wonderhoss

Sorry for the slow reply. I missed the initial request for info.

We've got K8s manifests in our source control for deploying Wave, which I have to assume are based on the content provided in this repo. We use Terraform with the Kubernetes provider installed, so the manifests look a little different than normal Kustomize files.

Would love to use a Helm chart instead as per https://github.com/wave-k8s/wave/issues/81.

Ghazgkull avatar Feb 22 '21 21:02 Ghazgkull

Helm charts are now hosted on Github Pages, please see the current README for details.

Would using those resolve this problem?

wonderhoss avatar Mar 03 '21 14:03 wonderhoss

This issue has been inactive for 60 days. If the issue is still relevant please comment to re-activate the issue. If no action is taken within 7 days, the issue will be marked closed.

github-actions[bot] avatar May 15 '21 01:05 github-actions[bot]

I'm still having this issue using these manifests, which are basically just the output of helm template:

apiVersion: v1
kind: Namespace
metadata:
  name: wave
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: wave
  namespace: wave
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
  name: wave
  labels:
    app: wave
rules:
  - apiGroups: [""]
    resources: ["configmaps", "secrets"]
    verbs: ["list", "get", "update", "patch", "watch"]
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["create", "update", "patch"]
  - apiGroups: ["apps"]
    resources: ["deployments", "daemonsets", "statefulsets"]
    verbs: ["list", "get", "update", "patch", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: wave
  labels:
    app: wave
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: wave
subjects:
  - kind: ServiceAccount
    name: wave
    namespace: wave
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: wave
  namespace: wave
  annotations:
    wave.pusher.com/update-on-config-change: "true"
spec:
  selector:
    matchLabels:
      app: wave
  template:
    metadata:
      labels:
        app: wave
    spec:
      serviceAccountName: wave
      containers:
      - name: wave
        image: quay.io/wave-k8s/wave:v0.5.0

jzelinskie avatar Jun 16 '21 18:06 jzelinskie

Fixed by #154

jabdoa2 avatar Apr 30 '24 12:04 jabdoa2

@toelke this one can be closed. I guess I should have commented in the PR instead of here.

jabdoa2 avatar May 03 '24 12:05 jabdoa2