Hi,

I've experienced the same problem in the past in my devel environment.
I somehow came to conclusion that it does not deserve a fix yet, because
it cannot happen on the clean checkout... apparently I was wrong.

To save somebody trouble searching for the problem behind this: the core
issue is the rather unfortunate, choice of file names. There is a
default rule in GNU make that does 'cp somefile somefile.out'. So when
the timestamp on fake-virt-v2v is newer than on fake-virt-v2v.out make
runs the rule and we lose the content of .out file.

We can either disable the default rule in Makefile or rename
fake-virt-v2v.out to something else. I can send a fix tomorrow (probably
doing the rename).

    Tomas


On Sun, 18 Dec 2016 00:51:27 +0200
Nir Soffer <[email protected]> wrote:

> Another failure:
> http://jenkins.ovirt.org/job/vdsm_master_check-patch-fc24-x86_64/6559/
> 
> On Sun, Dec 18, 2016 at 12:47 AM, Nir Soffer <[email protected]> wrote:
> > Hi all,
> >
> > Seen this tests fail twice in the last week, only on jenkins.
> >
> > Looking at the error, it seems that the fake-virt-v2v file is not executable
> > and we get the contents on the file instead of the output of running it.
> >
> > Failing build:
> > http://jenkins.ovirt.org/job/vdsm_master_check-patch-fc24-x86_64/6561/
> >
> > #!/usr/bin/env python\n# Copyright 2015 Red Hat, Inc.\n#\n#
> >
> >
> > 21:08:43 
> > ======================================================================
> > 21:08:43 FAIL: testV2VOutput (v2vTests.v2vTests)
> > 21:08:43 
> > ----------------------------------------------------------------------
> > 21:08:43 Traceback (most recent call last):
> > 21:08:43   File
> > "/home/jenkins/workspace/vdsm_master_check-patch-fc24-x86_64/vdsm/tests/v2vTests.py",
> > line 594, in testV2VOutput
> > 21:08:43     self.assertEqual(output, f.read())
> > 21:08:48 AssertionError: '[   0.0] Opening the source -i libvirt\n[
> > 1.0] Creating an overlay to protect\n[  2.0] Copying disk 1/2 to
> > /rhev/data-center/00000000-0000-0000-0000-000000000006/00000000-0000-0000-0000-000000000007/00000000-0000-0000-0000-000000000005/images/00000000-0000-0000-0000-000000000001\ntarget_file
> > = 00000000-0000-0000-0000-000000000002\ntarget_format =
> > raw\ntarget_estimated_size = 123456789\ntarget_overlay =
> > /var/tmp/v2vovl344e53.qcow2\n    (0/100%)\r    (1/100%)\r
> > (2/100%)\r    (3/100%)\r    (4/100%)\r    (5/100%)\r    (6/100%)\r
> > (7/100%)\r    (8/100%)\r    (9/100%)\r    (10/100%)\r    (11/100%)\r
> >  (12/100%)\r    (13/100%)\r    (14/100%)\r    (15/100%)\r
> > (16/100%)\r    (17/100%)\r    (18/100%)\r    (19/100%)\r
> > (20/100%)\r    (21/100%)\r    (22/100%)\r    (23/100%)\r
> > (24/100%)\r    (25/100%)\r    (26/100%)\r    (27/100%)\r
> > (28/100%)\r    (29/100%)\r    (30/100%)\r    (31/100%)\r
> > (32/100%)\r    (33/100%)\r    (34/100%)\r    (35/100%)\r
> > (36/100%)\r    (37/100%)\r    (38/100%)\r    (39/100%)\r
> > (40/100%)\r    (41/100%)\r    (42/100%)\r    (43/100%)\r
> > (44/100%)\r    (45/100%)\r    (46/100%)\r    (47/100%)\r
> > (48/100%)\r    (49/100%)\r    (50/100%)\r    (51/100%)\r
> > (52/100%)\r    (53/100%)\r    (54/100%)\r    (55/100%)\r
> > (56/100%)\r    (57/100%)\r    (58/100%)\r    (59/100%)\r
> > (60/100%)\r    (61/100%)\r    (62/100%)\r    (63/100%)\r
> > (64/100%)\r    (65/100%)\r    (66/100%)\r    (67/100%)\r
> > (68/100%)\r    (69/100%)\r    (70/100%)\r    (71/100%)\r
> > (72/100%)\r    (73/100%)\r    (74/100%)\r    (75/100%)\r
> > (76/100%)\r    (77/100%)\r    (78/100%)\r    (79/100%)\r
> > (80/100%)\r    (81/100%)\r    (82/100%)\r    (83/100%)\r
> > (84/100%)\r    (85/100%)\r    (86/100%)\r    (87/100%)\r
> > (88/100%)\r    (89/100%)\r    (90/100%)\r    (91/100%)\r
> > (92/100%)\r    (93/100%)\r    (94/100%)\r    (95/100%)\r
> > (96/100%)\r    (97/100%)\r    (98/100%)\r    (99/100%)\r
> > (100/100%)\r[ 103.0] Creating output metadata\n[ 103.0] Finishing
> > off\n[  103.0] Copying disk 2/2 to
> > /rhev/data-center/00000000-0000-0000-0000-000000000006/00000000-0000-0000-0000-000000000007/00000000-0000-0000-0000-000000000005/images/00000000-0000-0000-0000-000000000003\ntarget_file
> > = 00000000-0000-0000-0000-000000000004\ntarget_format =
> > raw\ntarget_estimated_size = 123456789\ntarget_overlay =
> > /var/tmp/v2vovl344e53.qcow2\n    (0/100%)\r    (1/100%)\r
> > (2/100%)\r    (3/100%)\r    (4/100%)\r    (5/100%)\r    (6/100%)\r
> > (7/100%)\r    (8/100%)\r    (9/100%)\r    (10/100%)\r    (11/100%)\r
> >  (12/100%)\r    (13/100%)\r    (14/100%)\r    (15/100%)\r
> > (16/100%)\r    (17/100%)\r    (18/100%)\r    (19/100%)\r
> > (20/100%)\r    (21/100%)\r    (22/100%)\r    (23/100%)\r
> > (24/100%)\r    (25/100%)\r    (26/100%)\r    (27/100%)\r
> > (28/100%)\r    (29/100%)\r    (30/100%)\r    (31/100%)\r
> > (32/100%)\r    (33/100%)\r    (34/100%)\r    (35/100%)\r
> > (36/100%)\r    (37/100%)\r    (38/100%)\r    (39/100%)\r
> > (40/100%)\r    (41/100%)\r    (42/100%)\r    (43/100%)\r
> > (44/100%)\r    (45/100%)\r    (46/100%)\r    (47/100%)\r
> > (48/100%)\r    (49/100%)\r    (50/100%)\r    (51/100%)\r
> > (52/100%)\r    (53/100%)\r    (54/100%)\r    (55/100%)\r
> > (56/100%)\r    (57/100%)\r    (58/100%)\r    (59/100%)\r
> > (60/100%)\r    (61/100%)\r    (62/100%)\r    (63/100%)\r
> > (64/100%)\r    (65/100%)\r    (66/100%)\r    (67/100%)\r
> > (68/100%)\r    (69/100%)\r    (70/100%)\r    (71/100%)\r
> > (72/100%)\r    (73/100%)\r    (74/100%)\r    (75/100%)\r
> > (76/100%)\r    (77/100%)\r    (78/100%)\r    (79/100%)\r
> > (80/100%)\r    (81/100%)\r    (82/100%)\r    (83/100%)\r
> > (84/100%)\r    (85/100%)\r    (86/100%)\r    (87/100%)\r
> > (88/100%)\r    (89/100%)\r    (90/100%)\r    (91/100%)\r
> > (92/100%)\r    (93/100%)\r    (94/100%)\r    (95/100%)\r
> > (96/100%)\r    (97/100%)\r    (98/100%)\r    (99/100%)\r
> > (100/100%)\r[ 204.0] Creating output metadata\n[ 204.0] Finishing
> > off\n' != '#!/usr/bin/env python\n# Copyright 2015 Red Hat, Inc.\n#\n#
> > This program is free software; you can redistribute it and/or
> > modify\n# it under the terms of the GNU General Public License as
> > published by\n# the Free Software Foundation; either version 2 of the
> > License, or\n# (at your option) any later version.\n#\n# This program
> > is distributed in the hope that it will be useful,\n# but WITHOUT ANY
> > WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or
> > FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public
> > License for more details.\n#\n# You should have received a copy of the
> > GNU General Public License\n# along with this program; if not, write
> > to the Free Software\n# Foundation, Inc., 51 Franklin Street, Fifth
> > Floor, Boston, MA 02110-1301 USA\n#\n# Refer to the README and COPYING
> > files for full details of the license\n#\n\nimport sys\nimport
> > argparse\n\nparser =
> > argparse.ArgumentParser()\n\nparser.add_argument(\'args\')\nparser.add_argument(\'-ic\',
> > dest=\'inputConnection\',\n                    help=\'Set input
> > libvirt connectio url\')\nparser.add_argument(\'-o\',
> > dest=\'output\',\n                    help=\'Set output
> > method\')\nparser.add_argument(\'-of\', dest=\'outputFormat\',\n
> >              help=\'Set output image
> > format\')\nparser.add_argument(\'-oa\', dest=\'outputAllocation\',\n
> >                  help=\'Set output allocation
> > format\')\nparser.add_argument(\'--vdsm-image-uuid\',
> > dest=\'vdsmImageId\',\n                    help=\'Vdsm image UUID\',
> > action=\'append\')\nparser.add_argument(\'--vdsm-vol-uuid\',
> > dest=\'vdsmVolId\',\n                    help=\'Vdsm volume UUID\',
> > action=\'append\')\nparser.add_argument(\'--vdsm-vm-uuid\',
> > dest=\'vdsmVmId\',\n                    help=\'VM
> > UUID\')\nparser.add_argument(\'--password-file\',
> > dest=\'passwordFile\',\n                    help=\'Read connection
> > password from a file\')\nparser.add_argument(\'--vdsm-ovf-output\',
> > dest=\'vdsmOvfOutput\',\n                    help=\'Output directory
> > for ovf output\')\nparser.add_argument(\'-os\',
> > dest=\'outputStorage\',\n                    help=\'Output directory
> > for the images\')\nparser.add_argument(\'--machine-readable\',
> > dest=\'machineReadable\',\n
> > action=\'store_true\',\n                    help=\'Set the terminal
> > output to be readable\')\nparser.add_argument(\'-v\',
> > dest=\'verbose\',\n                    action=\'store_true\',\n
> >             help=\'Enable verbose messages for
> > debugging.\')\nparser.add_argument(\'-x\', dest=\'libguestfsTrace\',\n
> >                    action=\'store_true\',\n
> > help=\'Enable tracing of libguestfs API
> > calls.\')\nparser.add_argument(\'vmname\')\n\noptions =
> > parser.parse_args(sys.argv)\nelapsed_time = 0\n\n\ndef
> > write_output(msg):\n    sys.stdout.write(msg)\n
> > sys.stdout.flush()\n\ndef write_trace(msg):\n
> > sys.stderr.write(msg)\n    sys.stderr.flush()\n\ndef
> > write_progress():\n    global elapsed_time\n    for i in range(101):\n
> >        write_output(\'    (%s/100%%)\\r\' % str(i))\n
> > elapsed_time = elapsed_time + 1\n\nwrite_output(\'[   %d.0] Opening
> > the source -i libvirt\\n\' % elapsed_time)\nelapsed_time =
> > elapsed_time + 1\nwrite_output(\'[   %d.0] Creating an overlay to
> > protect\\n\' % elapsed_time)\nelapsed_time = elapsed_time + 1\n\nif
> > options.libguestfsTrace:\n    write_trace("libguestfs: trace:
> > internal_autosync = 0\\n")\n    write_trace("libguestfs: sending
> > SIGTERM to process 12345\\n")\n    write_trace("libguestfs: trace:
> > shutdown = 0\\n")\n    write_trace("libguestfs: trace: close\\n")\n
> > write_trace("libguestfs: closing guestfs handle 0x1e265f0 (state
> > 0)\\n")\n\nfor i, o in enumerate(options.vdsmImageId):\n
> > write_output(\'[  %d.0] Copying disk %d/2 to %s/%s/images/%s\\n\' %\n
> >                (elapsed_time, i+1, options.outputStorage,\n
> >       options.vdsmVmId, o))\n\n    # Immitate some verbose messages\n
> >   # NOTE: Most verbose messages go to stderr, but some go to stdout.
> > This can\n    # potentialy mess with our parsing routine.\n    if
> > options.verbose:\n        write_output("target_file = %s\\n" %
> > options.vdsmVolId[i])\n        write_output("target_format =
> > raw\\n")\n        write_output("target_estimated_size =
> > 123456789\\n")\n        write_output("target_overlay =
> > /var/tmp/v2vovl344e53.qcow2\\n")\n\n    write_progress()\n
> > write_output(\'[ %d.0] Creating output metadata\\n\' % elapsed_time)\n
> >    write_output(\'[ %d.0] Finishing off\\n\' % elapsed_time)\n'
> > 21:08:48 -------------------- >> begin captured logging << 
> > --------------------
> > 21:08:48 2016-12-17 21:08:08,445 DEBUG (MainThread) [root]
> > /usr/bin/taskset --cpu-list 0-15
> > /home/jenkins/workspace/vdsm_master_check-patch-fc24-x86_64/vdsm/tests/fake-virt-v2v
> > -v -x -ic 'vpx://adminr%[email protected]/ovirt/0.0.0.0?no_verify=1'
> > -o vdsm -of raw -oa sparse --vdsm-image-uuid
> > 00000000-0000-0000-0000-000000000001 --vdsm-vol-uuid
> > 00000000-0000-0000-0000-000000000002 --vdsm-image-uuid
> > 00000000-0000-0000-0000-000000000003 --vdsm-vol-uuid
> > 00000000-0000-0000-0000-000000000004 --password-file /tmp/mypass
> > --vdsm-vm-uuid 00000000-0000-0000-0000-000000000005 --vdsm-ovf-output
> > /usr/local/var/run/vdsm/v2v --machine-readable -os
> > /rhev/data-center/00000000-0000-0000-0000-000000000006/00000000-0000-0000-0000-000000000007
> > TEST (cwd None) (commands:69)
> > 21:08:48 2016-12-17 21:08:08,496 DEBUG (MainThread) [root] SUCCESS:
> > <err> = 'libguestfs: trace: internal_autosync = 0\nlibguestfs: sending
> > SIGTERM to process 12345\nlibguestfs: trace: shutdown = 0\nlibguestfs:
> > trace: close\nlibguestfs: closing guestfs handle 0x1e265f0 (state
> > 0)\n'; <rc> = 0 (commands:93)
> > 21:08:48 --------------------- >> end captured logging << 
> > ---------------------  
> _______________________________________________
> Devel mailing list
> [email protected]
> http://lists.ovirt.org/mailman/listinfo/devel


-- 
Tomáš Golembiovský <[email protected]>
_______________________________________________
Devel mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/devel

Reply via email to