Minor fix in Keystone charm config

Fix the default value for the config ldap_user_enabled_default in the
Keystone charm, used by the charmed installation of OSM

Change-Id: I0272c1c7218d999e6d1ad7755883961ace997a81
Signed-off-by: David Garcia <david.garcia@canonical.com>
diff --git a/installers/charm/keystone/config.yaml b/installers/charm/keystone/config.yaml
index 2a54a3d..2758d1c 100644
--- a/installers/charm/keystone/config.yaml
+++ b/installers/charm/keystone/config.yaml
@@ -191,7 +191,7 @@
       enablement. However, some schemas might use an integer value in an
       attribute. In this situation, set user_enabled_default to the integer
       value that represents a user being enabled.
-    default: true
+    default: "true"
   ldap_user_enabled_invert:
     type: boolean
     description: |
diff --git a/installers/charm/keystone/src/charm.py b/installers/charm/keystone/src/charm.py
index a8c69fe..5d8d317 100755
--- a/installers/charm/keystone/src/charm.py
+++ b/installers/charm/keystone/src/charm.py
@@ -118,7 +118,7 @@
     ldap_user_filter: Optional[str]
     ldap_user_enabled_attribute: Optional[str]
     ldap_user_enabled_mask: Optional[int]
-    ldap_user_enabled_default: Optional[bool]
+    ldap_user_enabled_default: Optional[str]
     ldap_user_enabled_invert: Optional[bool]
     ldap_group_objectclass: Optional[str]
     ldap_group_tree_dn: Optional[str]
@@ -126,6 +126,13 @@
     ldap_tls_cacert_base64: Optional[str]
     ldap_tls_req_cert: Optional[str]
 
+    @validator
+    def validate_ldap_user_enabled_default(cls, v):
+        if v:
+            if v not in ["true", "false"]:
+                raise ValueError('must be equal to "true" or "false"')
+        return v
+
 
 class KeystoneCharm(CharmedOsmBase):
     def __init__(self, *args) -> NoReturn: