From 13aeba410b0195a90d1c359d59c5bfb0820aae9b Mon Sep 17 00:00:00 2001 From: Mehdi Abaakouk Date: Mon, 16 Jan 2017 14:31:28 +0100 Subject: [PATCH] switch instance_discovery to libvirt_metadata Since Gnocchi is the recommended backend, and other are deprecated. We can switch instance_discovery to the libvirt_metadata. Change-Id: Ib846b87bfb76c359fdec28d6cd258781fd201348 --- ceilometer/compute/discovery.py | 2 +- ceilometer/tests/unit/compute/test_discovery.py | 6 ++++++ devstack/plugin.sh | 1 - .../instance-discovery-new-default-7f9b451a515dddf4.yaml | 7 +++++++ 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/instance-discovery-new-default-7f9b451a515dddf4.yaml diff --git a/ceilometer/compute/discovery.py b/ceilometer/compute/discovery.py index 41f6a7eb5f..4b902feb5a 100644 --- a/ceilometer/compute/discovery.py +++ b/ceilometer/compute/discovery.py @@ -41,7 +41,7 @@ OPTS = [ 'compute agents to be run simultaneously. ' '(replaced by instance_discovery_method)'), cfg.StrOpt('instance_discovery_method', - default='naive', + default='libvirt_metadata', choices=['naive', 'workload_partitioning', 'libvirt_metadata'], help="Ceilometer offers many methods to discover the instance" "running on a compute node: \n" diff --git a/ceilometer/tests/unit/compute/test_discovery.py b/ceilometer/tests/unit/compute/test_discovery.py index 42009ef9ba..cdd17aebf5 100644 --- a/ceilometer/tests/unit/compute/test_discovery.py +++ b/ceilometer/tests/unit/compute/test_discovery.py @@ -124,6 +124,9 @@ class TestDiscovery(base.BaseTestCase): self.CONF.set_override('host', 'test') def test_normal_discovery(self): + self.CONF.set_override("instance_discovery_method", + "naive", + group="compute") dsc = discovery.InstanceDiscovery(self.CONF) resources = dsc.discover(mock.MagicMock()) @@ -140,6 +143,9 @@ class TestDiscovery(base.BaseTestCase): self.CONF.host, "2016-01-01T00:00:00+00:00") def test_discovery_with_resource_update_interval(self): + self.CONF.set_override("instance_discovery_method", + "naive", + group="compute") self.CONF.set_override("resource_update_interval", 600, group="compute") dsc = discovery.InstanceDiscovery(self.CONF) diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 063fee1be9..da43a263b7 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -243,7 +243,6 @@ function _ceilometer_configure_storage_backend { iniset $CEILOMETER_CONF DEFAULT meter_dispatchers database iniset $CEILOMETER_CONF database metering_connection mongodb://localhost:27017/ceilometer elif [ "$CEILOMETER_BACKEND" = 'gnocchi' ] ; then - iniset $CEILOMETER_CONF compute instance_discovery_method libvirt_metadata iniset $CEILOMETER_CONF DEFAULT meter_dispatchers gnocchi iniset $CEILOMETER_CONF DEFAULT event_dispatchers gnocchi # NOTE(gordc): set higher retry in case gnocchi is started after ceilometer on a slow machine diff --git a/releasenotes/notes/instance-discovery-new-default-7f9b451a515dddf4.yaml b/releasenotes/notes/instance-discovery-new-default-7f9b451a515dddf4.yaml new file mode 100644 index 0000000000..e34f73ceff --- /dev/null +++ b/releasenotes/notes/instance-discovery-new-default-7f9b451a515dddf4.yaml @@ -0,0 +1,7 @@ +--- +upgrade: + - | + Ceilometer legacy backends and Ceilometer API are now deprecated. Polling + all nova instances from compute agent is no more required with Gnocchi. So + we switch the [compute]instance_discovery_method to libvirt_metadata. + To switch back to the old deprecated behavior you can set it back to 'naive'.