83
83
return _juju_call([action, service])
86
def juju_get_ip_and_port(service, unit=0):
87
status = deploy.juju_status()
88
units = status['services'][service]['units']
89
ip = units['%s/%d' % (service, unit)]['public-address']
90
formatted = '%s/%d' % (service, unit)
91
port, _ = units[formatted]['open-ports'][0].split('/')
86
95
# TODO ev 2014-06-16 @features.requires(features.settled_units)
87
96
@features.requires(features.bootstrapped_juju)
88
97
class DeployerTest(testing.TestCaseWithGnupg):
89
98
'''Base class for building juju deployer based tests.'''
91
100
def get_ip_and_port(self, service, unit=0):
92
status = deploy.juju_status()
93
units = status['services'][service]['units']
94
ip = units['%s/%d' % (service, unit)]['public-address']
95
formatted = '%s/%d' % (service, unit)
96
port, _ = units[formatted]['open-ports'][0].split('/')
101
return juju_get_ip_and_port(service, unit)
99
103
def assert_job_running(self, service, unit=0, upstart_job=None):
100
104
# Ensure the given upstart job is running on a unit