- self._last_triggered_time = time.time()
- # Reset all statuses
- self.scale_in_status = {cri.name: False for cri in self.scaling_criteria}
- self.delegate.scale_in(self.scaling_group_name, self.nsr_id)
+ self.log.info("Triggering a scale-in action for policy {} as "
+ "all criteria have been met".format(self.name))
+
+ @asyncio.coroutine
+ def check_and_scale_in():
+ # data = yield from self.nsr_scale_sub.data()
+ # if len(data) <= 1:
+ # return
+
+ # # Get an instance ID
+ # instance_id = data[-1].instance_id
+
+ instance_id = 0 #assigning a value to follow existing scale_in signature
+ self._last_triggered_time = time.time()
+ self.scale_out_count -= 1
+ # Reset all statuses
+ self.scale_in_status = {cri.name: False for cri in self.scaling_criteria}
+ self.delegate.scale_in(self.scaling_group_name, self.nsr_id, instance_id)
+
+ self.loop.create_task(check_and_scale_in())