コード例 #1
0
    def test_setup_instance_group_in_request_spec(self, mock_ggd):
        metadetails = {
            "wrs-sg:best_effort": "true",
            "wrs-sg:group_size": "2",
            "wrs-sg:group_exceed": "0"
        }
        mock_ggd.return_value = scheduler_utils.GroupDetails(
            hosts=set(['hostA', 'hostB']),
            policies=['policy'],
            members=['instance1'],
            metadetails=metadetails,
            name='pele')
        spec = objects.RequestSpec(instance_uuid=uuids.instance)
        spec.instance_group = objects.InstanceGroup(hosts=['hostC'])
        spec.num_instances = 1
        spec.min_num_instances = 1
        scheduler_utils.setup_instance_group(self.context, spec)

        mock_ggd.assert_called_once_with(self.context,
                                         uuids.instance,
                                         spec,
                                         user_group_hosts=['hostC'])
        # Given it returns a list from a set, make sure it's sorted.
        self.assertEqual(['hostA', 'hostB'], sorted(spec.instance_group.hosts))
        self.assertEqual(['policy'], spec.instance_group.policies)
        self.assertEqual(['instance1'], spec.instance_group.members)
        self.assertEqual(metadetails, spec.instance_group.metadetails)
        self.assertEqual('pele', spec.instance_group.name)
コード例 #2
0
    def test_setup_instance_group_in_filter_properties(self, mock_ggd):
        mock_ggd.return_value = scheduler_utils.GroupDetails(
            hosts=set(['hostA', 'hostB']), policies=['policy'])
        spec = {'instance_properties': {'uuid': 'fake-uuid'}}
        filter_props = {'group_hosts': ['hostC']}

        scheduler_utils.setup_instance_group(self.context, spec, filter_props)

        mock_ggd.assert_called_once_with(self.context, 'fake-uuid',
                                         ['hostC'])
        expected_filter_props = {'group_updated': True,
                                 'group_hosts': set(['hostA', 'hostB']),
                                 'group_policies': ['policy']}
        self.assertEqual(expected_filter_props, filter_props)
コード例 #3
0
    def test_setup_instance_group_in_request_spec(self, mock_ggd):
        mock_ggd.return_value = scheduler_utils.GroupDetails(
            hosts=set(['hostA', 'hostB']), policies=['policy'],
            members=['instance1'])
        spec = objects.RequestSpec(instance_uuid=uuids.instance)
        spec.instance_group = objects.InstanceGroup(hosts=['hostC'])

        scheduler_utils.setup_instance_group(self.context, spec)

        mock_ggd.assert_called_once_with(self.context, uuids.instance,
                                         ['hostC'])
        # Given it returns a list from a set, make sure it's sorted.
        self.assertEqual(['hostA', 'hostB'], sorted(spec.instance_group.hosts))
        self.assertEqual(['policy'], spec.instance_group.policies)
        self.assertEqual(['instance1'], spec.instance_group.members)