Pressing CTRL+C in uvt-simplestreams-libvirt sync removes all files in directory

Bug #1573603 reported by Jeffrey Bouter
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
uvtool
Incomplete
High
Unassigned
uvtool (Ubuntu)
Fix Released
High
Unassigned
Trusty
Incomplete
Undecided
Unassigned

Bug Description

If CTRL+C is pressed whilst uvt-simplestreams-libvirt sync is syncing an image, all files in used directory are removed. (default: /var/lib/uvtool/libvirt/images).

In my specific case, /var/lib/uvtool/libvirt/images is symlinked to /vms/uvtool

Host OS: Ubuntu 14.04 AMD64

Revision history for this message
Jeffrey Bouter (jbouter) wrote :
tags: added: uvtool
tags: added: images removed traceback
description: updated
Robie Basak (racb)
Changed in uvtool:
importance: Undecided → High
Changed in uvtool (Ubuntu):
importance: Undecided → High
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hi,
I'm checking bug that are idle since some time.

For this in particular I think it actually works - or - we need better info to reproduce.

$ uvt-simplestreams-libvirt query
release=artful arch=amd64 label=daily (20170529)
[✓]─[paelzer@lap:/tmp/vm-builder-0.12.4+bzr494]──[46671]──[16:30 Di Jun 06]──
$ time uvt-simplestreams-libvirt --verbose sync --source http://cloud-images.ubuntu.com/daily arch=amd64 label=daily
Adding: com.ubuntu.cloud.daily:server:14.04:amd64 20170605
^CTraceback (most recent call last):
  File "/usr/bin/uvt-simplestreams-libvirt", line 27, in <module>
    uvtool.libvirt.simplestreams.main()
  File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/simplestreams.py", line 326, in main
    args.func(args)
  File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/simplestreams.py", line 269, in main_sync
    tmirror.sync(smirror, initial_path)
  File "/usr/lib/python2.7/dist-packages/simplestreams/mirrors/__init__.py", line 91, in sync
    return self.sync_index(reader, path, data, content)
  File "/usr/lib/python2.7/dist-packages/simplestreams/mirrors/__init__.py", line 254, in sync_index
    self.sync(reader, path=epath)
  File "/usr/lib/python2.7/dist-packages/simplestreams/mirrors/__init__.py", line 89, in sync
    return self.sync_products(reader, path, data, content)
  File "/usr/lib/python2.7/dist-packages/simplestreams/mirrors/__init__.py", line 341, in sync_products
    self.insert_item(item, src, target, pgree, ipath_cs)
  File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/simplestreams.py", line 236, in insert_item
    pool_name=LIBVIRT_POOL_NAME
  File "/usr/lib/python2.7/dist-packages/uvtool/libvirt/__init__.py", line 55, in create_volume_from_fobj
    shutil.copyfileobj(fobj, compressed_fobj)
  File "/usr/lib/python2.7/shutil.py", line 49, in copyfileobj
    buf = fsrc.read(length)
  File "/usr/lib/python2.7/dist-packages/simplestreams/contentsource.py", line 275, in read
    buf = self.cs.read(size)
  File "/usr/lib/python2.7/dist-packages/simplestreams/contentsource.py", line 136, in read
    return self.fd.read(size)
  File "/usr/lib/python2.7/dist-packages/simplestreams/contentsource.py", line 401, in read
    return self._read(size)
  File "/usr/lib/python2.7/dist-packages/simplestreams/contentsource.py", line 442, in read_raw
    return _read_fd(self.req.raw, size)
  File "/usr/lib/python2.7/dist-packages/simplestreams/contentsource.py", line 462, in _read_fd
    return fd.read(size)
  File "/home/paelzer/.local/lib/python2.7/site-packages/requests/packages/urllib3/response.py", line 380, in read
    data = self._fp.read(amt)
  File "/usr/lib/python2.7/httplib.py", line 612, in read
    s = self.fp.read(amt)
  File "/usr/lib/python2.7/socket.py", line 384, in read
    data = self._sock.recv(left)
KeyboardInterrupt

real 0m6.185s
user 0m0.408s
sys 0m0.152s
[✗=1]─[paelzer@lap:/tmp/vm-builder-0.12.4+bzr494]──[46672]──[16:30 Di Jun 06]──
$ uvt-simplestreams-libvirt query
release=artful arch=amd64 label=daily (20170529)

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Above shows it was syncing trusty, and I aborted via CTRL+C, but still the artful image is still around.

@Jeffrey is there another ingredient for you to force this?

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Maybe only on Trusty

Changed in uvtool (Ubuntu Trusty):
status: New → Incomplete
Changed in uvtool (Ubuntu):
status: New → Fix Released
Robie Basak (racb)
Changed in uvtool:
status: New → Incomplete
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.