Check if the inference service is ready. :param version: :param name: inference service name :param namespace: defaults to current or default namespace :param expected_generation: optional minimum observed generation to consider ready :return:
(
self,
name,
namespace=None,
version=constants.KSERVE_V1BETA1_VERSION,
expected_generation=None,
)
| 344 | ) |
| 345 | |
| 346 | def is_isvc_ready( |
| 347 | self, |
| 348 | name, |
| 349 | namespace=None, |
| 350 | version=constants.KSERVE_V1BETA1_VERSION, |
| 351 | expected_generation=None, |
| 352 | ): # pylint:disable=inconsistent-return-statements |
| 353 | """ |
| 354 | Check if the inference service is ready. |
| 355 | :param version: |
| 356 | :param name: inference service name |
| 357 | :param namespace: defaults to current or default namespace |
| 358 | :param expected_generation: optional minimum observed generation to consider ready |
| 359 | :return: |
| 360 | """ |
| 361 | kfsvc_status = self.get(name, namespace=namespace, version=version) |
| 362 | if "status" not in kfsvc_status: |
| 363 | return False |
| 364 | status = kfsvc_status["status"] |
| 365 | observed_generation = status.get(constants.OBSERVED_GENERATION, 0) |
| 366 | for condition in status.get("conditions", []): |
| 367 | if condition.get("type", "") == "Ready": |
| 368 | ready = condition.get("status", "Unknown").lower() == "true" |
| 369 | if not ready: |
| 370 | return False |
| 371 | if expected_generation is not None: |
| 372 | return observed_generation >= expected_generation |
| 373 | return True |
| 374 | return False |
| 375 | |
| 376 | def wait_isvc_ready( |
| 377 | self, |