mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
test_driver: Introduce testDomainActionSetState helper
This helper extracts common lifecycle action code from both testDomainShutdownFlags and testDomainReboot. Signed-off-by: Ilias Stamatis <stamatis.iliass@gmail.com> Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
parent
e95f9459d3
commit
423ca282f4
@ -1902,6 +1902,40 @@ static int testDomainSuspend(virDomainPtr domain)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
testDomainActionSetState(virDomainObjPtr dom,
|
||||||
|
int lifecycle_type)
|
||||||
|
{
|
||||||
|
switch (lifecycle_type) {
|
||||||
|
case VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY:
|
||||||
|
virDomainObjSetState(dom, VIR_DOMAIN_SHUTOFF,
|
||||||
|
VIR_DOMAIN_SHUTOFF_SHUTDOWN);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART:
|
||||||
|
virDomainObjSetState(dom, VIR_DOMAIN_RUNNING,
|
||||||
|
VIR_DOMAIN_RUNNING_BOOTED);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE:
|
||||||
|
virDomainObjSetState(dom, VIR_DOMAIN_SHUTOFF,
|
||||||
|
VIR_DOMAIN_SHUTOFF_SHUTDOWN);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART_RENAME:
|
||||||
|
virDomainObjSetState(dom, VIR_DOMAIN_RUNNING,
|
||||||
|
VIR_DOMAIN_RUNNING_BOOTED);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
virDomainObjSetState(dom, VIR_DOMAIN_SHUTOFF,
|
||||||
|
VIR_DOMAIN_SHUTOFF_SHUTDOWN);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int testDomainShutdownFlags(virDomainPtr domain,
|
static int testDomainShutdownFlags(virDomainPtr domain,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@ -1922,6 +1956,9 @@ static int testDomainShutdownFlags(virDomainPtr domain,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
testDomainActionSetState(privdom, privdom->def->onPoweroff);
|
||||||
|
|
||||||
|
if (virDomainObjGetState(privdom, NULL) == VIR_DOMAIN_SHUTOFF) {
|
||||||
testDomainShutdownState(domain, privdom, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
|
testDomainShutdownState(domain, privdom, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
|
||||||
event = virDomainEventLifecycleNewFromObj(privdom,
|
event = virDomainEventLifecycleNewFromObj(privdom,
|
||||||
VIR_DOMAIN_EVENT_STOPPED,
|
VIR_DOMAIN_EVENT_STOPPED,
|
||||||
@ -1929,6 +1966,7 @@ static int testDomainShutdownFlags(virDomainPtr domain,
|
|||||||
|
|
||||||
if (!privdom->persistent)
|
if (!privdom->persistent)
|
||||||
virDomainObjListRemove(privconn->domains, privdom);
|
virDomainObjListRemove(privconn->domains, privdom);
|
||||||
|
}
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
@ -1964,35 +2002,7 @@ static int testDomainReboot(virDomainPtr domain,
|
|||||||
if (virDomainObjCheckActive(privdom) < 0)
|
if (virDomainObjCheckActive(privdom) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
virDomainObjSetState(privdom, VIR_DOMAIN_SHUTDOWN,
|
testDomainActionSetState(privdom, privdom->def->onReboot);
|
||||||
VIR_DOMAIN_SHUTDOWN_USER);
|
|
||||||
|
|
||||||
switch (privdom->def->onReboot) {
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY:
|
|
||||||
virDomainObjSetState(privdom, VIR_DOMAIN_SHUTOFF,
|
|
||||||
VIR_DOMAIN_SHUTOFF_SHUTDOWN);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART:
|
|
||||||
virDomainObjSetState(privdom, VIR_DOMAIN_RUNNING,
|
|
||||||
VIR_DOMAIN_RUNNING_BOOTED);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE:
|
|
||||||
virDomainObjSetState(privdom, VIR_DOMAIN_SHUTOFF,
|
|
||||||
VIR_DOMAIN_SHUTOFF_SHUTDOWN);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART_RENAME:
|
|
||||||
virDomainObjSetState(privdom, VIR_DOMAIN_RUNNING,
|
|
||||||
VIR_DOMAIN_RUNNING_BOOTED);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
virDomainObjSetState(privdom, VIR_DOMAIN_SHUTOFF,
|
|
||||||
VIR_DOMAIN_SHUTOFF_SHUTDOWN);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (virDomainObjGetState(privdom, NULL) == VIR_DOMAIN_SHUTOFF) {
|
if (virDomainObjGetState(privdom, NULL) == VIR_DOMAIN_SHUTOFF) {
|
||||||
testDomainShutdownState(domain, privdom, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
|
testDomainShutdownState(domain, privdom, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
|
||||||
|
Loading…
Reference in New Issue
Block a user