code: def wait_for_service_tasks_all_changed(
          service_name,
          old_task_ids,
          task_predicate=None,
          timeout_sec=120
  ):
      
      return time_wait(
          lambda: tasks_all_replaced_predicate(service_name, old_task_ids, task_predicate),
          timeout_seconds=timeout_sec)
docs: Returns once ALL of old_task_ids have been replaced with new tasks
  
          :param service_name: the service name
          :type service_name: str
          :param old_task_ids: list of original task ids as returned by get_service_task_ids
          :type old_task_ids: [str]
          :param task_predicate: filter to use when searching for tasks
          :type task_predicate: func
          :param timeout_sec: duration to wait
          :type timeout_sec: int
  
          :return: the duration waited in seconds
          :rtype: int