Remove apache 2.2 workarounds

From trusty onwards apache 2.4 is installed. The charm no longer needs
to check for apache 2.2 configurations.

This also solves Bug #1799500 where a package like javascript-common
pre-creates the /etc/apache directory leading to a failed
register_configs.

Note: The previous fix for Bug #1799500 was incorrect.
Reverting and adding a set -e to avoid future breakage.

This will need to be backported to stable.

Change-Id: Ic6025bd10568a748e39faaf3a97b4b6a2c35a4d2
Closes-Bug: #1799500
This commit is contained in:
David Ames 2018-11-28 12:12:30 -08:00
parent 882e78c5ad
commit e9caae0a23
3 changed files with 14 additions and 51 deletions

View File

@ -196,24 +196,13 @@ def register_configs():
for conf in confs:
configs.register(conf, CONFIG_FILES[conf]['hook_contexts'])
if os.path.isdir(APACHE_CONF_DIR) and cmp_pkgrevno('apache2', '2.4') >= 0:
for conf in [APACHE_CONF, APACHE_SSL, APACHE_DEFAULT]:
if os.path.isfile(conf):
log('Removing old config %s' % (conf))
os.remove(conf)
configs.register(APACHE_24_DEFAULT,
CONFIG_FILES[APACHE_24_DEFAULT]['hook_contexts'])
configs.register(APACHE_24_CONF,
CONFIG_FILES[APACHE_24_CONF]['hook_contexts'])
configs.register(APACHE_24_SSL,
CONFIG_FILES[APACHE_24_SSL]['hook_contexts'])
else:
configs.register(APACHE_DEFAULT,
CONFIG_FILES[APACHE_DEFAULT]['hook_contexts'])
configs.register(APACHE_CONF,
CONFIG_FILES[APACHE_CONF]['hook_contexts'])
configs.register(APACHE_SSL,
CONFIG_FILES[APACHE_SSL]['hook_contexts'])
# From Trusty on use Apache 2.4
configs.register(APACHE_24_DEFAULT,
CONFIG_FILES[APACHE_24_DEFAULT]['hook_contexts'])
configs.register(APACHE_24_CONF,
CONFIG_FILES[APACHE_24_CONF]['hook_contexts'])
configs.register(APACHE_24_SSL,
CONFIG_FILES[APACHE_24_SSL]['hook_contexts'])
if os.path.exists(os.path.dirname(ROUTER_SETTING)):
configs.register(ROUTER_SETTING,

View File

@ -2,7 +2,9 @@
# Wrapper to deal with newer Ubuntu versions that don't have py2 installed
# by default.
declare -a DEPS=('apt' 'netaddr' 'netifaces' 'pip' 'yaml' 'dnspython', 'apache2')
set -e
declare -a DEPS=('apt' 'netaddr' 'netifaces' 'pip' 'yaml' 'dnspython')
check_and_install() {
pkg="${1}-${2}"

View File

@ -158,33 +158,12 @@ class TestHorizonUtils(CharmTestCase):
'cloud:precise-havana'
)
@patch('os.path.isdir')
def test_register_configs(self, _isdir):
_isdir.return_value = True
self.os_release.return_value = 'havana'
self.cmp_pkgrevno.return_value = -1
configs = horizon_utils.register_configs()
confs = [horizon_utils.LOCAL_SETTINGS,
horizon_utils.HAPROXY_CONF,
horizon_utils.PORTS_CONF,
horizon_utils.APACHE_DEFAULT,
horizon_utils.APACHE_CONF,
horizon_utils.APACHE_SSL]
calls = []
for conf in confs:
calls.append(
call(conf,
horizon_utils.CONFIG_FILES[conf]['hook_contexts']))
configs.register.assert_has_calls(calls)
@patch('os.remove')
@patch('os.path.isfile')
@patch('os.path.isdir')
def test_register_configs_apache24(self, _isdir, _isfile, _remove):
def test_register_configs(self, _isdir, _isfile):
_isdir.return_value = True
_isfile.return_value = True
self.os_release.return_value = 'havana'
self.cmp_pkgrevno.return_value = 1
configs = horizon_utils.register_configs()
confs = [horizon_utils.LOCAL_SETTINGS,
horizon_utils.HAPROXY_CONF,
@ -197,13 +176,6 @@ class TestHorizonUtils(CharmTestCase):
calls.append(
call(conf, horizon_utils.CONFIG_FILES[conf]['hook_contexts']))
configs.register.assert_has_calls(calls)
oldconfs = [horizon_utils.APACHE_CONF,
horizon_utils.APACHE_SSL,
horizon_utils.APACHE_DEFAULT]
rmcalls = []
for conf in oldconfs:
rmcalls.append(call(conf))
_remove.assert_has_calls(rmcalls)
@patch('os.path.isdir')
def test_register_configs_pre_install(self, _isdir):
@ -213,9 +185,9 @@ class TestHorizonUtils(CharmTestCase):
confs = [horizon_utils.LOCAL_SETTINGS,
horizon_utils.HAPROXY_CONF,
horizon_utils.PORTS_CONF,
horizon_utils.APACHE_DEFAULT,
horizon_utils.APACHE_CONF,
horizon_utils.APACHE_SSL]
horizon_utils.APACHE_24_DEFAULT,
horizon_utils.APACHE_24_CONF,
horizon_utils.APACHE_24_SSL]
calls = []
for conf in confs:
calls.append(