def start(self): LOG.debug('IPABackend start') self.request = requests.Session() authclassname = cfg.CONF[self.name].ipa_auth_driver_class authclass = importutils.import_class(authclassname) self.request.auth = \ authclass(cfg.CONF[self.name].ipa_client_keytab, cfg.CONF[self.name].ipa_host) ipa_base_url = cfg.CONF[self.name].ipa_base_url if ipa_base_url.startswith("http"): # full URL self.baseurl = ipa_base_url else: # assume relative to https://host[:port] self.baseurl = "https://" + cfg.CONF[self.name].ipa_host ipa_port = cfg.CONF[self.name].ipa_port if ipa_port != IPA_DEFAULT_PORT: self.baseurl += ":" + str(ipa_port) self.baseurl += ipa_base_url ipa_json_url = cfg.CONF[self.name].ipa_json_url if ipa_json_url.startswith("http"): # full URL self.jsonurl = ipa_json_url else: # assume relative to https://host[:port] self.jsonurl = self.baseurl + ipa_json_url xtra_hdrs = {'Content-Type': 'application/json', 'Referer': self.baseurl} self.request.headers.update(xtra_hdrs) self.request.verify = cfg.CONF[self.name].ipa_ca_cert self.ntries = cfg.CONF[self.name].ipa_connect_retries self.force = cfg.CONF[self.name].ipa_force_ns_use
def from_primitive(primitive): """ Construct an object from primitive types This is used while deserializing the object. NOTE: Currently all the designate objects contain primitive types that do not need special handling. If this changes we need to modify this function. """ cls = importutils.import_class(primitive['designate_object.name']) instance = cls() for field, value in primitive['designate_object.data'].items(): if isinstance(value, dict) and 'designate_object.name' in value: instance[field] = DesignateObject.from_primitive(value) else: instance[field] = value instance._obj_changes = set(primitive['designate_object.changes']) instance._obj_original_values = \ primitive['designate_object.original_values'] return instance
def from_primitive(primitive): """ Construct an object from primitive types This is used while deserializing the object. """ cls = importutils.import_class(primitive['designate_object.name']) return cls._obj_from_primitive(primitive)
def deserialize_entity(self, context, entity): if isinstance(entity, dict) and 'designate_object.name' in entity and\ 'designate_object.data' in entity: cls = importutils.import_class(entity['designate_object.name']) entity = cls.from_primitive(entity) elif isinstance(entity, (tuple, list, set)): entity = self._process_iterable(context, self.deserialize_entity, entity) return entity
def __init__(self, svc_name, *args, **kw): cls = importutils.import_class( 'designate.%s.service.Service' % svc_name) self.svc = cls.create(binary='designate-' + svc_name, *args, **kw)
def __init__(self, svc_name, *args, **kw): cls = importutils.import_class('designate.%s.service.Service' % svc_name) self.svc = cls.create(binary='desgignate-' + svc_name, *args, **kw)
def __init__(self, svc_name, *args, **kw): cls = importutils.import_class('designate.%s.service.Service' % svc_name) self.svc = cls(*args, **kw)