MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / attach_vm_progress_metadata

Function attach_vm_progress_metadata

crates/openshell-driver-vm/src/driver.rs:5055–5106  ·  view source on GitHub ↗
(event: &mut PlatformEvent)

Source from the content-addressed store, hash-verified

5053}
5054
5055fn attach_vm_progress_metadata(event: &mut PlatformEvent) {
5056 if event.source != "vm" {
5057 return;
5058 }
5059
5060 match event.reason.as_str() {
5061 "Scheduled" => {
5062 mark_progress_complete(
5063 &mut event.metadata,
5064 PROGRESS_STEP_REQUESTING_SANDBOX,
5065 "Sandbox allocated",
5066 );
5067 mark_progress_active(&mut event.metadata, PROGRESS_STEP_PULLING_IMAGE);
5068 }
5069 "Pulling" => {
5070 mark_progress_active(&mut event.metadata, PROGRESS_STEP_PULLING_IMAGE);
5071 if let Some(image_ref) = event.metadata.get("image_ref").cloned() {
5072 mark_progress_detail(&mut event.metadata, image_ref);
5073 } else if let Some(image_ref) = pulling_image_from_message(&event.message) {
5074 mark_progress_detail(&mut event.metadata, image_ref);
5075 }
5076 }
5077 "Pulled" => {
5078 let label = pulled_label(event);
5079 mark_progress_complete(&mut event.metadata, PROGRESS_STEP_PULLING_IMAGE, label);
5080 mark_progress_active(&mut event.metadata, PROGRESS_STEP_STARTING_SANDBOX);
5081 }
5082 "PullingLayer" => {
5083 if let Some(detail) = pulling_layer_detail(&event.metadata) {
5084 mark_progress_detail(&mut event.metadata, detail);
5085 }
5086 }
5087 "ResolvingImage" => mark_progress_detail(&mut event.metadata, "Resolving image"),
5088 "AuthenticatingRegistry" => {
5089 mark_progress_detail(&mut event.metadata, "Authenticating registry");
5090 }
5091 "FetchingManifest" => mark_progress_detail(&mut event.metadata, "Fetching image manifest"),
5092 "CacheHit" => mark_progress_detail(&mut event.metadata, "Using cached root disk"),
5093 "CacheMiss" => mark_progress_detail(&mut event.metadata, "Preparing image cache"),
5094 "WaitingForImageCacheLock" => {
5095 mark_progress_detail(&mut event.metadata, "Waiting for image cache lock");
5096 }
5097 "ExportingRootfs" => {
5098 mark_progress_detail(&mut event.metadata, "Exporting local image rootfs");
5099 }
5100 "PreparingRootfs" => mark_progress_detail(&mut event.metadata, "Preparing rootfs"),
5101 "CreatingRootDisk" => mark_progress_detail(&mut event.metadata, "Formatting root disk"),
5102 "PreparingOverlay" => mark_progress_detail(&mut event.metadata, "Preparing overlay disk"),
5103 "Started" => mark_progress_detail(&mut event.metadata, "Waiting for VM supervisor"),
5104 _ => {}
5105 }
5106}
5107
5108fn pulling_image_from_message(message: &str) -> Option<String> {
5109 let image = message

Calls 8

mark_progress_completeFunction · 0.85
mark_progress_activeFunction · 0.85
mark_progress_detailFunction · 0.85
pulled_labelFunction · 0.85
pulling_layer_detailFunction · 0.85
as_strMethod · 0.45
getMethod · 0.45