diff --git a/installers/charm/osm-lcm/tox.ini b/installers/charm/osm-lcm/tox.ini
index 0268da8..16c1359 100644
--- a/installers/charm/osm-lcm/tox.ini
+++ b/installers/charm/osm-lcm/tox.ini
@@ -29,6 +29,7 @@
 all_path = {[vars]src_path} {[vars]tst_path} 
 
 [testenv]
+basepython = python3.8
 setenv =
   PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
   PYTHONBREAKPOINT=ipdb.set_trace
diff --git a/installers/charm/osm-mon/src/charm.py b/installers/charm/osm-mon/src/charm.py
index 176f896..e07d607 100755
--- a/installers/charm/osm-mon/src/charm.py
+++ b/installers/charm/osm-mon/src/charm.py
@@ -151,9 +151,7 @@
     def _on_get_debug_mode_information_action(self, event: ActionEvent) -> None:
         """Handler for the get-debug-mode-information action event."""
         if not self.debug_mode.started:
-            event.fail(
-                "debug-mode has not started. Hint: juju config mon debug-mode=true"
-            )
+            event.fail("debug-mode has not started. Hint: juju config mon debug-mode=true")
             return
 
         debug_info = {
@@ -179,13 +177,9 @@
             # Action events
             self.on.get_debug_mode_information_action: self._on_get_debug_mode_information_action,
         }
-        for relation in [
-            self.on[rel_name] for rel_name in ["mongodb", "prometheus", "keystone"]
-        ]:
+        for relation in [self.on[rel_name] for rel_name in ["mongodb", "prometheus", "keystone"]]:
             event_handler_mapping[relation.relation_changed] = self._on_config_changed
-            event_handler_mapping[
-                relation.relation_broken
-            ] = self._on_required_relation_broken
+            event_handler_mapping[relation.relation_broken] = self._on_required_relation_broken
 
         for event, handler in event_handler_mapping.items():
             self.framework.observe(event, handler)
@@ -219,9 +213,7 @@
         if missing_relations:
             relations_str = ", ".join(missing_relations)
             one_relation_missing = len(missing_relations) == 1
-            error_msg = (
-                f'need {relations_str} relation{"" if one_relation_missing else "s"}'
-            )
+            error_msg = f'need {relations_str} relation{"" if one_relation_missing else "s"}'
             logger.warning(error_msg)
             raise CharmError(error_msg)
 
@@ -236,9 +228,7 @@
         environment = {
             # General configuration
             "OSMMON_GLOBAL_LOGLEVEL": self.config["log-level"],
-            "OSMMON_OPENSTACK_DEFAULT_GRANULARITY": self.config[
-                "openstack-default-granularity"
-            ],
+            "OSMMON_OPENSTACK_DEFAULT_GRANULARITY": self.config["openstack-default-granularity"],
             "OSMMON_GLOBAL_REQUEST_TIMEOUT": self.config["global-request-timeout"],
             "OSMMON_COLLECTOR_INTERVAL": self.config["collector-interval"],
             "OSMMON_EVALUATOR_INTERVAL": self.config["evaluator-interval"],
diff --git a/installers/charm/osm-mon/tox.ini b/installers/charm/osm-mon/tox.ini
index b8effce..46b127d 100644
--- a/installers/charm/osm-mon/tox.ini
+++ b/installers/charm/osm-mon/tox.ini
@@ -29,6 +29,7 @@
 all_path = {[vars]src_path} {[vars]tst_path}
 
 [testenv]
+basepython = python3.8
 setenv =
   PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
   PYTHONBREAKPOINT=ipdb.set_trace
diff --git a/installers/charm/osm-nbi/tox.ini b/installers/charm/osm-nbi/tox.ini
index bae1f1f..e24bef5 100644
--- a/installers/charm/osm-nbi/tox.ini
+++ b/installers/charm/osm-nbi/tox.ini
@@ -30,6 +30,7 @@
 all_path = {[vars]src_path} {[vars]tst_path} 
 
 [testenv]
+basepython = python3.8
 setenv =
   PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
   PYTHONBREAKPOINT=ipdb.set_trace
diff --git a/installers/charm/osm-ng-ui/tox.ini b/installers/charm/osm-ng-ui/tox.ini
index 5fd7849..1f7ecb7 100644
--- a/installers/charm/osm-ng-ui/tox.ini
+++ b/installers/charm/osm-ng-ui/tox.ini
@@ -30,6 +30,7 @@
 all_path = {[vars]src_path} {[vars]tst_path} 
 
 [testenv]
+basepython = python3.8
 setenv =
   PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
   PYTHONBREAKPOINT=ipdb.set_trace
diff --git a/installers/charm/osm-pol/tox.ini b/installers/charm/osm-pol/tox.ini
index 0268da8..16c1359 100644
--- a/installers/charm/osm-pol/tox.ini
+++ b/installers/charm/osm-pol/tox.ini
@@ -29,6 +29,7 @@
 all_path = {[vars]src_path} {[vars]tst_path} 
 
 [testenv]
+basepython = python3.8
 setenv =
   PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
   PYTHONBREAKPOINT=ipdb.set_trace
diff --git a/installers/charm/osm-ro/tox.ini b/installers/charm/osm-ro/tox.ini
index 70089f8..0451ff1 100644
--- a/installers/charm/osm-ro/tox.ini
+++ b/installers/charm/osm-ro/tox.ini
@@ -30,6 +30,7 @@
 all_path = {[vars]src_path} {[vars]tst_path}
 
 [testenv]
+basepython = python3.8
 setenv =
   PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
   PYTHONBREAKPOINT=ipdb.set_trace
diff --git a/installers/charm/vca-integrator-operator/tox.ini b/installers/charm/vca-integrator-operator/tox.ini
index 6ef1fe3..605d690 100644
--- a/installers/charm/vca-integrator-operator/tox.ini
+++ b/installers/charm/vca-integrator-operator/tox.ini
@@ -27,6 +27,7 @@
 all_path = {[vars]src_path} {[vars]tst_path} {[vars]lib_path}
 
 [testenv]
+basepython = python3.8
 setenv =
   PYTHONPATH = {toxinidir}:{toxinidir}/lib:{[vars]src_path}
   PYTHONBREAKPOINT=ipdb.set_trace
