Merge lp:~andreserl/maas/backport_rev_3397_lp1394382 into lp:maas/1.7

Proposed by Andres Rodriguez
Status: Merged
Approved by: Andres Rodriguez
Approved revision: no longer in the source branch.
Merged at revision: 3318
Proposed branch: lp:~andreserl/maas/backport_rev_3397_lp1394382
Merge into: lp:maas/1.7
Diff against target: 41 lines (+22/-5)
1 file modified
src/provisioningserver/drivers/hardware/virsh.py (+22/-5)
To merge this branch: bzr merge lp:~andreserl/maas/backport_rev_3397_lp1394382
Reviewer Review Type Date Requested Status
Andres Rodriguez (community) Approve
Review via email: mp+244352@code.launchpad.net

Commit message

Backport rev 3395 maas does not know about VM paused state

To post a comment you must log in.
Revision history for this message
Andres Rodriguez (andreserl) wrote :

self approve.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/provisioningserver/drivers/hardware/virsh.py'
2--- src/provisioningserver/drivers/hardware/virsh.py 2014-12-08 16:50:57 +0000
3+++ src/provisioningserver/drivers/hardware/virsh.py 2014-12-10 20:43:23 +0000
4@@ -33,6 +33,24 @@
5 class VirshVMState:
6 OFF = "shut off"
7 ON = "running"
8+ NO_STATE = "no state"
9+ IDLE = "idle"
10+ PAUSED = "paused"
11+ IN_SHUTDOWN = "in shutdown"
12+ CRASHED = "crashed"
13+ PM_SUSPENDED = "pmsuspended"
14+
15+
16+VM_STATE_TO_POWER_STATE = {
17+ VirshVMState.OFF: "off",
18+ VirshVMState.ON: "on",
19+ VirshVMState.NO_STATE: "off",
20+ VirshVMState.IDLE: "off",
21+ VirshVMState.PAUSED: "off",
22+ VirshVMState.IN_SHUTDOWN: "on",
23+ VirshVMState.CRASHED: "off",
24+ VirshVMState.PM_SUSPENDED: "off",
25+ }
26
27
28 class VirshError(Exception):
29@@ -243,8 +261,7 @@
30 if state is None:
31 raise VirshError('Failed to get domain: %s' % machine)
32
33- if state == VirshVMState.OFF:
34- return 'off'
35- elif state == VirshVMState.ON:
36- return 'on'
37- raise VirshError('Unknown state: %s' % state)
38+ try:
39+ return VM_STATE_TO_POWER_STATE[state]
40+ except KeyError:
41+ raise VirshError('Unknown state: %s' % state)

Subscribers

People subscribed via source and target branches

to all changes: