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']})
Example #5
0
 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']})
Example #6
0
 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']})
Example #9
0
 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']
         })
Example #10
0
 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']
         })
Example #11
0
    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']})