diff --git a/api/go.mod b/api/go.mod index cae15c6c1..a78f05402 100644 --- a/api/go.mod +++ b/api/go.mod @@ -3,7 +3,7 @@ module github.com/openstack-k8s-operators/nova-operator/api go 1.19 require ( - github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230919113507-d74c2f31d216 + github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230925103424-7dcb605ea0bb k8s.io/api v0.26.9 k8s.io/apimachinery v0.26.9 k8s.io/utils v0.0.0-20230726121419-3b25d923346b @@ -36,7 +36,6 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/onsi/ginkgo/v2 v2.12.1 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.14.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect diff --git a/api/go.sum b/api/go.sum index 44eae4db3..5071b3d7b 100644 --- a/api/go.sum +++ b/api/go.sum @@ -219,10 +219,9 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/onsi/ginkgo/v2 v2.12.1 h1:uHNEO1RP2SpuZApSkel9nEh1/Mu+hmQe7Q+Pepg5OYA= -github.com/onsi/ginkgo/v2 v2.12.1/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= -github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230919113507-d74c2f31d216 h1:arYbQA6bLyXJkHm+6M6gPc4YpWMFjs5qkG16Yii4UDo= -github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230919113507-d74c2f31d216/go.mod h1:Ge7Yf6AUmjEvJK9AIW2bT5udLzBIcK59b1QxqymncaQ= +github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230925103424-7dcb605ea0bb h1:MRd/OrTTZeU/KXAzlIH003wPLmjZ4PHaQ7HisJC9hGY= +github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230925103424-7dcb605ea0bb/go.mod h1:kZS5rqVWBZeCyYor2PeQB9IEZ19mGaeL/to3x8F9OJg= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= diff --git a/go.mod b/go.mod index 54110ed45..b44bdf2f9 100644 --- a/go.mod +++ b/go.mod @@ -9,10 +9,10 @@ require ( github.com/onsi/ginkgo/v2 v2.12.1 github.com/onsi/gomega v1.27.10 github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230920125017-2c76cd203b44 - github.com/openstack-k8s-operators/keystone-operator/api v0.1.1-0.20230920085319-92ae0260bbf3 - github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230919113507-d74c2f31d216 - github.com/openstack-k8s-operators/lib-common/modules/database v0.1.1-0.20230919113507-d74c2f31d216 - github.com/openstack-k8s-operators/lib-common/modules/test v0.1.2-0.20230919113507-d74c2f31d216 + github.com/openstack-k8s-operators/keystone-operator/api v0.1.1-0.20230925115904-772bbf00ffcf + github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230925103424-7dcb605ea0bb + github.com/openstack-k8s-operators/lib-common/modules/database v0.1.1-0.20230925103424-7dcb605ea0bb + github.com/openstack-k8s-operators/lib-common/modules/test v0.1.2-0.20230925103424-7dcb605ea0bb github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230918111825-8999b3b2dc3c github.com/openstack-k8s-operators/nova-operator/api v0.0.0-20221209164002-f9e6b9363961 go.uber.org/zap v1.26.0 @@ -54,7 +54,7 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/openshift/api v3.9.0+incompatible // indirect - github.com/openstack-k8s-operators/lib-common/modules/openstack v0.1.1-0.20230919113507-d74c2f31d216 // indirect + github.com/openstack-k8s-operators/lib-common/modules/openstack v0.1.1-0.20230925103424-7dcb605ea0bb // indirect github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.14.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect diff --git a/go.sum b/go.sum index f781f4da1..9d4707a44 100644 --- a/go.sum +++ b/go.sum @@ -238,16 +238,16 @@ github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7 h1:rncLxJBpFGqBztyxC github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7/go.mod h1:ctXNyWanKEjGj8sss1KjjHQ3ENKFm33FFnS5BKaIPh4= github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230920125017-2c76cd203b44 h1:W2HZy+uk5fnVwvw3+/Jd/k7sNiVXCOd8SiV0dMvmjys= github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230920125017-2c76cd203b44/go.mod h1:fOJ95wMSymtfoellY/TFKcrzW6bu/nTCTzEnFEgCGCc= -github.com/openstack-k8s-operators/keystone-operator/api v0.1.1-0.20230920085319-92ae0260bbf3 h1:6VCz/ZBTJEQJTx4+z8UxLv3WITa4Bgx5CSP237wJ5xM= -github.com/openstack-k8s-operators/keystone-operator/api v0.1.1-0.20230920085319-92ae0260bbf3/go.mod h1:ta6w/29i4WuWkQp6I4cOLwMGQ5/vJI0y8Em7u+M34jo= -github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230919113507-d74c2f31d216 h1:arYbQA6bLyXJkHm+6M6gPc4YpWMFjs5qkG16Yii4UDo= -github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230919113507-d74c2f31d216/go.mod h1:Ge7Yf6AUmjEvJK9AIW2bT5udLzBIcK59b1QxqymncaQ= -github.com/openstack-k8s-operators/lib-common/modules/database v0.1.1-0.20230919113507-d74c2f31d216 h1:PykqfrahtBUbhIuM0IDRyrtVCOzy7jdEZz3yVEnwpp0= -github.com/openstack-k8s-operators/lib-common/modules/database v0.1.1-0.20230919113507-d74c2f31d216/go.mod h1:gdmDHoWrDtq8gfJHl20rQwe9vfzJJkY+KnvM6aD9+08= -github.com/openstack-k8s-operators/lib-common/modules/openstack v0.1.1-0.20230919113507-d74c2f31d216 h1:h76faqi4WAXBs3D2B0GLUdlCjS0dh78wRL0d5RZUwhk= -github.com/openstack-k8s-operators/lib-common/modules/openstack v0.1.1-0.20230919113507-d74c2f31d216/go.mod h1:GHi64tgyC75/vuT8Crda0yN5iCIYiSyS4bpzYJjX7MA= -github.com/openstack-k8s-operators/lib-common/modules/test v0.1.2-0.20230919113507-d74c2f31d216 h1:QyzzvG8iaDFwx6Lo44dCyf2tRtgk0sqniXjgJpiW32g= -github.com/openstack-k8s-operators/lib-common/modules/test v0.1.2-0.20230919113507-d74c2f31d216/go.mod h1:RfLOPJbmPzPZ4XHwwDc2tFbbw5zxZL15JFGwb5c6VaU= +github.com/openstack-k8s-operators/keystone-operator/api v0.1.1-0.20230925115904-772bbf00ffcf h1:inyT3plUxpdFef3iZawwMK08uou1n+RSVEhyAQd7LFM= +github.com/openstack-k8s-operators/keystone-operator/api v0.1.1-0.20230925115904-772bbf00ffcf/go.mod h1:Zyp4nHS/JggPqlsMNM8WZN546oYINvGVlHA1NivE3sU= +github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230925103424-7dcb605ea0bb h1:MRd/OrTTZeU/KXAzlIH003wPLmjZ4PHaQ7HisJC9hGY= +github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230925103424-7dcb605ea0bb/go.mod h1:kZS5rqVWBZeCyYor2PeQB9IEZ19mGaeL/to3x8F9OJg= +github.com/openstack-k8s-operators/lib-common/modules/database v0.1.1-0.20230925103424-7dcb605ea0bb h1:bGhIosetHt4+Kle0+0Vpa204v19u3k0p5Ox7CYD7jfw= +github.com/openstack-k8s-operators/lib-common/modules/database v0.1.1-0.20230925103424-7dcb605ea0bb/go.mod h1:RroLfB6Wstc+z7JVJY9o+6YPu+wBIzTAAfMpwhv7pDI= +github.com/openstack-k8s-operators/lib-common/modules/openstack v0.1.1-0.20230925103424-7dcb605ea0bb h1:DKxySUUtfA8hU1PpXgHbAA+kaa55zdKPlxSFOnvD898= +github.com/openstack-k8s-operators/lib-common/modules/openstack v0.1.1-0.20230925103424-7dcb605ea0bb/go.mod h1:+iJZo5alCeOGD/524hWWdlINA6zqY+MjfWT7cDcbvBE= +github.com/openstack-k8s-operators/lib-common/modules/test v0.1.2-0.20230925103424-7dcb605ea0bb h1:djVcLDXr+SL397W2meEiACDMOZNXciEc4ypLDnZ75wU= +github.com/openstack-k8s-operators/lib-common/modules/test v0.1.2-0.20230925103424-7dcb605ea0bb/go.mod h1:HtR62cEJ+x0WlcvNi/nfjhZ+UssC1zfxRA63qnVbxp4= github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230918111825-8999b3b2dc3c h1:9R8T1WRwuPS5KMfsQWxAMSGPuJrGMJ7bODKK9dirhHA= github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230918111825-8999b3b2dc3c/go.mod h1:xXHF/R/L0XamRHR/UkzlgzSTocBQ6GSQ2U16Q9Mf/bA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= diff --git a/test/functional/nova_controller_test.go b/test/functional/nova_controller_test.go index c7f21cc6c..2216490f8 100644 --- a/test/functional/nova_controller_test.go +++ b/test/functional/nova_controller_test.go @@ -50,7 +50,7 @@ var _ = Describe("Nova controller", func() { }, ), ) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.NovaName.Namespace)) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace)) DeferCleanup(th.DeleteInstance, CreateNovaWithCell0(novaNames.NovaName)) }) @@ -90,7 +90,7 @@ var _ = Describe("Nova controller", func() { }, ), ) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.NovaName.Namespace)) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace)) DeferCleanup(th.DeleteInstance, CreateNovaWithCell0(novaNames.NovaName)) }) @@ -138,11 +138,11 @@ var _ = Describe("Nova controller", func() { It("registers nova service to keystone", func() { // assert that the KeystoneService for nova is created - th.GetKeystoneService(novaNames.KeystoneServiceName) + keystone.GetKeystoneService(novaNames.KeystoneServiceName) // and simulate that it becomes ready i.e. the keystone-operator // did its job and registered the nova service - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) - keystone := th.GetKeystoneService(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone := keystone.GetKeystoneService(novaNames.KeystoneServiceName) Expect(keystone.Status.Conditions).ToNot(BeNil()) th.ExpectCondition( @@ -154,7 +154,7 @@ var _ = Describe("Nova controller", func() { }) It("creates nova_api DB", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.ExpectCondition( novaNames.NovaName, ConditionGetterFunc(NovaConditionGetter), @@ -173,7 +173,7 @@ var _ = Describe("Nova controller", func() { }) It("creates nova-api MQ", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.ExpectCondition( novaNames.NovaName, ConditionGetterFunc(NovaConditionGetter), @@ -192,7 +192,7 @@ var _ = Describe("Nova controller", func() { }) It("creates nova_cell0 DB", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.ExpectCondition( novaNames.NovaName, ConditionGetterFunc(NovaConditionGetter), @@ -211,7 +211,7 @@ var _ = Describe("Nova controller", func() { }) It("creates cell0 NovaCell", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) th.SimulateMariaDBDatabaseCompleted(cell0.MariaDBDatabaseName) th.SimulateTransportURLReady(cell0.TransportURLName) @@ -316,7 +316,7 @@ var _ = Describe("Nova controller", func() { }) It("creates an internal Secret for the top level services", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) th.SimulateMariaDBDatabaseCompleted(cell0.MariaDBDatabaseName) th.SimulateTransportURLReady(cell0.TransportURLName) @@ -343,7 +343,7 @@ var _ = Describe("Nova controller", func() { }) It("creates NovaAPI", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) th.SimulateMariaDBDatabaseCompleted(cell0.MariaDBDatabaseName) th.SimulateTransportURLReady(cell0.TransportURLName) @@ -359,7 +359,7 @@ var _ = Describe("Nova controller", func() { Expect(api.Spec.Secret).To(Equal(novaNames.InternalTopLevelSecretName.Name)) th.SimulateStatefulSetReplicaReady(novaNames.APIDeploymentName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.ExpectCondition( novaNames.APIName, ConditionGetterFunc(NovaAPIConditionGetter), @@ -382,7 +382,7 @@ var _ = Describe("Nova controller", func() { }) It("creates NovaScheduler", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) th.SimulateMariaDBDatabaseCompleted(cell0.MariaDBDatabaseName) th.SimulateTransportURLReady(cell0.TransportURLName) @@ -390,7 +390,7 @@ var _ = Describe("Nova controller", func() { th.SimulateStatefulSetReplicaReady(cell0.ConductorStatefulSetName) th.SimulateJobSuccess(cell0.CellMappingJobName) th.SimulateStatefulSetReplicaReady(novaNames.APIDeploymentName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.SimulateStatefulSetReplicaReady(novaNames.MetadataStatefulSetName) scheduler := GetNovaScheduler(novaNames.SchedulerName) @@ -421,7 +421,7 @@ var _ = Describe("Nova controller", func() { }) It("creates NovaMetadata", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) th.SimulateMariaDBDatabaseCompleted(cell0.MariaDBDatabaseName) th.SimulateTransportURLReady(cell0.TransportURLName) @@ -429,7 +429,7 @@ var _ = Describe("Nova controller", func() { th.SimulateStatefulSetReplicaReady(cell0.ConductorStatefulSetName) th.SimulateJobSuccess(cell0.CellMappingJobName) th.SimulateStatefulSetReplicaReady(novaNames.APIDeploymentName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.SimulateStatefulSetReplicaReady(novaNames.SchedulerStatefulSetName) metadata := GetNovaMetadata(novaNames.MetadataName) @@ -476,11 +476,11 @@ var _ = Describe("Nova controller", func() { }, ), ) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.NovaName.Namespace)) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace)) DeferCleanup(th.DeleteInstance, CreateNovaWithCell0(novaNames.NovaName)) - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) th.SimulateMariaDBDatabaseCompleted(cell0.MariaDBDatabaseName) th.SimulateTransportURLReady(cell0.TransportURLName) @@ -542,11 +542,11 @@ var _ = Describe("Nova controller", func() { }, ), ) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.NovaName.Namespace)) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace)) DeferCleanup(th.DeleteInstance, CreateNovaWithCell0(novaNames.NovaName)) - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) th.SimulateMariaDBDatabaseCompleted(cell0.MariaDBDatabaseName) th.SimulateTransportURLReady(cell0.TransportURLName) @@ -600,7 +600,7 @@ var _ = Describe("Nova controller", func() { }, ), ) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.NovaName.Namespace)) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace)) spec := GetDefaultNovaSpec() cell0template := GetDefaultNovaCellTemplate() @@ -612,7 +612,7 @@ var _ = Describe("Nova controller", func() { }) It("uses the correct hostnames to access the different DB services", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) th.SimulateMariaDBDatabaseCompleted(cell0.MariaDBDatabaseName) th.SimulateTransportURLReady(cell0.TransportURLName) @@ -677,7 +677,7 @@ var _ = Describe("Nova controller", func() { Expect(configData).To(ContainSubstring("password = service-password")) th.SimulateStatefulSetReplicaReady(novaNames.APIName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.ExpectCondition( cell0.ConductorName, @@ -734,13 +734,13 @@ var _ = Describe("Nova controller", func() { }, ), ) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.NovaName.Namespace)) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace)) DeferCleanup(th.DeleteInstance, CreateNovaWithCell0(novaNames.NovaName)) }) It("removes the finalizer from KeystoneService", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.ExpectCondition( novaNames.NovaName, ConditionGetterFunc(NovaConditionGetter), @@ -748,16 +748,16 @@ var _ = Describe("Nova controller", func() { corev1.ConditionTrue, ) - service := th.GetKeystoneService(novaNames.KeystoneServiceName) + service := keystone.GetKeystoneService(novaNames.KeystoneServiceName) Expect(service.Finalizers).To(ContainElement("Nova")) th.DeleteInstance(GetNova(novaNames.NovaName)) - service = th.GetKeystoneService(novaNames.KeystoneServiceName) + service = keystone.GetKeystoneService(novaNames.KeystoneServiceName) Expect(service.Finalizers).NotTo(ContainElement("Nova")) }) It("removes the finalizers from the nova dbs", func() { - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) apiDB := th.GetMariaDBDatabase(novaNames.APIMariaDBDatabaseName) Expect(apiDB.Finalizers).To(ContainElement("Nova")) @@ -789,7 +789,7 @@ var _ = Describe("Nova controller", func() { }, ), ) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.NovaName.Namespace)) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace)) nad := th.CreateNetworkAttachmentDefinition(novaNames.InternalAPINetworkNADName) DeferCleanup(th.DeleteInstance, nad) @@ -827,7 +827,7 @@ var _ = Describe("Nova controller", func() { } DeferCleanup(th.DeleteInstance, CreateNova(novaNames.NovaName, rawSpec)) - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) th.SimulateMariaDBDatabaseCompleted(cell0.MariaDBDatabaseName) th.SimulateTransportURLReady(cell0.TransportURLName) @@ -853,7 +853,7 @@ var _ = Describe("Nova controller", func() { novaNames.MetadataStatefulSetName, map[string][]string{novaNames.NovaName.Namespace + "/internalapi": {"10.0.0.1"}}, ) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.ExpectCondition( novaNames.NovaName, diff --git a/test/functional/nova_multicell_test.go b/test/functional/nova_multicell_test.go index 59e44f160..40c92fbd2 100644 --- a/test/functional/nova_multicell_test.go +++ b/test/functional/nova_multicell_test.go @@ -75,8 +75,8 @@ var _ = Describe("Nova multicell", func() { spec["apiMessageBusInstance"] = cell0.TransportURLName.Name DeferCleanup(th.DeleteInstance, CreateNova(novaNames.NovaName, spec)) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.NovaName.Namespace)) - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace)) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) }) It("creates cell0 NovaCell", func() { @@ -181,7 +181,7 @@ var _ = Describe("Nova multicell", func() { corev1.ConditionTrue, ) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.ExpectCondition( novaNames.NovaName, ConditionGetterFunc(NovaConditionGetter), @@ -198,7 +198,7 @@ var _ = Describe("Nova multicell", func() { th.SimulateStatefulSetReplicaReady(cell0.ConductorStatefulSetName) th.SimulateJobSuccess(cell0.CellMappingJobName) th.SimulateStatefulSetReplicaReady(novaNames.APIDeploymentName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.SimulateMariaDBDatabaseCompleted(cell1.MariaDBDatabaseName) th.ExpectCondition( @@ -244,7 +244,7 @@ var _ = Describe("Nova multicell", func() { th.SimulateStatefulSetReplicaReady(cell0.ConductorStatefulSetName) th.SimulateJobSuccess(cell0.CellMappingJobName) th.SimulateStatefulSetReplicaReady(novaNames.APIDeploymentName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.SimulateMariaDBDatabaseCompleted(cell1.MariaDBDatabaseName) th.SimulateTransportURLReady(cell1.TransportURLName) @@ -321,7 +321,7 @@ var _ = Describe("Nova multicell", func() { th.SimulateStatefulSetReplicaReady(cell0.ConductorStatefulSetName) th.SimulateJobSuccess(cell0.CellMappingJobName) th.SimulateStatefulSetReplicaReady(novaNames.APIDeploymentName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.SimulateStatefulSetReplicaReady(novaNames.SchedulerStatefulSetName) th.SimulateStatefulSetReplicaReady(novaNames.MetadataStatefulSetName) th.SimulateMariaDBDatabaseCompleted(cell1.MariaDBDatabaseName) @@ -486,7 +486,7 @@ var _ = Describe("Nova multicell", func() { // NovaAPI is still created GetNovaAPI(novaNames.APIName) th.SimulateStatefulSetReplicaReady(novaNames.APIDeploymentName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.ExpectCondition( novaNames.NovaName, ConditionGetterFunc(NovaConditionGetter), @@ -554,8 +554,8 @@ var _ = Describe("Nova multicell", func() { spec["apiMessageBusInstance"] = cell0.TransportURLName.Name DeferCleanup(th.DeleteInstance, CreateNova(novaNames.NovaName, spec)) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.NovaName.Namespace)) - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace)) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) }) It("cell0 becomes ready with 0 conductor replicas and the rest of nova is deployed", func() { th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) @@ -603,7 +603,7 @@ var _ = Describe("Nova multicell", func() { th.SimulateStatefulSetReplicaReady(novaNames.MetadataStatefulSetName) // As cell0 is ready API is deployed th.SimulateStatefulSetReplicaReady(novaNames.APIDeploymentName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.ExpectCondition( novaNames.NovaName, ConditionGetterFunc(NovaConditionGetter), @@ -665,8 +665,8 @@ var _ = Describe("Nova multicell", func() { spec["apiMessageBusInstance"] = cell0.TransportURLName.Name DeferCleanup(th.DeleteInstance, CreateNova(novaNames.NovaName, spec)) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.Namespace)) - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.Namespace)) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) }) It("waits for cell0 DB to be created", func(ctx SpecContext) { @@ -717,13 +717,13 @@ var _ = Describe("Nova multicell", func() { spec["apiMessageBusInstance"] = cell0.TransportURLName.Name DeferCleanup(th.DeleteInstance, CreateNova(novaNames.NovaName, spec)) - keystoneAPIName := th.CreateKeystoneAPI(novaNames.NovaName.Namespace) - DeferCleanup(th.DeleteKeystoneAPI, keystoneAPIName) - keystoneAPI := th.GetKeystoneAPI(keystoneAPIName) + keystoneAPIName := keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace) + DeferCleanup(keystone.DeleteKeystoneAPI, keystoneAPIName) + keystoneAPI := keystone.GetKeystoneAPI(keystoneAPIName) Eventually(func(g Gomega) { g.Expect(k8sClient.Status().Update(ctx, keystoneAPI.DeepCopy())).Should(Succeed()) }, timeout, interval).Should(Succeed()) - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) }) It("cell0 becomes ready without metadata and the rest of nova is deployed", func() { th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) diff --git a/test/functional/nova_reconfiguration_test.go b/test/functional/nova_reconfiguration_test.go index c97b0e630..8724bcbb7 100644 --- a/test/functional/nova_reconfiguration_test.go +++ b/test/functional/nova_reconfiguration_test.go @@ -73,8 +73,8 @@ func CreateNovaWith3CellsAndEnsureReady(novaNames NovaNames) { spec["apiMessageBusInstance"] = cell0.TransportURLName.Name DeferCleanup(th.DeleteInstance, CreateNova(novaNames.NovaName, spec)) - DeferCleanup(th.DeleteKeystoneAPI, th.CreateKeystoneAPI(novaNames.NovaName.Namespace)) - th.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) + DeferCleanup(keystone.DeleteKeystoneAPI, keystone.CreateKeystoneAPI(novaNames.NovaName.Namespace)) + keystone.SimulateKeystoneServiceReady(novaNames.KeystoneServiceName) // END of common logic with Nova multicell test th.SimulateMariaDBDatabaseCompleted(novaNames.APIMariaDBDatabaseName) @@ -91,7 +91,7 @@ func CreateNovaWith3CellsAndEnsureReady(novaNames NovaNames) { th.SimulateJobSuccess(cell0.CellMappingJobName) th.SimulateStatefulSetReplicaReady(novaNames.APIDeploymentName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.SimulateStatefulSetReplicaReady(cell1.NoVNCProxyStatefulSetName) th.SimulateJobSuccess(cell1.DBSyncJobName) diff --git a/test/functional/novaapi_controller_test.go b/test/functional/novaapi_controller_test.go index 35d98438c..45bb06fa9 100644 --- a/test/functional/novaapi_controller_test.go +++ b/test/functional/novaapi_controller_test.go @@ -297,9 +297,9 @@ var _ = Describe("NovaAPI controller", func() { It("creates KeystoneEndpoint", func() { th.SimulateStatefulSetReplicaReady(novaNames.APIStatefulSetName) - th.SimulateKeystoneEndpointReady(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) + keystone.SimulateKeystoneEndpointReady(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) - keystoneEndpoint := th.GetKeystoneEndpoint(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) + keystoneEndpoint := keystone.GetKeystoneEndpoint(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) endpoints := keystoneEndpoint.Spec.Endpoints Expect(endpoints).To(HaveKeyWithValue("public", "http://nova-public."+novaNames.APIName.Namespace+".svc:8774/v2.1")) Expect(endpoints).To(HaveKeyWithValue("internal", "http://nova-internal."+novaNames.APIName.Namespace+".svc:8774/v2.1")) @@ -314,7 +314,7 @@ var _ = Describe("NovaAPI controller", func() { It("is Ready", func() { th.SimulateStatefulSetReplicaReady(novaNames.APIStatefulSetName) - th.SimulateKeystoneEndpointReady(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) + keystone.SimulateKeystoneEndpointReady(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) th.ExpectCondition( novaNames.APIName, @@ -333,7 +333,7 @@ var _ = Describe("NovaAPI controller", func() { It("removes the finalizer from KeystoneEndpoint", func() { th.SimulateStatefulSetReplicaReady(novaNames.APIStatefulSetName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.ExpectCondition( novaNames.APIName, ConditionGetterFunc(NovaAPIConditionGetter), @@ -341,11 +341,11 @@ var _ = Describe("NovaAPI controller", func() { corev1.ConditionTrue, ) - endpoint := th.GetKeystoneEndpoint(novaNames.APIKeystoneEndpointName) + endpoint := keystone.GetKeystoneEndpoint(novaNames.APIKeystoneEndpointName) Expect(endpoint.Finalizers).To(ContainElement("NovaAPI")) th.DeleteInstance(GetNovaAPI(novaNames.APIName)) - endpoint = th.GetKeystoneEndpoint(novaNames.APIKeystoneEndpointName) + endpoint = keystone.GetKeystoneEndpoint(novaNames.APIKeystoneEndpointName) Expect(endpoint.Finalizers).NotTo(ContainElement("NovaAPI")) }) }) @@ -468,7 +468,7 @@ var _ = Describe("NovaAPI controller", func() { }, timeout, interval).Should(Succeed()) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.ExpectCondition( novaNames.APIName, @@ -521,7 +521,7 @@ var _ = Describe("NovaAPI controller", func() { It("creates LoadBalancer services", func() { th.SimulateStatefulSetReplicaReady(novaNames.APIStatefulSetName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) // As the internal endpoint has service override configured it // gets a LoadBalancer Service with MetalLB annotations @@ -548,11 +548,11 @@ var _ = Describe("NovaAPI controller", func() { Expect(service.Spec.Type).To(Equal(corev1.ServiceTypeClusterIP)) th.SimulateStatefulSetReplicaReady(novaNames.APIStatefulSetName) - th.SimulateKeystoneEndpointReady(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) + keystone.SimulateKeystoneEndpointReady(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) // it registers the endpointURL as the public endpoint and svc // for the internal - keystoneEndpoint := th.GetKeystoneEndpoint(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) + keystoneEndpoint := keystone.GetKeystoneEndpoint(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) endpoints := keystoneEndpoint.Spec.Endpoints Expect(endpoints).To(HaveKeyWithValue("public", "http://nova-api-"+novaNames.APIName.Namespace+".apps-crc.testing/v2.1")) Expect(endpoints).To(HaveKeyWithValue("internal", "http://nova-internal."+novaNames.APIName.Namespace+".svc:8774/v2.1")) @@ -616,7 +616,7 @@ var _ = Describe("NovaAPI controller", func() { It("creates LoadBalancer services", func() { th.SimulateStatefulSetReplicaReady(novaNames.APIStatefulSetName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) // As the internal endpoint has service override configured it // gets a LoadBalancer Service with MetalLB annotations @@ -646,11 +646,11 @@ var _ = Describe("NovaAPI controller", func() { Expect(service.Spec.Type).To(Equal(corev1.ServiceTypeLoadBalancer)) th.SimulateStatefulSetReplicaReady(novaNames.APIStatefulSetName) - th.SimulateKeystoneEndpointReady(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) + keystone.SimulateKeystoneEndpointReady(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) // it registers the endpointURL as the public endpoint and svc // for the internal - keystoneEndpoint := th.GetKeystoneEndpoint(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) + keystoneEndpoint := keystone.GetKeystoneEndpoint(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova"}) endpoints := keystoneEndpoint.Spec.Endpoints Expect(endpoints).To(HaveKeyWithValue("public", "http://nova-public."+novaNames.APIName.Namespace+".svc:8774/v2.1")) Expect(endpoints).To(HaveKeyWithValue("internal", "http://nova-internal."+novaNames.APIName.Namespace+".svc:8774/v2.1")) @@ -678,7 +678,7 @@ var _ = Describe("NovaAPI controller", func() { ) th.SimulateStatefulSetReplicaReady(novaNames.APIStatefulSetName) - th.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) + keystone.SimulateKeystoneEndpointReady(novaNames.APIKeystoneEndpointName) th.ExpectCondition( novaNames.APIName, ConditionGetterFunc(NovaAPIConditionGetter), diff --git a/test/functional/suite_test.go b/test/functional/suite_test.go index 493ff2ac4..0abae64f4 100644 --- a/test/functional/suite_test.go +++ b/test/functional/suite_test.go @@ -54,7 +54,8 @@ import ( novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" "github.com/openstack-k8s-operators/nova-operator/controllers" - . "github.com/openstack-k8s-operators/lib-common/modules/test/helpers" + keystone_test "github.com/openstack-k8s-operators/keystone-operator/api/test/helpers" + common_test "github.com/openstack-k8s-operators/lib-common/modules/test/helpers" //+kubebuilder:scaffold:imports ) @@ -68,7 +69,8 @@ var ( ctx context.Context cancel context.CancelFunc logger logr.Logger - th *TestHelper + th *common_test.TestHelper + keystone *keystone_test.TestHelper novaNames NovaNames cell0 CellNames cell1 CellNames @@ -164,7 +166,10 @@ var _ = BeforeSuite(func() { k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme}) Expect(err).NotTo(HaveOccurred()) Expect(k8sClient).NotTo(BeNil()) - th = NewTestHelper(ctx, k8sClient, timeout, interval, logger) + + th = common_test.NewTestHelper(ctx, k8sClient, timeout, interval, logger) + Expect(th).NotTo(BeNil()) + keystone = keystone_test.NewTestHelper(ctx, k8sClient, timeout, interval, logger) Expect(th).NotTo(BeNil()) // Start the controller-manager in a goroutine