Implemented wacther decision engine config module

Implemented wacther decision engine config module

Partially Implements: blueprint centralise-config-opts

Change-Id: Ie4e9dd7d902fa85044d1859974cbd75d54c8b6cc
This commit is contained in:
Prudhvi Rao Shedimbi
2016-11-22 23:55:08 +00:00
committed by David TARDIVEL
parent ed21e452e0
commit 53c896dd24
6 changed files with 79 additions and 53 deletions

View File

@@ -22,6 +22,7 @@ from oslo_config import cfg
from watcher.conf import api from watcher.conf import api
from watcher.conf import applier from watcher.conf import applier
from watcher.conf import db from watcher.conf import db
from watcher.conf import decision_engine
from watcher.conf import exception from watcher.conf import exception
from watcher.conf import paths from watcher.conf import paths
from watcher.conf import planner from watcher.conf import planner
@@ -38,3 +39,4 @@ exception.register_opts(CONF)
db.register_opts(CONF) db.register_opts(CONF)
planner.register_opts(CONF) planner.register_opts(CONF)
applier.register_opts(CONF) applier.register_opts(CONF)
decision_engine.register_opts(CONF)

View File

@@ -22,12 +22,11 @@ from watcher.common import clients
from watcher.conf import api as conf_api from watcher.conf import api as conf_api
from watcher.conf import applier as conf_applier from watcher.conf import applier as conf_applier
from watcher.conf import db from watcher.conf import db
from watcher.conf import decision_engine as conf_de
from watcher.conf import exception from watcher.conf import exception
from watcher.conf import paths from watcher.conf import paths
from watcher.conf import planner as conf_planner from watcher.conf import planner as conf_planner
from watcher.conf import utils from watcher.conf import utils
from watcher.decision_engine.audit import continuous
from watcher.decision_engine import manager as decision_engine_manager
def list_opts(): def list_opts():
@@ -40,11 +39,11 @@ def list_opts():
utils.UTILS_OPTS)), utils.UTILS_OPTS)),
('api', conf_api.API_SERVICE_OPTS), ('api', conf_api.API_SERVICE_OPTS),
('database', db.SQL_OPTS), ('database', db.SQL_OPTS),
('watcher_decision_engine',
(decision_engine_manager.WATCHER_DECISION_ENGINE_OPTS +
continuous.WATCHER_CONTINUOUS_OPTS)),
('watcher_planner', conf_planner.WATCHER_PLANNER_OPTS), ('watcher_planner', conf_planner.WATCHER_PLANNER_OPTS),
('watcher_applier', conf_applier.APPLIER_MANAGER_OPTS), ('watcher_applier', conf_applier.APPLIER_MANAGER_OPTS),
('watcher_decision_engine',
(conf_de.WATCHER_DECISION_ENGINE_OPTS +
conf_de.WATCHER_CONTINUOUS_OPTS)),
('nova_client', clients.NOVA_CLIENT_OPTS), ('nova_client', clients.NOVA_CLIENT_OPTS),
('glance_client', clients.GLANCE_CLIENT_OPTS), ('glance_client', clients.GLANCE_CLIENT_OPTS),
('cinder_client', clients.CINDER_CLIENT_OPTS), ('cinder_client', clients.CINDER_CLIENT_OPTS),

View File

@@ -0,0 +1,64 @@
# -*- encoding: utf-8 -*-
# Copyright (c) 2015 Intel Corp
#
# Authors: Prudhvi Rao Shedimbi <prudhvi.rao.shedimbi@intel.com>
#
# 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_config import cfg
watcher_decision_engine = cfg.OptGroup(name='watcher_decision_engine',
title='Defines the parameters of '
'the module decision engine')
WATCHER_DECISION_ENGINE_OPTS = [
cfg.StrOpt('conductor_topic',
default='watcher.decision.control',
help='The topic name used for '
'control events, this topic '
'used for RPC calls'),
cfg.ListOpt('notification_topics',
default=['versioned_notifications', 'watcher_notifications'],
help='The topic names from which notification events '
'will be listened to'),
cfg.StrOpt('publisher_id',
default='watcher.decision.api',
help='The identifier used by the Watcher '
'module on the message broker'),
cfg.IntOpt('max_workers',
default=2,
required=True,
help='The maximum number of threads that can be used to '
'execute strategies'),
]
WATCHER_CONTINUOUS_OPTS = [
cfg.IntOpt('continuous_audit_interval',
default=10,
help='Interval (in seconds) for checking newly created '
'continuous audits.')
]
def register_opts(conf):
conf.register_group(watcher_decision_engine)
conf.register_opts(WATCHER_DECISION_ENGINE_OPTS,
group=watcher_decision_engine)
conf.register_opts(WATCHER_CONTINUOUS_OPTS, group=watcher_decision_engine)
def list_opts():
return [('watcher_decision_engine', WATCHER_DECISION_ENGINE_OPTS),
('watcher_decision_engine', WATCHER_CONTINUOUS_OPTS)]

