Changes

stoney conductor: VM States

14,797 bytes added, 15: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 [[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 ==
Naming of VM states (the second state is only needed for special cases), valid for VMs:
* Stopped
* Stopped, streaming [5.1 %] (technically paused)
* Stopped, backing up
* Stopped, migrating (same state for the vm being migrated to a node and away from a node)
* Starting (technically changing state from stopped to running)
* Starting, streaming [5.1 %] (technically changing state from paused to running)
* Paused, backing up (technically migrating to file)
* Paused, migrating (the vm is being migrated to this node)
* Running
* Running, backing up (technically merging, retaining, streaming)
* Running, streaming [5.1 %]
* Running, migrating (the vm is being migrated away from this node)
* Shutting down
* Powering off
* Deleting
 
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)
 
{| border="1" style="border-collapse: collapse; font-size:100%;"
|-
! rowspan="2" | '''No.'''
! rowspan="2" width="160200" | '''Status'''
! colspan="4" | '''Run Action'''
! colspan="5" | '''Action'''
! rowspan="2" | '''Explanation'''
|-
| align="center" width="70px" | '''Power off'''
| align="center" width="70px" | '''Migrate'''
 
| align="center" width="70px" | '''Edit'''
| align="center" width="70px" | '''Delete'''
| align="center" width="70px" | '''Use'''
 
| align="center" width="70px" | '''Users'''
| align="center" width="70px" | '''Groups'''
| align="left" | Stopped
| align="center" | x
| align="center" | -| align="center" | -
| align="center" | x
 
| align="center" | x
| align="center" | x
| align="center" | - 
| align="center" | x
| align="center" | x
| align="left" |
|-
 
| align="left" | 2
| align="left" | Stopped, streaming [5.1 %]
| align="center" | x
| align="center" | -
| align="center" | -
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" | -
 
| align="center" | x
| align="center" | x
| align="left" | technically paused
|-
 
| align="left" | 3
| align="left" | Stopped, backing up
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" | -
| align="center" | -
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" | -
 
| align="center" | x
| align="center" | x
| align="left" | Technically merging, retaining or streaming (sstProvisioningMode).
|-
 
| align="left" | 4
| align="left" | Stopped, migrating
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" | -
| align="center" | -
| align="center" | -
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | -
| align="center" | -
 
| align="center" | x
| align="center" | x
| align="left" | Same state for the vm being migrated to a node and away from a node.
|-
 
| align="left" | 5
| align="left" | Starting
| align="center" | -
| align="center" | -
| align="center" | -
| align="center" | -
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | -
| align="center" | -
 
| align="center" | x
| align="center" | x
| align="left" | Technically changing state from stopped or paused to running.
|-
 
| align="left" | 6
| align="left" | Starting, streaming [5.1 %]
| align="center" | -
| align="center" | -
| align="center" | -
| align="center" | -
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | -
| align="center" | -
 
| align="center" | x
| align="center" | x
| align="left" |
|-
 
| align="left" | 7
| align="left" | Paused, backing up
| align="center" | -
| align="center" | -
| align="center" | -
| align="center" | -
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | -
| align="center" | -
 
| align="center" | x
| align="center" | x
| align="left" | technically migrating to file
|-
 
| align="left" | 8
| align="left" | Paused, migrating
| align="center" | -
| align="center" | -
| align="center" | -
| align="center" | -
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | -
| align="center" | -
 
| align="center" | x
| align="center" | x
| align="left" | the vm is being migrated to this node
|-
 
| align="left" | 9
| align="left" | Running
| align="center" | -
| align="center" | x
| align="center" | x
| align="center" | x
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | -
| align="center" | x
 
| align="center" | x
| align="center" | x
| align="left" |
|-
 
 
| align="left" | 10
| align="left" | Running, backing up
| align="center" | -
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/> <ref name="UserCanTakeAction"/>
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" | (x) <ref name="InterferencePossible"/>
 
| align="center" | x
| align="center" | x
| align="left" | Technically merging, retaining or streaming (sstProvisioningMode).
|-
 
 
| align="left" | 11
| align="left" | Running, streaming [5.1 %]
| align="center" | -
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/> <ref name="UserCanTakeAction"/>
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
 
| align="center" | (x) <ref name="RestrictionsRequired"/> <ref name="TechnicalClarificationNeeded"/>
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" | x
 
| align="center" | x
| align="center" | x
| align="left" |
|-
 
 
| align="left" | 12
| align="left" | Running, migrating
| align="center" | -
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/> <ref name="UserCanTakeAction"/>
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" | -
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" | x
 
| align="center" | x
| align="center" | x
| align="left" | The vm is being migrated away from this node.
|-
 
 
| align="left" | 13
| align="left" | Shutting down
| align="center" | -
| align="center" | -
| align="center" | -
| align="center" | -
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | -
| align="center" | -
 
| align="center" | x
| align="center" | x
| align="left" |
|-
 
 
| align="left" | 14
| align="left" | Powering off
| align="center" | -
| align="center" | -
| align="center" | -
| align="center" | -
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | -
| align="center" | -
 
| align="center" | x
| align="center" | x
| align="left" |
|-
 
| align="left" | 15
| align="left" | Deleting
| align="center" | -
| align="center" | -
| align="center" | -
| align="center" | -
 
| align="center" | -
| align="center" | -
| align="center" | -
 
| align="center" | x
| align="center" | x
| align="left" |
|-
|}
 
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:.* starting* runningSince 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>.* shutting down* destroyingPlease 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>.* running, backing up* stoppedVM-(Sub)States (''streaming'', ''backing -up* stopped'', streaming ...) and Machine Modes (without the percent status)* do not ''ready to use (if sstVirtualMachineMode does not exist)* running'', ''maintenance mode (if sstVirtualMachineMode is set to maintenance mode)* stopped'', maintenance mode (if sstVirtualMachineMode is set to maintenance mode...)* running, first installation (are orthogonal concepts even though they are not shown as such in the table below. Permit an action only if sstVirtualMachineMode is set to first installation)* stopped, first installation both VM-State and Machine Mode permit it (if sstVirtualMachineMode is set to first installationlogical <code>AND</code>).
{| border="1" style="border-collapse: collapse; font-size:100%;"
|-
! rowspan="2" | '''No.'''
! rowspan="2" width="160200" | '''Status'''
! colspan="4" | '''Run Action'''
! colspan="6" | '''Action'''
! rowspan="2" |-'''Explanation'''
| align="center" width="70px" | '''start'''
| align="center" width="70px" | '''shutdown'''
| align="center" width="70px" | '''destroy'''
| align="center" width="70px" | '''migrate'''
| align="center" width="70px" | '''edit'''
| align="center" width="70px" | '''delete'''
| align="center" width="70px" | '''toggle'''
| align="center" width="70px" | '''use'''
| align="center" width="70px" | '''persistent'''
| align="center" width="70px" | '''dynamic'''
|-
| align="center" width="70px" | '''Start'''
| align="center" width="70px" | '''Shutdown'''
| align="center" width="70px" | '''Power Off'''
| align="center" width="70px" | '''Migrate'''
| align="center" width="70px" | '''Edit'''
| align="center" width="70px" | '''Delete'''
| align="center" width="70px" | '''Toggle<br/>Boot-Drive'''
| align="center" width="70px" | '''Use'''
| align="center" width="70px" | '''Create<br/>persistent VM'''
| align="center" width="70px" | '''Create<br/>dynamic VM'''
|-
| align="left" | 1
| align="left" | Stopped, ready for use| align="center" | -| align="center" | -| align="center" | -
| align="center" | x
 | align="center" | | align(x) <ref name="centerRestrictionsRequired" | />
| align="center" | x
| align="center" | -
| align="center" | -
| align="center" | x
| align="center" | x
| align="left" | If sstVirtualMachineMode is set to ready for use.
 
|-
| align="left" | 2
| align="left" | Stopped, streaming
| align="center" | -
| align="center" | -
| align="center" | -
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
 
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | -
| align="center" | -
| align="center" | -
| align="center" | x
| align="center" |
| align="center" | x
| align="left" | After clicking "+" a list of all the vms (sstDisplayName) should appear with [5.1 %].
 
|-
| align="left" | 3
| align="left" | Stopped, backing up
| align="center" style="background-color:Silver;" |
| align="center" style="background-color:Silver;" |
| align="center" style="background-color:Silver;" |
| align="center" style="background-color:Silver;" |
 
| align="center" style="background-color:Silver;" |
| align="center" style="background-color:Silver;" |
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" style="background-color:Silver;" |
| align="center" | -
| align="center" | -
| align="left" |
 
|-
| align="left" | 4
| align="left" | Stopped, migrating
| align="center" style="background-color:Silver;" |
| align="center" style="background-color:Silver;" |
| align="center" style="background-color:Silver;" |
| align="center" style="background-color:Silver;" |
 
| align="center" style="background-color:Silver;" |
| align="center" style="background-color:Silver;" |
| align="center" | x
| align="center" style="background-color:Silver;" |
| align="center" | -
| align="center" | -
| align="left" | Same state for the vm being migrated to a node and away from a node.
 
|-
| align="left" | 5
| align="left" | Stopped, first installation
| align="center" | x
| align="center" | -
| align="center" | -
| align="center" | x
|}align="center" | x| align="center" | x| align="center" | x| align="center" | -| align="center" | -| align="center" | -| align="left" | If sstVirtualMachineMode is set to first installation.
|-| align="left" | 6| align= Notes "left" | Stopped, maintenance mode| align="center" | x| align="center" | -| align="center" | -| align="center" | x
Naming of VM states (the second state is only needed for special cases), valid for VM Templates and VMs:| align="center" | x* starting| align="center" | x* running| align="center" | x* shutting down| align="center" | -* destroying| align="center" | -* running, backing up| align="center" | -* stopped, backing upVMs:* running, streaming [5.1 %]* stopped, streaming [5.1 %]VM Templates:* stopped, streaming (without the percent status)* do not use (if sstVirtualMachineMode does not exist)* running, maintenance mode (if | align="left" | If sstVirtualMachineMode is set to maintenance mode)* stopped, maintenance mode (if sstVirtualMachineMode is set to maintenance mode)* running, first installation (if sstVirtualMachineMode is set to first installation)* stopped, first installation (if sstVirtualMachineMode is set to first installation).
|-
| align="left" | 7
| align="left" | Stopped, Do not use
| align="center" | x
| align="center" | -
| align="center" | -
| align="center" | x
Tool| align="center" | x| align="center" | x| align="center" | x| align="center" | -Tips| align="center" | -| align="center" | -| align="left" | If sstVirtualMachineMode does not exist or set to do not use. |-| align="left" | 8| align="left" | Starting| align="center" style="background-color:Silver;" | * | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" |  | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" | -| align="center" style="background-color:Silver;" | | align="center" | -| align="center" | -| align="left" | Technically changing state from stoppedto running. |-| align="left" | 9| align="left" | Paused, streaming backing up| align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" |  | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" | (without the percent statusx)<ref name="TechnicalClarificationNeeded"/>| align="center" style="background-color: Show Silver;" | | align="center" | -| align="center" | -| align="left" | Technically migrating to file. |-| align="left" | 10| align="left" | Paused, migrating| align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" |  | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" | (x) <ref name="TechnicalClarificationNeeded"/>| align="center" style="background-color:Silver;" | | align="center" | -| align="center" | -| align="left" | The vm is being migrated to this node. |-| align="left" | 11| align="left" | Running, backing up| align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" |  | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" | (x) <ref name="TechnicalClarificationNeeded"/>| align="center" style="background-color:Silver;" | | align="center" | -| align="center" | -| align="left" | Technically merging, retaining, streaming information with . |-| align="left" | 12| align="left" | Running, migrating| align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" |  | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" | -| align="center" style="background-color:Silver;" | | align="center" | -| align="center" | -| align="left" | The vmis being migrated away from this node. |-| align="left" | 13| align="left" | Running, first installation| align="center" | -| align="center" | x| align="center" | x| align="center" | x | align="center" | (x) <ref name="RestrictionsRequired"/>| align="center" | -| align="center" | x| align="center" | x| align="center" | -| align="center" | -| align="left" | If sstVirtualMachineMode is set to first installation. |-| align="left" | 14| align="left" | Running, maintenance mode| align="center" | -| align="center" | x| align="center" | x| align="center" | x | align="center" | (sx) and percent status<ref name="RestrictionsRequired"/>| align="center" | -| align="center" | x| align="center" | x| align="center" | -| align="center" | -| align="left" | If sstVirtualMachineMode is set to maintenance mode.* Save text of Tool|-Tips | align="left" | 15| align="left" | Running, Do not use| align="center" | -| align="center" | x| align="center" | x| align="center" | x | align="center" | (x) <ref name="RestrictionsRequired"/>| align="center" | -| align="center" | x| align="center" | x| align="center" | -| align="center" | -| 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" | Shutting down| align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" |  | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" | x| align="center" style="background-color:Silver;" | | align="center" | -| align="center" | -| align="left" |  |-| align="left" | 17| align="left" | Powering off| align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" |  | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" | x| align="center" style="background-color:Silver;" | | align="center" | -| align="center" | -| align="left" |  |-| align="left" | 18| align="left" | Deleting| align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" |  | align="center" style="background-color:Silver;" | | align="center" style="background-color:Silver;" | | align="center" | -| align="center" style="background-color:Silver;" | | align="center" | -| align="center" | -| align="left" |  |} ==References==<references><ref name=TechnicalClarificationNeeded>Later. Should be implementable, but clarification needed on how it works.</ref><ref name=RestrictionsRequired>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.</ref><ref name="UserCanTakeAction">A user connected to the VM can take this action despite being unavailable in language filesthe web-interface.</ref><ref name="InterferencePossible">While the action is possible, the result may not be satisfying, most probably due to race conditions.</ref></references>
[[Category:stoney conductor]][[Category: Lean Provisioning]]
SLB, editor, reviewer
3,368
edits