fixup! KVM SR: Update readme about resilience.
[slapos.git] / software / kvm / README.txt
1 kvm
2 ===
3
4 Introduction
5 ------------
6
7 This software release is used to deploy KVM instances, NBD instances and
8 Frontend instances of KVM.
9
10 For extensive parameters definition, please look at parameter-input-schema.json.
11
12 Examples
13 --------
14
15 The following examples list how to request different possible instances of KVM
16 Software Release from slap console or command line.
17
18 KVM instance (1GB of RAM, 10GB of SSD, one core)
19 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20
21 Note that the KVM instance will try to request a frontend slave instance in order
22 to be accessible from IPv4.
23
24 ::
25   myawesomekvm = request(
26       software_release=kvm,
27       partition_reference="My awesome KVM",
28       partition_parameter_kw={
29           "nbd-host":"ubuntu-1204.nbd.vifib.net",
30       }
31   )
32
33 See the instance-kvm-input-schema.json file for more instance parameters (cpu-count, ram-size, disk-size, etc).
34
35
36 KVM instance (1GB of RAM, 10GB of SSD, one core)
37 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38
39 Note that the KVM instance will try to request a frontend slave instance in order
40 to be accessible from IPv4.
41
42 ::
43   myawesomekvm = request(
44       software_release=kvm,
45       partition_reference="My awesome KVM",
46       partition_parameter_kw={
47           "nbd-host":"ubuntu-1204.nbd.vifib.net",
48       }
49   )
50
51 See the instance-kvm-input-schema.json file for more instance parameters (cpu-count, ram-size, disk-size, etc).
52
53 Resilient KVM instance
54 ~~~~~~~~~~~~~~~~~~~~~
55
56 Like KVM instance, but backed-up (with history) in two places.
57
58 ::
59   kvm = 'http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/tags/slapos-0.188:/software/kvm/software.cfg'
60   myresilientkvm = request(
61       software_release=kvm,
62       partition_reference="My resilient KVM",
63       software_type="kvm-resilient",
64       partition_parameter_kw={
65           "-sla-0-computer_guid": "COMP-1000", # Location of the main instance (KVM)
66           "-sla-1-computer_guid": "COMP-1001", # Location of the first clone
67           "-sla-2-computer_guid": "COMP-1002", # Location of the second clone
68       }
69   )
70
71 See the instance-kvm-input-schema.json AND instance-kvm-resilient-input-schema.json AND /stack/resilient/README.txt
72 files for more instance parameters (cpu-count, ram-size, disk-size, specific location of clones, etc).
73
74 Then, if you want one of the two clones to takeover, you need to login into
75 the hosting machine, go to the partition of the clone, and invoke bin/takeover.
76
77
78 KVM Frontend Master Instance (will host all frontend Slave Instances)
79 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80
81 This type of instance will allow to host any frontend slave instance requested
82 by KVM instances. Slave instances (and thus KVM instance) will be accessible
83 at : https://mydomain.com/instancereference .
84
85 ::
86   mykvmfrontend = request(
87       software_release=kvm,
88       partition_reference="mykvmfrontend",
89       partition_parameter_kw={
90           "domain":"mydomain.com"
91       },
92       software_type="frontend",
93   )