[libvirt] [PATCH v2 0/3] Defer Admin API enablement post-release

Even when rushing, you sometimes don't finish what you want. And I'd rather chosen safe road and avoid risks. And we have no usable API function in the admin API or a client binary just yet. Hence the temporary disablement in the second patch. First patch is a clean-up that's supposed to stay in even after release, second is designed to be cleanly reverted after release. Third patch moves the version back from 1.3.0 to 1.2.17, but is highly optional, meaning if anyone has a preference whether to take it in or not just express your opinion, it doesn't really matter. If yes, then I'll also change the version back in libvirt-python. Martin Kletzander (3): spec: Remove admin package specification Temporarily disable admin API Revert "Change livbirt version to 1.3.0 for the next release" Makefile.am | 2 +- configure.ac | 2 +- daemon/libvirtd.c | 3 ++- docs/Makefile.am | 5 ++--- docs/formatdomain.html.in | 6 +++--- include/libvirt/Makefile.am | 5 +++-- libvirt.spec.in | 21 ++++----------------- src/libvirt_public.syms | 2 +- src/vz/vz_driver.c | 8 ++++---- 9 files changed, 21 insertions(+), 33 deletions(-) -- 2.4.4

Its only file must be included in the daemon package anyway, since the daemon is linked with the admin library and so then it's just an empty package until we have virt-admin binary which we can decide later on whether to just move it to clients or create a new package for it. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- libvirt.spec.in | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index dcd174a40e03..e1a15f4300ab 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -1216,15 +1216,6 @@ Includes the Sanlock lock manager plugin for the QEMU driver %endif -%package admin -Summary: Client side library and binary for the libvirt admin interface -Group: Development/Libraries -Requires: readline -Requires: %{name}-client = %{version}-%{release} - -%description admin -Shared library and client for admin access to libvirt daemon - %prep %setup -q @@ -2219,10 +2210,6 @@ exit 0 %attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper %endif -%files admin -%defattr(-, root, root) -%{_libdir}/libvirt-admin.so.* - %files client -f %{name}.lang %defattr(-, root, root) %doc COPYING COPYING.LESSER @@ -2239,6 +2226,7 @@ exit 0 %{_libdir}/libvirt.so.* %{_libdir}/libvirt-qemu.so.* %{_libdir}/libvirt-lxc.so.* +%{_libdir}/libvirt-admin.so.* %if %{with_dtrace} %{_datadir}/systemtap/tapset/libvirt_probes*.stp -- 2.4.4

