diff --git a/src/caosdb/configuration.py b/src/caosdb/configuration.py
index 4d0797844182b8465ef5f97a869e31ee4fcaf47d..27d44617e96688e0363c0fe2c610d30c7e6af9d9 100644
--- a/src/caosdb/configuration.py
+++ b/src/caosdb/configuration.py
@@ -21,6 +21,10 @@
 #
 # ** end header
 #
+
+import os
+import yaml
+
 try:
     # python2
     from ConfigParser import ConfigParser
@@ -46,6 +50,22 @@ def configure(inifile):
         _reset_config()
     return _pycaosdbconf.read(inifile)
 
-
 def get_config():
     return _pycaosdbconf
+
+
+def config_to_yaml(config):
+    valobj = {}
+    for s in config.sections():
+        valobj[s] = {}
+        for key, value in config[s].items():
+            valobj[s][key] = value
+
+    return valobj
+
+def validate(valobj):
+    print(__file__)
+    with open(os.path.join(os.path.dirname(__file__), "schema-pycaosdb-ini.yml")) as f:
+        schema = yaml.load(f, Loader=yaml.SafeLoader)
+    validate(instance=valobj, schema=schema)
+