Hello community, here is the log from the commit of package perl-Sys-Virt for openSUSE:Factory checked in at 2016-07-14 09:43:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Sys-Virt (Old) and /work/SRC/openSUSE:Factory/.perl-Sys-Virt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Sys-Virt" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Sys-Virt/perl-Sys-Virt.changes 2016-06-29 15:10:37.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Sys-Virt.new/perl-Sys-Virt.changes 2016-07-14 09:43:42.000000000 +0200 @@ -1,0 +2,6 @@ +Fri Jul 1 18:05:10 UTC 2016 - [email protected] + +- Update to 2.0.0 + - Add all new APIs and constants in libvirt 2.0.0 + +------------------------------------------------------------------- Old: ---- Sys-Virt-1.3.5.tar.gz New: ---- Sys-Virt-2.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Sys-Virt.spec ++++++ --- /var/tmp/diff_new_pack.VgxbXW/_old 2016-07-14 09:43:43.000000000 +0200 +++ /var/tmp/diff_new_pack.VgxbXW/_new 2016-07-14 09:43:43.000000000 +0200 @@ -17,7 +17,7 @@ Name: perl-Sys-Virt -Version: 1.3.5 +Version: 2.0.0 Release: 0 %define cpan_name Sys-Virt Summary: Represent and manage a libvirt hypervisor connection ++++++ Sys-Virt-1.3.5.tar.gz -> Sys-Virt-2.0.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/Changes new/Sys-Virt-2.0.0/Changes --- old/Sys-Virt-1.3.5/Changes 2016-06-06 13:10:09.000000000 +0200 +++ new/Sys-Virt-2.0.0/Changes 2016-07-01 15:27:09.000000000 +0200 @@ -1,5 +1,15 @@ Revision history for perl module Sys::Virt +2.0.0 2016-07-01 + + - Add VIR_MIGRATE_PARAM_AUTO_CONVERGE_INITIAL and + VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT constants + - Add VIR_DOMAIN_JOB_AUTO_CONVERGE_THROTTLE constant + - Add virConnectStoragePoolEventRegisterAny and + virConnectStoragePoolEventDeregisterAny and associated + constants + - Add virDomainGetGuestVcpus and virDomainSetGuestVcpus APIs + 1.3.5 2016-06-06 - Add VIR_ERR_NO_CLIENT constant diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/META.yml new/Sys-Virt-2.0.0/META.yml --- old/Sys-Virt-1.3.5/META.yml 2016-06-06 13:10:24.000000000 +0200 +++ new/Sys-Virt-2.0.0/META.yml 2016-07-01 15:27:23.000000000 +0200 @@ -1,7 +1,7 @@ --- #YAML:1.0 name: Sys-Virt abstract: Extension for the libvirt library -version: 1.3.5 +version: 2.0.0 author: - Daniel P. Berrange <[email protected]> license: perl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/MYMETA.json new/Sys-Virt-2.0.0/MYMETA.json --- old/Sys-Virt-1.3.5/MYMETA.json 2016-06-06 13:10:15.000000000 +0200 +++ new/Sys-Virt-2.0.0/MYMETA.json 2016-07-01 15:27:14.000000000 +0200 @@ -4,7 +4,7 @@ "Daniel Berrange <[email protected]>" ], "dynamic_config" : 0, - "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.150005", + "generated_by" : "ExtUtils::MakeMaker version 7.1, CPAN::Meta::Converter version 2.150005", "license" : [ "unknown" ], @@ -42,6 +42,6 @@ } }, "release_status" : "stable", - "version" : "v1.3.5", - "x_serialization_backend" : "JSON::PP version 2.27300" + "version" : "v2.0.0", + "x_serialization_backend" : "JSON::PP version 2.27400" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/MYMETA.yml new/Sys-Virt-2.0.0/MYMETA.yml --- old/Sys-Virt-1.3.5/MYMETA.yml 2016-06-06 13:10:15.000000000 +0200 +++ new/Sys-Virt-2.0.0/MYMETA.yml 2016-07-01 15:27:14.000000000 +0200 @@ -7,7 +7,7 @@ configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 0 -generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.150005' +generated_by: 'ExtUtils::MakeMaker version 7.1, CPAN::Meta::Converter version 2.150005' license: unknown meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -24,5 +24,5 @@ Test::Pod::Coverage: '0' Time::HiRes: '0' XML::XPath: '0' -version: v1.3.5 -x_serialization_backend: 'CPAN::Meta::YAML version 0.016' +version: v2.0.0 +x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/Makefile.PL new/Sys-Virt-2.0.0/Makefile.PL --- old/Sys-Virt-1.3.5/Makefile.PL 2016-06-06 13:10:09.000000000 +0200 +++ new/Sys-Virt-2.0.0/Makefile.PL 2016-07-01 15:27:09.000000000 +0200 @@ -3,7 +3,7 @@ # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. -my $libvirtver = "1.3.5"; +my $libvirtver = "2.0.0"; my $stat = system "pkg-config --atleast-version=$libvirtver libvirt"; die "cannot run pkg-config to check libvirt version" if $stat == -1; die "libvirt >= $libvirtver is required\n" unless $stat == 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/README new/Sys-Virt-2.0.0/README --- old/Sys-Virt-1.3.5/README 2016-06-06 13:10:09.000000000 +0200 +++ new/Sys-Virt-2.0.0/README 2016-07-01 15:27:09.000000000 +0200 @@ -7,6 +7,6 @@ The only pre-requisite for this module is libvirt itself. For installation instructions, consult the INSTALL file. -The current minimum required version of libvirt is 1.3.5 +The current minimum required version of libvirt is 2.0.0 -- End diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/Virt.xs new/Sys-Virt-2.0.0/Virt.xs --- old/Sys-Virt-1.3.5/Virt.xs 2016-06-06 13:10:09.000000000 +0200 +++ new/Sys-Virt-2.0.0/Virt.xs 2016-07-01 15:27:09.000000000 +0200 @@ -159,7 +159,7 @@ #define REGISTER_CONSTANT_ULL(name, key) _populate_constant_ull(stash, #key, name) static HV * -vir_typed_param_to_hv(virTypedParameter *params, int nparams) +vir_typed_param_to_hv(virTypedParameterPtr params, int nparams) { HV *ret = (HV *)sv_2mortal((SV*)newHV()); unsigned int i; @@ -210,7 +210,7 @@ static int -vir_typed_param_from_hv(HV *newparams, virTypedParameter *params, int nparams) +vir_typed_param_from_hv(HV *newparams, virTypedParameterPtr params, int nparams) { unsigned int i; char * ptr; @@ -274,7 +274,7 @@ static void vir_typed_param_add_string_list_from_hv(HV *newparams, - virTypedParameter **params, + virTypedParameterPtr *params, int *nparams, const char *key) { @@ -282,7 +282,7 @@ return; } SSize_t nstr, i; - virTypedParameter *localparams = *params; + virTypedParameterPtr localparams = *params; SV **val = hv_fetch(newparams, key, strlen(key), 0); AV *av = (AV*)(SvRV(*val)); @@ -1171,6 +1171,82 @@ } +static int +_storage_pool_event_generic_callback(virConnectPtr con, + virStoragePoolPtr pool, + void *opaque) +{ + AV *data = opaque; + SV **self; + SV **cb; + SV *poolref; + dSP; + + self = av_fetch(data, 0, 0); + cb = av_fetch(data, 1, 0); + + SvREFCNT_inc(*self); + + ENTER; + SAVETMPS; + + PUSHMARK(SP); + XPUSHs(*self); + poolref = sv_newmortal(); + sv_setref_pv(poolref, "Sys::Virt::StoragePool", (void*)pool); + virStoragePoolRef(pool); + XPUSHs(poolref); + PUTBACK; + + call_sv(*cb, G_DISCARD); + + FREETMPS; + LEAVE; + + return 0; +} + + +static int +_storage_pool_event_lifecycle_callback(virConnectPtr con, + virStoragePoolPtr pool, + int event, + int detail, + void *opaque) +{ + AV *data = opaque; + SV **self; + SV **cb; + SV *poolref; + dSP; + + self = av_fetch(data, 0, 0); + cb = av_fetch(data, 1, 0); + + SvREFCNT_inc(*self); + + ENTER; + SAVETMPS; + + PUSHMARK(SP); + XPUSHs(*self); + poolref = sv_newmortal(); + sv_setref_pv(poolref, "Sys::Virt::StoragePool", (void*)pool); + virStoragePoolRef(pool); + XPUSHs(poolref); + XPUSHs(sv_2mortal(newSViv(event))); + XPUSHs(sv_2mortal(newSViv(detail))); + PUTBACK; + + call_sv(*cb, G_DISCARD); + + FREETMPS; + LEAVE; + + return 0; +} + + static void _domain_event_free(void *opaque) { @@ -1188,6 +1264,14 @@ static void +_storage_pool_event_free(void *opaque) +{ + SV *sv = opaque; + SvREFCNT_dec(sv); +} + + +static void _close_callback(virConnectPtr con, int reason, void *opaque) @@ -2152,7 +2236,7 @@ virConnectPtr conn; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; CODE: nparams = 0; @@ -2178,7 +2262,7 @@ HV *newparams; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; PPCODE: nparams = 0; @@ -3151,6 +3235,56 @@ virConnectNetworkEventDeregisterAny(con, callbackID); +int +storage_pool_event_register_any(conref, poolref, eventID, cb) + SV* conref; + SV* poolref; + int eventID; + SV* cb; +PREINIT: + AV *opaque; + virConnectPtr con; + virStoragePoolPtr net; + virConnectStoragePoolEventGenericCallback callback; + CODE: + con = (virConnectPtr)SvIV((SV*)SvRV(conref)); + if (SvROK(poolref)) { + net = (virStoragePoolPtr)SvIV((SV*)SvRV(poolref)); + } else { + net = NULL; + } + + switch (eventID) { + case VIR_STORAGE_POOL_EVENT_ID_LIFECYCLE: + callback = VIR_STORAGE_POOL_EVENT_CALLBACK(_storage_pool_event_lifecycle_callback); + break; + case VIR_STORAGE_POOL_EVENT_ID_REFRESH: + callback = VIR_STORAGE_POOL_EVENT_CALLBACK(_storage_pool_event_generic_callback); + break; + default: + callback = VIR_STORAGE_POOL_EVENT_CALLBACK(_storage_pool_event_generic_callback); + break; + } + + opaque = newAV(); + SvREFCNT_inc(cb); + SvREFCNT_inc(conref); + av_push(opaque, conref); + av_push(opaque, cb); + if ((RETVAL = virConnectStoragePoolEventRegisterAny(con, net, eventID, callback, opaque, _storage_pool_event_free)) < 0) + _croak_error(); +OUTPUT: + RETVAL + + +void +storage_pool_event_deregister_any(con, callbackID) + virConnectPtr con; + int callbackID; + PPCODE: + virConnectStoragePoolEventDeregisterAny(con, callbackID); + + void register_close_callback(conref, cb) SV* conref; @@ -3784,7 +3918,7 @@ unsigned int flags; PREINIT: int type; - virTypedParameter *params; + virTypedParameterPtr params; int nparams; HV *paramsHv; SV *typeSv; @@ -3883,7 +4017,7 @@ HV *newparams; unsigned long flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; PPCODE: nparams = 3; @@ -3958,7 +4092,7 @@ virDomainPtr dom; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; char *type; CODE: @@ -3990,7 +4124,7 @@ HV *newparams; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; char *type; PPCODE: @@ -4026,14 +4160,14 @@ virDomainPtr dom; unsigned int flags; PREINIT: - virMemoryParameter *params; + virTypedParameterPtr params; int nparams; CODE: nparams = 0; if (virDomainGetMemoryParameters(dom, NULL, &nparams, flags) < 0) _croak_error(); - Newx(params, nparams, virMemoryParameter); + Newx(params, nparams, virTypedParameter); if (virDomainGetMemoryParameters(dom, params, &nparams, flags) < 0) { Safefree(params); @@ -4052,14 +4186,14 @@ HV *newparams; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; PPCODE: nparams = 0; if (virDomainGetMemoryParameters(dom, NULL, &nparams, flags) < 0) _croak_error(); - Newx(params, nparams, virMemoryParameter); + Newx(params, nparams, virTypedParameter); if (virDomainGetMemoryParameters(dom, params, &nparams, flags) < 0) { Safefree(params); @@ -4078,7 +4212,7 @@ virDomainPtr dom; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; CODE: nparams = 0; @@ -4104,7 +4238,7 @@ HV *newparams; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; PPCODE: nparams = 0; @@ -4130,7 +4264,7 @@ virDomainPtr dom; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; CODE: nparams = 0; @@ -4156,7 +4290,7 @@ HV *newparams; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; PPCODE: nparams = 0; @@ -4183,7 +4317,7 @@ virDomainPtr dom; unsigned int flags; PREINIT: - virTypedParameter *params = NULL; + virTypedParameterPtr params = NULL; int nparams = 0; CODE: if (virDomainGetPerfEvents(dom, ¶ms, &nparams, flags) < 0) { @@ -4203,7 +4337,7 @@ HV *newparams; unsigned int flags; PREINIT: - virTypedParameter *params = NULL; + virTypedParameterPtr params = NULL; int nparams = 0; PPCODE: if (virDomainGetPerfEvents(dom, ¶ms, &nparams, flags) < 0) { @@ -4299,6 +4433,34 @@ void +set_guest_vcpus(dom, cpumap, state, flags=0) + virDomainPtr dom; + const char *cpumap; + int state; + unsigned int flags; + PPCODE: + if (virDomainSetGuestVcpus(dom, cpumap, state, flags) < 0) + _croak_error(); + + +HV * +get_guest_vcpus(dom, flags=0) + virDomainPtr dom; + unsigned int flags; + PREINIT: + virTypedParameterPtr params; + unsigned int nparams; + CODE: + if (virDomainGetGuestVcpus(dom, ¶ms, &nparams, flags) < 0) { + _croak_error(); + } + RETVAL = vir_typed_param_to_hv(params, nparams); + virTypedParamsFree(params, nparams); + OUTPUT: + RETVAL + + +void set_autostart(dom, autostart) virDomainPtr dom; int autostart; @@ -4481,10 +4643,10 @@ HV *newparams; unsigned long flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; CODE: - nparams = 13; + nparams = 15; Newx(params, nparams, virTypedParameter); strncpy(params[0].field, VIR_MIGRATE_PARAM_URI, @@ -4539,6 +4701,14 @@ VIR_TYPED_PARAM_FIELD_LENGTH); params[12].type = VIR_TYPED_PARAM_STRING; + strncpy(params[13].field, VIR_MIGRATE_PARAM_AUTO_CONVERGE_INITIAL, + VIR_TYPED_PARAM_FIELD_LENGTH); + params[13].type = VIR_TYPED_PARAM_INT; + + strncpy(params[14].field, VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT, + VIR_TYPED_PARAM_FIELD_LENGTH); + params[14].type = VIR_TYPED_PARAM_INT; + nparams = vir_typed_param_from_hv(newparams, params, nparams); vir_typed_param_add_string_list_from_hv(newparams, ¶ms, &nparams, @@ -4564,10 +4734,10 @@ HV *newparams; unsigned long flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; PPCODE: - nparams = 13; + nparams = 15; Newx(params, nparams, virTypedParameter); strncpy(params[0].field, VIR_MIGRATE_PARAM_URI, @@ -4622,6 +4792,14 @@ VIR_TYPED_PARAM_FIELD_LENGTH); params[12].type = VIR_TYPED_PARAM_STRING; + strncpy(params[13].field, VIR_MIGRATE_PARAM_AUTO_CONVERGE_INITIAL, + VIR_TYPED_PARAM_FIELD_LENGTH); + params[13].type = VIR_TYPED_PARAM_INT; + + strncpy(params[14].field, VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT, + VIR_TYPED_PARAM_FIELD_LENGTH); + params[14].type = VIR_TYPED_PARAM_INT; + nparams = vir_typed_param_from_hv(newparams, params, nparams); vir_typed_param_add_string_list_from_hv(newparams, ¶ms, &nparams, @@ -4759,7 +4937,7 @@ const char *disk; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; CODE: nparams = 0; @@ -4786,7 +4964,7 @@ HV *newparams; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; PPCODE: nparams = 0; @@ -4810,7 +4988,7 @@ const char *intf; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; CODE: nparams = 0; @@ -4837,7 +5015,7 @@ HV *newparams; unsigned int flags; PREINIT: - virTypedParameter *params; + virTypedParameterPtr params; int nparams; PPCODE: nparams = 0; @@ -4862,7 +5040,7 @@ unsigned int flags; PREINIT: virDomainBlockStatsStruct stats; - virTypedParameter *params; + virTypedParameterPtr params; int nparams; unsigned int i; const char *field; @@ -7667,6 +7845,8 @@ REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_COMPRESSION_MT_LEVEL, MIGRATE_PARAM_COMPRESSION_MT_LEVEL); REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_COMPRESSION_XBZRLE_CACHE, MIGRATE_PARAM_COMPRESSION_XBZRLE_CACHE); 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(VIR_DOMAIN_XML_SECURE, XML_SECURE); REGISTER_CONSTANT(VIR_DOMAIN_XML_INACTIVE, XML_INACTIVE); @@ -7804,6 +7984,7 @@ REGISTER_CONSTANT(VIR_DOMAIN_JOB_STATS_COMPLETED, JOB_STATS_COMPLETED); + REGISTER_CONSTANT_STR(VIR_DOMAIN_JOB_AUTO_CONVERGE_THROTTLE, JOB_AUTO_CONVERGE_THROTTLE); REGISTER_CONSTANT_STR(VIR_DOMAIN_JOB_COMPRESSION_BYTES, JOB_COMPRESSION_BYTES); REGISTER_CONSTANT_STR(VIR_DOMAIN_JOB_COMPRESSION_CACHE, JOB_COMPRESSION_CACHE); REGISTER_CONSTANT_STR(VIR_DOMAIN_JOB_COMPRESSION_CACHE_MISSES, JOB_COMPRESSION_CACHE_MISSES); @@ -8242,6 +8423,15 @@ REGISTER_CONSTANT(VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER, LIST_GLUSTER); REGISTER_CONSTANT(VIR_CONNECT_LIST_STORAGE_POOLS_ZFS, LIST_ZFS); + REGISTER_CONSTANT(VIR_STORAGE_POOL_EVENT_ID_LIFECYCLE, EVENT_ID_LIFECYCLE); + REGISTER_CONSTANT(VIR_STORAGE_POOL_EVENT_ID_REFRESH, EVENT_ID_REFRESH); + + REGISTER_CONSTANT(VIR_STORAGE_POOL_EVENT_DEFINED, EVENT_DEFINED); + REGISTER_CONSTANT(VIR_STORAGE_POOL_EVENT_UNDEFINED, EVENT_UNDEFINED); + REGISTER_CONSTANT(VIR_STORAGE_POOL_EVENT_STARTED, EVENT_STARTED); + REGISTER_CONSTANT(VIR_STORAGE_POOL_EVENT_STOPPED, EVENT_STOPPED); + + stash = gv_stashpv( "Sys::Virt::Network", TRUE ); REGISTER_CONSTANT(VIR_NETWORK_XML_INACTIVE, XML_INACTIVE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/lib/Sys/Virt/Domain.pm new/Sys-Virt-2.0.0/lib/Sys/Virt/Domain.pm --- old/Sys-Virt-1.3.5/lib/Sys/Virt/Domain.pm 2016-06-06 13:10:09.000000000 +0200 +++ new/Sys-Virt-2.0.0/lib/Sys/Virt/Domain.pm 2016-07-01 15:27:09.000000000 +0200 @@ -695,6 +695,40 @@ The optional C<$flags> parameter can be used to control whether to query the setting of the live config or inactive config. +=item $dom->set_guest_vcpus($cpumap, $state, [$flags=0]) + +Set the online status of the guest OS CPUs. The C<$cpumap> +parameter describes the set of CPUs to modify (eg "0-3,^1"). +C<$state> is either B<1> to set the CPUs online, or B<0> +to set them offline. The C<$flags> parameter is currently +unused and defaults to 0. + +=item $info $dom->get_guest_vcpus([$flags=0]) + +Query information about the guest OS CPUs. The returned +data is a hash reference with the following keys. + +=over 4 + +=item B<vcpus> + +String containing bitmap representing CPU ids reported +currently known to the guest. + +=item B<online> + +String containing bitmap representing CPU ids that are +currently online in the guest. + +=item B<offlinable> + +String containing bitmap representing CPU ids that can +be offlined in the guest. + +=back + +The C<$flags> parameter is currently unused and defaults to 0. + =item $type = $dom->get_scheduler_type() Return the scheduler type for the guest domain @@ -1053,6 +1087,15 @@ The alternative persistent XML config to copy +=item C<Sys::Virt::Domain::MIGRATE_PARAM_AUTO_CONVERGE_INITIAL> + +The initial percentage to throttle guest vCPUs + +=item C<Sys::Virt::Domain::MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT> + +The additional percentage step size to throttle guest vCPUs if +progress is not made + =back =item $ddom = $dom->migrate(destcon, flags=0, dname=undef, uri=undef, bandwidth=0) @@ -1522,6 +1565,10 @@ The bytes per second transferred +=item Sys::Virt::Domain::JOB_AUTO_CONVERGE_THROTTLE + +The percentage by which vCPUs are currently throttled + =item Sys::Virt::Domain::JOB_COMPRESSION_CACHE The size of the compression cache in bytes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/lib/Sys/Virt/StoragePool.pm new/Sys-Virt-2.0.0/lib/Sys/Virt/StoragePool.pm --- old/Sys-Virt-1.3.5/lib/Sys/Virt/StoragePool.pm 2016-06-06 13:10:09.000000000 +0200 +++ new/Sys-Virt-2.0.0/lib/Sys/Virt/StoragePool.pm 2016-07-01 15:27:09.000000000 +0200 @@ -477,6 +477,47 @@ =back +=head2 EVENT ID CONSTANTS + +=over 4 + +=item Sys::Virt::StoragePool::EVENT_ID_LIFECYCLE + +Storage pool lifecycle events + +=item Sys::Virt::StoragePool::EVENT_ID_REFRESH + +Storage pool volume refresh events + +=back + +=head2 LIFECYCLE CHANGE EVENTS + +The following constants allow network lifecycle change events to be +interpreted. The events contain both a state change, and a +reason though the reason is currently unsed. + +=over 4 + +=item Sys::Virt::StoragePool::EVENT_DEFINED + +Indicates that a persistent configuration has been defined for +the network. + +=item Sys::Virt::StoragePool::EVENT_STARTED + +The network has started running + +=item Sys::Virt::StoragePool::EVENT_STOPPED + +The network has stopped running + +=item Sys::Virt::StoragePool::EVENT_UNDEFINED + +The persistent configuration has gone away + +=back + =head1 AUTHORS Daniel P. Berrange <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/lib/Sys/Virt.pm new/Sys-Virt-2.0.0/lib/Sys/Virt.pm --- old/Sys-Virt-1.3.5/lib/Sys/Virt.pm 2016-06-06 13:10:09.000000000 +0200 +++ new/Sys-Virt-2.0.0/lib/Sys/Virt.pm 2016-07-01 15:27:09.000000000 +0200 @@ -78,7 +78,7 @@ use Sys::Virt::DomainSnapshot; use Sys::Virt::Stream; -our $VERSION = '1.3.5'; +our $VERSION = '2.0.0'; require XSLoader; XSLoader::load('Sys::Virt', $VERSION); @@ -1494,7 +1494,7 @@ a subroutine reference that will receive the events. All callbacks receive a C<Sys::Virt> connection as the first parameter -and a C<Sys::Virt::Domain> object indiciating the domain on which the +and a C<Sys::Virt::Domain> object indicating the domain on which the event occurred as the second parameter. Subsequent parameters vary according to the event type @@ -1548,17 +1548,17 @@ Unregister a callback, associated with the C<$callbackID> previously obtained from C<domain_event_register_any>. -=item $callback = $conn->network_event_register_any($dom, $eventID, $callback) +=item $callback = $conn->network_event_register_any($net, $eventID, $callback) Register a callback to received notifications of network events. -The C<$dom> parameter can be C<undef> to request events on all +The C<$net> parameter can be C<undef> to request events on all known networks, or a specific C<Sys::Virt::Network> object to filter events. The C<$eventID> parameter is one of the EVENT ID constants described later in this document. The C<$callback> is a subroutine reference that will receive the events. All callbacks receive a C<Sys::Virt> connection as the first parameter -and a C<Sys::Virt::Network> object indiciating the network on which the +and a C<Sys::Virt::Network> object indicating the network on which the event occurred as the second parameter. Subsequent parameters vary according to the event type @@ -1580,6 +1580,42 @@ Unregister a callback, associated with the C<$callbackID> previously obtained from C<network_event_register_any>. +=item $callback = $conn->storage_pool_event_register_any($pool, $eventID, $callback) + +Register a callback to received notifications of storage pool events. +The C<$pool> parameter can be C<undef> to request events on all +known storage pools, or a specific C<Sys::Virt::StoragePool> object +to filter events. The C<$eventID> parameter is one of the EVENT ID +constants described later in this document. The C<$callback> is +a subroutine reference that will receive the events. + +All callbacks receive a C<Sys::Virt> connection as the first parameter +and a C<Sys::Virt::StoragePool> object indicating the storage pool on +which the event occurred as the second parameter. Subsequent parameters +vary according to the event type + +=over + +=item EVENT_ID_LIFECYCLE + +Extra C<event> and C<detail> parameters defining the lifecycle +transition that occurred. + +=item EVENT_ID_REFRESH + +No extra parameters. + +=back + +The return value is a unique callback ID that must be used when +unregistering the event. + + +=item $conn->storage_pool_event_deregister_any($callbackID) + +Unregister a callback, associated with the C<$callbackID> previously +obtained from C<storage_pool_event_register_any>. + =item $conn->register_close_callback($coderef); Register a callback to be invoked when the connection is closed. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/perl-Sys-Virt.spec new/Sys-Virt-2.0.0/perl-Sys-Virt.spec --- old/Sys-Virt-1.3.5/perl-Sys-Virt.spec 2016-06-06 13:10:24.000000000 +0200 +++ new/Sys-Virt-2.0.0/perl-Sys-Virt.spec 2016-07-01 15:27:23.000000000 +0200 @@ -1,7 +1,7 @@ # Automatically generated by perl-Sys-Virt.spec.PL Name: perl-Sys-Virt -Version: 1.3.5 +Version: 2.0.0 Release: 1%{?dist}%{?extra_release} Summary: Represent and manage a libvirt hypervisor connection License: GPLv2+ or Artistic diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.3.5/t/030-api-coverage.t new/Sys-Virt-2.0.0/t/030-api-coverage.t --- old/Sys-Virt-1.3.5/t/030-api-coverage.t 2016-06-06 13:10:09.000000000 +0200 +++ new/Sys-Virt-2.0.0/t/030-api-coverage.t 2016-07-01 15:27:09.000000000 +0200 @@ -97,6 +97,8 @@ virConnectNetworkEventLifecycleCallback +virConnectStoragePoolEventLifecycleCallback + virEventAddHandleFunc virEventAddTimeoutFunc virEventRemoveHandleFunc @@ -173,6 +175,7 @@ VIR_DOMAIN_BLOCK_STATS_FIELD_LENGTH VIR_DOMAIN_EVENT_CALLBACK VIR_NETWORK_EVENT_CALLBACK +VIR_STORAGE_POOL_EVENT_CALLBACK VIR_DOMAIN_MEMORY_FIELD_LENGTH VIR_DOMAIN_MEMORY_PARAM_UNLIMITED VIR_DOMAIN_SCHED_FIELD_LENGTH ++++++ suse-set-migration-constraints.patch ++++++ --- /var/tmp/diff_new_pack.VgxbXW/_old 2016-07-14 09:43:44.000000000 +0200 +++ /var/tmp/diff_new_pack.VgxbXW/_new 2016-07-14 09:43:44.000000000 +0200 @@ -2,78 +2,78 @@ References: fate#316614, bsc#859868 -Index: Sys-Virt-1.3.5/Virt.xs +Index: Sys-Virt-2.0.0/Virt.xs =================================================================== ---- Sys-Virt-1.3.5.orig/Virt.xs -+++ Sys-Virt-1.3.5/Virt.xs -@@ -4484,7 +4484,7 @@ _migrate(dom, destcon, newparams, flags= - virTypedParameter *params; +--- 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 = 13; -+ nparams = 17; +- nparams = 15; ++ nparams = 19; Newx(params, nparams, virTypedParameter); strncpy(params[0].field, VIR_MIGRATE_PARAM_URI, -@@ -4539,6 +4539,22 @@ _migrate(dom, destcon, newparams, flags= +@@ -4709,6 +4709,22 @@ _migrate(dom, destcon, newparams, flags= VIR_TYPED_PARAM_FIELD_LENGTH); - params[12].type = VIR_TYPED_PARAM_STRING; + params[14].type = VIR_TYPED_PARAM_INT; -+ strncpy(params[13].field, VIR_MIGRATE_PARAM_SUSE_MAX_ITERS, ++ strncpy(params[15].field, VIR_MIGRATE_PARAM_SUSE_MAX_ITERS, + VIR_TYPED_PARAM_FIELD_LENGTH); -+ params[13].type = VIR_TYPED_PARAM_UINT; ++ params[15].type = VIR_TYPED_PARAM_UINT; + -+ strncpy(params[14].field, VIR_MIGRATE_PARAM_SUSE_MAX_FACTOR, ++ strncpy(params[16].field, VIR_MIGRATE_PARAM_SUSE_MAX_FACTOR, + VIR_TYPED_PARAM_FIELD_LENGTH); -+ params[14].type = VIR_TYPED_PARAM_UINT; ++ params[16].type = VIR_TYPED_PARAM_UINT; + -+ strncpy(params[15].field, VIR_MIGRATE_PARAM_SUSE_MIN_REMAINING, ++ strncpy(params[17].field, VIR_MIGRATE_PARAM_SUSE_MIN_REMAINING, + VIR_TYPED_PARAM_FIELD_LENGTH); -+ params[15].type = VIR_TYPED_PARAM_UINT; ++ params[17].type = VIR_TYPED_PARAM_UINT; + -+ strncpy(params[16].field, VIR_MIGRATE_PARAM_SUSE_ABORT_IF_BUSY, ++ strncpy(params[18].field, VIR_MIGRATE_PARAM_SUSE_ABORT_IF_BUSY, + VIR_TYPED_PARAM_FIELD_LENGTH); -+ params[16].type = VIR_TYPED_PARAM_UINT; ++ 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, -@@ -4567,7 +4583,7 @@ _migrate_to_uri(dom, desturi, newparams, - virTypedParameter *params; +@@ -4737,7 +4753,7 @@ _migrate_to_uri(dom, desturi, newparams, + virTypedParameterPtr params; int nparams; PPCODE: -- nparams = 13; -+ nparams = 17; +- nparams = 15; ++ nparams = 19; Newx(params, nparams, virTypedParameter); strncpy(params[0].field, VIR_MIGRATE_PARAM_URI, -@@ -4622,6 +4638,22 @@ _migrate_to_uri(dom, desturi, newparams, +@@ -4800,6 +4816,22 @@ _migrate_to_uri(dom, desturi, newparams, VIR_TYPED_PARAM_FIELD_LENGTH); - params[12].type = VIR_TYPED_PARAM_STRING; + params[14].type = VIR_TYPED_PARAM_INT; -+ strncpy(params[13].field, VIR_MIGRATE_PARAM_SUSE_MAX_ITERS, ++ strncpy(params[15].field, VIR_MIGRATE_PARAM_SUSE_MAX_ITERS, + VIR_TYPED_PARAM_FIELD_LENGTH); -+ params[13].type = VIR_TYPED_PARAM_UINT; ++ params[15].type = VIR_TYPED_PARAM_UINT; + -+ strncpy(params[14].field, VIR_MIGRATE_PARAM_SUSE_MAX_FACTOR, ++ strncpy(params[16].field, VIR_MIGRATE_PARAM_SUSE_MAX_FACTOR, + VIR_TYPED_PARAM_FIELD_LENGTH); -+ params[14].type = VIR_TYPED_PARAM_UINT; ++ params[16].type = VIR_TYPED_PARAM_UINT; + -+ strncpy(params[15].field, VIR_MIGRATE_PARAM_SUSE_MIN_REMAINING, ++ strncpy(params[17].field, VIR_MIGRATE_PARAM_SUSE_MIN_REMAINING, + VIR_TYPED_PARAM_FIELD_LENGTH); -+ params[15].type = VIR_TYPED_PARAM_UINT; ++ params[17].type = VIR_TYPED_PARAM_UINT; + -+ strncpy(params[16].field, VIR_MIGRATE_PARAM_SUSE_ABORT_IF_BUSY, ++ strncpy(params[18].field, VIR_MIGRATE_PARAM_SUSE_ABORT_IF_BUSY, + VIR_TYPED_PARAM_FIELD_LENGTH); -+ params[16].type = VIR_TYPED_PARAM_UINT; ++ 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, -@@ -7667,6 +7699,10 @@ BOOT: - REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_COMPRESSION_MT_LEVEL, MIGRATE_PARAM_COMPRESSION_MT_LEVEL); - REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_COMPRESSION_XBZRLE_CACHE, MIGRATE_PARAM_COMPRESSION_XBZRLE_CACHE); +@@ -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); @@ -81,13 +81,13 @@ REGISTER_CONSTANT(VIR_DOMAIN_XML_SECURE, XML_SECURE); REGISTER_CONSTANT(VIR_DOMAIN_XML_INACTIVE, XML_INACTIVE); -Index: Sys-Virt-1.3.5/lib/Sys/Virt/Domain.pm +Index: Sys-Virt-2.0.0/lib/Sys/Virt/Domain.pm =================================================================== ---- Sys-Virt-1.3.5.orig/lib/Sys/Virt/Domain.pm -+++ Sys-Virt-1.3.5/lib/Sys/Virt/Domain.pm -@@ -1053,6 +1053,22 @@ The size of the cache for xbzrle compres - - The alternative persistent XML config to copy +--- 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> +
