diff --git a/pkg/kube/namespace.go b/pkg/kube/namespace.go index 81784c95c46a3f2fab278f22840c6f8011fc805d..7d18d79135e8253eaaf6d92ee2d7ec6236994ada 100644 --- a/pkg/kube/namespace.go +++ b/pkg/kube/namespace.go @@ -32,10 +32,19 @@ func createNamespace(client internalclientset.Interface, namespace string) error return err } +func getNamespace(client internalclientset.Interface, namespace string) (*api.Namespace, error) { + return client.Core().Namespaces().Get(namespace) +} + func ensureNamespace(client internalclientset.Interface, namespace string) error { - err := createNamespace(client, namespace) - if err != nil && !errors.IsAlreadyExists(err) { - return err + if _, getError := getNamespace(client, namespace); getError != nil && errors.IsNotFound(getError) { + createError := createNamespace(client, namespace) + if createError != nil { + return createError + } + } else if getError != nil { + return getError } + return nil }