[openstack-dev] [Cinder] Static Ceph mon connection info prevents VM restart
David Medberry
openstack at medberry.net
Fri May 8 03:37:34 UTC 2015
Josh,
Certainly in our case the the monitor hosts (in addition to IPs) would have
made a difference.
On Thu, May 7, 2015 at 3:21 PM, Josh Durgin <jdurgin at redhat.com> wrote:
> Hey folks, thanks for filing a bug for this:
>
> https://bugs.launchpad.net/cinder/+bug/1452641
>
> Nova stores the volume connection info in its db, so updating that
> would be a workaround to allow restart/migration of vms to work.
> Otherwise running vms shouldn't be affected, since they'll notice any
> new or deleted monitors through their existing connection to the
> monitor cluster.
>
> Perhaps the most general way to fix this would be for cinder to return
> any monitor hosts listed in ceph.conf (as they are listed, so they may
> be hostnames or ips) in addition to the ips from the current monmap
> (the current behavior).
>
> That way an out of date ceph.conf is less likely to cause problems,
> and multiple clusters could still be used with the same nova node.
>
> Josh
>
> On 05/06/2015 12:46 PM, David Medberry wrote:
>
>> Hi Arne,
>>
>> We've had this EXACT same issue.
>>
>> I don't know of a way to force an update as you are basically pulling
>> the rug out from under a running instance. I don't know if it is
>> possible/feasible to update the virsh xml in place and then migrate to
>> get it to actually use that data. (I think we tried that to no avail.)
>> dumpxml=>massage cephmons=>import xml
>>
>> If you find a way, let me know, and that's part of the reason I'm
>> replying so that I stay on this thread. NOTE: We did this on icehouse.
>> Haven't tried since upgrading to Juno but I don't note any change
>> therein that would mitigate this. So I'm guessing Liberty/post-Liberty
>> for a real fix.
>>
>>
>>
>> On Wed, May 6, 2015 at 12:57 PM, Arne Wiebalck <arne.wiebalck at cern.ch
>> <mailto:arne.wiebalck at cern.ch>> wrote:
>>
>> Hi,
>>
>> As we swapped a fraction of our Ceph mon servers between the
>> pre-production and production cluster
>> -- something we considered to be transparent as the Ceph config
>> points to the mon alias--, we ended
>> up in a situation where VMs with volumes attached were not able to
>> boot (with a probability that matched
>> the fraction of the servers moved between the Ceph instances).
>>
>> We found that the reason for this is the connection_info in
>> block_device_mapping which contains the
>> IP adresses of the mon servers as extracted by the rbd driver in
>> initialize_connection() at the moment
>> when the connection is established. From what we see, however, this
>> information is not updated as long
>> as the connection exists, and will hence be re-applied without
>> checking even when the XML is recreated.
>>
>> The idea to extract the mon servers by IP from the mon map was
>> probably to get all mon servers (rather
>> than only one from a load-balancer or an alias), but while our
>> current scenario may be special, we will face
>> a similar problem the day the Ceph mons need to be replaced. And
>> that makes it a more general issue.
>>
>> For our current problem:
>> Is there a user-transparent way to force an update of that
>> connection information? (Apart from fiddling
>> with the database entries, of course.)
>>
>> For the general issue:
>> Would it be possible to simply use the information from the
>> ceph.conf file directly (an alias in our case)
>> throughout the whole stack to avoid hard-coding IPs that will be
>> obsolete one day?
>>
>> Thanks!
>> Arne
>>
>> --
>> Arne Wiebalck
>> CERN IT
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
>> >
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>>
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150507/368f42cb/attachment.html>
More information about the OpenStack-dev
mailing list