Build jammy charms for osm
[osm/devops.git] / installers / charm / osm-lcm / tests / integration / test_charm.py
index bb0f34e..00bb260 100644 (file)
@@ -23,6 +23,7 @@
 
 import asyncio
 import logging
+import shlex
 from pathlib import Path
 
 import pytest
@@ -37,6 +38,7 @@ KAFKA_CHARM = "kafka-k8s"
 KAFKA_APP = "kafka"
 MONGO_DB_CHARM = "mongodb-k8s"
 MONGO_DB_APP = "mongodb"
+RO_CHARM = "osm-ro"
 RO_APP = "ro"
 ZOOKEEPER_CHARM = "zookeeper-k8s"
 ZOOKEEPER_APP = "zookeeper"
@@ -49,18 +51,18 @@ APPS = [KAFKA_APP, MONGO_DB_APP, ZOOKEEPER_APP, RO_APP, LCM_APP]
 async def test_lcm_is_deployed(ops_test: OpsTest):
     charm = await ops_test.build_charm(".")
     resources = {"lcm-image": METADATA["resources"]["lcm-image"]["upstream-source"]}
-    ro_charm = await ops_test.build_charm("../osm-ro/")
-    ro_resources = {"ro-image": "opensourcemano/ro"}
+    ro_deploy_cmd = f"juju deploy {RO_CHARM} {RO_APP} --resource ro-image=opensourcemano/ro:testing-daily --channel=latest/beta --series=jammy"
 
     await asyncio.gather(
         ops_test.model.deploy(
-            charm, resources=resources, application_name=LCM_APP, series="focal"
-        ),
-        ops_test.model.deploy(
-            ro_charm, resources=ro_resources, application_name=RO_APP, series="focal"
+            charm, resources=resources, application_name=LCM_APP, series="jammy"
         ),
+        # RO charm has to be deployed differently since
+        # bug https://github.com/juju/python-libjuju/issues/822
+        # deploys different charms wrt cli
+        ops_test.run(*shlex.split(ro_deploy_cmd), check=True),
         ops_test.model.deploy(KAFKA_CHARM, application_name=KAFKA_APP, channel="stable"),
-        ops_test.model.deploy(MONGO_DB_CHARM, application_name=MONGO_DB_APP, channel="edge"),
+        ops_test.model.deploy(MONGO_DB_CHARM, application_name=MONGO_DB_APP, channel="5/edge"),
         ops_test.model.deploy(ZOOKEEPER_CHARM, application_name=ZOOKEEPER_APP, channel="stable"),
     )
 
@@ -75,11 +77,15 @@ async def test_lcm_is_deployed(ops_test: OpsTest):
 
     logger.info("Adding relations for other components")
     await ops_test.model.add_relation(KAFKA_APP, ZOOKEEPER_APP)
-    await ops_test.model.add_relation(RO_APP, MONGO_DB_APP)
+    await ops_test.model.add_relation(
+        "{}:mongodb".format(RO_APP), "{}:database".format(MONGO_DB_APP)
+    )
     await ops_test.model.add_relation(RO_APP, KAFKA_APP)
 
-    logger.info("Adding relations")
-    await ops_test.model.add_relation(LCM_APP, MONGO_DB_APP)
+    logger.info("Adding relations for LCM")
+    await ops_test.model.add_relation(
+        "{}:mongodb".format(LCM_APP), "{}:database".format(MONGO_DB_APP)
+    )
     await ops_test.model.add_relation(LCM_APP, KAFKA_APP)
     await ops_test.model.add_relation(LCM_APP, RO_APP)
 
@@ -177,7 +183,9 @@ async def test_lcm_action_debug_mode_enabled(ops_test: OpsTest):
 @pytest.mark.abort_on_fail
 async def test_lcm_integration_vca(ops_test: OpsTest):
     await asyncio.gather(
-        ops_test.model.deploy(VCA_CHARM, application_name=VCA_APP, channel="beta"),
+        ops_test.model.deploy(
+            VCA_CHARM, application_name=VCA_APP, channel="latest/beta", series="jammy"
+        ),
     )
     async with ops_test.fast_forward():
         await ops_test.model.wait_for_idle(