Use FHS-compliant default base directory
/opt/stack as the default base directory is not very friendly to non-OpenStack users, so this changes the default base directory to reside in /usr/libexec. The /opt/stack path will continue to work for now so any existing users will not be broken by the change. Also changes the directory name from os-config-refresh to os-refresh-config to better align with the os-apply-config naming. Change-Id: I98e93d91685ae25ae74a5470483a1cc8b97da4e5
This commit is contained in:
parent
b42bc134bf
commit
2d1397b468
@ -22,8 +22,33 @@ import subprocess
|
|||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
|
|
||||||
BASE_DIR = os.environ.get('OS_REFRESH_CONFIG_BASE_DIR',
|
OLD_BASE_DIR = '/opt/stack/os-config-refresh'
|
||||||
'/opt/stack/os-config-refresh')
|
DEFAULT_BASE_DIR = '/usr/libexec/os-refresh-config'
|
||||||
|
|
||||||
|
|
||||||
|
def default_base_dir():
|
||||||
|
"""Determine the default base directory path
|
||||||
|
|
||||||
|
If the OS_REFRESH_CONFIG_BASE_DIR environment variable is set,
|
||||||
|
use its value.
|
||||||
|
Otherwise, prefer the new default path, but still allow the old one for
|
||||||
|
backwards compatibility.
|
||||||
|
"""
|
||||||
|
base_dir = os.environ.get('OS_REFRESH_CONFIG_BASE_DIR')
|
||||||
|
if base_dir is None:
|
||||||
|
# NOTE(bnemec): Prefer the new location, but still allow the old one.
|
||||||
|
if os.path.isdir(OLD_BASE_DIR) and not os.path.isdir(DEFAULT_BASE_DIR):
|
||||||
|
logging.warning('Base directory %s is deprecated. The recommended '
|
||||||
|
'base directory is %s',
|
||||||
|
OLD_BASE_DIR, DEFAULT_BASE_DIR)
|
||||||
|
base_dir = OLD_BASE_DIR
|
||||||
|
else:
|
||||||
|
base_dir = DEFAULT_BASE_DIR
|
||||||
|
return base_dir
|
||||||
|
|
||||||
|
|
||||||
|
BASE_DIR = default_base_dir()
|
||||||
|
|
||||||
PHASES = ['pre-configure',
|
PHASES = ['pre-configure',
|
||||||
'configure',
|
'configure',
|
||||||
'post-configure',
|
'post-configure',
|
||||||
|
0
os_refresh_config/tests/__init__.py
Normal file
0
os_refresh_config/tests/__init__.py
Normal file
37
os_refresh_config/tests/test_os_refresh_config.py
Normal file
37
os_refresh_config/tests/test_os_refresh_config.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Copyright 2014 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# 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 mock
|
||||||
|
import testtools
|
||||||
|
|
||||||
|
from os_refresh_config import os_refresh_config
|
||||||
|
|
||||||
|
|
||||||
|
class TestRefreshConfig(testtools.TestCase):
|
||||||
|
def test_default_base_dir(self):
|
||||||
|
default = '/usr/libexec/os-refresh-config'
|
||||||
|
with mock.patch('os.path.isdir', lambda x: x == default):
|
||||||
|
self.assertEqual(default, os_refresh_config.default_base_dir())
|
||||||
|
|
||||||
|
def test_default_base_dir_deprecated(self):
|
||||||
|
default = '/opt/stack/os-config-refresh'
|
||||||
|
with mock.patch('os.path.isdir', lambda x: x == default):
|
||||||
|
self.assertEqual(default, os_refresh_config.default_base_dir())
|
||||||
|
|
||||||
|
def test_default_base_dir_both(self):
|
||||||
|
default = '/usr/libexec/os-refresh-config'
|
||||||
|
deprecated = '/opt/stack/os-config-refresh'
|
||||||
|
with mock.patch('os.path.isdir', lambda x: (x == default or
|
||||||
|
x == deprecated)):
|
||||||
|
self.assertEqual(default, os_refresh_config.default_base_dir())
|
@ -4,6 +4,7 @@ Babel>=1.3
|
|||||||
coverage>=3.6
|
coverage>=3.6
|
||||||
discover
|
discover
|
||||||
fixtures>=0.3.14
|
fixtures>=0.3.14
|
||||||
|
mock>=1.0
|
||||||
python-subunit>=0.0.18
|
python-subunit>=0.0.18
|
||||||
sphinx>=1.1.2,<1.2
|
sphinx>=1.1.2,<1.2
|
||||||
testrepository>=0.0.18
|
testrepository>=0.0.18
|
||||||
|
Loading…
x
Reference in New Issue
Block a user