Update charm to PY3 only code
This change upgrades the charm to PY3 only mode. Note the changes to charm-helpers has also been made to support Apache auditing code in PY3. Change-Id: Idd347de5818ec57cb05f38170fe0d6536157a0da
This commit is contained in:
parent
f340e2102d
commit
eca37a1dad
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/python
|
#!/usr/bin/env python3
|
||||||
#
|
#
|
||||||
# Copyright 2016 Canonical Ltd
|
# Copyright 2016 Canonical Ltd
|
||||||
#
|
#
|
||||||
|
@ -17,10 +17,20 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
sys.path.append('hooks/')
|
_path = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
_root = os.path.abspath(os.path.join(_path, '..'))
|
||||||
|
|
||||||
|
|
||||||
|
def _add_path(path):
|
||||||
|
if path not in sys.path:
|
||||||
|
sys.path.insert(1, path)
|
||||||
|
|
||||||
|
|
||||||
|
_add_path(_root)
|
||||||
|
|
||||||
from charmhelpers.core.hookenv import action_fail
|
from charmhelpers.core.hookenv import action_fail
|
||||||
from horizon_utils import (
|
|
||||||
|
from hooks.horizon_utils import (
|
||||||
pause_unit_helper,
|
pause_unit_helper,
|
||||||
resume_unit_helper,
|
resume_unit_helper,
|
||||||
register_configs,
|
register_configs,
|
||||||
|
@ -29,14 +39,14 @@ from horizon_utils import (
|
||||||
|
|
||||||
def pause(args):
|
def pause(args):
|
||||||
"""Pause the Ceilometer services.
|
"""Pause the Ceilometer services.
|
||||||
@raises Exception should the service fail to stop.
|
:raises: Exception should the service fail to stop.
|
||||||
"""
|
"""
|
||||||
pause_unit_helper(register_configs())
|
pause_unit_helper(register_configs())
|
||||||
|
|
||||||
|
|
||||||
def resume(args):
|
def resume(args):
|
||||||
"""Resume the Ceilometer services.
|
"""Resume the Ceilometer services.
|
||||||
@raises Exception should the service fail to start."""
|
:raises: Exception should the service fail to start."""
|
||||||
resume_unit_helper(register_configs())
|
resume_unit_helper(register_configs())
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/python
|
#!/usr/bin/env python3
|
||||||
#
|
#
|
||||||
# Copyright 2016 Canonical Ltd
|
# Copyright 2016 Canonical Ltd
|
||||||
#
|
#
|
||||||
|
@ -14,19 +14,29 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
sys.path.append('hooks/')
|
_path = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
_root = os.path.abspath(os.path.join(_path, '..'))
|
||||||
|
|
||||||
|
|
||||||
|
def _add_path(path):
|
||||||
|
if path not in sys.path:
|
||||||
|
sys.path.insert(1, path)
|
||||||
|
|
||||||
|
|
||||||
|
_add_path(_root)
|
||||||
|
|
||||||
from charmhelpers.contrib.openstack.utils import (
|
from charmhelpers.contrib.openstack.utils import (
|
||||||
do_action_openstack_upgrade,
|
do_action_openstack_upgrade,
|
||||||
)
|
)
|
||||||
|
|
||||||
from horizon_utils import (
|
from hooks.horizon_utils import (
|
||||||
do_openstack_upgrade,
|
do_openstack_upgrade,
|
||||||
)
|
)
|
||||||
|
|
||||||
from horizon_hooks import (
|
from hooks.horizon_hooks import (
|
||||||
config_changed,
|
config_changed,
|
||||||
CONFIGS,
|
CONFIGS,
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
repo: https://github.com/juju/charm-helpers
|
repo: https://github.com/juju/charm-helpers
|
||||||
destination: hooks/charmhelpers
|
destination: charmhelpers
|
||||||
include:
|
include:
|
||||||
- core
|
- core
|
||||||
- osplatform
|
- osplatform
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
import six
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
|
@ -95,6 +96,8 @@ class ApacheConfContext(object):
|
||||||
ctxt = settings['hardening']
|
ctxt = settings['hardening']
|
||||||
|
|
||||||
out = subprocess.check_output(['apache2', '-v'])
|
out = subprocess.check_output(['apache2', '-v'])
|
||||||
|
if six.PY3:
|
||||||
|
out = out.decode('utf-8')
|
||||||
ctxt['apache_version'] = re.search(r'.+version: Apache/(.+?)\s.+',
|
ctxt['apache_version'] = re.search(r'.+version: Apache/(.+?)\s.+',
|
||||||
out).group(1)
|
out).group(1)
|
||||||
ctxt['apache_icondir'] = '/usr/share/apache2/icons/'
|
ctxt['apache_icondir'] = '/usr/share/apache2/icons/'
|
|
@ -15,7 +15,7 @@
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from six import string_types
|
import six
|
||||||
|
|
||||||
from charmhelpers.core.hookenv import (
|
from charmhelpers.core.hookenv import (
|
||||||
log,
|
log,
|
||||||
|
@ -35,7 +35,7 @@ class DisabledModuleAudit(BaseAudit):
|
||||||
def __init__(self, modules):
|
def __init__(self, modules):
|
||||||
if modules is None:
|
if modules is None:
|
||||||
self.modules = []
|
self.modules = []
|
||||||
elif isinstance(modules, string_types):
|
elif isinstance(modules, six.string_types):
|
||||||
self.modules = [modules]
|
self.modules = [modules]
|
||||||
else:
|
else:
|
||||||
self.modules = modules
|
self.modules = modules
|
||||||
|
@ -69,6 +69,8 @@ class DisabledModuleAudit(BaseAudit):
|
||||||
def _get_loaded_modules():
|
def _get_loaded_modules():
|
||||||
"""Returns the modules which are enabled in Apache."""
|
"""Returns the modules which are enabled in Apache."""
|
||||||
output = subprocess.check_output(['apache2ctl', '-M'])
|
output = subprocess.check_output(['apache2ctl', '-M'])
|
||||||
|
if six.PY3:
|
||||||
|
output = output.decode('utf-8')
|
||||||
modules = []
|
modules = []
|
||||||
for line in output.splitlines():
|
for line in output.splitlines():
|
||||||
# Each line of the enabled module output looks like:
|
# Each line of the enabled module output looks like:
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue