yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #03522
[Bug 1077817] Re: Nova failed to mount a RBD volume without extra ceph.conf
** Changed in: cinder
Status: Fix Committed => Fix Released
** Changed in: cinder
Milestone: None => havana-2
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1077817
Title:
Nova failed to mount a RBD volume without extra ceph.conf
Status in Cinder:
Fix Released
Status in OpenStack Compute (Nova):
Fix Committed
Bug description:
When mounting a RBD volume to an instance, nova-volume/cinder doesn't pass Ceph monitor(MON) addresses to libvirt.Whithout the MON address, libvirt failed to tal with MON and then cannot plug in the disk into volume.
This bug also affect cinder.
Here is the error log from nova-compute:
2012-11-12 12:12:36 ERROR nova.compute.manager [req-0bb59b29-5d0a-4e1d-8f90-b3ceffb41ddb 94baac25958a4400a95535b95fad6012 4b2e53cca0
3245d0ac58041f1b6489d1] [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] Failed to attach volume a69b76be-ce01-4ede-bfac-8230d5e4c48
f at /dev/vdb
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] Traceback (most recent call last):
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] File "/usr/lib/python2.7/dist-pack
ages/nova/compute/manager.py", line 1971, in _attach_volume
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] mountpoint)
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] File "/usr/lib/python2.7/dist-pack
ages/nova/exception.py", line 117, in wrapped
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] temp_level, payload)
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] File "/usr/lib/python2.7/contextli
b.py", line 24, in __exit__
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] self.gen.next()
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] File "/usr/lib/python2.7/dist-pack
ages/nova/exception.py", line 92, in wrapped
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] return f(*args, **kw)
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] File "/usr/lib/python2.7/dist-pack
ages/nova/virt/libvirt/driver.py", line 649, in attach_volume
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] raise exception.DeviceIsBusy(dev
ice=mount_device)
2012-11-12 12:12:36 TRACE nova.compute.manager [instance: 5b919282-6e93-4b16-9bb5-9cb95d25bc20] DeviceIsBusy: The supplied device (v
db) is busy.
When looking into libvirt's log,the following error presents:
unable to find any monitors in conf. please specify monitors via -m
monaddr or -c ceph.conf
Here is the XML generated by libvirt,
<disk type="network" device="disk">
<driver name="qemu" type="raw" cache="none"/>
<source protocol="rbd" name="nova/volume-a69b76be-ce01-4ede-bfac-8230d5e4c48f"/>
<target bus="virtio" dev="vdb"/>
<serial>a69b76be-ce01-4ede-bfac-8230d5e4c48f</serial>
</disk>
But from the link (http://libvirt.org/storage.html#StorageBackendRBD), we can know that monitor's ips can be specified in XML rather than a extra ceph.conf
<pool type="rbd">
<name>myrbdpool</name>
<source>
<name>rbdpool</name>
<host name='1.2.3.4' port='6789'/>
<host name='my.ceph.monitor' port='6789'/>
<host name='third.ceph.monitor' port='6789'/>
<auth username='admin' type='ceph'>
<secret uuid='2ec115d7-3a88-3ceb-bc12-0ac909a6fd87'/>
</auth>
</source>
</pool>
To manage notifications about this bug go to:
https://bugs.launchpad.net/cinder/+bug/1077817/+subscriptions