From 0f349f547ac24805165ba99d1110fabebfb35e0d Mon Sep 17 00:00:00 2001 From: Simon Kobyda Date: Thu, 25 May 2023 10:08:37 +0200 Subject: [PATCH] Store VM's state's reason --- src/libvirtApi/domain.js | 3 ++- src/libvirtApi/helpers.js | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/libvirtApi/domain.js b/src/libvirtApi/domain.js index e7de39073..a3508061b 100644 --- a/src/libvirtApi/domain.js +++ b/src/libvirtApi/domain.js @@ -728,11 +728,12 @@ export function domainGet({ }) .then(state => { const stateStr = DOMAINSTATE[state[0][0]]; + const stateReason = state[0][1]; if (!domainIsRunning(stateStr)) props.actualTimeInMs = -1; - return store.dispatch(updateOrAddVm({ state: stateStr, ...props })); + return store.dispatch(updateOrAddVm({ state: stateStr, stateReason, ...props })); }) .then(() => { clearVmUiState(props.name, connectionName); diff --git a/src/libvirtApi/helpers.js b/src/libvirtApi/helpers.js index d4b3b4ffe..cd9c843ec 100644 --- a/src/libvirtApi/helpers.js +++ b/src/libvirtApi/helpers.js @@ -104,6 +104,21 @@ export const Enum = { VIR_MIGRATE_UNDEFINE_SOURCE: 16, VIR_MIGRATE_NON_SHARED_DISK: 64, VIR_MIGRATE_OFFLINE: 1024, + // Running reasons (how the VM was booted) + // https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainRunningReason + VIR_DOMAIN_RUNNING_UNKNOWN: 0, + VIR_DOMAIN_RUNNING_BOOTED: 1, // normal startup from boot + VIR_DOMAIN_RUNNING_MIGRATED: 2, // migrated from another host + VIR_DOMAIN_RUNNING_RESTORED: 3, // restored from a state file + VIR_DOMAIN_RUNNING_FROM_SNAPSHOT: 4, // restored from snapshot + VIR_DOMAIN_RUNNING_UNPAUSED: 5, // returned from paused state + VIR_DOMAIN_RUNNING_MIGRATION_CANCELED: 6, // returned from migration + VIR_DOMAIN_RUNNING_SAVE_CANCELED: 7, // returned from failed save process + VIR_DOMAIN_RUNNING_WAKEUP: 8, // returned from pmsuspended due to wakeup event + VIR_DOMAIN_RUNNING_CRASHED: 9, // resumed from crashed + VIR_DOMAIN_RUNNING_POSTCOPY: 10, // running in post-copy migration mode + VIR_DOMAIN_RUNNING_POSTCOPY_FAILED: 11, // running in failed post-copy migration + VIR_DOMAIN_RUNNING_LAST: 12, }; /**