def _setup_simple_config_fields(self, config, instance, fields): for src, dest in fields: try: src_obj = instance.data.fields[src] config[dest] = JsonObject.unwrap(src_obj) except (KeyError, AttributeError): pass
def _do_volume_activate(self, volume, storage_pool, progress): if not self._is_managed_volume(volume): return driver = volume.data['fields']['driver'] try: if volume.data['fields']['driverOpts']: driver_opts = volume.data['fields']['driverOpts'] else: driver_opts = None except KeyError: driver_opts = None v = DockerConfig.storage_api_version() client = docker_client(version=v) # Rancher longhorn volumes indicate when they've been moved to a # different host. If so, we have to delete before we create # to cleanup the reference in docker. try: vol = client.inspect_volume(volume.name) except APIError: pass else: try: if vol and vol['Mountpoint'] == 'moved': log.info( 'Removing moved volume %s so that it can be ' 're-added.', volume.name) client.remove_volume(volume.name) except KeyError: pass client.create_volume(volume.name, driver, JsonObject.unwrap(driver_opts))
def _do_volume_activate(self, volume, storage_pool, progress): if not self._is_managed_volume(volume): return driver = volume.data['fields']['driver'] try: if volume.data['fields']['driverOpts']: driver_opts = volume.data['fields']['driverOpts'] else: driver_opts = None except KeyError: driver_opts = None v = DockerConfig.storage_api_version() client = docker_client(version=v) # Rancher longhorn volumes indicate when they've been moved to a # different host. If so, we have to delete before we create # to cleanup the reference in docker. try: vol = client.inspect_volume(volume.name) except APIError: pass else: try: if vol and vol['Mountpoint'] == 'moved': log.info('Removing moved volume %s so that it can be ' 're-added.', volume.name) client.remove_volume(volume.name) except KeyError: pass client.create_volume(volume.name, driver, JsonObject.unwrap(driver_opts))
def event_test(agent, name, pre_func=None, post_func=None): req = json_data(name) resp_valid = json_data(name + '_resp') if pre_func is not None: pre_func(req) resp = agent.execute(req) if post_func is not None: post_func(req, resp) del resp["id"] del resp["time"] _diff_dict(JsonObject.unwrap(resp_valid), JsonObject.unwrap(resp)) assert_equals(JsonObject.unwrap(resp_valid), JsonObject.unwrap(resp)) return req, resp
def _do_volume_activate(self, volume, storage_pool, progress): if not self._is_managed_volume(volume): return driver = volume.data["fields"]["driver"] try: if volume.data["fields"]["driverOpts"]: driver_opts = volume.data["fields"]["driverOpts"] else: driver_opts = None except KeyError: driver_opts = None v = DockerConfig.storage_api_version() docker_client(version=v).create_volume(volume.name, driver, JsonObject.unwrap(driver_opts))
def _do_volume_activate(self, volume, storage_pool, progress): if not self._is_managed_volume(volume): return driver = volume.data['fields']['driver'] try: if volume.data['fields']['driverOpts']: driver_opts = volume.data['fields']['driverOpts'] else: driver_opts = None except KeyError: driver_opts = None v = DockerConfig.storage_api_version() docker_client(version=v).create_volume(volume.name, driver, JsonObject.unwrap(driver_opts))
def event_test(agent, name, pre_func=None, post_func=None, diff=True): req = json_data(name) valid_resp_file = json_data(name + '_resp') valid_resp = JsonObject.unwrap(valid_resp_file) if pre_func is not None: pre_func(req) resp = agent.execute(req) if post_func is not None: insp = inspect.getargspec(post_func) if len(insp.args) == 3: post_func(req, resp, valid_resp) else: post_func(req, resp) if diff: del resp["id"] del resp["time"] diff_dict(valid_resp, JsonObject.unwrap(resp)) assert_equals(valid_resp, JsonObject.unwrap(resp)) return req, resp
def _setup_logging(self, start_config, instance): try: if start_config.get('log_config', None) is None: return type = start_config['log_config']['driver'] del start_config['log_config']['driver'] start_config['log_config']['type'] = type except (KeyError, AttributeError): pass for i in ['type', 'config']: bad = True try: obj = start_config['log_config'][i] if obj is not None: bad = False start_config['log_config'][i] = JsonObject.unwrap(obj) except (KeyError, AttributeError): pass if bad and 'log_config' in start_config: del start_config['log_config']
def to_string(self, obj): obj = JsonObject.unwrap(obj) return json.dumps(obj)