diff --git a/hooks/utils.back b/hooks/utils.back deleted file mode 100644 index d0a998bc..00000000 --- a/hooks/utils.back +++ /dev/null @@ -1,147 +0,0 @@ - -# -# Copyright 2012 Canonical Ltd. -# -# Authors: -# James Page -# Paul Collins -# - -import os -import subprocess -import socket -import sys - - -def do_hooks(hooks): - hook = os.path.basename(sys.argv[0]) - - try: - hook_func = hooks[hook] - except KeyError: - juju_log('INFO', - "This charm doesn't know how to handle '{}'.".format(hook)) - else: - hook_func() - - -def install(*pkgs): - cmd = [ - 'apt-get', - '-y', - 'install' - ] - for pkg in pkgs: - cmd.append(pkg) - subprocess.check_call(cmd) - -TEMPLATES_DIR = 'templates' - - -def expose(port, protocol='TCP'): - cmd = [ - 'open-port', - '{}/{}'.format(port, protocol) - ] - subprocess.check_call(cmd) - - -def juju_log(severity, message): - cmd = [ - 'juju-log', - '--log-level', severity, - message - ] - subprocess.check_call(cmd) - - -def relation_ids(relation): - cmd = [ - 'relation-ids', - relation - ] - return subprocess.check_output(cmd).split() # IGNORE:E1103 - - -def relation_list(rid): - cmd = [ - 'relation-list', - '-r', rid, - ] - return subprocess.check_output(cmd).split() # IGNORE:E1103 - - -def relation_get(attribute, unit=None, rid=None): - cmd = [ - 'relation-get', - ] - if rid: - cmd.append('-r') - cmd.append(rid) - cmd.append(attribute) - if unit: - cmd.append(unit) - value = subprocess.check_output(cmd).strip() # IGNORE:E1103 - if value == "": - return None - else: - return value - - -def relation_set(**kwargs): - cmd = [ - 'relation-set' - ] - args = [] - for k, v in kwargs.items(): - if k == 'rid': - cmd.append('-r') - cmd.append(v) - else: - args.append('{}={}'.format(k, v)) - cmd += args - subprocess.check_call(cmd) - - -def unit_get(attribute): - cmd = [ - 'unit-get', - attribute - ] - value = subprocess.check_output(cmd).strip() # IGNORE:E1103 - if value == "": - return None - else: - return value - - -def config_get(attribute): - cmd = [ - 'config-get', - attribute - ] - value = subprocess.check_output(cmd).strip() # IGNORE:E1103 - if value == "": - return None - else: - return value - - -def is_clustered(): - for r_id in (relation_ids('ha') or []): - for unit in (relation_list(r_id) or []): - relation_data = \ - relation_get_dict(relation_id=r_id, - remote_unit=unit) - if 'clustered' in relation_data: - return True - return False - - -def is_leader(): - status = execute('crm resource show res_ks_vip', echo=True)[0].strip() - hostname = execute('hostname', echo=True)[0].strip() - if hostname in status: - return True - else: - return False