cosmetic
[nodemanager.git] / config.py
index 6288bf7..9efdecc 100644 (file)
--- a/config.py
+++ b/config.py
@@ -1,5 +1,8 @@
 #!/usr/bin/python
 #
+# $Id$
+# $URL$
+#
 # Parses the PLC configuration file /etc/planetlab/plc_config, which
 # is bootstrapped by Boot Manager, but managed by us.
 #
@@ -9,6 +12,8 @@
 # $Id$
 #
 
+import os
+
 class Config:
     """
     Parses Python configuration files; all variables in the file are
@@ -23,11 +28,25 @@ class Config:
 
         if int(self.PLC_API_PORT) == 443:
             uri = "https://"
+            if hasattr(self, 'PLC_API_CA_SSL_CRT'):
+                self.cacert = self.PLC_API_CA_SSL_CRT
+            elif os.path.exists('/usr/boot/cacert.pem'):
+                self.cacert = '/usr/boot/cacert.pem'
+            else:
+                raise Exception, "No boot server certificate bundle available"
         else:
             uri = "http://"
+            self.cacert = None
 
         uri += self.PLC_API_HOST + \
                ":" + str(self.PLC_API_PORT) + \
                "/" + self.PLC_API_PATH + "/"
 
         self.plc_api_uri = uri
+
+
+if __name__ == '__main__':
+    from pprint import pprint
+    for (k,v) in Config().__dict__.iteritems():
+        if k not in ['__builtins__']:
+            pprint ( (k,v), )