@@ -832,6 +832,7 @@ var _ = Describe("OpenStackOperator controller", func() {
832832 BeforeEach (func () {
833833 // create cert secrets for rabbitmq instances
834834 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQCertName ))
835+ DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQNotificationsCertName ))
835836 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQCell1CertName ))
836837 // create cert secrets for memcached instance
837838 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .MemcachedCertName ))
@@ -1145,6 +1146,7 @@ var _ = Describe("OpenStackOperator controller", func() {
11451146 BeforeEach (func () {
11461147 // create cert secrets for rabbitmq instances
11471148 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQCertName ))
1149+ DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQNotificationsCertName ))
11481150 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQCell1CertName ))
11491151 // create cert secrets for memcached instance
11501152 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .MemcachedCertName ))
@@ -1272,6 +1274,7 @@ var _ = Describe("OpenStackOperator controller", func() {
12721274 BeforeEach (func () {
12731275 // create cert secrets for rabbitmq instances
12741276 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQCertName ))
1277+ DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQNotificationsCertName ))
12751278 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQCell1CertName ))
12761279 // create cert secrets for memcached instance
12771280 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .MemcachedCertName ))
@@ -1795,10 +1798,11 @@ var _ = Describe("OpenStackOperator controller", func() {
17951798 })
17961799 })
17971800
1798- When ("A OpenStackControlplane instance is created" , func () {
1801+ When ("A OpenStackControlplane instance is created with top-scope notifications config pushed down " , func () {
17991802 BeforeEach (func () {
18001803 // NOTE(bogdando): DBs certs need to be created here as well, but those are already existing somehow
18011804 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQCertName ))
1805+ DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQNotificationsCertName ))
18021806 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQCell1CertName ))
18031807 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .MemcachedCertName ))
18041808 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .OVNNorthdCertName ))
@@ -1811,6 +1815,7 @@ var _ = Describe("OpenStackOperator controller", func() {
18111815 th .CreateConfigMap (types.NamespacedName {Name : "openstack-config" , Namespace : namespace }, map [string ]interface {}{"clouds.yaml" : string ("foo" ), "OS_CLOUD" : "default" }))
18121816
18131817 spec := GetDefaultOpenStackControlPlaneSpec ()
1818+ spec ["notificationsBus" ] = "rabbitmq-notifications"
18141819 // enable dependencies
18151820 spec ["nova" ] = map [string ]interface {}{
18161821 "enabled" : true ,
@@ -1918,26 +1923,31 @@ var _ = Describe("OpenStackOperator controller", func() {
19181923 }, timeout , interval ).Should (Succeed ())
19191924 })
19201925
1921- It ("should have configured nova" , func () {
1926+ It ("should have configured nova notifications bus instance from top-scope " , func () {
19221927 nova := & novav1.Nova {}
1928+ notificationBusName := "rabbitmq-notifications"
19231929 Eventually (func (g Gomega ) {
19241930 g .Expect (k8sClient .Get (ctx , names .NovaName , nova )).Should (Succeed ())
19251931 g .Expect (nova ).ShouldNot (BeNil ())
1932+ g .Expect (nova .Spec .NotificationsBusInstance ).Should (Equal (& notificationBusName ))
19261933 }, timeout , interval ).Should (Succeed ())
19271934 })
19281935
1929- It ("should have configured nova from the service template" , func () {
1936+ It ("should have configured nova notifications bus instance from the service template" , func () {
19301937 OSCtlplane := GetOpenStackControlPlane (names .OpenStackControlplaneName )
1938+ overrideBusName := "rabbitmq-custom"
19311939 Eventually (func (g Gomega ) {
1932- OSCtlplane .Spec .Nova .Template .APIDatabaseInstance = "custom-db"
1940+ // force-update the notifications bus instance, unless it is overriden in templates
1941+ OSCtlplane .Spec .NotificationsBus = ""
1942+ OSCtlplane .Spec .Nova .Template .NotificationsBusInstance = & overrideBusName
19331943 g .Expect (k8sClient .Update (ctx , OSCtlplane )).Should (Succeed ())
19341944 }, timeout , interval ).Should (Succeed ())
19351945
19361946 nova := & novav1.Nova {}
19371947 Eventually (func (g Gomega ) {
19381948 g .Expect (k8sClient .Get (ctx , names .NovaName , nova )).Should (Succeed ())
19391949 g .Expect (nova ).ShouldNot (BeNil ())
1940- g .Expect (nova .Spec .APIDatabaseInstance ).Should (Equal ("custom-db" ))
1950+ g .Expect (nova .Spec .NotificationsBusInstance ).Should (Equal (& overrideBusName ))
19411951 }, timeout , interval ).Should (Succeed ())
19421952 })
19431953 })
@@ -2296,6 +2306,7 @@ var _ = Describe("OpenStackOperator controller", func() {
22962306
22972307 // create cert secrets for rabbitmq instances
22982308 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQCertName ))
2309+ DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQNotificationsCertName ))
22992310 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .RabbitMQCell1CertName ))
23002311 // create cert secrets for memcached instance
23012312 DeferCleanup (k8sClient .Delete , ctx , th .CreateCertSecret (names .MemcachedCertName ))
@@ -3136,6 +3147,7 @@ var _ = Describe("OpenStackOperator controller nova cell deletion", func() {
31363147
31373148 // create cert secrets for rabbitmq instances
31383149 th .CreateCertSecret (names .RabbitMQCertName )
3150+ th .CreateCertSecret (names .RabbitMQNotificationsCertName )
31393151 th .CreateCertSecret (names .RabbitMQCell1CertName )
31403152
31413153 // create cert secrets for ovn instance
@@ -3279,17 +3291,17 @@ var _ = Describe("OpenStackOperator controller nova cell deletion", func() {
32793291 Eventually (func (g Gomega ) {
32803292 OSCtlplane := GetOpenStackControlPlane (names .OpenStackControlplaneName )
32813293 rabbitTemplates := * (OSCtlplane .Spec .Rabbitmq .Templates )
3282- g .Expect (rabbitTemplates ).Should (HaveLen (2 ))
3294+ g .Expect (rabbitTemplates ).Should (HaveLen (3 ))
32833295 delete (rabbitTemplates , names .RabbitMQCell1Name .Name )
32843296 OSCtlplane .Spec .Rabbitmq .Templates = & rabbitTemplates
32853297 g .Expect (k8sClient .Update (ctx , OSCtlplane )).Should (Succeed ())
32863298 }, timeout , interval ).Should (Succeed ())
32873299
3288- // Only 1 cell in rabbitmq template
3300+ // Only 1 cell and notifications bus in rabbitmq template
32893301 Eventually (func (g Gomega ) {
32903302 OSCtlplane := GetOpenStackControlPlane (names .OpenStackControlplaneName )
32913303 rabbitTemplates := * (OSCtlplane .Spec .Rabbitmq .Templates )
3292- g .Expect (rabbitTemplates ).Should (HaveLen (1 ))
3304+ g .Expect (rabbitTemplates ).Should (HaveLen (2 ))
32933305 }, timeout , interval ).Should (Succeed ())
32943306
32953307 // cell1.rabbitmq should not exists in db
0 commit comments