Skip to content

Commit

Permalink
Changed Name to "Suspend to disk", changed State to "suspended", refc…
Browse files Browse the repository at this point in the history
…atored Code and change Name to "Remove suspend Image"
  • Loading branch information
nwin committed Jan 26, 2024
1 parent 136af6a commit 48b71b4
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 28 deletions.
2 changes: 1 addition & 1 deletion src/components/vm/overview/vmOverviewCard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ class VmOverviewCard extends React.Component {
<DescriptionListTerm>{_("State")}</DescriptionListTerm>
<DescriptionListDescription>
<StateIcon error={vm.error}
state={vm.state + (vm.savedImage ? " (saved)" : "")}
state={vm.state + (vm.suspendImage ? " (suspended)" : "")}
valueId={`${idPrefix}-${vm.connectionName}-state`}
dismissError={() => store.dispatch(updateVm({
connectionName: vm.connectionName,
Expand Down
34 changes: 17 additions & 17 deletions src/components/vm/vmActions.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ import {
domainCanRun,
domainCanPause,
domainCanShutdown,
domainCanSave,
domainCanSaveRemove,
domainCanSuspendToDisk,
domainCanSuspenImageRemove,
domainForceOff,
domainForceReboot,
domainInstall,
Expand All @@ -57,9 +57,9 @@ import {
domainSendNMI,
domainShutdown,
domainStart,
domainSave,
domainSaveRemove,
domainHasSaveImage
domainSuspendToDisk,
domainSuspendImageRemove,
domainHasSuspendImage
} from '../../libvirtApi/domain.js';
import store from "../../store.js";

Expand Down Expand Up @@ -183,7 +183,7 @@ const onSendNMI = (vm) => domainSendNMI({ name: vm.name, id: vm.id, connectionNa
);
});

const onSave = (vm) => domainSave({ name: vm.name, id: vm.id, connectionName: vm.connectionName, flags: vm.state == 'running' ? 2 : 4 }).catch(ex => {
const onSuspendToDisk = (vm) => domainSuspendToDisk({ name: vm.name, id: vm.id, connectionName: vm.connectionName, flags: vm.state == 'running' ? 2 : 4 }).catch(ex => {
store.dispatch(
updateVm({
connectionName: vm.connectionName,
Expand All @@ -196,14 +196,14 @@ const onSave = (vm) => domainSave({ name: vm.name, id: vm.id, connectionName: vm
);
});

const onSaveRemove = (vm) => domainSaveRemove({ name: vm.name, id: vm.id, connectionName: vm.connectionName })
.then(() => domainHasSaveImage({ name: vm.name, id: vm.id, connectionName: vm.connectionName }))
.then((SaveImage) => {
const onSuspendImageRemove = (vm) => domainSuspendImageRemove({ name: vm.name, id: vm.id, connectionName: vm.connectionName })
.then(() => domainHasSuspendImage({ name: vm.name, id: vm.id, connectionName: vm.connectionName }))
.then((SuspendImage) => {
store.dispatch(
updateVm({
connectionName: vm.connectionName,
name: vm.name,
savedImage: SaveImage[0],
suspendImage: SuspendImage[0],
})
);
})
Expand Down Expand Up @@ -239,7 +239,7 @@ const VmActions = ({ vm, onAddErrorNotification, isDetailsPage }) => {

const id = `${vmId(vm.name)}-${vm.connectionName}`;
const state = vm.state;
const savedImage = vm.savedImage;
const suspendImage = vm.suspendImage;
const hasInstallPhase = vm.metadata && vm.metadata.hasInstallPhase;
const dropdownItems = [];

Expand Down Expand Up @@ -267,23 +267,23 @@ const VmActions = ({ vm, onAddErrorNotification, isDetailsPage }) => {
dropdownItems.push(<DropdownSeparator key="separator-resume" />);
}

if (domainCanSave(state)) {
if (domainCanSuspendToDisk(state)) {
dropdownItems.push(
<DropdownItem key={`${id}-save`}
id={`${id}-save`}
onClick={() => onSave(vm)}>
{_("Save")}
onClick={() => onSuspendToDisk(vm)}>
{_("Suspend to disk")}
</DropdownItem>
);
dropdownItems.push(<DropdownSeparator key="separator-suspend" />);
}

if (domainCanSaveRemove(state, savedImage)) {
if (domainCanSuspenImageRemove(state, suspendImage)) {
dropdownItems.push(
<DropdownItem key={`${id}-saveRemove`}
id={`${id}-savedRemove`}
onClick={() => onSaveRemove(vm)}>
{_("Remove save Image")}
onClick={() => onSuspendImageRemove(vm)}>
{_("Remove Suspend Image")}
</DropdownItem>
);
dropdownItems.push(<DropdownSeparator key="separator-suspend" />);
Expand Down
4 changes: 2 additions & 2 deletions src/components/vms/hostvmslist.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ const VmState = ({ vm, dismissError }) => {
state = cockpit.format(_("Downloading: $0%"), vm.downloadProgress);
} else if (vm.createInProgress) {
state = _("Creating VM");
} else if (vm.state == "shut off" && vm.savedImage === true) {
state = `${vm.state} (saved)`;
} else if (vm.state == "shut off" && vm.suspendImage === true) {
state = `${vm.state} (suspended)`;
} else {
state = vm.state;
}
Expand Down
2 changes: 1 addition & 1 deletion src/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ const transform = {
paused: _("Paused"),
shutdown: _("Shutting down"),
'shut off': _("Shut off"),
'shut off (saved)': _("Shut off (Saved)"),
'shut off (suspended)': _("Shut off (Suspended)"),
crashed: _("Crashed"),
dying: _("Dying"),
pmsuspended: _("Suspended (PM)"),
Expand Down
14 changes: 7 additions & 7 deletions src/libvirtApi/domain.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ export const domainCanShutdown = (vmState) => domainCanReset(vmState);
export const domainCanPause = (vmState) => vmState == 'running';
export const domainCanRename = (vmState) => vmState == 'shut off';
export const domainCanResume = (vmState) => vmState == 'paused';
export const domainCanSave = (vmState) => vmState == 'running' || vmState == 'paused';
export const domainCanSaveRemove = (vmState, saveImage) => vmState == "shut off" && saveImage == true;
export const domainCanSuspendToDisk = (vmState) => vmState == 'running' || vmState == 'paused';
export const domainCanSuspenImageRemove = (vmState, saveImage) => vmState == "shut off" && saveImage == true;
export const domainIsRunning = (vmState) => domainCanReset(vmState);
export const domainSerialConsoleCommand = ({ vm, alias }) => {
if (vm.displays.find(display => display.type == 'pty'))
Expand Down Expand Up @@ -667,8 +667,8 @@ export async function domainGet({
supportsSpice: getDomainCapSupportsSpice(domCaps),
};

const [savedImage] = await call(connectionName, objPath, 'org.libvirt.Domain', 'HasManagedSaveImage', [0], { timeout, type: 'u' });
props.savedImage = savedImage;
const [suspendImage] = await call(connectionName, objPath, 'org.libvirt.Domain', 'HasManagedSaveImage', [0], { timeout, type: 'u' });
props.suspendImage = suspendImage;

const [state] = await call(connectionName, objPath, 'org.libvirt.Domain', 'GetState', [0], { timeout, type: 'u' });
const stateStr = DOMAINSTATE[state[0]];
Expand Down Expand Up @@ -881,22 +881,22 @@ export function domainResume({
return call(connectionName, objPath, 'org.libvirt.Domain', 'Resume', [], { timeout, type: '' });
}

export function domainSave({
export function domainSuspendToDisk({
connectionName,
id: objPath,
flags
}) {
return call(connectionName, objPath, 'org.libvirt.Domain', 'ManagedSave', [flags], { timeout, type: 'u' });
}

export function domainSaveRemove({
export function domainSuspendImageRemove({
connectionName,
id: objPath,
}) {
return call(connectionName, objPath, 'org.libvirt.Domain', 'ManagedSaveRemove', [0], { timeout, type: 'u' });
}

export function domainHasSaveImage({
export function domainHasSuspendImage({
connectionName,
id: objPath,
}) {
Expand Down

0 comments on commit 48b71b4

Please sign in to comment.