[Libguestfs] Problem with supermin and symlink in ibm_powerkvm ppc64le distro

Pino Toscano ptoscano at redhat.com
Fri Jun 26 13:27:33 UTC 2015


Hi,

In data giovedì 25 giugno 2015 18:09:55, Daniel Henrique Barboza ha scritto:
> I've found a problem with supermin code running in an ibm_powerkvm 
> ppc64le distro.
> 
> Output of libguestfs-test-tool:
> 
> $ libguestfs-test-tool
>       ************************************************************
>       *                    IMPORTANT NOTICE
>       *
>       * When reporting bugs, include the COMPLETE, UNEDITED
>       * output below in your bug report.
>       *
>       ************************************************************
> libguestfs: trace: set_verbose true
> libguestfs: trace: set_verbose = 0
> libguestfs: trace: set_verbose true
> libguestfs: trace: set_verbose = 0
> LIBGUESTFS_DEBUG=1
> LIBGUESTFS_TRACE=1
> PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/danielhb/.local/bin:/home/danielhb/bin
> SELinux: Enforcing
> libguestfs: trace: add_drive_scratch 104857600
> libguestfs: trace: get_tmpdir
> libguestfs: trace: get_tmpdir = "/tmp"
> libguestfs: trace: disk_create "/tmp/libguestfsgakCjw/scratch.1" "raw" 
> 104857600
> libguestfs: trace: disk_create = 0
> libguestfs: trace: add_drive "/tmp/libguestfsgakCjw/scratch.1" 
> "format:raw" "cachemode:unsafe"
> libguestfs: trace: add_drive = 0
> libguestfs: trace: add_drive_scratch = 0
> libguestfs: trace: get_append
> libguestfs: trace: get_append = "NULL"
> guestfs_get_append: (null)
> libguestfs: trace: get_autosync
> libguestfs: trace: get_autosync = 1
> guestfs_get_autosync: 1
> libguestfs: trace: get_backend
> libguestfs: trace: get_backend = "libvirt"
> guestfs_get_backend: libvirt
> libguestfs: trace: get_backend_settings
> libguestfs: trace: get_backend_settings = []
> guestfs_get_backend_settings: []
> libguestfs: trace: get_cachedir
> libguestfs: trace: get_cachedir = "/var/tmp"
> guestfs_get_cachedir: /var/tmp
> libguestfs: trace: get_direct
> libguestfs: trace: get_direct = 0
> guestfs_get_direct: 0
> libguestfs: trace: get_hv
> libguestfs: trace: get_hv = "/usr/bin/qemu-system-ppc64"
> guestfs_get_hv: /usr/bin/qemu-system-ppc64
> libguestfs: trace: get_memsize
> libguestfs: trace: get_memsize = 768
> guestfs_get_memsize: 768
> libguestfs: trace: get_network
> libguestfs: trace: get_network = 0
> guestfs_get_network: 0
> libguestfs: trace: get_path
> libguestfs: trace: get_path = "/usr/lib64/guestfs"
> guestfs_get_path: /usr/lib64/guestfs
> libguestfs: trace: get_pgroup
> libguestfs: trace: get_pgroup = 0
> guestfs_get_pgroup: 0
> libguestfs: trace: get_program
> libguestfs: trace: get_program = "libguestfs-test-tool"
> guestfs_get_program: libguestfs-test-tool
> libguestfs: trace: get_recovery_proc
> libguestfs: trace: get_recovery_proc = 1
> guestfs_get_recovery_proc: 1
> libguestfs: trace: get_selinux
> libguestfs: trace: get_selinux = 0
> guestfs_get_selinux: 0
> libguestfs: trace: get_smp
> libguestfs: trace: get_smp = 1
> guestfs_get_smp: 1
> libguestfs: trace: get_tmpdir
> libguestfs: trace: get_tmpdir = "/tmp"
> guestfs_get_tmpdir: /tmp
> libguestfs: trace: get_trace
> libguestfs: trace: get_trace = 1
> guestfs_get_trace: 1
> libguestfs: trace: get_verbose
> libguestfs: trace: get_verbose = 1
> guestfs_get_verbose: 1
> host_cpu: powerpc64le
> Launching appliance, timeout set to 600 seconds.
> libguestfs: trace: launch
> libguestfs: trace: version
> libguestfs: trace: version = <struct guestfs_version *>
> libguestfs: trace: get_backend
> libguestfs: trace: get_backend = "libvirt"
> libguestfs: launch: program=libguestfs-test-tool
> libguestfs: launch: version=1.28.1base=8,release=1.18.el7_1.ibm.3,libvirt
> libguestfs: launch: backend registered: unix
> libguestfs: launch: backend registered: uml
> libguestfs: launch: backend registered: libvirt
> libguestfs: launch: backend registered: direct
> libguestfs: launch: backend=libvirt
> libguestfs: launch: tmpdir=/tmp/libguestfsgakCjw
> libguestfs: launch: umask=0002
> libguestfs: launch: euid=1002
> libguestfs: libvirt version = 1002014 (1.2.14)
> libguestfs: guest random name = guestfs-umy4uvuxvi1sxbb9
> libguestfs: [00000ms] connect to libvirt
> libguestfs: opening libvirt handle: URI = qemu:///session, auth = 
> default+wrapper, flags = 0
> libguestfs: successfully opened libvirt handle: conn = 0x3fff88a20a30
> libguestfs: qemu version (reported by libvirt) = 2003000 (2.3.0)
> libguestfs: [00534ms] get libvirt capabilities
> libguestfs: [00552ms] parsing capabilities XML
> libguestfs: trace: get_backend_setting "force_tcg"
> libguestfs: trace: get_backend_setting = NULL (error)
> libguestfs: trace: get_backend_setting "internal_libvirt_label"
> libguestfs: trace: get_backend_setting = NULL (error)
> libguestfs: trace: get_backend_setting "internal_libvirt_imagelabel"
> libguestfs: trace: get_backend_setting = NULL (error)
> libguestfs: trace: get_backend_setting "internal_libvirt_norelabel_disks"
> libguestfs: trace: get_backend_setting = NULL (error)
> libguestfs: [00552ms] build appliance
> libguestfs: trace: get_cachedir
> libguestfs: trace: get_cachedir = "/var/tmp"
> libguestfs: [00552ms] begin building supermin appliance
> libguestfs: [00553ms] run supermin
> libguestfs: command: run: /usr/bin/supermin5
> libguestfs: command: run: \ --build
> libguestfs: command: run: \ --verbose
> libguestfs: command: run: \ --if-newer
> libguestfs: command: run: \ --lock /var/tmp/.guestfs-1002/lock
> libguestfs: command: run: \ --copy-kernel
> libguestfs: command: run: \ -f ext2
> libguestfs: command: run: \ --host-cpu powerpc64le
> libguestfs: command: run: \ /usr/lib64/guestfs/supermin.d
> libguestfs: command: run: \ -o /var/tmp/.guestfs-1002/appliance.d
> supermin: version: 5.1.10
> supermin: rpm: detected RPM version 4.11
> supermin: package handler: ibm_powerkvm/rpm
> supermin: acquiring lock on /var/tmp/.guestfs-1002/lock
> supermin: build: /usr/lib64/guestfs/supermin.d
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/base.tar.gz type 
> gzip base image (tar)
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/daemon.tar.gz 
> type gzip base image (tar)
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/excludefiles 
> type uncompressed excludefiles
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/hostfiles type 
> uncompressed hostfiles
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/init.tar.gz type 
> gzip base image (tar)
> supermin: build: visiting /usr/lib64/guestfs/supermin.d/packages type 
> uncompressed packages
> supermin: build: visiting 
> /usr/lib64/guestfs/supermin.d/udev-rules.tar.gz type gzip base image (tar)
> supermin: build: 179 packages, including dependencies
> supermin: build: 29714 files
> supermin: build: 16530 files, after removing unreadable files
> supermin: build: 8520 files, after matching excludefiles
> supermin: build: 8525 files, after adding hostfiles
> supermin: build: 8561 files, after munging
> supermin: kernel: picked kernel vmlinuz-4.0.0
> supermin: kernel: picked modules path /lib/modules/4.0.0
> supermin: kernel: kernel_version 4.0.0
> supermin: kernel: modules /lib/modules/4.0.0
> supermin: ext2: creating empty ext2 filesystem 
> '/var/tmp/.guestfs-1002/appliance.d.fas3dshe/root'
> supermin: ext2: populating from base image
> supermin: ext2: copying files from host filesystem
> supermin: open: /lib64/dbus-1/dbus-daemon-launch-helper: Permission denied
> supermin: *** parent directory not found ***
> supermin: When reporting this error:
> supermin: please include ALL the debugging information below
> supermin: AND tell us what system you are running this on.
>       src=/opt/ibm/powerkvm-licenses
>      dest=/opt/ibm/powerkvm-licenses
>   dirname=/opt/ibm
> basename=powerkvm-licenses
> supermin: ext2fs_namei: parent directory not found: /opt/ibm: File not 
> found by ext2_lookup
> supermin: failure: ext2fs_namei: parent directory not found
> libguestfs: error: /usr/bin/supermin5 exited with error status 1, see 
> debug messages above
> libguestfs: trace: launch = -1 (error)
> libguestfs-test-tool: failed to launch appliance
> libguestfs: trace: close
> libguestfs: closing guestfs handle 0x3fff88a20250 (state 0)
> libguestfs: command: run: rm
> libguestfs: command: run: \ -rf /tmp/libguestfsgakCjw
> 
> 
> The same problem happens when running test/test-build-bash.sh with 
> current supermin
> upstream code. The results of make check follows:
> 
> 
> PASS: test-basic.sh
> PASS: test-execstack.sh
> FAIL: test-build-bash.sh
> PASS: test-binaries-exist.sh
> PASS: test-harder.sh
> FAIL: test-build-bash-network.sh
> PASS: test-binaries-exist-network.sh
> PASS: test-harder-network.sh
> make[4]: Entering directory `/home/danielhb/supermin/tests'
> make[4]: Nothing to be done for `all'.
> make[4]: Leaving directory `/home/danielhb/supermin/tests'
> ============================================================================
> Testsuite summary for supermin 5.1.13
> ============================================================================
> # TOTAL: 8
> # PASS:  6
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  2
> # XPASS: 0
> # ERROR: 0

Could you please attach the output of tests/test-build-bash.sh.log?

> This is how the filesystem looks like. It seems that supermin tries to 
> copy the contents of
> powerkvm-licenses, which is a link to /usr/share(...) and then it has 
> problems when returning
> to the parent dir /opt/ibm .
> 
> 
> $ cd /opt/ibm
> $ ls -lah
> total 16K
> drwxr-xr-x. 4 root root 4.0K Jun 12 07:06 .
> drwxr-xr-x. 3 root root 4.0K Mar 19 09:35 ..
> drwxr-xr-x. 9 root root 4.0K May  7 14:33 powerkvm
> lrwxrwxrwx. 1 root root   36 May  7 14:32 powerkvm-licenses -> 
> /usr/share/doc/pkvm/licenses
> drwxr-xr-x. 6 root root 4.0K May  7 14:33 seprovider

Could you please provide the output of 

 $ rpm -qf /usr/share/doc/pkvm/
 $ rpm -qf /opt
 $ rpm -qf /opt/ibm

Thanks,
-- 
Pino Toscano




More information about the Libguestfs mailing list