def test_assign_roles_hosts_portion_by_default_roles(self): roles = ['control', 'api', 'compute', 'mysql'] maxs = {'control': 1, 'api': 2, 'compute': -1, 'mysql': -1} exclusives = ['control'] bundles = [['control', 'api']] lower_configs = { 1: {}, 2: {}, 3: {}, 4: {}, 5: {}, 6: {} } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=roles, maxs=maxs, default_min=self.default_min_, exclusives=exclusives, bundles=bundles) self.assertEqual(assigned, {1: ['control', 'api'], 2: ['compute'], 3: ['mysql'], 4: ['compute'], 5: ['mysql'], 6: ['compute']})
def test_assign_roles_allinone_roles_set_additional_roles(self): lower_configs = { 1: {'roles': ['control', 'api', 'compute', 'mysql']}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=self.roles_, maxs=self.maxs_, default_min=self.default_min_) self.assertEqual(assigned, {1: ['control', 'api', 'compute', 'mysql']})
def test_assign_roles_allinone_maxes_mins(self): lower_configs = { 1: {'roles': []}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) maxs = {'control': 1, 'api': 2, 'compute': -1} mins = {'control': 1, 'api': 0} default_min = 0 assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=self.roles_, maxs=maxs, mins=mins, default_min=default_min) self.assertEqual(assigned, {1: ['control']})
def test_assign_roles_allinone_bundles(self): lower_configs = { 1: {'roles': []}, } exclusives = ['control'] bundles = [['control', 'api', 'compute']] lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=self.roles_, maxs=self.maxs_, default_min=self.default_min_, exclusives=exclusives, bundles=bundles) self.assertEqual(assigned, {1: ['control', 'api', 'compute']})
def test_assign_roles_allinone_roles_sorted(self): lower_configs = { 1: { 'roles': ['api', 'control', 'compute'] }, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=self.roles_, maxs=self.maxs_, default_min=self.default_min_) self.assertEqual(assigned, {1: ['control', 'api', 'compute']})
def test_assign_roles_allinone_maxes_mins(self): lower_configs = { 1: { 'roles': [] }, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) maxs = {'control': 1, 'api': 2, 'compute': -1} mins = {'control': 1, 'api': 0} default_min = 0 assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=self.roles_, maxs=maxs, mins=mins, default_min=default_min) self.assertEqual(assigned, {1: ['control']})
def test_assign_roles_multihosts_one_role(self): default_min = 2 maxs = {'control': 1, 'api': 2, 'compute': 2} exclusives = ['control'] lower_configs = { 1: {'roles': ['control']}, 2: {'roles': ['api', 'compute']}, 3: {'roles': []}, 4: {}, 5: {}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=self.roles_, maxs=maxs, default_min=default_min, exclusives=exclusives) self.assertEqual(assigned, {1: ['control'], 2: ['api', 'compute'], 3: ['control'], 4: ['api'], 5: ['compute']})
def test_assign_roles(self): """test assign roles.""" lower_configs = { 1: {'roles': ['control']}, 2: {'roles': ['api', 'compute']}, 3: {'roles': []}, 4: {}, 5: {}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) exclusives = ['control'] assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=self.roles_, maxs=self.maxs_, default_min=self.default_min_, exclusives=exclusives) self.assertEqual(assigned, {1: ['control'], 2: ['api', 'compute'], 3: ['compute'], 4: ['compute'], 5: ['compute']})
def test_assign_roles_multihosts_one_role(self): default_min = 2 maxs = {'control': 1, 'api': 2, 'compute': 2} exclusives = ['control'] lower_configs = { 1: { 'roles': ['control'] }, 2: { 'roles': ['api', 'compute'] }, 3: { 'roles': [] }, 4: {}, 5: {}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=self.roles_, maxs=maxs, default_min=default_min, exclusives=exclusives) self.assertEqual( assigned, { 1: ['control'], 2: ['api', 'compute'], 3: ['control'], 4: ['api'], 5: ['compute'] })
def test_assign_roles(self): """test assign roles.""" lower_configs = { 1: { 'roles': ['control'] }, 2: { 'roles': ['api', 'compute'] }, 3: { 'roles': [] }, 4: {}, 5: {}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) exclusives = ['control'] assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=self.roles_, maxs=self.maxs_, default_min=self.default_min_, exclusives=exclusives) self.assertEqual( assigned, { 1: ['control'], 2: ['api', 'compute'], 3: ['compute'], 4: ['compute'], 5: ['compute'] })
def test_assign_roles(self): lower_configs = { 1: { 'roles': ['control'] }, 2: { 'roles': ['api', 'compute'] }, 3: { 'roles': [] }, 4: {}, 5: {}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) roles = ['control', 'api', 'compute'] maxs = {'control': 1, 'api': 2, 'compute': -1} default_min = 1 exclusives = ['control'] assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=roles, maxs=maxs, default_min=default_min, exclusives=exclusives) self.assertEqual( assigned, { 1: ['control'], 2: ['api', 'compute'], 3: ['api'], 4: ['compute'], 5: ['compute'] }) default_min = 2 maxs = {'control': 1, 'api': 2, 'compute': 2} lower_configs = { 1: { 'roles': ['control'] }, 2: { 'roles': ['api', 'compute'] }, 3: { 'roles': [] }, 4: {}, 5: {}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=roles, maxs=maxs, default_min=default_min, exclusives=exclusives) self.assertEqual( assigned, { 1: ['control'], 2: ['api', 'compute'], 3: ['control'], 4: ['api'], 5: ['compute'] }) default_min = 1 roles = ['control', 'api', 'compute', 'mysql'] maxs = {'control': 1, 'api': 2, 'compute': -1, 'mysql': 2} bundles = [['control', 'api']] lower_configs = { 1: {}, 2: {}, 3: {}, 4: {}, 5: {}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=roles, maxs=maxs, default_min=default_min, exclusives=exclusives, bundles=bundles) self.assertEqual( assigned, { 1: ['control', 'api'], 2: ['compute'], 3: ['mysql'], 4: ['mysql'], 5: ['compute'] })
def test_assign_roles(self): lower_configs = { 1: {'roles': ['control']}, 2: {'roles': ['api', 'compute']}, 3: {'roles': []}, 4: {}, 5: {}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) roles = ['control', 'api', 'compute'] maxs = {'control': 1, 'api': 2, 'compute': -1} default_min = 1 exclusives = ['control'] assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=roles, maxs=maxs, default_min=default_min, exclusives=exclusives) self.assertEqual(assigned, {1: ['control'], 2: ['api', 'compute'], 3: ['api'], 4: ['compute'], 5: ['compute']}) default_min = 2 maxs = {'control': 1, 'api': 2, 'compute': 2} lower_configs = { 1: {'roles': ['control']}, 2: {'roles': ['api', 'compute']}, 3: {'roles': []}, 4: {}, 5: {}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=roles, maxs=maxs, default_min=default_min, exclusives=exclusives) self.assertEqual(assigned, {1: ['control'], 2: ['api', 'compute'], 3: ['control'], 4: ['api'], 5: ['compute']}) default_min = 1 roles = ['control', 'api', 'compute', 'mysql'] maxs = {'control': 1, 'api': 2, 'compute': -1, 'mysql': 2} bundles = [['control', 'api']] lower_configs = { 1: {}, 2: {}, 3: {}, 4: {}, 5: {}, } lower_refs = {} for hostid, config in lower_configs.items(): lower_refs[hostid] = config_reference.ConfigReference(config) assigned = config_merger_callbacks.assign_roles( None, None, lower_refs, 'roles', roles=roles, maxs=maxs, default_min=default_min, exclusives=exclusives, bundles=bundles) self.assertEqual(assigned, {1: ['control', 'api'], 2: ['compute'], 3: ['mysql'], 4: ['mysql'], 5: ['compute']})