Re: [ceph-users] Havana RBD - a few problems
Hi Josh Using libvirt_image_type=rbd to replace ephemeral disks is new with Havana, and unfortunately some bug fixes did not make it into the release. I've backported the current fixes on top of the stable/havana branch here: https://github.com/jdurgin/nova/tree/havana-ephemeral-rbd that looks really useful. I have tried to patch our installation, but so far haven't been successful: First I tried to replace the whole /usr/share/pyshared/nova directory with the one from your repository, then only the changed files. (Ubuntu Saucy). In both cases nova-compute dies immediately after starting it. There is probably a really simple way to install your version on an Ubuntu server - but I don't know how... 2) Creating a new instance from an ISO image fails completely - no bootable disk found, says the KVM console. Related? This sounds like a bug in the ephemeral rbd code - could you file it in launchpad if you can reproduce with file injection disabled? I suspect it's not being attached as a carom. Will try to reproduce as soon as I have the patched version You're seeing some issues in the ephemeral rbd code, which is new in Havana. None of these affect non-ephemeral rbd, or Grizzly. Thanks for reporting them! thanks for your help cheers jc ___ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
Re: [ceph-users] Havana RBD - a few problems
Using libvirt_image_type=rbd to replace ephemeral disks is new with Havana, and unfortunately some bug fixes did not make it into the release. I've backported the current fixes on top of the stable/havana branch here: https://github.com/jdurgin/nova/tree/havana-ephemeral-rbd that looks really useful. I have tried to patch our installation, but so far haven't been successful: First I tried to replace the whole /usr/share/pyshared/nova directory with the one from your repository, then only the changed files. (Ubuntu Saucy). In both cases nova-compute dies immediately after starting it. There is probably a really simple way to install your version on an Ubuntu server - but I don't know how… ok - got it working by cherry picking the last few commits, and then replacing only the 5 affected files. Resize of disk on instance creation works! Yay 2) Creating a new instance from an ISO image fails completely - no bootable disk found, says the KVM console. Related? This sounds like a bug in the ephemeral rbd code - could you file it in launchpad if you can reproduce with file injection disabled? I suspect it's not being attached as a carom. Will try to reproduce as soon as I have the patched version still doesn't work - will file a bug cheers jc ___ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
Re: [ceph-users] Havana RBD - a few problems
and one more: boot from image (create a new volume) doesn't work either: it leads to a VM that complains about a non-bootable disk (just like the ISO case). This is actually and improvement: earlier, nova was waiting for ages for an image to be created (I guess that this is the result of the glance - cinder RBD improvements) cheers jc -- SWITCH Jens-Christian Fischer, Peta Solutions Werdstrasse 2, P.O. Box, 8021 Zurich, Switzerland phone +41 44 268 15 15, direct +41 44 268 15 71 jens-christian.fisc...@switch.ch http://www.switch.ch http://www.switch.ch/socialmedia On 08.11.2013, at 02:20, Josh Durgin josh.dur...@inktank.com wrote: On 11/08/2013 12:15 AM, Jens-Christian Fischer wrote: Hi all we have installed a Havana OpenStack cluster with RBD as the backing storage for volumes, images and the ephemeral images. The code as delivered in https://github.com/openstack/nova/blob/master/nova/virt/libvirt/imagebackend.py#L498 fails, because the RBD.path it not set. I have patched this to read: Using libvirt_image_type=rbd to replace ephemeral disks is new with Havana, and unfortunately some bug fixes did not make it into the release. I've backported the current fixes on top of the stable/havana branch here: https://github.com/jdurgin/nova/tree/havana-ephemeral-rbd * @@ -419,10 +419,12 @@ class Rbd(Image): * if path: * try: * self.rbd_name = path.split('/')[1] * + self.path = path * except IndexError: * raise exception.InvalidDevicePath(path=path) * else: * self.rbd_name = '%s_%s' % (instance['name'], disk_name) * + self.path = 'volumes/%s' % self.rbd_name * self.snapshot_name = snapshot_name * if not CONF.libvirt_images_rbd_pool: * raise RuntimeError(_('You should specify' but am not sure this is correct. I have the following problems: 1) can't inject data into image 2013-11-07 16:59:25.251 24891 INFO nova.virt.libvirt.driver [req-f813ef24-de7d-4a05-ad6f-558e27292495 c66a737acf0545fdb9a0a920df0794d9 2096e25f5e814882b5907bc5db342308] [instance: 2fa02e4f-f804-4679-9507-736eeebd9b8d] Injecting key into image fc8179d4-14f3-4f21-a76d-72b03b5c1862 2013-11-07 16:59:25.269 24891 WARNING nova.virt.disk.api [req-f813ef24-de7d-4a05-ad6f-558e27292495 c66a737acf0545fdb9a0a920df0794d9 2096e25f5e814882b5907bc5db342308] Ignoring error injecting data into image (Error mounting volumes/ instance- 0089_disk with libguestfs (volumes/instance-0089_disk: No such file or directory)) possibly the self.path = … is wrong - but what are the correct values? Like Dinu mentioned, I'd suggest disabling file injection and using the metadata service + cloud-init instead. We should probably change nova to log an error about this configuration when ephemeral volumes are rbd. 2) Creating a new instance from an ISO image fails completely - no bootable disk found, says the KVM console. Related? This sounds like a bug in the ephemeral rbd code - could you file it in launchpad if you can reproduce with file injection disabled? I suspect it's not being attached as a cdrom. 3) When creating a new instance from an image (non ISO images work), the disk is not resized to the size specified in the flavor (but left at the size of the original image) This one is fixed in the backports already. I would be really grateful, if those people that have Grizzly/Havana running with an RBD backend could pipe in here… You're seeing some issues in the ephemeral rbd code, which is new in Havana. None of these affect non-ephemeral rbd, or Grizzly. Thanks for reporting them! Josh ___ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
[ceph-users] Havana RBD - a few problems
Hi all we have installed a Havana OpenStack cluster with RBD as the backing storage for volumes, images and the ephemeral images. The code as delivered in https://github.com/openstack/nova/blob/master/nova/virt/libvirt/imagebackend.py#L498 fails, because the RBD.path it not set. I have patched this to read: @@ -419,10 +419,12 @@ class Rbd(Image): if path: try: self.rbd_name = path.split('/')[1] +self.path = path except IndexError: raise exception.InvalidDevicePath(path=path) else: self.rbd_name = '%s_%s' % (instance['name'], disk_name) +self.path = 'volumes/%s' % self.rbd_name self.snapshot_name = snapshot_name if not CONF.libvirt_images_rbd_pool: raise RuntimeError(_('You should specify' but am not sure this is correct. I have the following problems: 1) can't inject data into image 2013-11-07 16:59:25.251 24891 INFO nova.virt.libvirt.driver [req-f813ef24-de7d-4a05-ad6f-558e27292495 c66a737acf0545fdb9a0a920df0794d9 2096e25f5e814882b5907bc5db342308] [instance: 2fa02e4f-f804-4679-9507-736eeebd9b8d] Injecting key into image fc8179d4-14f3-4f21-a76d-72b03b5c1862 2013-11-07 16:59:25.269 24891 WARNING nova.virt.disk.api [req-f813ef24-de7d-4a05-ad6f-558e27292495 c66a737acf0545fdb9a0a920df0794d9 2096e25f5e814882b5907bc5db342308] Ignoring error injecting data into image (Error mounting volumes/ instance- 0089_disk with libguestfs (volumes/instance-0089_disk: No such file or directory)) possibly the self.path = … is wrong - but what are the correct values? 2) Creating a new instance from an ISO image fails completely - no bootable disk found, says the KVM console. Related? 3) When creating a new instance from an image (non ISO images work), the disk is not resized to the size specified in the flavor (but left at the size of the original image) I would be really grateful, if those people that have Grizzly/Havana running with an RBD backend could pipe in here… thanks Jens-Christian -- SWITCH Jens-Christian Fischer, Peta Solutions Werdstrasse 2, P.O. Box, 8021 Zurich, Switzerland phone +41 44 268 15 15, direct +41 44 268 15 71 jens-christian.fisc...@switch.ch http://www.switch.ch http://www.switch.ch/socialmedia ___ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
Re: [ceph-users] Havana RBD - a few problems
Under grizzly we disabled completely the image injection via libvirt_inject_partition = -2 in nova.conf. I'm not sure rbd images can even be mounted that way - but then again, I don't have experience with havana. We're using config disks (which break live migrations) and/or the metadata service (which does not) in combination with cloud-init, to bootstrap instances. On Nov 7, 2013, at 6:15 PM, Jens-Christian Fischer jens-christian.fisc...@switch.ch wrote: Hi all we have installed a Havana OpenStack cluster with RBD as the backing storage for volumes, images and the ephemeral images. The code as delivered in https://github.com/openstack/nova/blob/master/nova/virt/libvirt/imagebackend.py#L498 fails, because the RBD.path it not set. I have patched this to read: @@ -419,10 +419,12 @@ class Rbd(Image): if path: try: self.rbd_name = path.split('/')[1] +self.path = path except IndexError: raise exception.InvalidDevicePath(path=path) else: self.rbd_name = '%s_%s' % (instance['name'], disk_name) +self.path = 'volumes/%s' % self.rbd_name self.snapshot_name = snapshot_name if not CONF.libvirt_images_rbd_pool: raise RuntimeError(_('You should specify' but am not sure this is correct. I have the following problems: 1) can't inject data into image 2013-11-07 16:59:25.251 24891 INFO nova.virt.libvirt.driver [req-f813ef24-de7d-4a05-ad6f-558e27292495 c66a737acf0545fdb9a0a920df0794d9 2096e25f5e814882b5907bc5db342308] [instance: 2fa02e4f-f804-4679-9507-736eeebd9b8d] Injecting key into image fc8179d4-14f3-4f21-a76d-72b03b5c1862 2013-11-07 16:59:25.269 24891 WARNING nova.virt.disk.api [req-f813ef24-de7d-4a05-ad6f-558e27292495 c66a737acf0545fdb9a0a920df0794d9 2096e25f5e814882b5907bc5db342308] Ignoring error injecting data into image (Error mounting volumes/ instance- 0089_disk with libguestfs (volumes/instance-0089_disk: No such file or directory)) possibly the self.path = … is wrong - but what are the correct values? 2) Creating a new instance from an ISO image fails completely - no bootable disk found, says the KVM console. Related? 3) When creating a new instance from an image (non ISO images work), the disk is not resized to the size specified in the flavor (but left at the size of the original image) I would be really grateful, if those people that have Grizzly/Havana running with an RBD backend could pipe in here… thanks Jens-Christian -- SWITCH Jens-Christian Fischer, Peta Solutions Werdstrasse 2, P.O. Box, 8021 Zurich, Switzerland phone +41 44 268 15 15, direct +41 44 268 15 71 jens-christian.fisc...@switch.ch http://www.switch.ch http://www.switch.ch/socialmedia ___ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com ___ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
Re: [ceph-users] Havana RBD - a few problems
On 11/08/2013 12:15 AM, Jens-Christian Fischer wrote: Hi all we have installed a Havana OpenStack cluster with RBD as the backing storage for volumes, images and the ephemeral images. The code as delivered in https://github.com/openstack/nova/blob/master/nova/virt/libvirt/imagebackend.py#L498 fails, because the RBD.path it not set. I have patched this to read: Using libvirt_image_type=rbd to replace ephemeral disks is new with Havana, and unfortunately some bug fixes did not make it into the release. I've backported the current fixes on top of the stable/havana branch here: https://github.com/jdurgin/nova/tree/havana-ephemeral-rbd * @@ -419,10 +419,12 @@ class Rbd(Image): * if path: * try: * self.rbd_name = path.split('/')[1] * + self.path = path * except IndexError: * raise exception.InvalidDevicePath(path=path) * else: * self.rbd_name = '%s_%s' % (instance['name'], disk_name) * + self.path = 'volumes/%s' % self.rbd_name * self.snapshot_name = snapshot_name * if not CONF.libvirt_images_rbd_pool: * raise RuntimeError(_('You should specify' but am not sure this is correct. I have the following problems: 1) can't inject data into image 2013-11-07 16:59:25.251 24891 INFO nova.virt.libvirt.driver [req-f813ef24-de7d-4a05-ad6f-558e27292495 c66a737acf0545fdb9a0a920df0794d9 2096e25f5e814882b5907bc5db342308] [instance: 2fa02e4f-f804-4679-9507-736eeebd9b8d] Injecting key into image fc8179d4-14f3-4f21-a76d-72b03b5c1862 2013-11-07 16:59:25.269 24891 WARNING nova.virt.disk.api [req-f813ef24-de7d-4a05-ad6f-558e27292495 c66a737acf0545fdb9a0a920df0794d9 2096e25f5e814882b5907bc5db342308] Ignoring error injecting data into image (Error mounting volumes/ instance- 0089_disk with libguestfs (volumes/instance-0089_disk: No such file or directory)) possibly the self.path = … is wrong - but what are the correct values? Like Dinu mentioned, I'd suggest disabling file injection and using the metadata service + cloud-init instead. We should probably change nova to log an error about this configuration when ephemeral volumes are rbd. 2) Creating a new instance from an ISO image fails completely - no bootable disk found, says the KVM console. Related? This sounds like a bug in the ephemeral rbd code - could you file it in launchpad if you can reproduce with file injection disabled? I suspect it's not being attached as a cdrom. 3) When creating a new instance from an image (non ISO images work), the disk is not resized to the size specified in the flavor (but left at the size of the original image) This one is fixed in the backports already. I would be really grateful, if those people that have Grizzly/Havana running with an RBD backend could pipe in here… You're seeing some issues in the ephemeral rbd code, which is new in Havana. None of these affect non-ephemeral rbd, or Grizzly. Thanks for reporting them! Josh ___ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com