X-Git-Url: http://git.onelab.eu/?p=nodemanager.git;a=blobdiff_plain;f=config.py;h=700b2db2e0dbea4ff5bcd555924242bcc3bc4e09;hp=14ee71d0af563f575808f1eddbbd369ee4872098;hb=HEAD;hpb=08fff9819ceb2d126e43cdcfc1f20ccb85703320 diff --git a/config.py b/config.py index 14ee71d..700b2db 100644 --- a/config.py +++ b/config.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # # Parses the PLC configuration file /etc/planetlab/plc_config, which # is bootstrapped by Boot Manager, but managed by us. @@ -6,8 +6,8 @@ # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id: config.py,v 1.3 2006/10/31 23:15:12 mlhuang Exp $ -# + +import os class Config: """ @@ -17,14 +17,21 @@ class Config: def __init__(self, file = "/etc/planetlab/plc_config"): try: - execfile(file, self.__dict__) + exec(compile(open(file).read(), file, 'exec'), self.__dict__) except: - raise Exception, "Could not parse " + file + raise Exception("Could not parse " + file) 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) + \ @@ -32,6 +39,9 @@ class Config: self.plc_api_uri = uri + if __name__ == '__main__': from pprint import pprint - pprint(Config().__dict__.items()) + for (k, v) in Config().__dict__.items(): + if k not in ['__builtins__']: + pprint ( (k, v), )