Split service preparation, periodic interval configurable
Change-Id: I71d1e81e2b2347fb7e3ba2edfa7f21eb9cffb401 Signed-off-by: Julien Danjou <julien.danjou@enovance.com>
This commit is contained in:
parent
5d90f057cb
commit
3c01ccefd5
@ -19,30 +19,19 @@
|
|||||||
|
|
||||||
import eventlet
|
import eventlet
|
||||||
eventlet.monkey_patch()
|
eventlet.monkey_patch()
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from nova import flags
|
from ceilometer.service import prepare_service
|
||||||
|
from ceilometer.openstack.common import cfg
|
||||||
from nova import service
|
from nova import service
|
||||||
from nova import utils
|
|
||||||
from ceilometer import log
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
flags.parse_args(sys.argv)
|
prepare_service(sys.argv)
|
||||||
log.setup()
|
|
||||||
utils.monkey_patch()
|
|
||||||
server = \
|
server = \
|
||||||
service.Service.create(binary='ceilometer-agent',
|
service.Service.create(binary='ceilometer-agent',
|
||||||
topic='ceilometer.agent',
|
topic='ceilometer.agent',
|
||||||
manager='ceilometer.agent.manager.AgentManager',
|
manager='ceilometer.agent.manager.AgentManager',
|
||||||
# FIXME(dhellmann): The
|
periodic_interval=cfg.CONF.periodic_interval)
|
||||||
# periodic_interval is set very
|
|
||||||
# short for development. After we
|
|
||||||
# fix the configuration loading we
|
|
||||||
# can use the config file to
|
|
||||||
# adjust it and remove this
|
|
||||||
# hard-coded value.
|
|
||||||
periodic_interval=10,
|
|
||||||
)
|
|
||||||
service.serve(server)
|
service.serve(server)
|
||||||
service.wait()
|
service.wait()
|
||||||
|
@ -19,18 +19,15 @@
|
|||||||
|
|
||||||
import eventlet
|
import eventlet
|
||||||
eventlet.monkey_patch()
|
eventlet.monkey_patch()
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from nova import flags
|
from ceilometer.service import prepare_service
|
||||||
|
from ceilometer.openstack.common import cfg
|
||||||
from nova import service
|
from nova import service
|
||||||
from nova import utils
|
|
||||||
from ceilometer import log
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
flags.parse_args(sys.argv)
|
prepare_service(sys.argv)
|
||||||
log.setup()
|
|
||||||
utils.monkey_patch()
|
|
||||||
server = \
|
server = \
|
||||||
service.Service.create(binary='ceilometer-collector',
|
service.Service.create(binary='ceilometer-collector',
|
||||||
topic='ceilometer.collector',
|
topic='ceilometer.collector',
|
||||||
|
32
ceilometer/service.py
Normal file
32
ceilometer/service.py
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#!/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.
|
||||||
|
|
||||||
|
from ceilometer import log
|
||||||
|
from ceilometer.openstack.common import cfg
|
||||||
|
|
||||||
|
cfg.CONF.register_opts([
|
||||||
|
cfg.IntOpt('periodic_interval',
|
||||||
|
default=60,
|
||||||
|
help='seconds between running periodic tasks')
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
def prepare_service(argv=[]):
|
||||||
|
cfg.CONF(argv[1:])
|
||||||
|
log.setup()
|
27
tests/test_service.py
Normal file
27
tests/test_service.py
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/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 unittest
|
||||||
|
|
||||||
|
from ceilometer import service
|
||||||
|
|
||||||
|
|
||||||
|
class ServiceTestCase(unittest.TestCase):
|
||||||
|
def test_prepare_service(self):
|
||||||
|
service.prepare_service()
|
Loading…
Reference in New Issue
Block a user