@tenacity.retry(stop=tenacity.stop_after_attempt(3), wait=tenacity.wait_random_exponential(), reraise=True, retry=tenacity.retry_if_exception(should_retry_start_pod))
def start_pod(self, pod: V1Pod, startup_timeout: int=120):
    '\n        Launches the pod synchronously and waits for completion.\n\n        :param pod:\n        :param startup_timeout: Timeout for startup of the pod (if pod is pending for too long, fails task)\n        :return:\n        '
    resp = self.run_pod_async(pod)
    curr_time = dt.now()
    if (resp.status.start_time is None):
        while self.pod_not_started(pod):
            self.log.warning('Pod not yet started: %s', pod.metadata.name)
            delta = (dt.now() - curr_time)
            if (delta.total_seconds() >= startup_timeout):
                raise AirflowException('Pod took too long to start')
            time.sleep(1)
Launches the pod synchronously and waits for completion.

:param pod:
:param startup_timeout: Timeout for startup of the pod (if pod is pending for too long, fails task)
:return:
@tenacity.retry(stop=tenacity.stop_after_attempt(3), wait=tenacity.wait_random_exponential(), reraise=True, retry=tenacity.retry_if_exception(should_retry_start_pod))
def start_pod(self, pod: V1Pod, startup_timeout: int=120):
    '\n        Launches the pod synchronously and waits for completion.\n\n        :param pod:\n        :param startup_timeout: Timeout for startup of the pod (if pod is pending for too long, fails task)\n        :return:\n        '
    resp = self.run_pod_async(pod)
    curr_time = dt.now()
    if (resp.status.start_time is None):
        while self.pod_not_started(pod):
            self.log.warning('Pod not yet started: %s', pod.metadata.name)
            delta = (dt.now() - curr_time)
            if (delta.total_seconds() >= startup_timeout):
                raise AirflowException('Pod took too long to start')
            time.sleep(1)