add create and delete namespace to runtime (#1965)

* add create and delete namespace to runtime

* dial down aggressive expiry

* add logging

* fix deletenamespace

* add start of k8s unit tests

* fix workflow

* turn on k8s tests

* ease tight tests

* mkdir in workflow

* dammit -p

* setup folder
This commit is contained in:
Dominic Wong
2020-08-24 16:54:39 +01:00
committed by GitHub
parent 0adb469a85
commit 5a52b5929c
7 changed files with 215 additions and 8 deletions

View File

@@ -435,7 +435,7 @@ func (k *kubernetes) Create(s *runtime.Service, opts ...runtime.CreateOption) er
if exist, err := k.namespaceExists(namespace); err == nil && !exist {
if err := k.createNamespace(namespace); err != nil {
if logger.V(logger.WarnLevel, logger.DefaultLogger) {
logger.Warnf("Error creating namespacr %v: %v", namespace, err)
logger.Warnf("Error creating namespace %v: %v", namespace, err)
}
return err
}
@@ -712,3 +712,35 @@ func credentialsName(service *runtime.Service) string {
name := fmt.Sprintf("%v-%v-credentials", service.Name, service.Version)
return client.SerializeResourceName(name)
}
func (k *kubernetes) CreateNamespace(ns string) error {
err := k.client.Create(&client.Resource{
Kind: "namespace",
Value: client.Namespace{
Metadata: &client.Metadata{
Name: ns,
},
},
})
if err != nil {
if logger.V(logger.ErrorLevel, logger.DefaultLogger) {
logger.Errorf("Error creating namespace %v: %v", ns, err)
}
}
return err
}
func (k *kubernetes) DeleteNamespace(ns string) error {
err := k.client.Delete(&client.Resource{
Kind: "namespace",
Name: ns,
})
if err != nil {
if err != nil {
if logger.V(logger.ErrorLevel, logger.DefaultLogger) {
logger.Errorf("Error deleting namespace %v: %v", ns, err)
}
}
}
return err
}