From 6a6cc0a8927623f1a5464c5d2993f5bec48c16c3 Mon Sep 17 00:00:00 2001 From: Kengo Takahara Date: Thu, 26 Jan 2017 15:10:05 +0900 Subject: [PATCH] Add python hostmonitor only main process Implement python hostmonitor with only main process. Change-Id: Ie55067f051686b6f8c7c6803c1e78c73bb2bba8a Implements: bp pythonize-host-and-process-monitor --- masakarimonitors/cmd/hostmonitor.py | 37 ++++++++++++++++++++++++ masakarimonitors/conf/service.py | 4 +++ masakarimonitors/hostmonitor/__init__.py | 0 masakarimonitors/hostmonitor/host.py | 32 ++++++++++++++++++++ setup.cfg | 2 ++ 5 files changed, 75 insertions(+) create mode 100644 masakarimonitors/cmd/hostmonitor.py create mode 100644 masakarimonitors/hostmonitor/__init__.py create mode 100644 masakarimonitors/hostmonitor/host.py diff --git a/masakarimonitors/cmd/hostmonitor.py b/masakarimonitors/cmd/hostmonitor.py new file mode 100644 index 0000000..19f30c1 --- /dev/null +++ b/masakarimonitors/cmd/hostmonitor.py @@ -0,0 +1,37 @@ +# Copyright(c) 2016 Nippon Telegraph and Telephone Corporation +# +# 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. + +"""Starter script for Masakari Host Monitor.""" + +import sys + +from oslo_log import log as logging + +import masakarimonitors.conf +from masakarimonitors import config +from masakarimonitors import service +from masakarimonitors import utils + + +CONF = masakarimonitors.conf.CONF + + +def main(): + config.parse_args(sys.argv) + logging.setup(CONF, "masakarimonitors") + utils.monkey_patch() + + server = service.Service.create(binary='masakarimonitors-hostmonitor') + service.serve(server) + service.wait() diff --git a/masakarimonitors/conf/service.py b/masakarimonitors/conf/service.py index 93d02d7..e2fab7d 100644 --- a/masakarimonitors/conf/service.py +++ b/masakarimonitors/conf/service.py @@ -34,6 +34,10 @@ Possible values: default='masakarimonitors.processmonitor.process' '.ProcessmonitorManager', help='Full class name for the Manager for processmonitor.'), + cfg.StrOpt('hostmonitor_manager', + default='masakarimonitors.hostmonitor.host' + '.HostmonitorManager', + help='Full class name for the Manager for hostmonitor.'), ] diff --git a/masakarimonitors/hostmonitor/__init__.py b/masakarimonitors/hostmonitor/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/masakarimonitors/hostmonitor/host.py b/masakarimonitors/hostmonitor/host.py new file mode 100644 index 0000000..3dd9474 --- /dev/null +++ b/masakarimonitors/hostmonitor/host.py @@ -0,0 +1,32 @@ +# Copyright(c) 2016 Nippon Telegraph and Telephone Corporation +# +# 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 oslo_log import log as oslo_logging + +from masakarimonitors import manager + +LOG = oslo_logging.getLogger(__name__) + + +class HostmonitorManager(manager.Manager): + """Manages the masakari-hostmonitor.""" + + def __init__(self, *args, **kwargs): + super(HostmonitorManager, self).__init__( + service_name="hostmonitor", *args, **kwargs) + + def main(self): + """Main method.""" + + pass diff --git a/setup.cfg b/setup.cfg index 708baa7..d14536b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -39,10 +39,12 @@ oslo.config.opts = oslo.config.opts.defaults = masakarimonitors.instancemonitor = masakarimonitors.common.config:set_middleware_defaults masakarimonitors.processmonitor = masakarimonitors.common.config:set_middleware_defaults + masakarimonitors.hostmonitor = masakarimonitors.common.config:set_middleware_defaults console_scripts = masakari-instancemonitor = masakarimonitors.cmd.instancemonitor:main masakari-processmonitor = masakarimonitors.cmd.processmonitor:main + masakari-hostmonitor = masakarimonitors.cmd.hostmonitor:main [build_sphinx] source-dir = doc/source