Bug 1019417

Summary: nova: cannot create a snapshot for an instance because invalid qemu-img option (gluster storage)
Product: Red Hat OpenStack Reporter: Dafna Ron <dron>
Component: openstack-novaAssignee: RHOS Maint <rhos-maint>
Status: CLOSED DUPLICATE QA Contact: Ami Jeain <ajeain>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.0CC: hateya, ndipanov, xqueralt, yeylon
Target Milestone: ---   
Target Release: 4.0   
Hardware: x86_64   
OS: Linux   
Whiteboard: storage
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-15 16:58:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
compute log none

Description Dafna Ron 2013-10-15 16:43:02 UTC
Created attachment 812627 [details]
compute log

Description of problem:

I am working with gluster storage configured as my cinder and glance backend. 

when I try to create a snapshot to an instance, the snapshot moves from Queuing to Deleting. 

compute log shows that there is an invalid option in qemu-img command 

Version-Release number of selected component (if applicable):

openstack-nova-compute-2013.2-0.24.rc1.el6ost.noarch

How reproducible:

100%

Steps to Reproduce:
1. install gluster as cinder and glance backend 
2. create an image and boot an instance from the image 
3. create a snapshot from the instance 

Actual results:

we fail to create a snapshot 

Expected results:

we should be able to create the snapshot 

Additional info:

https://bugs.launchpad.net/nova/+bug/1240140



[root@nott-vdsa ~(keystone_admin)]# qemu-img convert -f qcow2 -O qcow2 -s 45b38831085a4b9ab7390eef35bc1070 /var/lib/nova/instances/9d411b4a-49cf-478d-b464-ebe053daedd0/disk /var/lib/nova/instances/snapshots/tmpaiU9IA/45b38831085a4b9ab7390eef35bc1070fgfg
convert: invalid option -- 's'
qemu-img version 0.12.1, Copyright (c) 2004-2008 Fabrice Bellard
usage: qemu-img command [command options]
QEMU disk image utility

Command syntax:
  check [-f fmt] [--output=ofmt] [-r [leaks | all]] filename
  create [-f fmt] [-o options] filename [size]
  commit [-f fmt] [-t cache] filename
  convert [-c] [-p] [-f fmt] [-t cache] [-O output_fmt] [-o options] [-S sparse_size] filename [filename2 [...]] output_filename
  info [-f fmt] filename
  map [-f fmt] [--output=ofmt] filename
  snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename
  rebase [-f fmt] [-t cache] [-p] [-u] -b backing_file [-F backing_fmt] filename
  resize filename [+ | -]size




