Major improvement in OSM charms

- Adapt all new operator charms to use the same pattern. They are all
using now this library that encapsulates the common logic for all
charms: https://github.com/davigar15/ops-lib-charmed-osm. That will be
eventually moved to gitlab, when it has a PyPI repository available
- Add unit tests to all charms
- Modify installer and bundles to point to the new charms
- Improve the build.sh script for building the charms

Change-Id: I0896ceb082d1b6a76b3560c07482a4135a220a3f
Signed-off-by: David Garcia <david.garcia@canonical.com>
diff --git a/installers/charm/lcm/src/pod_spec.py b/installers/charm/lcm/src/pod_spec.py
index dc21453..8709f4f 100644
--- a/installers/charm/lcm/src/pod_spec.py
+++ b/installers/charm/lcm/src/pod_spec.py
@@ -36,10 +36,12 @@
         relation_data (Dict[str, Any]): relation data.
     """
     config_validators = {
-        "database_commonkey": lambda value, _: isinstance(value, str)
-        and len(value) > 1,
-        "log_level": lambda value, _: isinstance(value, str)
-        and value in ("INFO", "DEBUG"),
+        "database_commonkey": lambda value, _: (
+            isinstance(value, str) and len(value) > 1
+        ),
+        "log_level": lambda value, _: (
+            isinstance(value, str) and value in ("INFO", "DEBUG")
+        ),
         "vca_host": lambda value, _: isinstance(value, str) and len(value) > 1,
         "vca_port": lambda value, _: isinstance(value, int) and value > 0,
         "vca_user": lambda value, _: isinstance(value, str) and len(value) > 1,