Beispiel #1
0
    def test_get_reserved_metadata_with_namespace(self):
        mgr = manager.AgentManager(0, self.CONF)
        pollster = cpu.CPUPollster(self.CONF)
        samples = list(pollster.get_samples(mgr, {}, [self.instance]))
        self.assertEqual({'stack': '2cadc4b4-8789-123c-b4eg-edd2f0a9c128'},
                         samples[0].resource_metadata['user_metadata'])

        self.CONF.set_override('reserved_metadata_namespace', [])
        mgr = manager.AgentManager(0, self.CONF)
        pollster = cpu.CPUPollster(self.CONF)
        samples = list(pollster.get_samples(mgr, {}, [self.instance]))
        self.assertNotIn('user_metadata', samples[0].resource_metadata)
Beispiel #2
0
    def test_get_samples(self):
        next_value = iter((
            virt_inspector.CPUStats(time=1 * (10**6), number=2),
            virt_inspector.CPUStats(time=3 * (10**6), number=2),
            # cpu_time resets on instance restart
            virt_inspector.CPUStats(time=2 * (10**6), number=2),
        ))

        def inspect_cpus(name):
            return six.next(next_value)

        self.inspector.inspect_cpus = mock.Mock(side_effect=inspect_cpus)

        mgr = manager.AgentManager()
        pollster = cpu.CPUPollster()

        def _verify_cpu_metering(expected_time):
            cache = {}
            samples = list(pollster.get_samples(mgr, cache, [self.instance]))
            self.assertEqual(1, len(samples))
            self.assertEqual(set(['cpu']), set([s.name for s in samples]))
            self.assertEqual(expected_time, samples[0].volume)
            self.assertEqual(2, samples[0].resource_metadata.get('cpu_number'))
            # ensure elapsed time between polling cycles is non-zero
            time.sleep(0.001)

        _verify_cpu_metering(1 * (10**6))
        _verify_cpu_metering(3 * (10**6))
        _verify_cpu_metering(2 * (10**6))
    def test_get_samples(self):
        self.inspector.inspect_cpus(self.instance.name).AndReturn(
            virt_inspector.CPUStats(time=1 * (10 ** 6), number=2))
        self.inspector.inspect_cpus(self.instance.name).AndReturn(
            virt_inspector.CPUStats(time=3 * (10 ** 6), number=2))
        # cpu_time resets on instance restart
        self.inspector.inspect_cpus(self.instance.name).AndReturn(
            virt_inspector.CPUStats(time=2 * (10 ** 6), number=2))
        self.mox.ReplayAll()

        mgr = manager.AgentManager()
        pollster = cpu.CPUPollster()

        def _verify_cpu_metering(expected_time):
            cache = {}
            samples = list(pollster.get_samples(mgr, cache, self.instance))
            self.assertEquals(len(samples), 1)
            self.assertEqual(set([s.name for s in samples]),
                             set(['cpu']))
            assert samples[0].volume == expected_time
            self.assertEquals(samples[0].resource_metadata.get('cpu_number'),
                              2)
            # ensure elapsed time between polling cycles is non-zero
            time.sleep(0.001)

        _verify_cpu_metering(1 * (10 ** 6))
        _verify_cpu_metering(3 * (10 ** 6))
        _verify_cpu_metering(2 * (10 ** 6))
Beispiel #4
0
 def test_get_flavor_name_as_metadata_instance_type(self):
     mgr = manager.AgentManager(0, self.CONF)
     pollster = cpu.CPUPollster(self.CONF)
     samples = list(pollster.get_samples(mgr, {}, [self.instance]))
     self.assertEqual(1, len(samples))
     self.assertEqual('m1.small',
                      samples[0].resource_metadata['instance_type'])
Beispiel #5
0
    def test_get_reserved_metadata_with_keys(self):
        self.CONF.set_override('reserved_metadata_keys', ['fqdn'])

        mgr = manager.AgentManager(0, self.CONF)
        pollster = cpu.CPUPollster(self.CONF)
        samples = list(pollster.get_samples(mgr, {}, [self.instance]))
        self.assertEqual(
            {
                'fqdn': 'vm_fqdn',
                'stack': '2cadc4b4-8789-123c-b4eg-edd2f0a9c128'
            }, samples[0].resource_metadata['user_metadata'])
Beispiel #6
0
    def test_get_samples_no_caching(self):
        cpu_stats = virt_inspector.CPUStats(time=1 * (10**6), number=2)
        self.inspector.inspect_cpus = mock.Mock(return_value=cpu_stats)

        mgr = manager.AgentManager()
        pollster = cpu.CPUPollster()

        cache = {}
        samples = list(pollster.get_samples(mgr, cache, [self.instance]))
        self.assertEqual(1, len(samples))
        self.assertEqual(10**6, samples[0].volume)
        self.assertEqual(0, len(cache))
    def test_get_samples_no_caching(self):
        self.inspector.inspect_cpus(self.instance.name).AndReturn(
            virt_inspector.CPUStats(time=1 * (10 ** 6), number=2))
        self.mox.ReplayAll()

        mgr = manager.AgentManager()
        pollster = cpu.CPUPollster()

        cache = {}
        samples = list(pollster.get_samples(mgr, cache, self.instance))
        self.assertEquals(len(samples), 1)
        self.assertEquals(samples[0].volume, 10 ** 6)
        self.assertEquals(len(cache), 0)
Beispiel #8
0
 def test_get_metadata(self):
     mgr = manager.AgentManager(0, self.CONF)
     pollster = cpu.CPUPollster(self.CONF)
     samples = list(pollster.get_samples(mgr, {}, [self.instance]))
     self.assertEqual(1, len(samples))
     self.assertEqual(1, samples[0].resource_metadata['vcpus'])
     self.assertEqual(512, samples[0].resource_metadata['memory_mb'])
     self.assertEqual(20, samples[0].resource_metadata['disk_gb'])
     self.assertEqual(20, samples[0].resource_metadata['root_gb'])
     self.assertEqual(0, samples[0].resource_metadata['ephemeral_gb'])
     self.assertEqual('active', samples[0].resource_metadata['status'])
     self.assertEqual('active', samples[0].resource_metadata['state'])
     self.assertIsNone(samples[0].resource_metadata['task_state'])