예제 #1
0
 def wait_for_host_validation(self,
                              host_id,
                              validation_section,
                              validation_id,
                              statuses,
                              timeout=consts.VALIDATION_TIMEOUT,
                              interval=2):
     logging.info("Wait until host %s validation %s is in status %s",
                  host_id, validation_id, statuses)
     try:
         waiting.wait(
             lambda: self.is_host_validation_in_status(
                 host_id=host_id,
                 validation_section=validation_section,
                 validation_id=validation_id,
                 statuses=statuses),
             timeout_seconds=timeout,
             sleep_seconds=interval,
             waiting_for="Host validation to be in status %s" % statuses,
         )
     except BaseException:
         logging.error(
             "Host validation status is: %s",
             utils.get_host_validation_value(
                 self.api_client.cluster_get(self.id), host_id,
                 validation_section, validation_id))
         raise
예제 #2
0
 def is_host_validation_in_status(
         self, host_id, validation_section, validation_id, statuses
 ):
     logging.info("Is host %s validation %s in status %s", host_id, validation_id, statuses)
     try:
         return utils.get_host_validation_value(self.api_client.cluster_get(self.id),
             host_id, validation_section, validation_id) in statuses
     except:
         logging.exception("Failed to get cluster %s validation info", self.id)