@@ -48,7 +48,7 @@ async def test_deploy_and_relate_osm_bundle(ops_test: OpsTest) -> None:
48
48
application_name = APP_NAME ,
49
49
resources = resources ,
50
50
config = config ,
51
- num_units = 3 ,
51
+ num_units = 1 ,
52
52
series = "jammy" ,
53
53
trust = True ,
54
54
),
@@ -57,70 +57,71 @@ async def test_deploy_and_relate_osm_bundle(ops_test: OpsTest) -> None:
57
57
# not correctly deploy with the correct resources)
58
58
ops_test .juju (
59
59
"deploy" ,
60
- "--channel=latest/edge" ,
61
- "--trust" ,
60
+ "--channel=latest/beta" ,
62
61
"--resource" ,
63
62
"keystone-image=opensourcemano/keystone:testing-daily" ,
64
63
"osm-keystone" ,
65
- "osm-keystone" ,
66
64
),
67
65
ops_test .model .deploy (
68
66
"osm-pol" ,
69
67
application_name = "osm-pol" ,
70
- channel = "latest/candidate " ,
68
+ channel = "latest/beta " ,
71
69
resources = osm_pol_resources ,
70
+ trust = True ,
71
+ ),
72
+ ops_test .model .deploy (
73
+ "kafka-k8s" , application_name = "kafka" , trust = True , channel = "latest/stable"
72
74
),
73
75
ops_test .model .deploy (
74
- "charmed-osm-kafka-k8s" ,
75
- application_name = "osm-kafka" ,
76
+ "zookeeper-k8s" , application_name = "zookeeper" , channel = "latest/stable"
77
+ ),
78
+ # sticking to revision that support both juju 2.9.x and 3.x
79
+ ops_test .model .deploy (
80
+ "mongodb-k8s" ,
81
+ application_name = "mongodb" ,
82
+ channel = "5/edge" ,
83
+ revision = 36 ,
84
+ series = "jammy" ,
76
85
),
77
- ops_test .model .deploy ("charmed-osm-zookeeper-k8s" , application_name = "osm-zookeeper" ),
78
- ops_test .model .deploy ("charmed-osm-mongodb-k8s" , application_name = "osm-mongodb" ),
79
86
)
80
87
81
88
# cannot block until "osm-keystone" units are available since they are not
82
89
# registered with ops_test.model.applications (due to the way it's deployed)
83
- await ops_test .model .block_until (
84
- lambda : len (ops_test .model .applications [APP_NAME ].units ) == 3 ,
90
+ await ops_test .model .wait_for_idle (
91
+ apps = [APP_NAME , "mongodb" ],
92
+ status = "active" ,
85
93
timeout = 1000 ,
86
94
)
87
95
await ops_test .model .block_until (
88
96
lambda : len (ops_test .model .applications ["osm-pol" ].units ) == 1 ,
89
97
timeout = 1000 ,
90
98
)
91
99
await ops_test .model .block_until (
92
- lambda : len (ops_test .model .applications ["osm- kafka" ].units ) == 1 ,
100
+ lambda : len (ops_test .model .applications ["kafka" ].units ) == 1 ,
93
101
timeout = 1000 ,
94
102
)
95
103
await ops_test .model .block_until (
96
- lambda : len (ops_test .model .applications ["osm- zookeeper" ].units ) == 1 ,
104
+ lambda : len (ops_test .model .applications ["zookeeper" ].units ) == 1 ,
97
105
timeout = 1000 ,
98
106
)
99
107
await ops_test .model .block_until (
100
- lambda : len (ops_test .model .applications ["osm- mongodb" ].units ) == 1 ,
108
+ lambda : len (ops_test .model .applications ["mongodb" ].units ) == 1 ,
101
109
timeout = 1000 ,
102
110
)
103
111
104
- await ops_test .model .relate ("osm-kafka:zookeeper" , "osm-zookeeper:zookeeper" )
112
+ logger .info ("Relate kafka and zookeeper" )
113
+ await ops_test .model .relate ("kafka:zookeeper" , "zookeeper:zookeeper" )
105
114
await ops_test .model .block_until (
106
115
lambda : is_relation_joined (ops_test , "zookeeper" , "zookeeper" ),
107
116
timeout = 1000 ,
108
117
)
109
118
110
- # osm-zookeeper is never `active` long enough (15 seconds is necessary),
111
- # it constantly changes state `active`<>`maintenance`:
112
- # > osm-zookeeper/0 [idle] maintenance: Sending Zookeeper configuration
113
- await ops_test .model .wait_for_idle (
114
- apps = [APP_NAME , "osm-kafka" , "osm-mongodb" ],
115
- status = "active" ,
116
- raise_on_blocked = True ,
117
- timeout = 1000 ,
118
- )
119
119
await ops_test .model .block_until (
120
- lambda : ops_test .model .applications ["osm- zookeeper" ].status == "active" ,
120
+ lambda : ops_test .model .applications ["zookeeper" ].status == "active" ,
121
121
timeout = 1000 ,
122
122
)
123
123
124
+ logger .info ("Relate keystone and mysql" )
124
125
await ops_test .model .relate ("osm-keystone:db" , f"{ APP_NAME } :mysql-root" )
125
126
await ops_test .model .block_until (
126
127
lambda : is_relation_joined (ops_test , "db" , "mysql-root" ), timeout = 1000
@@ -133,16 +134,19 @@ async def test_deploy_and_relate_osm_bundle(ops_test: OpsTest) -> None:
133
134
timeout = 1000 ,
134
135
)
135
136
136
- await ops_test .model .relate ("osm-pol:mongodb" , "osm-mongodb:mongo" )
137
+ logger .info ("Relate osm-pol and mongo" )
138
+ await ops_test .model .relate ("osm-pol:mongodb" , "mongodb:database" )
137
139
await ops_test .model .block_until (
138
- lambda : is_relation_joined (ops_test , "mongodb" , "mongo " ), timeout = 1000
140
+ lambda : is_relation_joined (ops_test , "mongodb" , "database " ), timeout = 1000
139
141
)
140
142
141
- await ops_test .model .relate ("osm-pol:kafka" , "osm-kafka:kafka" )
143
+ logger .info ("Relate osm-pol and kafka" )
144
+ await ops_test .model .relate ("osm-pol:kafka" , "kafka:kafka" )
142
145
await ops_test .model .block_until (
143
146
lambda : is_relation_joined (ops_test , "kafka" , "kafka" ), timeout = 1000
144
147
)
145
148
149
+ logger .info ("Relate osm-pol and mysql" )
146
150
await ops_test .model .relate ("osm-pol:mysql" , f"{ APP_NAME } :mysql-root" )
147
151
await ops_test .model .block_until (
148
152
lambda : is_relation_joined (ops_test , "mysql" , "mysql-root" ),
0 commit comments