"Unhandled exception during FUSE operation",
},
ReportFunc: func(pattern, text string) {
- runner.updateRuntimeStatus("arv-mount: "+pattern, text)
+ runner.updateRuntimeStatus(arvadosclient.Dict{
+ "warning": "arv-mount: " + pattern,
+ "warningDetail": text,
+ })
},
}
c.Stdout = runner.arvMountLog
lastmetadata = metadata
text := fmt.Sprintf("Cloud provider indicates instance action %q scheduled for time %q", metadata.Action, metadata.Time.UTC().Format(time.RFC3339))
runner.CrunchLog.Printf("%s", text)
- runner.updateRuntimeStatus("instance interruption", text)
+ runner.updateRuntimeStatus(arvadosclient.Dict{
+ "warning": "preemption notice",
+ "warningDetail": text,
+ "preemptionNotice": text,
+ })
if proc, err := os.FindProcess(os.Getpid()); err == nil {
// trigger updateLogs
proc.Signal(syscall.SIGUSR1)
}
}
-func (runner *ContainerRunner) updateRuntimeStatus(warning, detail string) {
+func (runner *ContainerRunner) updateRuntimeStatus(status arvadosclient.Dict) {
err := runner.DispatcherArvClient.Update("containers", runner.Container.UUID, arvadosclient.Dict{
"container": arvadosclient.Dict{
- "runtime_status": arvadosclient.Dict{
- "warning": warning,
- "warningDetail": detail,
- },
+ "runtime_status": status,
},
}, nil)
if err != nil {