Louie KWAN a680e323b8 Introspective Instance Monitoring through QEMU Guest Agent
https://blueprints.launchpad.net/masakari/+spec/introspective-instance-monitoring

Currently, Masakari instance monitoring is strictly black-box
type monitoring through qemu and libvirt. There are however a number of
internal instance/VM faults, that if monitored and detected by Masakari,
could be recovered by existing Masakari auto-recovery mechanisms; increasing
the overall availability of the instance/VM. This blueprint introduces the
capability of performing introspective instance monitoring of VMs, in order
to detect, report and optionally recover VMs from internal VM faults.
Specifically, VM Heartbeating Monitoring via the QEMU Guest Agent.

Change-Id: I9efc6afc8d476003d3aa7fee8c31bcaa65438674
Implements: blueprint introspective-instance-monitoring
2018-07-12 14:02:34 +00:00

54 lines
2.0 KiB
Python

# 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.
import socket
from oslo_config import cfg
service_opts = [
cfg.StrOpt('host',
default=socket.gethostname(),
help='''
Hostname, FQDN or IP address of this host. Must be valid within AMQP key.
Possible values:
* String with hostname, FQDN or IP address. Default is hostname of this host.
'''),
cfg.StrOpt('instancemonitor_manager',
default='masakarimonitors.instancemonitor.instance'
'.InstancemonitorManager',
help='Full class name for the Manager for instancemonitor.'),
cfg.StrOpt('introspectiveinstancemonitor_manager',
default='masakarimonitors.introspectiveinstancemonitor.instance'
'.IntrospectiveInstanceMonitorManager',
help='Full class name for introspectiveinstancemonitor.'),
cfg.StrOpt('processmonitor_manager',
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.'),
]
def register_opts(conf):
conf.register_opts(service_opts)
def list_opts():
return {'DEFAULT': service_opts}