summaryrefslogtreecommitdiffstats
path: root/docker/storperf-master/storperf/storperf_master.py
diff options
context:
space:
mode:
Diffstat (limited to 'docker/storperf-master/storperf/storperf_master.py')
-rw-r--r--docker/storperf-master/storperf/storperf_master.py21
1 files changed, 16 insertions, 5 deletions
diff --git a/docker/storperf-master/storperf/storperf_master.py b/docker/storperf-master/storperf/storperf_master.py
index d54fea3..044cbb2 100644
--- a/docker/storperf-master/storperf/storperf_master.py
+++ b/docker/storperf-master/storperf/storperf_master.py
@@ -16,13 +16,13 @@ from time import sleep
import paramiko
from scp import SCPClient
+
from snaps.config.stack import StackConfig
from snaps.openstack.create_stack import OpenStackHeatStack
from snaps.openstack.os_credentials import OSCreds
-
+from snaps.openstack.utils import heat_utils, cinder_utils, glance_utils
from storperf.db.job_db import JobDB
from storperf.test_executor import TestExecutor
-from snaps.openstack.utils import heat_utils, cinder_utils, glance_utils
class ParameterError(Exception):
@@ -68,6 +68,7 @@ class StorPerfMaster(object):
self._volume_size = 1
self._cached_stack_id = None
self._last_snaps_check_time = None
+ self._slave_addresses = []
@property
def volume_count(self):
@@ -142,6 +143,10 @@ class StorPerfMaster(object):
self._agent_flavor = value
@property
+ def slave_addresses(self):
+ return self._slave_addresses
+
+ @property
def stack_id(self):
self._get_stack_info()
return self._cached_stack_id
@@ -167,6 +172,12 @@ class StorPerfMaster(object):
vm1.instance_settings.availability_zone
self._agent_flavor = vm1.instance_settings.flavor.name
+ self._slave_addresses = []
+ for instance in vm_inst_creators:
+ floating_ip = instance.get_floating_ip()
+ self._slave_addresses.append(floating_ip.ip)
+ self.logger.debug("Found VM at %s" % floating_ip.ip)
+
server = vm1.get_vm_inst()
image_id = server.image_id
@@ -251,7 +262,8 @@ class StorPerfMaster(object):
@property
def is_stack_created(self):
return (self.stack_id is not None and
- self.heat_stack.get_status() == u'CREATE_COMPLETE')
+ (self.heat_stack.get_status() == u'CREATE_COMPLETE' or
+ self.heat_stack.get_status() == u'UPDATE_COMPLETE'))
@property
def workloads(self):
@@ -328,8 +340,7 @@ class StorPerfMaster(object):
raise Exception("ERROR: Job {} is already running".format(
self._test_executor.job_id))
- outputs = self.heat_stack.get_outputs()
- slaves = outputs[0].value
+ slaves = self._slave_addresses
setup_threads = []