deb-python-os-cloud-config/os_cloud_config/cmd/utils/environment.py
Ladislav Smola c56fe96eed Moving code from __init__
Putting a function in the __init__ is considered a bad practice
in Python world. Moving it to CMD utils where it should belong.

Change-Id: I16279053202659c796bd6de2f4afdbf51b245a5a
2014-09-05 09:32:17 +02:00

56 lines
2.0 KiB
Python

# Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
#
# 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 logging
import logging.config
import os
import sys
from os_cloud_config import exception
def _ensure():
environ = ("OS_USERNAME", "OS_PASSWORD", "OS_AUTH_URL", "OS_TENANT_NAME")
missing = set(environ).difference(os.environ)
plural = "s are"
if missing:
if len(missing) == 1:
plural = " is"
message = ("%s environment variable%s required to be set." % (
", ".join(sorted(missing)), plural))
raise exception.MissingEnvironment(message)
def _add_logging_arguments(parser):
group = parser.add_mutually_exclusive_group()
group.add_argument('--debug', action='store_true',
help='set logging level to DEBUG (default is INFO)')
group.add_argument('--log-config',
help='external logging configuration file')
def _configure_logging(args):
if args.log_config:
logging.config.fileConfig(args.log_config,
disable_existing_loggers=False)
else:
format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
date_format = '%Y-%m-%d %H:%M:%S'
log_level = logging.DEBUG if args.debug else logging.INFO
logging.basicConfig(datefmt=date_format,
format=format,
level=log_level,
stream=sys.stdout)