summaryrefslogtreecommitdiff
path: root/ceilometer/tests
diff options
context:
space:
mode:
authorliyi <liyi8611@gmail.com>2018-06-19 17:33:30 +0800
committerPavlo Shchelokovskyy <shchelokovskyy@gmail.com>2021-02-03 20:45:23 +0200
commit5d40f5e70ac502978405ef55c095356694ae8128 (patch)
treee15d413db7cf09b38107934e61ba5e3ada977d70 /ceilometer/tests
parent2be7a43be144f02d8fb71526aeda19553f1a368f (diff)
downloadceilometer-5d40f5e70ac502978405ef55c095356694ae8128.tar.gz
Fix gnocchi create resource error when missing flavor
When a server created, I delete the related flavor, and the gnocchi can not discover the server. This patch also makes discovery of private flavors possible. Change-Id: I0f570bddf0f2597808a0148d72c0ea2e5f900e23 Closes-Bug: #1777607
Diffstat (limited to 'ceilometer/tests')
-rw-r--r--ceilometer/tests/unit/compute/test_discovery.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/ceilometer/tests/unit/compute/test_discovery.py b/ceilometer/tests/unit/compute/test_discovery.py
index e5c1c964..0e1eccad 100644
--- a/ceilometer/tests/unit/compute/test_discovery.py
+++ b/ceilometer/tests/unit/compute/test_discovery.py
@@ -17,6 +17,8 @@ from unittest import mock
import fixtures
import testtools
+from novaclient import exceptions
+
try:
import libvirt
except ImportError:
@@ -297,3 +299,29 @@ class TestDiscovery(base.BaseTestCase):
dsc = discovery.InstanceDiscovery(self.CONF)
resources = dsc.discover(mock.MagicMock())
self.assertEqual(0, len(resources))
+
+ def test_get_flavor_id(self):
+ self.CONF.set_override("instance_discovery_method",
+ "libvirt_metadata",
+ group="compute")
+ self.client.nova_client = mock.MagicMock()
+ self.client.nova_client.flavors = mock.MagicMock()
+ fake_flavor = mock.MagicMock()
+ fake_flavor.id = 'fake_id'
+
+ self.client.nova_client.flavors.find = mock.MagicMock(
+ return_value=fake_flavor)
+ dsc = discovery.InstanceDiscovery(self.CONF)
+
+ flavor_name = 'fake_name'
+
+ ret_flavor_id = dsc.get_flavor_id(flavor_name)
+ self.assertEqual('fake_id', ret_flavor_id)
+
+ # test raise NotFound exception
+ self.client.nova_client.flavors.find = mock.MagicMock(
+ side_effect=exceptions.NotFound(404))
+ dsc = discovery.InstanceDiscovery(self.CONF)
+
+ ret_flavor_id = dsc.get_flavor_id(flavor_name)
+ self.assertEqual(flavor_name, ret_flavor_id)