valet/bin/valet-engine
Jake Carlson 77d4e1e47f Moved logger references to file headers
Moved the logger references in health_checker.py and
listener_manager.py to the file headers to match convention.
Calls to the logger were readjusted to reflect the new
variable names. Also, copied the changes which removed the
use of the pass-in logger and uses oslo_log's log.getLogger()
to handle logging.

Story: #2001031
Task: #4232

Change-Id: I66beb635a78e5f6f0caae0b5a63c55dfdb5d15fe
2017-06-15 15:47:28 -05:00

94 lines
2.6 KiB
Python
Executable File

#!/usr/bin/env python
#
# Copyright 2014-2017 AT&T Intellectual Property
#
# 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 os
import sys
import traceback
from oslo_log import log
from valet.common.conf import get_logger
from valet.engine.optimizer.ostro.ostro import Ostro
from valet.engine.optimizer.ostro_server.configuration import Config
from valet.engine.optimizer.ostro_server.daemon import Daemon
LOG = log.getLogger(__name__)
class OstroDaemon(Daemon):
"""Daemon for Valet Engine."""
def run(self):
"""Run the daemon."""
LOG.info("Valet Engine is launched")
try:
ostro = Ostro(config)
except Exception:
LOG.error(traceback.format_exc())
if ostro.bootstrap() is False:
LOG.error("Valet Engine bootstrap failed")
sys.exit(2)
# Write pidfile
pid = str(os.getpid())
file(self.pidfile, 'w+').write("%s\n" % pid)
ostro.run_ostro()
def verify_dirs(list_of_dirs):
"""If a directory in the list does not exist, create it."""
for d in list_of_dirs:
try:
if not os.path.exists(d):
os.makedirs(d)
except OSError:
print("Error while verifying: " + d)
sys.exit(2)
if __name__ == "__main__":
# Configuration
try:
config = Config()
logger = get_logger("ostro_daemon")
config_status = config.configure()
if config_status != "success":
print(config_status)
sys.exit(2)
# Verify directories
dirs_list = [config.logging_loc, config.resource_log_loc,
config.app_log_loc, os.path.dirname(config.process)]
verify_dirs(dirs_list)
# Start daemon process
daemon = OstroDaemon(config.priority, config.process, logger)
exit_code = {
'start': daemon.start,
'stop': daemon.stop,
'restart': daemon.restart,
'status': daemon.status,
}[config.command]()
exit_code = exit_code or 0
except Exception:
print(traceback.format_exc())
exit_code = 2
sys.exit(int(exit_code))