2013-10-15 19:14:11.201 3065 INFO nova.virt.libvirt.driver [req-3cc46759-45e4-483c-aa68-c0e365d97506 a663c5728f3a4221b7d5ae9e9a50beab 162fc167f17d464f9832412245fb7283] [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0] Snapshot extracted, beginning image upload
2013-10-15 19:14:11.203 3065 DEBUG nova.compute.manager [req-3cc46759-45e4-483c-aa68-c0e365d97506 a663c5728f3a4221b7d5ae9e9a50beab 162fc167f17d464f9832412245fb7283] [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0] Cleaning up image 8b3be1ef-30cb-4f83-943a-8e58752d6bc3 decorated_function /usr/lib/python2.6/site-packages/nova/compute/manager.py:313
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0] Traceback (most recent call last):
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 309, in decorated_function
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]     *args, **kwargs)
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 2293, in snapshot_instance
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]     task_states.IMAGE_SNAPSHOT)
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 2324, in _snapshot_instance
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]     update_task_state)
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 1401, in snapshot
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]     snapshot_backend.snapshot_extract(out_path, image_format)
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/imagebackend.py", line 322, in snapshot_extract
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]     out_format)
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/utils.py", line 552, in extract_snapshot
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]     execute(*qemu_img_cmd)
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/utils.py", line 50, in execute
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]     return utils.execute(*args, **kwargs)
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]   File "/usr/lib/python2.6/site-packages/nova/utils.py", line 177, in execute
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]     return processutils.execute(*cmd, **kwargs)
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]   File "/usr/lib/python2.6/site-packages/nova/openstack/common/processutils.py", line 178, in execute
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]     cmd=' '.join(cmd))
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0] ProcessExecutionError: Unexpected error while running command.
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0] Command: qemu-img convert -f qcow2 -O qcow2 -s 45b38831085a4b9ab7390eef35bc1070 /var/lib/nova/instances/9d411b4a-49cf-478d-b464-ebe053daedd0/disk /var/lib/nova/instances/snapshots/tmpaiU9IA/45b38831085a4b9ab7390eef35bc1070
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0] Exit code: 1
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0] Stdout: "qemu-img version 0.12.1, Copyright (c) 2004-2008 Fabrice Bellard\nusage: qemu-img command [command options]\nQEMU disk image utility\n\nCommand syntax:\n  check [-f fmt] [--output=ofmt] [-r [leaks | all]] filename\n  create [-f fmt] [-o options] filename [size]\n  commit [-f fmt] [-t cache] filename\n  convert [-c] [-p] [-f fmt] [-t cache] [-O output_fmt] [-o options] [-S sparse_size] filename [filename2 [...]] output_filename\n  info [-f fmt] filename\n  map [-f fmt] [--output=ofmt] filename\n  snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename\n  rebase [-f fmt] [-t cache] [-p] [-u] -b backing_file [-F backing_fmt] filename\n  resize filename [+ | -]size\n\nCommand parameters:\n  'filename' is a disk image filename\n  'fmt' is the disk image format. It is guessed automatically in most cases\n  'cache' is the cache mode used to write the output disk image, the valid\n    options are: 'none', 'writeback' (default), 'writethrough' and 'unsafe'\n  'size' is the disk image size in bytes. Optional suffixes\n    'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' (gigabyte, 1024M)\n    and T (terabyte, 1024G) are supported. 'b' is ignored.\n  'output_filename' is the destination disk image filename\n  'output_fmt' is the destination format\n  'options' is a comma separated list of format specific options in a\n    name=value format. Use -o ? for an overview of the options supported by the\n    used format\n  '-c' indicates that target image must be compressed (qcow format only)\n  '-u' enables unsafe rebasing. It is assumed that old and new backing file\n       match exactly. The image doesn't need a working backing file before\n       rebasing in this case (useful for renaming the backing file)\n  '-h' with or without a command shows this help and lists the supported formats\n  '-p' show progress of command (only certain commands)\n  '-S' indicates the consecutive number of bytes that must contain only zeros\n       for qemu-img to create a sparse image during conversion\n\nParameters to check subcommand:\n  '-r' tries to repair any inconsistencies that are found during the check.\n       '-r leaks' repairs only cluster leaks, whereas '-r all' fixes all\n       kinds of errors, with a higher risk of choosing the wrong fix or\n       hiding corruption that has already occurred.\n\nParameters to snapshot subcommand:\n  'snapshot' is the name of the snapshot to create, apply or delete\n  '-a' applies a snapshot (revert disk to saved state)\n  '-c' creates a snapshot\n  '-d' deletes a snapshot\n  '-l' lists all snapshots in the given image\n\nSupported formats: raw cow qcow vdi vmdk cloop dmg bochs vpc vvfat qcow2 qed vhdx parallels nbd blkdebug host_cdrom host_floppy host_device file gluster gluster gluster gluster rbd\n"
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0] Stderr: "convert: invalid option -- 's'\n"
2013-10-15 19:14:11.203 3065 TRACE nova.compute.manager [instance: 9d411b4a-49cf-478d-b464-ebe053daedd0]

Comment 1 Xavier Queralt 2013-10-15 16:58:06 UTC

*** This bug has been marked as a duplicate of bug 1016896 ***