示例#1
0
    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)
示例#2
0
    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)
示例#3
0
 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)
示例#4
0
 def get_service_for_file_name(self, file_name):
     return du.get_keys_by_value_2(self.service_file_name_map, file_name)[0]
示例#5
0
 def get_node_process_service(self, node_process):
     return du.get_keys_by_value_2(self.service_node_process_map,
                                   node_process)[0]
示例#6
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)