
Fixes the issue where our logs get spammed with errors before we have things setup. Change-Id: I7e6b90832b7d6fb601c64b81c6f4e6afc5e956b6
60 lines
1.8 KiB
Python
60 lines
1.8 KiB
Python
#!/usr/bin/env python
|
|
|
|
# Copyright 2016 Canonical UK Limited
|
|
#
|
|
# 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 os
|
|
import subprocess
|
|
import sys
|
|
|
|
from snap_openstack.base import OpenStackSnap
|
|
|
|
LOG = logging.getLogger(__name__)
|
|
|
|
CONFIG_FILE = 'snap-openstack.yaml'
|
|
|
|
|
|
def main():
|
|
logging.basicConfig(level=logging.WARNING)
|
|
snap = os.environ.get('SNAP')
|
|
if not snap:
|
|
LOG.error('Not executing in snap environment, exiting')
|
|
sys.exit(1)
|
|
config_path = os.path.join(snap,
|
|
CONFIG_FILE)
|
|
if not os.path.exists(config_path):
|
|
LOG.error('Unable to find snap-openstack.yaml configuration file')
|
|
sys.exit(1)
|
|
|
|
LOG.debug('Using snap wrapper: {}'.format(config_path))
|
|
s_openstack = OpenStackSnap(config_path)
|
|
|
|
if sys.argv[1] == 'setup':
|
|
s_openstack.setup()
|
|
sys.exit(0)
|
|
|
|
if sys.argv[1] == 'launch':
|
|
database_ready = subprocess.check_output(
|
|
['snapctl', 'get', 'database.ready']).decode('utf-8').strip()
|
|
if not database_ready.lower() == 'true':
|
|
LOG.info("Database backend access not yet setup. Exiting.")
|
|
sys.exit(0)
|
|
|
|
s_openstack.launch(sys.argv)
|
|
sys.exit(0)
|
|
|
|
LOG.error("Missing argument. Must specific 'setup' or 'launch.'")
|
|
sys.exit(1)
|