Don't listen on the admin socket in the daemon and comment out the admin devel files out of specfile. Library is still being compiled and installed in order to link easily without any disturbing modifications to the daemon code. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- Makefile.am | 2 +- daemon/libvirtd.c | 3 ++- docs/Makefile.am | 5 ++--- include/libvirt/Makefile.am | 5 +++-- libvirt.spec.in | 7 +++---- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Makefile.am b/Makefile.am index 9796069c8da0..91b943bea019 100644 --- a/Makefile.am +++ b/Makefile.am @@ -50,7 +50,7 @@ EXTRA_DIST = \ $(XML_EXAMPLES) pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libvirt.pc libvirt-qemu.pc libvirt-lxc.pc libvirt-admin.pc +pkgconfig_DATA = libvirt.pc libvirt-qemu.pc libvirt-lxc.pc NEWS: $(top_srcdir)/docs/news.xsl $(top_srcdir)/docs/news.html.in $(AM_V_GEN)if [ -x $(XSLTPROC) ] ; then \ diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c index 20e0b2f07f36..654e7f4797a0 100644 --- a/daemon/libvirtd.c +++ b/daemon/libvirtd.c @@ -522,7 +522,8 @@ daemonSetupNetworking(virNetServerPtr srv, virNetServerAddService(srv, svcRO, NULL) < 0) goto cleanup; - if (sock_path_adm) { + /* Temporarily disabled */ + if (sock_path_adm && false) { VIR_DEBUG("Registering unix socket %s", sock_path_adm); if (!(svcAdm = virNetServerServiceNewUNIX(sock_path_adm, unix_sock_adm_mask, diff --git a/docs/Makefile.am b/docs/Makefile.am index e8d45bfbf24d..daf37b6b95de 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -136,8 +136,7 @@ apidir = $(pkgdatadir)/api api_DATA = \ libvirt-api.xml \ libvirt-qemu-api.xml \ - libvirt-lxc-api.xml \ - libvirt-admin-api.xml + libvirt-lxc-api.xml fig = \ libvirt-net-logical.fig \ @@ -157,7 +156,7 @@ EXTRA_DIST= \ hacking1.xsl hacking2.xsl wrapstring.xsl \ $(dot_html) $(dot_html_in) $(gif) $(apihtml) $(apipng) \ $(devhelphtml) $(devhelppng) $(devhelpcss) $(devhelpxsl) \ - $(xml) $(qemu_xml) $(lxc_xml) $(admin_xml) $(fig) $(png) $(css) \ + $(xml) $(qemu_xml) $(lxc_xml) $(fig) $(png) $(css) \ $(patches) $(dot_php_in) $(dot_php_code_in) $(dot_php)\ $(internals_html_in) $(internals_html) \ sitemap.html.in aclperms.htmlinc \ diff --git a/include/libvirt/Makefile.am b/include/libvirt/Makefile.am index 2b64b0db2a3b..2d40621116b1 100644 --- a/include/libvirt/Makefile.am +++ b/include/libvirt/Makefile.am @@ -34,9 +34,10 @@ virinc_HEADERS = libvirt.h \ libvirt-qemu.h \ virterror.h -virinc_HEADERS += libvirt-admin.h - install-exec-hook: $(mkinstalldirs) $(DESTDIR)$(virincdir) EXTRA_DIST = libvirt.h.in + +# Temporarily disabled, but we need it for building +EXTRA_DIST += libvirt-admin.h diff --git a/libvirt.spec.in b/libvirt.spec.in index e1a15f4300ab..7132f733a8ab 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -1560,6 +1560,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la %endif +# Temporarily get rid of not-installed libvirt-admin.so +rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt-admin.so + %if %{with_network} install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/ # We don't want to install /etc/libvirt/qemu/networks in the main %files list @@ -2287,7 +2290,6 @@ exit 0 %{_libdir}/libvirt.so %{_libdir}/libvirt-qemu.so %{_libdir}/libvirt-lxc.so -%{_libdir}/libvirt-admin.so %dir %{_includedir}/libvirt %{_includedir}/libvirt/virterror.h %{_includedir}/libvirt/libvirt.h @@ -2304,17 +2306,14 @@ exit 0 %{_includedir}/libvirt/libvirt-stream.h %{_includedir}/libvirt/libvirt-qemu.h %{_includedir}/libvirt/libvirt-lxc.h -%{_includedir}/libvirt/libvirt-admin.h %{_libdir}/pkgconfig/libvirt.pc %{_libdir}/pkgconfig/libvirt-qemu.pc %{_libdir}/pkgconfig/libvirt-lxc.pc -%{_libdir}/pkgconfig/libvirt-admin.pc %dir %{_datadir}/libvirt/api/ %{_datadir}/libvirt/api/libvirt-api.xml %{_datadir}/libvirt/api/libvirt-qemu-api.xml %{_datadir}/libvirt/api/libvirt-lxc-api.xml -%{_datadir}/libvirt/api/libvirt-admin-api.xml %doc docs/*.html docs/html docs/*.gif -- 2.4.4

This reverts commit 9a8d916e89173890d7f7ce538b1ab781192b8440. Also some changes that were introduced after that commit are fixed to use 1.2.17 instead of 1.3.0 --- configure.ac | 2 +- docs/formatdomain.html.in | 6 +++--- src/libvirt_public.syms | 2 +- src/vz/vz_driver.c | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/configure.ac b/configure.ac index 93f9e383f0d6..f3ae6ca14f05 100644 --- a/configure.ac +++ b/configure.ac @@ -16,7 +16,7 @@ dnl You should have received a copy of the GNU Lesser General Public dnl License along with this library. If not, see dnl <http://www.gnu.org/licenses/>. -AC_INIT([libvirt], [1.3.0], [libvir-list@redhat.com], [], [http://libvirt.org]) +AC_INIT([libvirt], [1.2.17], [libvir-list@redhat.com], [], [http://libvirt.org]) AC_CONFIG_SRCDIR([src/libvirt.c]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 172b84a8da3e..e23c9b3c3b75 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -4308,7 +4308,7 @@ qemu-kvm -net nic,model=? /dev/null element. Each queue will potentially be handled by a different processor, resulting in much higher throughput. <span class="since">virtio-net since 1.0.6 (QEMU and KVM only)</span> - <span class="since">vhost-user since 1.3.0 (QEMU and KVM only)</span> + <span class="since">vhost-user since 1.2.17 (QEMU and KVM only)</span> </dd> <dt><code>host</code> offloading options</dt> <dd> @@ -5717,7 +5717,7 @@ qemu-kvm -net nic,model=? /dev/null emulating a PCI Intel 6300ESB </li> <li> 'ib700' — emulating an ISA iBase IB700 </li> <li> 'diag288' — emulating an S390 DIAG288 device - <span class="since">Since 1.3.0</span></li> + <span class="since">Since 1.2.17</span></li> </ul> </dd> <dt><code>action</code></dt> @@ -5741,7 +5741,7 @@ qemu-kvm -net nic,model=? /dev/null <span class="since">Since 0.8.7</span></li> <li>'inject-nmi' — inject a non-maskable interrupt into the guest - <span class="since">Since 1.3.0</span></li> + <span class="since">Since 1.2.17</span></li> </ul> <p> Note 1: the 'shutdown' action requires that the guest diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms index 59d8c1220230..2c653f2fcca1 100644 --- a/src/libvirt_public.syms +++ b/src/libvirt_public.syms @@ -715,7 +715,7 @@ LIBVIRT_1.2.16 { virDomainSetUserPassword; } LIBVIRT_1.2.15; -LIBVIRT_1.3.0 { +LIBVIRT_1.2.17 { global: virTypedParamsAddStringList; } LIBVIRT_1.2.16; diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index ddb71793076d..47c502376e0b 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -1424,10 +1424,10 @@ static virHypervisorDriver vzDriver = { .domainManagedSave = vzDomainManagedSave, /* 1.2.14 */ .domainManagedSaveRemove = vzDomainManagedSaveRemove, /* 1.2.14 */ .domainGetMaxMemory = vzDomainGetMaxMemory, /* 1.2.15 */ - .domainBlockStats = vzDomainBlockStats, /* 1.3.0 */ - .domainBlockStatsFlags = vzDomainBlockStatsFlags, /* 1.3.0 */ - .domainInterfaceStats = vzDomainInterfaceStats, /* 1.3.0 */ - .domainMemoryStats = vzDomainMemoryStats, /* 1.3.0 */ + .domainBlockStats = vzDomainBlockStats, /* 1.2.17 */ + .domainBlockStatsFlags = vzDomainBlockStatsFlags, /* 1.2.17 */ + .domainInterfaceStats = vzDomainInterfaceStats, /* 1.2.17 */ + .domainMemoryStats = vzDomainMemoryStats, /* 1.2.17 */ }; static virConnectDriver vzConnectDriver = { -- 2.4.4

On Fri, Jun 26, 2015 at 05:26:27PM +0200, Martin Kletzander wrote:
Even when rushing, you sometimes don't finish what you want. And I'd rather chosen safe road and avoid risks. And we have no usable API function in the admin API or a client binary just yet. Hence the temporary disablement in the second patch. First patch is a clean-up that's supposed to stay in even after release, second is designed to be cleanly reverted after release.
Third patch moves the version back from 1.3.0 to 1.2.17, but is highly optional, meaning if anyone has a preference whether to take it in or not just express your opinion, it doesn't really matter. If yes, then I'll also change the version back in libvirt-python.
The bump to 1.3.0 was for the Admin APIs so I would be tempted to go back to 1.2 :-) Daniel
Martin Kletzander (3): spec: Remove admin package specification Temporarily disable admin API Revert "Change livbirt version to 1.3.0 for the next release"
Makefile.am | 2 +- configure.ac | 2 +- daemon/libvirtd.c | 3 ++- docs/Makefile.am | 5 ++--- docs/formatdomain.html.in | 6 +++--- include/libvirt/Makefile.am | 5 +++-- libvirt.spec.in | 21 ++++----------------- src/libvirt_public.syms | 2 +- src/vz/vz_driver.c | 8 ++++---- 9 files changed, 21 insertions(+), 33 deletions(-)
-- 2.4.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
-- Daniel Veillard | Open Source and Standards, Red Hat veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | virtualization library http://libvirt.org/

On Fri, Jun 26, 2015 at 05:26:27PM +0200, Martin Kletzander wrote:
Even when rushing, you sometimes don't finish what you want. And I'd rather chosen safe road and avoid risks. And we have no usable API function in the admin API or a client binary just yet. Hence the temporary disablement in the second patch. First patch is a clean-up that's supposed to stay in even after release, second is designed to be cleanly reverted after release.
Third patch moves the version back from 1.3.0 to 1.2.17, but is highly optional, meaning if anyone has a preference whether to take it in or not just express your opinion, it doesn't really matter. If yes, then I'll also change the version back in libvirt-python.
Martin Kletzander (3): spec: Remove admin package specification Temporarily disable admin API Revert "Change livbirt version to 1.3.0 for the next release"
ACK all 3 Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
participants (3)
-
Daniel P. Berrange
-
Daniel Veillard
-
Martin Kletzander