File suse-set-migration-constraints.patch of Package perl-Sys-Virt
Add migration constraint parameters to libvirt perl bindings
References: fate#316614, bsc#859868
Index: Sys-Virt-2.0.0/Virt.xs
===================================================================
--- Sys-Virt-2.0.0.orig/Virt.xs
+++ Sys-Virt-2.0.0/Virt.xs
@@ -4646,7 +4646,7 @@ _migrate(dom, destcon, newparams, flags=
virTypedParameterPtr params;
int nparams;
CODE:
- nparams = 15;
+ nparams = 19;
Newx(params, nparams, virTypedParameter);
strncpy(params[0].field, VIR_MIGRATE_PARAM_URI,
@@ -4709,6 +4709,22 @@ _migrate(dom, destcon, newparams, flags=
VIR_TYPED_PARAM_FIELD_LENGTH);
params[14].type = VIR_TYPED_PARAM_INT;
+ strncpy(params[15].field, VIR_MIGRATE_PARAM_SUSE_MAX_ITERS,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[15].type = VIR_TYPED_PARAM_UINT;
+
+ strncpy(params[16].field, VIR_MIGRATE_PARAM_SUSE_MAX_FACTOR,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[16].type = VIR_TYPED_PARAM_UINT;
+
+ strncpy(params[17].field, VIR_MIGRATE_PARAM_SUSE_MIN_REMAINING,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[17].type = VIR_TYPED_PARAM_UINT;
+
+ strncpy(params[18].field, VIR_MIGRATE_PARAM_SUSE_ABORT_IF_BUSY,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[18].type = VIR_TYPED_PARAM_UINT;
+
nparams = vir_typed_param_from_hv(newparams, params, nparams);
vir_typed_param_add_string_list_from_hv(newparams, ¶ms, &nparams,
@@ -4737,7 +4753,7 @@ _migrate_to_uri(dom, desturi, newparams,
virTypedParameterPtr params;
int nparams;
PPCODE:
- nparams = 15;
+ nparams = 19;
Newx(params, nparams, virTypedParameter);
strncpy(params[0].field, VIR_MIGRATE_PARAM_URI,
@@ -4800,6 +4816,22 @@ _migrate_to_uri(dom, desturi, newparams,
VIR_TYPED_PARAM_FIELD_LENGTH);
params[14].type = VIR_TYPED_PARAM_INT;
+ strncpy(params[15].field, VIR_MIGRATE_PARAM_SUSE_MAX_ITERS,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[15].type = VIR_TYPED_PARAM_UINT;
+
+ strncpy(params[16].field, VIR_MIGRATE_PARAM_SUSE_MAX_FACTOR,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[16].type = VIR_TYPED_PARAM_UINT;
+
+ strncpy(params[17].field, VIR_MIGRATE_PARAM_SUSE_MIN_REMAINING,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[17].type = VIR_TYPED_PARAM_UINT;
+
+ strncpy(params[18].field, VIR_MIGRATE_PARAM_SUSE_ABORT_IF_BUSY,
+ VIR_TYPED_PARAM_FIELD_LENGTH);
+ params[18].type = VIR_TYPED_PARAM_UINT;
+
nparams = vir_typed_param_from_hv(newparams, params, nparams);
vir_typed_param_add_string_list_from_hv(newparams, ¶ms, &nparams,
@@ -7847,6 +7879,10 @@ BOOT:
REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_PERSIST_XML, MIGRATE_PARAM_PERSIST_XML);
REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_AUTO_CONVERGE_INITIAL, MIGRATE_PARAM_AUTO_CONVERGE_INITIAL);
REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT, MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT);
+ REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_SUSE_MAX_ITERS, MIGRATE_PARAM_SUSE_MAX_ITERS);
+ REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_SUSE_MAX_FACTOR, MIGRATE_PARAM_SUSE_MAX_FACTOR);
+ REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_SUSE_MIN_REMAINING, MIGRATE_PARAM_SUSE_MIN_REMAINING);
+ REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_SUSE_ABORT_IF_BUSY, MIGRATE_PARAM_SUSE_ABORT_IF_BUSY);
REGISTER_CONSTANT(VIR_DOMAIN_XML_SECURE, XML_SECURE);
REGISTER_CONSTANT(VIR_DOMAIN_XML_INACTIVE, XML_INACTIVE);
Index: Sys-Virt-2.0.0/lib/Sys/Virt/Domain.pm
===================================================================
--- Sys-Virt-2.0.0.orig/lib/Sys/Virt/Domain.pm
+++ Sys-Virt-2.0.0/lib/Sys/Virt/Domain.pm
@@ -1096,6 +1096,22 @@ The initial percentage to throttle guest
The additional percentage step size to throttle guest vCPUs if
progress is not made
+=item C<Sys::Virt::Domain::MIGRATE_PARAM_SUSE_MAX_ITERS>
+
+The the maximum number of iterations before final suspend
+
+=item C<Sys::Virt::Domain::MIGRATE_PARAM_SUSE_MAX_FACTOR>
+
+The maximum amount of memory to transfer before final suspend
+
+=item C<Sys::Virt::Domain::MIGRATE_PARAM_SUSE_MIN_REMAINING>
+
+The number of dirty pages before final suspend
+
+=item C<Sys::Virt::Domain::MIGRATE_PARAM_SUSE_ABORT_IF_BUSY>
+
+Abort the migration instead of doing the final suspend for VMs with busy workloads
+
=back
=item $ddom = $dom->migrate(destcon, flags=0, dname=undef, uri=undef, bandwidth=0)