forked from libvirt/libvirt-java
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDomainMigrateParameters.java
More file actions
270 lines (249 loc) · 10.6 KB
/
DomainMigrateParameters.java
File metadata and controls
270 lines (249 loc) · 10.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
package org.libvirt.parameters;
public class DomainMigrateParameters {
/**
* VIR_MIGRATE_PARAM_URI:
*
* virDomainMigrate* params field: URI to use for initiating domain migration
* as VIR_TYPED_PARAM_STRING. It takes a hypervisor specific format. The
* uri_transports element of the hypervisor capabilities XML includes details
* of the supported URI schemes. When omitted libvirt will auto-generate
* suitable default URI. It is typically only necessary to specify this URI if
* the destination host has multiple interfaces and a specific interface is
* required to transmit migration data.
*
* This field may not be used when VIR_MIGRATE_TUNNELLED flag is set.
*
* Since: 1.1.0
*/
public static final String VIR_MIGRATE_PARAM_URI = "migrate_uri";
/**
* VIR_MIGRATE_PARAM_DEST_NAME:
*
* virDomainMigrate* params field: the name to be used for the domain on the
* destination host as VIR_TYPED_PARAM_STRING. Omitting this parameter keeps
* the domain name the same. This field is only allowed to be used with
* hypervisors that support domain renaming during migration.
*
* Since: 1.1.0
*/
public static final String VIR_MIGRATE_PARAM_DEST_NAME = "destination_name";
/**
* VIR_MIGRATE_PARAM_DEST_XML:
*
* virDomainMigrate* params field: the new configuration to be used for the
* domain on the destination host as VIR_TYPED_PARAM_STRING. The configuration
* must include an identical set of virtual devices, to ensure a stable guest
* ABI across migration. Only parameters related to host side configuration
* can be changed in the XML. Hypervisors which support this field will forbid
* migration if the provided XML would cause a change in the guest ABI. This
* field cannot be used to rename the domain during migration (use
* VIR_MIGRATE_PARAM_DEST_NAME field for that purpose). Domain name in the
* destination XML must match the original domain name.
*
* Omitting this parameter keeps the original domain configuration. Using this
* field with hypervisors that do not support changing domain configuration
* during migration will result in a failure.
*
* Since: 1.1.0
*/
public static final String VIR_MIGRATE_PARAM_DEST_XML = "destination_xml";
/**
* VIR_MIGRATE_PARAM_PERSIST_XML:
*
* virDomainMigrate* params field: the new persistent configuration to be used
* for the domain on the destination host as VIR_TYPED_PARAM_STRING.
* This field cannot be used to rename the domain during migration (use
* VIR_MIGRATE_PARAM_DEST_NAME field for that purpose). Domain name in the
* destination XML must match the original domain name.
*
* Omitting this parameter keeps the original domain persistent configuration.
* Using this field with hypervisors that do not support changing domain
* configuration during migration will result in a failure.
*
* Since: 1.3.4
*/
public static final String VIR_MIGRATE_PARAM_PERSIST_XML = "persistent_xml";
/**
* VIR_MIGRATE_PARAM_BANDWIDTH:
*
* virDomainMigrate* params field: the maximum bandwidth (in MiB/s) that will
* be used for migration as VIR_TYPED_PARAM_ULLONG. If set to 0 or omitted,
* libvirt will choose a suitable default. Some hypervisors do not support this
* feature and will return an error if this field is used and is not 0.
*
* Since: 1.1.0
*/
public static final String VIR_MIGRATE_PARAM_BANDWIDTH = "bandwidth";
/**
* VIR_MIGRATE_PARAM_BANDWIDTH_POSTCOPY:
*
* virDomainMigrate* params field: the maximum bandwidth (in MiB/s) that will
* be used for post-copy phase of a migration as VIR_TYPED_PARAM_ULLONG. If set
* to 0 or omitted, post-copy migration speed will not be limited.
*
* Since: 5.1.0
*/
public static final String VIR_MIGRATE_PARAM_BANDWIDTH_POSTCOPY = "bandwidth.postcopy";
/**
* VIR_MIGRATE_PARAM_GRAPHICS_URI:
*
* virDomainMigrate* params field: URI to use for migrating client's connection
* to domain's graphical console as VIR_TYPED_PARAM_STRING. If specified, the
* client will be asked to automatically reconnect using these parameters
* instead of the automatically computed ones. This can be useful if, e.g., the
* client does not have a direct access to the network virtualization hosts are
* connected to and needs to connect through a proxy. The URI is formed as
* follows:
*
* protocol://hostname[:port]/[?parameters]
*
* where protocol is either "spice" or "vnc" and parameters is a list of
* protocol specific parameters separated by '&'. Currently recognized
* parameters are "tlsPort" and "tlsSubject". For example,
*
* spice://target.host.com:1234/?tlsPort=4567
*
* Since: 1.1.0
*/
public static final String VIR_MIGRATE_PARAM_GRAPHICS_URI = "graphics_uri";
/**
* VIR_MIGRATE_PARAM_LISTEN_ADDRESS:
*
* virDomainMigrate* params field: The listen address that hypervisor on the
* destination side should bind to for incoming migration. Both IPv4 and IPv6
* addresses are accepted as well as hostnames (the resolving is done on
* destination). Some hypervisors do not support this feature and will return
* an error if this field is used.
*
* Since: 1.1.4
*/
public static final String VIR_MIGRATE_PARAM_LISTEN_ADDRESS = "listen_address";
/**
* VIR_MIGRATE_PARAM_MIGRATE_DISKS:
*
* virDomainMigrate* params multiple field: The multiple values that list
* the block devices to be migrated. At the moment this is only supported
* by the QEMU driver but not for the tunnelled migration.
*
* Since: 1.2.17
*/
public static final String VIR_MIGRATE_PARAM_MIGRATE_DISKS = "migrate_disks";
/**
* VIR_MIGRATE_PARAM_DISKS_PORT:
*
* virDomainMigrate* params field: port that destination server should use
* for incoming disks migration. Type is VIR_TYPED_PARAM_INT. If set to 0 or
* omitted, libvirt will choose a suitable default. At the moment this is only
* supported by the QEMU driver.
*
* Since: 1.3.3
*/
public static final String VIR_MIGRATE_PARAM_DISKS_PORT = "disks_port";
/**
* VIR_MIGRATE_PARAM_DISKS_URI:
*
* virDomainMigrate* params field: URI used for incoming disks migration. Type
* is VIR_TYPED_PARAM_STRING. Only schemes "tcp" and "unix" are accepted. TCP
* URI can currently only provide a server and port to listen on (and connect
* to), UNIX URI may only provide a path component for a UNIX socket. This is
* currently only supported by the QEMU driver. UNIX URI is only usable if the
* management application makes sure that socket created with this name on the
* destination will be reachable from the source under the same exact path.
*
* Since: 6.8.0
*/
public static final String VIR_MIGRATE_PARAM_DISKS_URI = "disks_uri";
/**
* VIR_MIGRATE_PARAM_COMPRESSION:
*
* virDomainMigrate* params multiple field: name of the method used to
* compress migration traffic. Supported compression methods: xbzrle, mt.
* The parameter may be specified multiple times if more than one method
* should be used.
*
* Since: 1.3.4
*/
public static final String VIR_MIGRATE_PARAM_COMPRESSION = "compression";
/**
* VIR_MIGRATE_PARAM_COMPRESSION_MT_LEVEL:
*
* virDomainMigrate* params field: the level of compression for multithread
* compression as VIR_TYPED_PARAM_INT. Accepted values are in range 0-9.
* 0 is no compression, 1 is maximum speed and 9 is maximum compression.
*
* Since: 1.3.4
*/
public static final String VIR_MIGRATE_PARAM_COMPRESSION_MT_LEVEL = "compression.mt.level";
/**
* VIR_MIGRATE_PARAM_COMPRESSION_MT_THREADS:
*
* virDomainMigrate* params field: the number of compression threads for
* multithread compression as VIR_TYPED_PARAM_INT.
*
* Since: 1.3.4
*/
public static final String VIR_MIGRATE_PARAM_COMPRESSION_MT_THREADS = "compression.mt.threads";
/**
* VIR_MIGRATE_PARAM_COMPRESSION_MT_DTHREADS:
*
* virDomainMigrate* params field: the number of decompression threads for
* multithread compression as VIR_TYPED_PARAM_INT.
*
* Since: 1.3.4
*/
public static final String VIR_MIGRATE_PARAM_COMPRESSION_MT_DTHREADS = "compression.mt.dthreads";
/**
* VIR_MIGRATE_PARAM_COMPRESSION_XBZRLE_CACHE:
*
* virDomainMigrate* params field: the size of page cache for xbzrle
* compression as VIR_TYPED_PARAM_ULLONG.
*
* Since: 1.3.4
*/
public static final String VIR_MIGRATE_PARAM_COMPRESSION_XBZRLE_CACHE = "compression.xbzrle.cache";
/**
* VIR_MIGRATE_PARAM_AUTO_CONVERGE_INITIAL:
*
* virDomainMigrate* params field: the initial percentage guest CPUs are
* throttled to when auto-convergence decides migration is not converging.
* As VIR_TYPED_PARAM_INT.
*
* Since: 2.0.0
*/
public static final String VIR_MIGRATE_PARAM_AUTO_CONVERGE_INITIAL = "auto_converge.initial";
/**
* VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT:
*
* virDomainMigrate* params field: the increment added to
* VIR_MIGRATE_PARAM_AUTO_CONVERGE_INITIAL whenever the hypervisor decides
* the current rate is not enough to ensure convergence of the migration.
* As VIR_TYPED_PARAM_INT.
*
* Since: 2.0.0
*/
public static final String VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT = "auto_converge.increment";
/**
* VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS:
*
* virDomainMigrate* params field: number of connections used during parallel
* migration. As VIR_TYPED_PARAM_INT.
*
* Since: 5.2.0
*/
public static final String VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS = "parallel.connections";
/**
* VIR_MIGRATE_PARAM_TLS_DESTINATION:
*
* virDomainMigrate* params field: override the destination host name used for
* TLS verification. As VIR_TYPED_PARAM_STRING.
*
* Normally the TLS certificate from the destination host must match the host's
* name for TLS verification to succeed. When the certificate does not match
* the destination hostname and the expected certificate's hostname is known,
* this parameter can be used to pass this expected hostname when starting
* the migration.
*
* Since: 6.0.0
*/
public static final String VIR_MIGRATE_PARAM_TLS_DESTINATION = "tls.destination";
}