diff --git a/bin/ceilometer-nova-compute b/bin/ceilometer-agent similarity index 87% rename from bin/ceilometer-nova-compute rename to bin/ceilometer-agent index d8b962e3c..3ea9279a6 100755 --- a/bin/ceilometer-nova-compute +++ b/bin/ceilometer-agent @@ -32,8 +32,8 @@ if __name__ == '__main__': flags.FLAGS(sys.argv) logging.setup() utils.monkey_patch() - server = service.Service.create(binary='ceilometer-nova-compute', + server = service.Service.create(binary='ceilometer-agent', topic='ceilometer', - manager='ceilometer.nova.manager.ComputeManager') + manager='ceilometer.agent.manager.AgentManager') service.serve(server) service.wait() diff --git a/bin/ceilometer-nova-instance b/bin/ceilometer-collector similarity index 94% rename from bin/ceilometer-nova-instance rename to bin/ceilometer-collector index 825fa5357..293a9edca 100755 --- a/bin/ceilometer-nova-instance +++ b/bin/ceilometer-collector @@ -32,7 +32,7 @@ if __name__ == '__main__': flags.FLAGS(sys.argv) logging.setup() utils.monkey_patch() - server = service.Service.create(binary='ceilometer-nova-instance', + server = service.Service.create(binary='ceilometer-collector', topic='ceilometer', manager='ceilometer.collector.manager.CollectorManager') service.serve(server) diff --git a/ceilometer/nova/__init__.py b/ceilometer/agent/__init__.py similarity index 100% rename from ceilometer/nova/__init__.py rename to ceilometer/agent/__init__.py diff --git a/ceilometer/nova/manager.py b/ceilometer/agent/manager.py similarity index 96% rename from ceilometer/nova/manager.py rename to ceilometer/agent/manager.py index b08668043..40eebe8b9 100644 --- a/ceilometer/nova/manager.py +++ b/ceilometer/agent/manager.py @@ -30,8 +30,9 @@ FLAGS = flags.FLAGS LOG = logging.getLogger('nova.' + __name__) -class ComputeManager(manager.Manager): - def _get_disks(self, conn, instance): +class AgentManager(manager.Manager): + @staticmethod + def _get_disks(conn, instance): """Get disks of an instance, only used to bypass bug#998089.""" domain = conn._conn.lookupByName(instance) tree = etree.fromstring(domain.XMLDesc(0)) diff --git a/setup.py b/setup.py index f123b1ac4..5f0848610 100755 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ setuptools.setup( packages=setuptools.find_packages(exclude=['bin']), include_package_data=True, test_suite='nose.collector', - scripts=['bin/ceilometer-nova-compute'], + scripts=['bin/ceilometer-agent', 'bin/ceilometer-collector'], py_modules=[], entry_points={ 'ceilometer.collector.compute': [ diff --git a/tests/agent/__init__.py b/tests/agent/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/agent/test_manager.py b/tests/agent/test_manager.py new file mode 100644 index 000000000..bf098b406 --- /dev/null +++ b/tests/agent/test_manager.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- +# +# Copyright © 2012 eNovance +# +# Author: Julien Danjou +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +"""Tests for manager. +""" + +# import unittest +# import mox +# import stubout + +# import nova.tests.fakelibvirt as libvirt +from nova import context +from nova import flags +from nova import test +from nova import db +from nova import test + +from ceilometer.agent import manager + +class TestAgentManager(test.TestCase): + + def setUp(self): + self.context = context.RequestContext('admin', 'admin', is_admin=True) + self.manager = manager.AgentManager() + super(TestAgentManager, self).setUp() + + def test_fetch_diskio(self): + self.manager._fetch_diskio(self.context) + + def test_fetch_diskio_with_libvirt_non_existent_instance(self): + flags.FLAGS.connection_type = 'libvirt' + + instance = db.instance_create(self.context, {}) + + self.mox.StubOutWithMock(self.manager.db, 'instance_get_all_by_host') + self.manager.db.instance_get_all_by_host(self.context, self.manager.host).AndReturn([instance]) + + self.mox.ReplayAll() + + self.manager._fetch_diskio(self.context)