Handle pod shutdown reports (global managers only).
(
self, request: manager_pb2.PodShutdownRequest, context
)
| 423 | raise |
| 424 | |
| 425 | def ReportPodShutdown( |
| 426 | self, request: manager_pb2.PodShutdownRequest, context |
| 427 | ) -> manager_pb2.PodShutdownResponse: |
| 428 | """Handle pod shutdown reports (global managers only).""" |
| 429 | try: |
| 430 | self._validate_role("global_manager", "handle pod shutdown reports") |
| 431 | |
| 432 | worker_identity = request.worker_identity |
| 433 | |
| 434 | logging.debug( |
| 435 | "Pod shutdown reported: worker=%s (replica=%d, worker=%d), reason='%s'", |
| 436 | worker_identity.hostname, |
| 437 | worker_identity.replica_id, |
| 438 | worker_identity.worker_id, |
| 439 | request.reason, |
| 440 | ) |
| 441 | |
| 442 | # Trigger coordinated shutdown and restart |
| 443 | self._handle_pod_shutdown(worker_identity, request.reason) |
| 444 | |
| 445 | return self._create_success_response( |
| 446 | manager_pb2.PodShutdownResponse, |
| 447 | message=f"Pod shutdown acknowledged for worker {worker_identity.hostname} " |
| 448 | f"(replica={worker_identity.replica_id}, worker={worker_identity.worker_id})", |
| 449 | ) |
| 450 | |
| 451 | except grpc.RpcError: |
| 452 | raise |
| 453 | except Exception as e: |
| 454 | self._create_error_response( |
| 455 | context, grpc.StatusCode.INTERNAL, f"ReportPodShutdown error: {e}" |
| 456 | ) |
| 457 | raise |
| 458 | |
| 459 | def RequestGlobalRestart( |
| 460 | self, request: manager_pb2.RequestGlobalRestartRequest, context |
nothing calls this directly
no test coverage detected