Use console scripts for ceilometer-agent-central

Blueprint: setuptools-console-scripts

Change-Id: Ia39365c87cf7adccd7bb6e4ed786b87be38ddaea
Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
Julien Danjou 2013-05-29 13:34:20 +02:00
parent bab2ca7fec
commit daa393b486
6 changed files with 23 additions and 51 deletions

View File

@ -1,42 +0,0 @@
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
#
# Copyright © 2012 eNovance <licensing@enovance.com>
#
# Author: Julien Danjou <julien@danjou.info>
#
# 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.
import eventlet
eventlet.monkey_patch()
import sys
from oslo.config import cfg
from ceilometer.openstack.common import gettextutils
gettextutils.install('ceilometer')
from ceilometer.central import manager
from ceilometer.service import prepare_service
from ceilometer.openstack.common import service
from ceilometer.openstack.common.rpc import service as rpc_service
if __name__ == '__main__':
prepare_service(sys.argv)
mgr = manager.AgentManager()
topic = 'ceilometer.agent.central'
ceilo = rpc_service.Service(cfg.CONF.host,
topic, mgr)
launcher = service.launch(ceilo)
launcher.wait()

View File

@ -16,12 +16,18 @@
# License for the specific language governing permissions and limitations
# under the License.
import eventlet
from keystoneclient.v2_0 import client as ksclient
from oslo.config import cfg
import sys
from ceilometer import agent
from ceilometer import extension_manager
from ceilometer.openstack.common import gettextutils
from ceilometer.openstack.common import log
from ceilometer.openstack.common import service as os_service
from ceilometer.openstack.common.rpc import service as rpc_service
from ceilometer import service
OPTS = [
cfg.ListOpt('disabled_central_pollsters',
@ -75,3 +81,13 @@ class AgentManager(agent.AgentManager):
auth_url=cfg.CONF.service_credentials.os_auth_url)
super(AgentManager, self).interval_task(task)
def agent_central():
# TODO(jd) move into prepare_service gettextutils and eventlet?
eventlet.monkey_patch()
gettextutils.install('ceilometer')
service.prepare_service(sys.argv)
os_service.launch(rpc_service.Service(cfg.CONF.host,
'ceilometer.agent.central',
AgentManager())).wait()

View File

@ -36,12 +36,10 @@ the computeagent loads all plugins defined in the namespace
``ceilometer.poll.compute``, then periodically calls their
:func:`get_counters` method.
The central agent polls other types of resources from a management
server. The central agent is defined in
``bin/ceilometer-agent-central`` and
``ceilometer/central/manager.py``. It loads plugins from the
``ceilometer.poll.central`` namespace and polls them by calling their
:func:`get_counters` method.
The central agent polls other types of resources from a management server.
The central agent is defined in ``ceilometer/central/manager.py``. It loads
plugins from the ``ceilometer.poll.central`` namespace and polls them by
calling their :func:`get_counters` method.
Plugins
=======

View File

@ -274,7 +274,7 @@ Installing the Central Agent
::
$ ./bin/ceilometer-agent-central
$ ceilometer-agent-central
Installing the API Server

View File

@ -28,7 +28,6 @@ packages =
ceilometer
scripts =
bin/ceilometer-agent-compute
bin/ceilometer-agent-central
bin/ceilometer-api
bin/ceilometer-dbsync
@ -89,6 +88,7 @@ paste.filter_factory =
swift = ceilometer.objectstore.swift_middleware:filter_factory
console_scripts =
ceilometer-agent-central = ceilometer.central.manager:agent_central
ceilometer-collector = ceilometer.collector.service:collector
ceilometer-collector-udp = ceilometer.collector.service:udp_collector

View File

@ -24,7 +24,7 @@ deps = pep8==1.4.5
flake8==2.0
hacking>=0.5.3,<0.6
commands =
flake8 ceilometer setup.py bin/ceilometer-agent-central bin/ceilometer-agent-compute bin/ceilometer-api tests
flake8 ceilometer setup.py bin/ceilometer-agent-compute bin/ceilometer-api tests
[testenv:docs]
deps = -r{toxinidir}/requirements.txt