Drop utils.py backup.
This commit is contained in:
parent
cba046cd55
commit
486a809d62
147
hooks/utils.back
147
hooks/utils.back
|
@ -1,147 +0,0 @@
|
||||||
|
|
||||||
#
|
|
||||||
# Copyright 2012 Canonical Ltd.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# James Page <james.page@ubuntu.com>
|
|
||||||
# Paul Collins <paul.collins@canonical.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
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
|
|
Loading…
Reference in New Issue