Coverage for watcher/cmd/decisionengine.py: 100%

22 statements  

« prev     ^ index     » next       coverage.py v7.8.2, created at 2025-06-17 12:22 +0000

1# -*- encoding: utf-8 -*- 

2# 

3# Copyright 2013 Hewlett-Packard Development Company, L.P. 

4# All Rights Reserved. 

5# 

6# Licensed under the Apache License, Version 2.0 (the "License"); you may 

7# not use this file except in compliance with the License. You may obtain 

8# a copy of the License at 

9# 

10# http://www.apache.org/licenses/LICENSE-2.0 

11# 

12# Unless required by applicable law or agreed to in writing, software 

13# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 

14# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 

15# License for the specific language governing permissions and limitations 

16# under the License. 

17 

18"""Starter script for the Decision Engine manager service.""" 

19 

20import os 

21import sys 

22 

23from oslo_log import log 

24 

25from watcher.common import service as watcher_service 

26from watcher import conf 

27from watcher.decision_engine import gmr 

28from watcher.decision_engine import manager 

29from watcher.decision_engine import scheduling 

30from watcher.decision_engine import sync 

31 

32LOG = log.getLogger(__name__) 

33CONF = conf.CONF 

34 

35 

36def main(): 

37 watcher_service.prepare_service(sys.argv, CONF) 

38 gmr.register_gmr_plugins() 

39 

40 LOG.info('Starting Watcher Decision Engine service in PID %s', 

41 os.getpid()) 

42 

43 syncer = sync.Syncer() 

44 syncer.sync() 

45 

46 de_service = watcher_service.Service(manager.DecisionEngineManager) 

47 bg_scheduler_service = scheduling.DecisionEngineSchedulingService() 

48 

49 # Only 1 process 

50 launcher = watcher_service.launch(CONF, de_service) 

51 launcher.launch_service(bg_scheduler_service) 

52 

53 launcher.wait()