def __init__(self, type=None, confstr=None): """Create an InfraDB object An InfraDB uses some sort of database-ish driver to map one real infrastructure object to another for this infrastructure. For example, the 'webserver' role may map to hostA, hostB and hostC >>> db=InfraDB('json', 'tests/infradb.json') >>> """ log.debug("Initializing driver type %s" % type) if type == 'dns' or type == None: from ubik.infra.infradns import InfraDBDriverDNS self.driver = InfraDBDriverDNS(confstr) elif type == 'json': from ubik.infra.infrajson import InfraDBDriverJSON self.driver = InfraDBDriverJSON(confstr) else: raise InfraDBException('No Such Driver: ' + type)