Merge "Wait for the policy to be done in tests"
diff --git a/common/test.py b/common/test.py
index f52cda3..f2e7dd7 100644
--- a/common/test.py
+++ b/common/test.py
@@ -655,10 +655,14 @@
return matched
time.sleep(build_interval)
- def check_autoscale_complete(self, stack_id, expected_num):
+ def check_autoscale_complete(self, stack_id, expected_num, parent_stack,
+ policy):
res_list = self.client.resources.list(stack_id)
all_res_complete = all(res.resource_status in ('UPDATE_COMPLETE',
'CREATE_COMPLETE')
for res in res_list)
all_res = len(res_list) == expected_num
- return all_res and all_res_complete
+ if all_res and all_res_complete:
+ metadata = self.client.resources.metadata(parent_stack, policy)
+ return not metadata.get('scaling_in_progress')
+ return False
diff --git a/functional/test_heat_autoscaling.py b/functional/test_heat_autoscaling.py
index 096c427..608fd1d 100644
--- a/functional/test_heat_autoscaling.py
+++ b/functional/test_heat_autoscaling.py
@@ -119,7 +119,8 @@
self.conf.build_interval,
self.check_autoscale_complete,
asg.physical_resource_id,
- expected_resources))
+ expected_resources, stack_id,
+ 'scale_up_policy'))
def test_asg_scale_down_min_size(self):
stack_id = self.stack_create(template=self.template,
@@ -140,7 +141,8 @@
self.conf.build_interval,
self.check_autoscale_complete,
asg.physical_resource_id,
- expected_resources))
+ expected_resources, stack_id,
+ 'scale_down_policy'))
def test_asg_cooldown(self):
cooldown_tmpl = self.template.replace('cooldown: 0',
@@ -162,7 +164,8 @@
self.conf.build_interval,
self.check_autoscale_complete,
asg.physical_resource_id,
- expected_resources))
+ expected_resources, stack_id,
+ 'scale_up_policy'))
def test_path_attrs(self):
stack_id = self.stack_create(template=self.template)
diff --git a/scenario/test_autoscaling_lb.py b/scenario/test_autoscaling_lb.py
index 833e9a8..5e8ad27 100644
--- a/scenario/test_autoscaling_lb.py
+++ b/scenario/test_autoscaling_lb.py
@@ -104,7 +104,7 @@
test.call_until_true(self.conf.build_timeout,
self.conf.build_interval,
self.check_autoscale_complete,
- asg.physical_resource_id, 2)
+ asg.physical_resource_id, 2, sid, 'scale_up')
# Check number of distinctive responses, must now be 2
self.check_num_responses(lb_url, 2)
diff --git a/scenario/test_autoscaling_lbv2.py b/scenario/test_autoscaling_lbv2.py
index 78cde53..4ddc21e 100644
--- a/scenario/test_autoscaling_lbv2.py
+++ b/scenario/test_autoscaling_lbv2.py
@@ -104,7 +104,7 @@
test.call_until_true(self.conf.build_timeout,
self.conf.build_interval,
self.check_autoscale_complete,
- asg.physical_resource_id, 2)
+ asg.physical_resource_id, 2, sid, 'scale_up')
# Check number of distinctive responses, must now be 2
self.check_num_responses(lb_url, 2)