View File

@@ -1,5 +1,6 @@
# -*- encoding: utf-8 -*- # -*- encoding: utf-8 -*-
# Copyright (c) 2016 Servionica LTD # Copyright (c) 2016 Servionica LTD
# Copyright (c) 2016 Intel Corp
# #
# Authors: Alexander Chadin <a.chadin@servionica.ru> # Authors: Alexander Chadin <a.chadin@servionica.ru>
# #
@@ -21,22 +22,13 @@ import datetime
from apscheduler.schedulers import background from apscheduler.schedulers import background
from oslo_config import cfg
from watcher.common import context from watcher.common import context
from watcher.decision_engine.audit import base from watcher.decision_engine.audit import base
from watcher import objects from watcher import objects
CONF = cfg.CONF from watcher import conf
WATCHER_CONTINUOUS_OPTS = [ CONF = conf.CONF
cfg.IntOpt('continuous_audit_interval',
default=10,
help='Interval (in seconds) for checking newly created '
'continuous audits.')
]
CONF.register_opts(WATCHER_CONTINUOUS_OPTS, 'watcher_decision_engine')
class ContinuousAuditHandler(base.AuditHandler): class ContinuousAuditHandler(base.AuditHandler):

View File

@@ -1,5 +1,6 @@
# -*- encoding: utf-8 -*- # -*- encoding: utf-8 -*-
# Copyright (c) 2015 b<>com # Copyright (c) 2015 b<>com
# Copyright (c) 2016 Intel Corp
# #
# Authors: Jean-Emile DARTOIS <jean-emile.dartois@b-com.com> # Authors: Jean-Emile DARTOIS <jean-emile.dartois@b-com.com>
# #
@@ -36,40 +37,13 @@ of :ref:`Actions <action_definition>` which are scheduled in time by the
See :doc:`../architecture` for more details on this component. See :doc:`../architecture` for more details on this component.
""" """
from oslo_config import cfg
from watcher.common import service_manager from watcher.common import service_manager
from watcher.decision_engine.messaging import audit_endpoint from watcher.decision_engine.messaging import audit_endpoint
from watcher.decision_engine.model.collector import manager from watcher.decision_engine.model.collector import manager
from watcher import conf
CONF = cfg.CONF CONF = conf.CONF
WATCHER_DECISION_ENGINE_OPTS = [
cfg.StrOpt('conductor_topic',
default='watcher.decision.control',
help='The topic name used for '
'control events, this topic '
'used for RPC calls'),
cfg.ListOpt('notification_topics',
default=['versioned_notifications', 'watcher_notifications'],
help='The topic names from which notification events '
'will be listened to'),
cfg.StrOpt('publisher_id',
default='watcher.decision.api',
help='The identifier used by the Watcher '
'module on the message broker'),
cfg.IntOpt('max_workers',
default=2,
required=True,
help='The maximum number of threads that can be used to '
'execute strategies'),
]
decision_engine_opt_group = cfg.OptGroup(name='watcher_decision_engine',
title='Defines the parameters of '
'the module decision engine')
CONF.register_group(decision_engine_opt_group)
CONF.register_opts(WATCHER_DECISION_ENGINE_OPTS, decision_engine_opt_group)
class DecisionEngineManager(service_manager.ServiceManager): class DecisionEngineManager(service_manager.ServiceManager):

View File

@@ -1,5 +1,6 @@
# -*- encoding: utf-8 -*- # -*- encoding: utf-8 -*-
# Copyright (c) 2015 b<>com # Copyright (c) 2015 b<>com
# Copyright (c) 2016 Intel Corp
# #
# Authors: Jean-Emile DARTOIS <jean-emile.dartois@b-com.com> # Authors: Jean-Emile DARTOIS <jean-emile.dartois@b-com.com>
# #
@@ -17,20 +18,14 @@
# limitations under the License. # limitations under the License.
# #
from oslo_config import cfg
from watcher.common import exception from watcher.common import exception
from watcher.common import service from watcher.common import service
from watcher.common import service_manager from watcher.common import service_manager
from watcher.common import utils from watcher.common import utils
from watcher.decision_engine import manager
from watcher import conf
CONF = cfg.CONF CONF = conf.CONF
CONF.register_group(manager.decision_engine_opt_group)
CONF.register_opts(manager.WATCHER_DECISION_ENGINE_OPTS,
manager.decision_engine_opt_group)
class DecisionEngineAPI(service.Service): class DecisionEngineAPI(service.Service):