Difference between revisions of "stoney conductor: VM States"

From stoney cloud
Jump to: navigation, search
[unchecked revision][unchecked revision]
(VM Templates)
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Naming of VM states (the second state is only needed for special cases).
+
Naming of VM states (the second state is only needed for special cases). The following attributes need to be read:
 +
* '''sstStatus''': Located directly in virtual machine leaf.
 +
* '''sstVirtualMachineMode''': Located directly in virtual machine leaf.
 +
* '''sstProvisioningMode''': Located in the virtual machine backup sub tree(s).
 +
 
 +
See the descriptions in the document [[stoney conductor: OpenLDAP directory data organisation]] in the chapter [[stoney_conductor:_OpenLDAP_directory_data_organisation#Virtual_Machine | Virtual Machine]] and [[stoney_conductor:_OpenLDAP_directory_data_organisation#Virtual_Machine:_Backup | Virtual Machine: Backup]] for details.
  
 
== Virtual Machines ==
 
== Virtual Machines ==
Line 286: Line 291:
 
Naming of VM states (the second state is only needed for special cases), valid for VM Templates.
 
Naming of VM states (the second state is only needed for special cases), valid for VM Templates.
  
Since VM Templates are basically VMs with additional metadata and can be cloned from, most of the runtime states are the same as for VMs and therefore not explicitly copied below and the respective entries are shaded <span style="background-color:WhiteSmoke; border:1px solid black;">&nbsp;&nbsp;&nbsp;</span>
+
Since VM Templates are basically VMs with additional metadata and can be cloned from, most of the runtime states are the same as for VMs and therefore not explicitly copied below and the respective entries are shaded <span style="background-color:Silver; border:1px solid black;">&nbsp;&nbsp;&nbsp;</span>.
 +
 
 +
Please keep the [[stoney conductor: Lean Provisioning | Lean Provisioning]] documentation in mind for displaying the proper action together with the explanations in the [[stoney_conductor:_OpenLDAP_directory_data_organisation#Virtual_Machine | Virtual Machine]] document for the attribute <code>sstVirtualMachineMode</code>.
 +
 
 +
VM-(Sub)States (''streaming'', ''backing-up'', ...) and Machine Modes (''ready to use'', ''maintenance'', ...) are orthogonal concepts even though they are not shown as such in the table below. Permit an action only if both VM-State and Machine Mode permit it (logical <code>AND</code>).
  
 
{| border="1" style="border-collapse: collapse; font-size:100%;"
 
{| border="1" style="border-collapse: collapse; font-size:100%;"
Line 334: Line 343:
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
 
| align="center" | -
 
| align="center" | -
| align="center" | x
+
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | x
 
| align="center" | x
Line 343: Line 352:
 
| align="left"  | 3
 
| align="left"  | 3
 
| align="left"  | Stopped, backing up
 
| align="left"  | Stopped, backing up
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
 
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
Line 359: Line 368:
 
| align="left"  | 4
 
| align="left"  | 4
 
| align="left"  | Stopped, migrating
 
| align="left"  | Stopped, migrating
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | x
 
| align="center" | x
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
Line 418: Line 427:
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
| align="left"  | If sstVirtualMachineMode does not exist.
+
| align="left"  | If sstVirtualMachineMode does not exist or set to do not use.
  
 
|-
 
|-
 
| align="left"  | 8
 
| align="left"  | 8
 
| align="left"  | Starting
 
| align="left"  | Starting
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
Line 439: Line 448:
 
| align="left"  | 9
 
| align="left"  | 9
 
| align="left"  | Paused, backing up
 
| align="left"  | Paused, backing up
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
 
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
Line 455: Line 464:
 
| align="left"  | 10
 
| align="left"  | 10
 
| align="left"  | Paused, migrating
 
| align="left"  | Paused, migrating
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
 
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
Line 471: Line 480:
 
| align="left"  | 11
 
| align="left"  | 11
 
| align="left"  | Running, backing up
 
| align="left"  | Running, backing up
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
 
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
Line 487: Line 496:
 
| align="left"  | 12
 
| align="left"  | 12
 
| align="left"  | Running, migrating
 
| align="left"  | Running, migrating
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
Line 546: Line 555:
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
| align="left"  | If sstVirtualMachineMode does not exist.
+
| align="left"  | If <code>sstVirtualMachineMode</code> does not exist. To achieve a '''self healing''' effect, the [[VM-Manager]] must set <code>sstVirtualMachineMode</code> to '''does not exist'''.
  
 
|-
 
|-
 
| align="left"  | 16
 
| align="left"  | 16
 
| align="left"  | Shutting down
 
| align="left"  | Shutting down
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | x
 
| align="center" | x
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
Line 567: Line 576:
 
| align="left"  | 17
 
| align="left"  | 17
 
| align="left"  | Powering off
 
| align="left"  | Powering off
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | x
 
| align="center" | x
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
Line 583: Line 592:
 
| align="left"  | 18
 
| align="left"  | 18
 
| align="left"  | Deleting
 
| align="left"  | Deleting
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
| align="center" style="background-color:WhiteSmoke;" |  
+
| align="center" style="background-color:Silver;" |  
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -
 
| align="center" | -

Latest revision as of 16:00, 27 December 2013

Naming of VM states (the second state is only needed for special cases). The following attributes need to be read:

  • sstStatus: Located directly in virtual machine leaf.
  • sstVirtualMachineMode: Located directly in virtual machine leaf.
  • sstProvisioningMode: Located in the virtual machine backup sub tree(s).

See the descriptions in the document stoney conductor: OpenLDAP directory data organisation in the chapter Virtual Machine and Virtual Machine: Backup for details.

Virtual Machines

Naming of VM states (the second state is only needed for special cases), valid for VMs:

No. Status Run Action Action Explanation
Start Shutdown Power off Migrate Edit Delete Use Users Groups
1 Stopped x - - x x x - x x
2 Stopped, streaming [5.1 %] x - - (x) [1] (x) [2] (x) [1] - x x technically paused
3 Stopped, backing up (x) [1] - - (x) [1] (x) [2] (x) [1] - x x Technically merging, retaining or streaming (sstProvisioningMode).
4 Stopped, migrating (x) [1] - - - (x) [2] - - x x Same state for the vm being migrated to a node and away from a node.
5 Starting - - - - (x) [2] - - x x Technically changing state from stopped or paused to running.
6 Starting, streaming [5.1 %] - - - - (x) [2] - - x x
7 Paused, backing up - - - - (x) [2] - - x x technically migrating to file
8 Paused, migrating - - - - (x) [2] - - x x the vm is being migrated to this node
9 Running - x x x (x) [2] - x x x
10 Running, backing up - (x) [1] [3] (x) [1] (x) [1] (x) [2] (x) [1] (x) [4] x x Technically merging, retaining or streaming (sstProvisioningMode).
11 Running, streaming [5.1 %] - (x) [1] [3] (x) [1] (x) [1] (x) [2] [1] (x) [1] x x x
12 Running, migrating - (x) [1] [3] (x) [1] - (x) [2] (x) [1] x x x The vm is being migrated away from this node.
13 Shutting down - - - - (x) [2] - - x x
14 Powering off - - - - (x) [2] - - x x
15 Deleting - - - - - - - x x

Possible future states:

  • Crashed (when vm should be running, but there isn't a QEMU process around)
  • Frozen or Non responding (requires QEMU guest agent or a watch dog)

Future editing:

  • Certain values like disk, cpu and memory will be able to be changed, even if the vm is running.

Tool-Tips:

  • "stopped, streaming (without the percent status)": Show streaming information with vm-name(s) and percent status.
  • Save text of Tool-Tips in language files.

VM Templates

Naming of VM states (the second state is only needed for special cases), valid for VM Templates.

Since VM Templates are basically VMs with additional metadata and can be cloned from, most of the runtime states are the same as for VMs and therefore not explicitly copied below and the respective entries are shaded    .

Please keep the Lean Provisioning documentation in mind for displaying the proper action together with the explanations in the Virtual Machine document for the attribute sstVirtualMachineMode.

VM-(Sub)States (streaming, backing-up, ...) and Machine Modes (ready to use, maintenance, ...) are orthogonal concepts even though they are not shown as such in the table below. Permit an action only if both VM-State and Machine Mode permit it (logical AND).

No. Status Run Action Action Explanation
Start Shutdown Power Off Migrate Edit Delete Toggle
Boot-Drive
Use Create
persistent VM
Create
dynamic VM
1 Stopped, ready for use - - - x (x) [2] x - - x x If sstVirtualMachineMode is set to ready for use.
2 Stopped, streaming - - - (x) [1] (x) [2] - - - x x After clicking "+" a list of all the vms (sstDisplayName) should appear with [5.1 %].
3 Stopped, backing up (x) [1] - -
4 Stopped, migrating x - - Same state for the vm being migrated to a node and away from a node.
5 Stopped, first installation x - - x x x x - - - If sstVirtualMachineMode is set to first installation.
6 Stopped, maintenance mode x - - x x x x - - - If sstVirtualMachineMode is set to maintenance mode.
7 Stopped, Do not use x - - x x x x - - - If sstVirtualMachineMode does not exist or set to do not use.
8 Starting - - - Technically changing state from stopped to running.
9 Paused, backing up (x) [1] - - Technically migrating to file.
10 Paused, migrating (x) [1] - - The vm is being migrated to this node.
11 Running, backing up (x) [1] - - Technically merging, retaining, streaming.
12 Running, migrating - - - The vm is being migrated away from this node.
13 Running, first installation - x x x (x) [2] - x x - - If sstVirtualMachineMode is set to first installation.
14 Running, maintenance mode - x x x (x) [2] - x x - - If sstVirtualMachineMode is set to maintenance mode.
15 Running, Do not use - x x x (x) [2] - x x - - If sstVirtualMachineMode does not exist. To achieve a self healing effect, the VM-Manager must set sstVirtualMachineMode to does not exist.
16 Shutting down x - -
17 Powering off x - -
18 Deleting - - -

References

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 Later. Should be implementable, but clarification needed on how it works.
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 Later. Function can be made available partially. For example: Editing the name, description or even IP of a VM may be always possible, while changing the memory and/or disk size depends heavily on the state of the VM.
  3. 3.0 3.1 3.2 A user connected to the VM can take this action despite being unavailable in the web-interface.
  4. While the action is possible, the result may not be satisfying, most probably due to race conditions.