commit 520334c6623a2ef2b93058a2275da9c0e520b98f (HEAD -> master) Author: Richard W.M. Jones Date: Tue Nov 12 11:40:02 2019 +0000 v2v: Remove virt-v2v. It has moved to a new repository: https://github.com/libguestfs/virt-v2v diff --git a/.gitignore b/.gitignore index 6781feb74..138143566 100644 --- a/.gitignore +++ b/.gitignore @@ -48,7 +48,6 @@ Makefile.in /AUTHORS /autom4te.cache /bash/guestunmount -/bash/libguestfs-test-tool /bash/virt-builder /bash/virt-cat /bash/virt-copy-in @@ -603,34 +602,6 @@ Makefile.in /utils/boot-benchmark/boot-benchmark.1 /utils/qemu-boot/qemu-boot /utils/qemu-speed-test/qemu-speed-test -/v2v/.depend -/v2v/config.ml -/v2v/oUnit-* -/v2v/output_rhv_upload_*_source.ml -/v2v/real-*.d/ -/v2v/real-*.img -/v2v/real-*.xml -/v2v/stamp-virt-v2v*.pod -/v2v/test-harness/.depend -/v2v/test-harness/META -/v2v/test-harness/stamp-virt-v2v-test-harness.pod -/v2v/test-harness/virt-v2v-test-harness.1 -/v2v/test-v2v-conversion-of-*.sh -/v2v/uefi.ml -/v2v/uefi.mli -/v2v/v2v_unit_tests -/v2v/var_expander_tests -/v2v/virt-v2v -/v2v/virt-v2v.1 -/v2v/virt-v2v-copy-to-local -/v2v/virt-v2v-copy-to-local.1 -/v2v/virt-v2v-input-vmware.1 -/v2v/virt-v2v-input-xen.1 -/v2v/virt-v2v-output-local.1 -/v2v/virt-v2v-output-openstack.1 -/v2v/virt-v2v-output-rhv.1 -/v2v/virt-v2v-support.1 -/v2v/windows.vmdk /website/download/builder/*.xz /website/*.html /website/README.txt diff --git a/Makefile.am b/Makefile.am index a30b8287a..0344e74d5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -164,7 +164,6 @@ SUBDIRS += common/mlvisit SUBDIRS += common/mlxml SUBDIRS += common/mltools SUBDIRS += common/mlcustomize -SUBDIRS += common/mlv2v if HAVE_LIBVIRT SUBDIRS += common/mllibvirt endif @@ -174,10 +173,6 @@ SUBDIRS += get-kernel SUBDIRS += resize SUBDIRS += sparsify SUBDIRS += sysprep -if HAVE_LIBVIRT -SUBDIRS += v2v -SUBDIRS += v2v/test-harness -endif if HAVE_FUSE SUBDIRS += dib endif @@ -358,9 +353,8 @@ po/POTFILES: configure.ac po/POTFILES-ml: configure.ac rm -f $@ $@-t cd $(srcdir); \ - find builder common/ml* customize dib get-kernel resize sparsify sysprep v2v -name '*.ml' | \ + find builder common/ml* customize dib get-kernel resize sparsify sysprep -name '*.ml' | \ grep -v '^builder/templates/' | \ - grep -v '^v2v/config.ml$$' | \ LC_ALL=C sort > $@-t mv $@-t $@ diff --git a/TODO b/TODO index 6f1d7f556..2e37ce67c 100644 --- a/TODO +++ b/TODO @@ -570,39 +570,3 @@ Subsecond handling in virt-diff, virt-ls Handle nanoseconds properly. You should be able to specify them on the command line and display them. - -virt-v2v -o rhv-upload ----------------------- - -* Set or disable the ticket timeout. The default is going to be - increased (from current 60 seconds), so maybe we won't have to - set it. See also: - https://bugzilla.redhat.com/show_bug.cgi?id=1563278 - -* qcow2 cannot be supported yet because there is not yet any - concept in imageio of read+write handles. - https://bugzilla.redhat.com/show_bug.cgi?id=1563299 - -* preallocated cannot be supported yet because imageio doesn't - know how to zero the image efficiently, instead it runs an - fallocate process which writes to every block and that takes - many minutes. - -* Really check what insecure/rhv_cafile do and implement it correctly. - -* Measure and resolve performance problems. - -* Allocated image size is unknown for v2v uploads, but imageio needs - to know it. We pass initial_size == provisioned_size == virtual size. - That can't be fixed from the v2v side. - -* There are unresolved issues about how to clean up disks on failure. - -virt-v2v -o openstack ---------------------- - -Use the metadata service to find the -oo server-id setting. It would -no longer need to be specified on the command line. Note there are -two variations of metadata service in OpenStack, either the config -disk or link-local network address. We would need to support both, or -the possibility that there is no metadata service. diff --git a/bash/Makefile.am b/bash/Makefile.am index 61b37deba..d67353816 100644 --- a/bash/Makefile.am +++ b/bash/Makefile.am @@ -20,15 +20,13 @@ include $(top_srcdir)/subdir-rules.mk scripts = \ guestfish \ guestmount \ + libguestfs-test-tool \ virt-alignment-scan \ - virt-rescue \ - virt-v2v \ - virt-v2v-copy-to-local + virt-rescue # Some of the scripts are simply symbolic links. symlinks = \ guestunmount \ - libguestfs-test-tool \ virt-builder \ virt-cat \ virt-copy-in \ @@ -63,9 +61,9 @@ CLEANFILES += \ # Any tool that has --short-options and --long-options only is handled # by this common script. -libguestfs-test-tool virt-win-reg: +virt-win-reg: rm -f $@ - $(LN_S) virt-v2v-copy-to-local $@ + $(LN_S) libguestfs-test-tool $@ # Any tool that has --short-options and --long-options and a few # common options like -d is handled by this common script. However diff --git a/bash/virt-v2v-copy-to-local b/bash/libguestfs-test-tool similarity index 88% rename from bash/virt-v2v-copy-to-local rename to bash/libguestfs-test-tool +++ b/bash/libguestfs-test-tool @@ -1,4 +1,4 @@ -# virt-v2v-copy-to-local bash completion script -*- shell-script -*- +# libguestfs-test-tool bash completion script -*- shell-script -*- # Copyright (C) 2014-2019 Red Hat Inc. # # This program is free software; you can redistribute it and/or modify @@ -40,12 +40,6 @@ _guestfs_options_only () esac } -_virt_v2v_copy_to_local () -{ - _guestfs_options_only "virt-v2v-copy-to-local" -} && -complete -o default -F _virt_v2v_copy_to_local virt-v2v-copy-to-local - _virt_win_reg () { _guestfs_options_only "virt-win-reg" diff --git a/bash/virt-v2v b/bash/virt-v2v deleted file mode 100644 index cddd07391..000000000 --- a/bash/virt-v2v +++ /dev/null @@ -1,59 +0,0 @@ -# virt-v2v bash completion script -*- shell-script -*- -# Copyright (C) 2014 Red Hat Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -_virt_v2v () -{ - local cur prev words cword split - local shortopts longopts items - - _init_completion -s || return - - case "$prev" in - -i) - items="$(virt-v2v --machine-readable | awk -F':' '/input:/ {print $2;}')" - COMPREPLY=( $( compgen -W "$items" -- "$cur") ) - return ;; - -o) - items="$(virt-v2v --machine-readable | awk -F':' '/output:/ {print $2;}')" - COMPREPLY=( $( compgen -W "$items" -- "$cur") ) - return ;; - -oa) - COMPREPLY=( $( compgen -W "sparse preallocated" -- "$cur") ) - return ;; - --vmtype) - COMPREPLY=( $( compgen -W "server desktop" -- "$cur") ) - return ;; - esac - - case "$cur" in - --*) - # --options - longopts="$(virt-v2v --long-options)" - COMPREPLY=( $(compgen -W "$longopts" -- "$cur") ) - return ;; - -*) - # -o and --options - shortopts="$(virt-v2v --short-options)" - longopts="$(virt-v2v --long-options)" - COMPREPLY=( $(compgen -W "$shortopts $longopts" -- "$cur") ) - return ;; - *) - COMPREPLY=( $(compgen "$cur") ) - return ;; - esac -} && -complete -o default -F _virt_v2v virt-v2v diff --git a/configure.ac b/configure.ac index 20fd774e6..219923222 100644 --- a/configure.ac +++ b/configure.ac @@ -166,10 +166,6 @@ m4_include([m4/guestfs-rust.m4]) HEADING([Checking for Vala]) VAPIGEN_CHECK -dnl virt-v2v. -HEADING([Checking the virt-v2v dependencies]) -m4_include([m4/guestfs-v2v.m4]) - dnl Bash completion. HEADING([Checking for bash completion]) m4_include([m4/guestfs-bash-completion.m4]) @@ -246,7 +242,6 @@ AC_CONFIG_FILES([Makefile common/mlstdutils/guestfs_config.ml common/mltools/Makefile common/mlutils/Makefile - common/mlv2v/Makefile common/mlvisit/Makefile common/mlxml/Makefile common/options/Makefile @@ -318,8 +313,6 @@ AC_CONFIG_FILES([Makefile test-data/Makefile test-data/binaries/Makefile test-data/blank-disks/Makefile - test-data/fake-virtio-win/Makefile - test-data/fake-virt-tools/Makefile test-data/files/Makefile test-data/phony-guests/Makefile test-data/phony-guests/guests.xml @@ -369,10 +362,6 @@ AC_CONFIG_FILES([Makefile utils/max-disks/Makefile utils/qemu-boot/Makefile utils/qemu-speed-test/Makefile - v2v/Makefile - v2v/config.ml - v2v/test-harness/Makefile - v2v/test-harness/META website/index.html]) AC_OUTPUT diff --git a/docs/C_SOURCE_FILES b/docs/C_SOURCE_FILES index def62f82c..1103e57d1 100644 --- a/docs/C_SOURCE_FILES +++ b/docs/C_SOURCE_FILES @@ -396,6 +396,3 @@ utils/boot-analysis/boot-analysis.h utils/boot-benchmark/boot-benchmark.c utils/qemu-boot/qemu-boot.c utils/qemu-speed-test/qemu-speed-test.c -v2v/dummy.c -v2v/qemuopts-c.c -v2v/test-harness/dummy.c diff --git a/docs/guestfs-building.pod b/docs/guestfs-building.pod index 96a301a91..97934dcec 100644 --- a/docs/guestfs-building.pod +++ b/docs/guestfs-building.pod @@ -76,7 +76,7 @@ I. =item qemu-img E 1.3.0 -I. Virt-v2v requires qemu-img E 2.2.0. +I. =item kernel E 2.6.34 @@ -272,9 +272,6 @@ Optional. Used only for testing. Optional. qemu-nbd is used for testing. -L requires nbdkit E 1.12 for various input and output -modes. - =item uml_mkcow Optional. For the L. @@ -292,12 +289,6 @@ Optional. Used by virt-builder for checking digital signatures. Optional. If available, virt-builder will use this library for fast, parallel uncompression of templates. -=item zip - -=item unzip - -Optional. Used by virt-v2v to handle OVA files. - =item python-evtx Optional. Used by L to parse Windows Event Log files. @@ -310,10 +301,6 @@ Optional. For localizing OCaml virt tools. Optional. For testing the common OCaml modules. -=item ocaml-libvirt E 0.6.1.5 - -Optional. For building the optional virt-v2v test harness. - =item Perl C E 0.19 =item Perl C diff --git a/docs/guestfs-faq.pod b/docs/guestfs-faq.pod index 946869584..073c3467f 100644 --- a/docs/guestfs-faq.pod +++ b/docs/guestfs-faq.pod @@ -269,13 +269,6 @@ L =over 4 -=item RHEL 5 - -The version shipped in official RHEL 5 is very old and should not be -used except in conjunction with virt-v2v. Use the up-to-date -libguestfs 1.20 package in EPEL 5: -L - =item RHEL 6 =item RHEL 7 @@ -952,7 +945,7 @@ how you installed libguestfs (eg. from source, C, etc.) =back =head2 How do I debug when using any libguestfs program or tool -(eg. virt-v2v or virt-df)? +(eg. virt-customize or virt-df)? There are two C environment variables you can set in order to get more information from libguestfs. diff --git a/docs/guestfs-hacking.pod b/docs/guestfs-hacking.pod index 3130f04f3..9ee448d57 100644 --- a/docs/guestfs-hacking.pod +++ b/docs/guestfs-hacking.pod @@ -45,7 +45,7 @@ the source code of the core library. F is the code generator described above, so that is important. The F in the root directory will tell you in which order the subdirectories get built. And then if you are looking at a particular tool -(eg. F) or language binding (eg. F), go straight to that +(eg. F) or language binding (eg. F), go straight to that subdirectory, but remember that if you didn't run the generator yet, then you may find files which appear to be missing. @@ -126,17 +126,13 @@ A library of pure OCaml utility functions used in many places. =item F OCaml utility functions only used by the OCaml virt tools (like -C, C etc.) +C, C etc.) =item F OCaml bindings for C functions in C, and some POSIX bindings which are missing from the OCaml stdlib. -=item F - -A few generated files used by virt-v2v. - =item F OCaml bindings for the visit functions (see F). @@ -326,7 +322,9 @@ Miscellaneous utilities, such as C. =item F -L command and documentation. +Up to libguestfs E 1.42 this contained the L tool, +but this has now moved into a separate repository: +L =item F @@ -896,7 +894,7 @@ because OCaml programs usually have C files for native bindings etc. So a typical program is described as just its C sources: - virt_v2v_SOURCES = ... utils-c.c xml-c.c + virt_customize_SOURCES = ... crypt-c.c perl_edit-c.c For programs that have no explicit C sources, we create an empty F file, and list that instead: @@ -906,17 +904,17 @@ F file, and list that instead: The OCaml objects which contain most of the code are listed as automake dependencies (other dependencies may also be listed): - virt_v2v_DEPENDENCIES = ... cmdline.cmx v2v.cmx + virt_customize_DEPENDENCIES = ... customize_main.cmx The only other special thing we need to do is to provide a custom link command. This is needed because automake won't assemble the ocamlopt command, the list of objects and the C<-cclib> libraries in the correct order otherwise. - virt_v2v_LINK = \ + virt_customize_LINK = \ $(top_srcdir)/ocaml-link.sh -cclib '-lutils -lgnu' -- ... -The actual rules, which you can examine in F, are a +The actual rules, which you can examine in F, are a little bit more complicated than this because they have to handle: =over 4 @@ -941,49 +939,6 @@ it will not add them all automatically. =back -=head2 VIRT-V2V - -First a little history. Virt-v2v has been through at least two -complete rewrites, so this is probably about the third version (but we -don't intend to rewrite it again). The previous version was written -in Perl and can be found here: -L - -The current version started out as almost a line-for-line rewrite of -the Perl code in OCaml + C, and it still has a fairly similar -structure. Therefore if there are details of this code that you don't -understand (especially in the details of guest conversion), checking -the Perl code may help. - -The files to start with when reading this code are: - -=over 4 - -=item * - -F - -=item * - -F - -=back - -F defines all the structures used and passed around when -communicating between different bits of the program. F -controls how the program runs in stages. - -After studying those files, you may want to branch out into the input -modules (F), the output modules (F) or the -conversion modules (F). The input and output modules -define I<-i> and I<-o> options (see the manual). The conversion -modules define what guest types we can handle and the detailed steps -involved in converting them. - -Every other file in this directory is a support module / library of -some sort. Some code is written in C, especially where we want to use -an external C library such as libxml2. - =head1 MAINTAINER TASKS =head2 MAINTAINER MAKEFILE TARGETS diff --git a/installcheck.sh.in b/installcheck.sh.in index ed744cc60..509466039 100644 --- a/installcheck.sh.in +++ b/installcheck.sh.in @@ -67,8 +67,6 @@ cp @bindir@/virt-sparsify sparsify/ cp @bindir@/virt-sysprep sysprep/ cp @bindir@/virt-tar-in fish/ cp @bindir@/virt-tar-out fish/ -cp @bindir@/virt-v2v v2v/ -cp @bindir@/virt-v2v-copy-to-local v2v/ cp @bindir@/virt-win-reg tools/ # virt-list-filesystems, virt-list-partitions and virt-tar are not @@ -102,7 +100,6 @@ compare @libdir@/libguestfs.so lib/.libs/libguestfs.so compare @bindir@/guestfish fish/guestfish compare @bindir@/guestmount fuse/guestmount compare @bindir@/virt-df df/virt-df -compare @bindir@/virt-v2v v2v/virt-v2v compare @libdir@/guestfs/supermin.d/daemon.tar.gz \ appliance/supermin.d/daemon.tar.gz diff --git a/lib/appliance-uefi.c b/lib/appliance-uefi.c index a33291a6a..5fca8cd37 100644 --- a/lib/appliance-uefi.c +++ b/lib/appliance-uefi.c @@ -51,7 +51,7 @@ * should cause appliance building to fail (no UEFI firmware is not an * error). * - * See also F:find_uefi_firmware + * See also F:find_uefi_firmware */ int guestfs_int_get_uefi (guestfs_h *g, char **code, char **vars, int *flags) diff --git a/m4/guestfs-progs.m4 b/m4/guestfs-progs.m4 index 096631a80..985ec4371 100644 --- a/m4/guestfs-progs.m4 +++ b/m4/guestfs-progs.m4 @@ -113,13 +113,6 @@ if test "x$YACC" = "xyacc"; then AC_MSG_FAILURE([GNU 'bison' is required (yacc won't work).]) fi -dnl zip/unzip, used by virt-v2v -AC_PATH_PROGS([ZIP],[zip],[no]) -AC_DEFINE_UNQUOTED([ZIP],["$ZIP"],[Name of zip program.]) -AM_CONDITIONAL([HAVE_ZIP],[test "x$ZIP" != "xno"]) -AC_PATH_PROGS([UNZIP],[unzip],[no]) -AC_DEFINE_UNQUOTED([UNZIP],["$UNZIP"],[Name of unzip program.]) - dnl Check for valgrind AC_CHECK_PROG([VALGRIND],[valgrind],[valgrind],[no]) AS_IF([test "x$VALGRIND" != "xno"],[ diff --git a/m4/guestfs-v2v.m4 b/m4/guestfs-v2v.m4 deleted file mode 100644 index b14c364e2..000000000 --- a/m4/guestfs-v2v.m4 +++ /dev/null @@ -1,28 +0,0 @@ -# libguestfs -# Copyright (C) 2009-2019 Red Hat Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -dnl Virt-v2v. - -dnl nbdkit python plugin. -AC_MSG_CHECKING([for the nbdkit python plugin name]) -AC_ARG_WITH([virt-v2v-nbdkit-python-plugin], - [AS_HELP_STRING([--with-virt-v2v-nbdkit-python-plugin="python|..."], - [set nbdkit python plugin name used by virt-v2v @<:@default=python@:>@])], - [VIRT_V2V_NBDKIT_PYTHON_PLUGIN="$withval"], - [VIRT_V2V_NBDKIT_PYTHON_PLUGIN=python]) -AC_MSG_RESULT([$VIRT_V2V_NBDKIT_PYTHON_PLUGIN]) -AC_SUBST([VIRT_V2V_NBDKIT_PYTHON_PLUGIN]) diff --git a/run.in b/run.in index 2c43cf87a..57229d010 100755 --- a/run.in +++ b/run.in @@ -104,7 +104,6 @@ prepend PATH "$b/sparsify" prepend PATH "$b/sysprep" prepend PATH "$b/test-tool" prepend PATH "$b/tools" -prepend PATH "$b/v2v" export PATH # Set LD_LIBRARY_PATH and DYLD_LIBRARY_PATH to contain library. diff --git a/test-data/Makefile.am b/test-data/Makefile.am index 30d95efab..0843891b5 100644 --- a/test-data/Makefile.am +++ b/test-data/Makefile.am @@ -22,7 +22,6 @@ SUBDIRS += blank-disks if ENABLE_APPLIANCE SUBDIRS += phony-guests endif -SUBDIRS += fake-virtio-win fake-virt-tools SUBDIRS += files SUBDIRS += . diff --git a/tests/regressions/Makefile.am b/tests/regressions/Makefile.am index 89ee230ba..14b19ae65 100644 --- a/tests/regressions/Makefile.am +++ b/tests/regressions/Makefile.am @@ -45,8 +45,6 @@ EXTRA_DIST = \ rhbz1091803.sh \ rhbz1174551.sh \ rhbz1175196.sh \ - rhbz1232192.sh \ - rhbz1232192.xml \ rhbz1285847.sh \ rhbz1370424.sh \ rhbz1370424.xml \ @@ -78,7 +76,6 @@ TESTS = \ rhbz1011907-1165785.sh \ rhbz1174551.sh \ rhbz1175196.sh \ - rhbz1232192.sh \ rhbz1285847.sh \ rhbz1370424.sh \ rhbz1477623.sh \ diff --git a/tests/regressions/rhbz1232192.sh b/tests/regressions/rhbz1232192.sh deleted file mode 100755 index 2d4b342bc..000000000 --- a/tests/regressions/rhbz1232192.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -# libguestfs -# Copyright (C) 2015 Red Hat Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -# Regression test for virt-v2v handling of blank disks: -# https://bugzilla.redhat.com/show_bug.cgi?id=1232192 - -set -e - -$TEST_FUNCTIONS -skip_if_skipped -skip_unless virt-v2v --help -skip_if_backend uml -skip_unless_phony_guest windows.img -skip_unless_phony_guest blank-disk.img - -export VIRT_TOOLS_DATA_DIR="$top_srcdir/test-data/fake-virt-tools" - -virt-v2v -i libvirtxml rhbz1232192.xml -o null --no-copy diff --git a/tests/regressions/rhbz1232192.xml b/tests/regressions/rhbz1232192.xml deleted file mode 100644 index 099530de9..000000000 --- a/tests/regressions/rhbz1232192.xml +++ /dev/null @@ -1,26 +0,0 @@ - - rhbz1232192 - 1048576 - 2 - - hvm - - - - - - - - - - - - - - - - - - - -