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 time
|
||||
|
||||
BASE_DIR = os.environ.get('OS_REFRESH_CONFIG_BASE_DIR',
|
||||
'/opt/stack/os-config-refresh')
|
||||
OLD_BASE_DIR = '/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',
|
||||
'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
|
||||
discover
|
||||
fixtures>=0.3.14
|
||||
mock>=1.0
|
||||
python-subunit>=0.0.18
|
||||
sphinx>=1.1.2,<1.2
|
||||
testrepository>=0.0.18
|
||||
|
Loading…
Reference in New Issue
Block a user