def test_get_keys_by_value_2(self): arg = {'k0': ['v0', 'v1'], 'k1': ['v1', 'v2'], 'k2': ['v2', 'v3']} actual = du.get_keys_by_value_2(arg, 'v1') expected = ['k0', 'k1'] self.assertItemsEqual(expected, actual) actual = du.get_keys_by_value_2(arg, 'v3') expected = ['k2'] self.assertItemsEqual(expected, actual) actual = du.get_keys_by_value_2(arg, 'v') expected = [] self.assertItemsEqual(expected, actual)
def _load_plugin_config_objects(self): LOG.debug('Loading config objects for sahara-dashboard') def mapper(item): req = ['name', 'applicable_target', 'scope'] opt = ['description', 'config_type', 'config_values', 'default_value', 'is_optional', 'priority'] kargs = dict((k, item[k]) for k in req + opt if k in item) return p.Config(**kargs) result = [] for file_dict in self.plugin_spec_dict['files']: if 'configs' not in file_dict: LOG.debug('%s skipped. No "configs" section', file_dict['remote']) continue remote_path = file_dict['remote'] applicable_target = du.get_keys_by_value_2( self.service_file_name_map, remote_path)[0] for is_required, scope_dict in six.iteritems(file_dict['configs']): is_optional = is_required != 'required' for scope, items in six.iteritems(scope_dict): fields = {'file': remote_path, 'is_optional': is_optional, 'scope': scope, 'applicable_target': applicable_target} append_f = fu.append_fields_function(fields) result.extend([append_f(i) for i in items]) return map(mapper, result)
def mapper(item): file_name = du.get_keys_by_value_2( self.file_name_config_map, item['name'])[0] append_f = fu.append_field_function('file', file_name) return append_f(item)
def get_service_for_file_name(self, file_name): return du.get_keys_by_value_2(self.service_file_name_map, file_name)[0]
def get_node_process_service(self, node_process): return du.get_keys_by_value_2(self.service_node_process_map, node_process)[0]
def get_service(version_handler, node_process): node_processes = version_handler.get_node_processes() return du.get_keys_by_value_2(node_processes, node_process)