Ver código fonte

add casing for when a namespace doesn't exist on delete

Alexander Belanger 4 anos atrás
pai
commit
bff7d283d4
1 arquivos alterados com 12 adições e 0 exclusões
  1. 12 0
      internal/kubernetes/agent.go

+ 12 - 0
internal/kubernetes/agent.go

@@ -642,6 +642,18 @@ func (a *Agent) CreateNamespace(name string) (*v1.Namespace, error) {
 
 // DeleteNamespace deletes the namespace given the name.
 func (a *Agent) DeleteNamespace(name string) error {
+	// check if namespace exists
+	_, err := a.Clientset.CoreV1().Namespaces().Get(
+		context.TODO(),
+		name,
+		metav1.GetOptions{},
+	)
+
+	// if the namespace is not found, don't return an error.
+	if err != nil && errors.IsNotFound(err) {
+		return nil
+	}
+
 	return a.Clientset.CoreV1().Namespaces().Delete(
 		context.TODO(),
 		name,