Difference between revisions of "stoney conductor: VM States"

From stoney cloud
Jump to: navigation, search
[unchecked revision][unchecked revision]
(References)
 
(40 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 28: Line 33:
 
| align="left"  | Stopped
 
| align="left"  | Stopped
 
| align="center" | x
 
| align="center" | x
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="center" | x
 
| align="center" | x
  
 
| align="center" | x
 
| align="center" | x
 
| align="center" | x
 
| align="center" | x
| align="center" |  
+
| align="center" | -
  
 
| align="center" | x
 
| align="center" | x
 
| align="center" | x
 
| align="center" | x
| align="left"  |  
+
| align="left"  |
 
|-
 
|-
  
Line 44: Line 49:
 
| align="left"  | Stopped, streaming [5.1 %]
 
| align="left"  | Stopped, streaming [5.1 %]
 
| align="center" | x
 
| align="center" | x
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" | (x) <ref name="LaterTechnicalClarificationNeeded"/>
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
  
| align="center" | (x) <ref name="LaterRestrictionsRequired"/>
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" | (x) <ref name="LaterTechnicalClarificationNeeded"/>
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  | technically paused
 
| align="left"  | technically paused
 
|-
 
|-
Line 59: Line 64:
 
| align="left"  | 3
 
| align="left"  | 3
 
| align="left"  | Stopped, backing up
 
| align="left"  | Stopped, backing up
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="left"  |  
+
| align="left"  | Technically merging, retaining or streaming (sstProvisioningMode).
 
|-
 
|-
  
 
| align="left"  | 4
 
| align="left"  | 4
| align="left"  | Stopped, backing up
 
| align="center" |
 
| align="center" |
 
| align="center" |
 
| align="center" |
 
 
| align="center" |
 
| align="center" |
 
| align="center" |
 
 
| align="center" |
 
| align="center" |
 
| align="left"  |
 
|-
 
 
| align="left"  | 5
 
 
| align="left"  | Stopped, migrating
 
| align="left"  | Stopped, migrating
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  | Same state for the vm being migrated to a node and away from a node.
 
| align="left"  | Same state for the vm being migrated to a node and away from a node.
 
|-
 
|-
  
| align="left"  | 6
+
| align="left"  | 5
 
| align="left"  | Starting
 
| align="left"  | Starting
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  | Technically changing state from stopped or paused to running.
 
| align="left"  | Technically changing state from stopped or paused to running.
 
|-
 
|-
  
| align="left"  | 7
+
| align="left"  | 6
 
| align="left"  | Starting, streaming [5.1 %]
 
| align="left"  | Starting, streaming [5.1 %]
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  |  
 
| align="left"  |  
 
|-
 
|-
  
| align="left"  | 8
+
| align="left"  | 7
 
| align="left"  | Paused, backing up
 
| align="left"  | Paused, backing up
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  | technically migrating to file
 
| align="left"  | technically migrating to file
 
|-
 
|-
  
| align="left"  | 9
+
| align="left"  | 8
 
| align="left"  | Paused, migrating
 
| align="left"  | Paused, migrating
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  | the vm is being migrated to this node
 
| align="left"  | the vm is being migrated to this node
 
|-
 
|-
  
| align="left"  | 10
+
| align="left"  | 9
 
| align="left"  | Running
 
| align="left"  | Running
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | x
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  |  
 
| align="left"  |  
 
|-
 
|-
  
  
| align="left"  | 11
+
| align="left"  | 10
 
| align="left"  | Running, backing up
 
| align="left"  | Running, backing up
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/> <ref name="UserCanTakeAction"/>
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | (x) <ref name="InterferencePossible"/>
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  | Technically merging, retaining or streaming (sstProvisioningMode).
 
| align="left"  | Technically merging, retaining or streaming (sstProvisioningMode).
 
|-
 
|-
  
  
| align="left"  | 12
+
| align="left"  | 11
 
| align="left"  | Running, streaming [5.1 %]
 
| align="left"  | Running, streaming [5.1 %]
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/> <ref name="UserCanTakeAction"/>
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/> <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | x
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  |  
 
| align="left"  |  
 
|-
 
|-
  
  
| align="left"  | 13
+
| align="left"  | 12
 
| align="left"  | Running, migrating
 
| align="left"  | Running, migrating
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/> <ref name="UserCanTakeAction"/>
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" | x
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  | The vm is being migrated away from this node.
 
| align="left"  | The vm is being migrated away from this node.
 
|-
 
|-
  
  
| align="left"  | 14
+
| align="left"  | 13
 
| align="left"  | Shutting down
 
| align="left"  | Shutting down
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  |  
 
| align="left"  |  
 
|-
 
|-
  
  
| align="left"  | 15
+
| align="left"  | 14
 
| align="left"  | Powering off
 
| align="left"  | Powering off
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  |  
 
| align="left"  |  
 
|-
 
|-
  
| align="left"  | 16
+
| align="left"  | 15
 
| align="left"  | Deleting
 
| align="left"  | Deleting
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
 
| align="left"  |  
 
| align="left"  |  
 
|-
 
|-
Line 300: Line 289:
  
 
== VM Templates ==
 
== VM Templates ==
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: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 308: Line 304:
 
! colspan="6"            | '''Action'''
 
! colspan="6"            | '''Action'''
 
! rowspan="2"            | '''Explanation'''
 
! 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"  | 1
| align="left"  | Stopped
+
| align="left"  | Stopped, ready for use
| align="center" | x
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="center" | x
 
| align="center" | x
  
 +
| align="center" | (x) <ref name="RestrictionsRequired"/>
 
| align="center" | x
 
| align="center" | x
 +
| align="center" | -
 +
| align="center" | -
 
| align="center" | x
 
| align="center" | x
 
| align="center" | x
 
| align="center" | x
| align="center" |
+
| align="left"  | If sstVirtualMachineMode is set to ready for use.
| align="center" | x
+
| align="center" | x
+
| align="left"  |  
+
|-
+
  
 +
|-
 
| align="left"  | 2
 
| align="left"  | 2
 
| align="left"  | Stopped, streaming
 
| align="left"  | Stopped, streaming
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| 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"  | After clicking "+" a list of all the vms (sstDisplayName) should appear with [5.1 %].  
|-
+
  
 +
|-
 
| align="left"  | 3
 
| align="left"  | 3
 
| align="left"  | Stopped, backing up
 
| align="left"  | Stopped, backing up
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="left"  |  
+
| align="left"  |
|-
+
  
 +
|-
 
| align="left"  | 4
 
| align="left"  | 4
 
| align="left"  | Stopped, migrating
 
| align="left"  | Stopped, migrating
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  | Same state for the vm being migrated to a node and away from a node.
 
| align="left"  | Same state for the vm being migrated to a node and away from a node.
 +
 
|-
 
|-
 
 
 
| align="left"  | 5
 
| align="left"  | 5
 
| align="left"  | Stopped, first installation
 
| align="left"  | Stopped, first installation
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | x
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  | If sstVirtualMachineMode is set to first installation.
 
| align="left"  | If sstVirtualMachineMode is set to first installation.
|-
 
  
 +
|-
 
| align="left"  | 6
 
| align="left"  | 6
 
| align="left"  | Stopped, maintenance mode
 
| align="left"  | Stopped, maintenance mode
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | x
  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  | If sstVirtualMachineMode is set to maintenance mode.
 
| align="left"  | If sstVirtualMachineMode is set to maintenance mode.
|-
 
  
 +
|-
 
| align="left"  | 7
 
| align="left"  | 7
 +
| align="left"  | Stopped, Do not use
 +
| 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 does not exist or set to do not use.
 +
 +
|-
 +
| align="left"  | 8
 
| align="left"  | Starting
 
| align="left"  | Starting
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  | Technically changing state from stopped to running.
 
| align="left"  | Technically changing state from stopped to running.
|-
 
  
| align="left"  | 8
+
|-
 +
| align="left"  | 9
 
| align="left"  | Paused, backing up
 
| align="left"  | Paused, backing up
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  | Technically migrating to file.
 
| align="left"  | Technically migrating to file.
|-
 
  
| align="left"  | 9
+
|-
 +
| align="left"  | 10
 
| align="left"  | Paused, migrating
 
| align="left"  | Paused, migrating
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  | The vm is being migrated to this node.
 
| align="left"  | The vm is being migrated to this node.
|-
 
  
| align="left"  | 10
 
| align="left"  | Running
 
| align="center" |
 
| align="center" |
 
| align="center" |
 
| align="center" |
 
 
| align="center" |
 
| align="center" |
 
| align="center" |
 
| align="center" |
 
| align="center" |
 
| align="center" |
 
| align="left"  |
 
 
|-
 
|-
 
 
| align="left"  | 11
 
| align="left"  | 11
 
| align="left"  | Running, backing up
 
| align="left"  | Running, backing up
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | (x) <ref name="TechnicalClarificationNeeded"/>
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  | Technically merging, retaining, streaming.
 
| align="left"  | Technically merging, retaining, streaming.
|-
 
  
 +
|-
 
| align="left"  | 12
 
| align="left"  | 12
 
| align="left"  | Running, migrating
 
| align="left"  | Running, migrating
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  | The vm is being migrated away from this node.
 
| align="left"  | The vm is being migrated away from this node.
|-
 
  
 +
|-
 
| align="left"  | 13
 
| align="left"  | 13
 
| align="left"  | Running, first installation
 
| align="left"  | Running, first installation
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  | If sstVirtualMachineMode is set to first installation.
 
| align="left"  | If sstVirtualMachineMode is set to first installation.
|-
 
  
 +
|-
 
| align="left"  | 14
 
| align="left"  | 14
 
| align="left"  | Running, maintenance mode
 
| align="left"  | Running, maintenance mode
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  | If sstVirtualMachineMode is set to maintenance mode.
 
| align="left"  | If sstVirtualMachineMode is set to maintenance mode.
|-
 
  
 +
|-
 
| align="left"  | 15
 
| align="left"  | 15
| align="left"  | Shutting down
+
| align="left"  | Running, Do not use
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
  
| align="center" |  
+
| align="center" | (x) <ref name="RestrictionsRequired"/>
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="left"  |  
+
| 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"  | Powering off
+
| align="left"  | Shutting down
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  |  
 
| align="left"  |  
|-
 
  
 +
|-
 
| align="left"  | 17
 
| align="left"  | 17
| align="left"  | Deleting
+
| align="left"  | Powering off
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | x
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
 
| align="left"  |  
 
| align="left"  |  
|-
 
  
 +
|-
 
| align="left"  | 18
 
| align="left"  | 18
| align="left"  | Do not use
+
| align="left"  | Deleting
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" style="background-color:Silver;" |  
| align="center" |  
+
| align="center" | -
| align="center" |  
+
| align="center" | -
| align="left"  | If sstVirtualMachineMode does not exist.
+
| align="left"  |  
|-
+
  
 
|}
 
|}
Line 615: Line 609:
 
==References==
 
==References==
 
<references>
 
<references>
<ref name=LaterTechnicalClarificationNeeded>Should be implementable, but clarification needed on how it works.</ref>
+
<ref name=TechnicalClarificationNeeded>Later. Should be implementable, but clarification needed on how it works.</ref>
<ref name=LaterRestrictionsRequired>Function can be made available partially (for example: memory adjustments possible, disk not).</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 the 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>
 
</references>
  
 
[[Category:stoney conductor]][[Category: Lean Provisioning]]
 
[[Category:stoney conductor]][[Category: Lean Provisioning]]

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.