|
|
|
|
|
|
|
|
|
|
xen-api
Re: [Xen-API] race condition during /etc/xensource/scripts/vif call
Try doing the xenstore-ls before the xenstore-rm to see whether it's definitely
a race or not.
Jon
On 23 Sep 2011, at 04:04, George Shuklin wrote:
> Ok, may be I was wrong and shall not use any /xapi keys on interface
> remove. Right now I switched from xapi usage to '$vsctl port-to-br'. But
> any way, this is kinda strange - why /xapi entery dissapear before
> interface completely shutdown?
>
> On 23.09.2011 03:07, Jonathan Ludlam wrote:
>> Interesting - it might be that you're racing with xapi - it's waiting for
>> the hot plug key to be removed, which is what the xenstore-rm does. Have a
>> look here:
>>
>> https://github.com/xen-org/xen-api/blob/master/ocaml/xenops/device.ml#L752
>>
>> (Note that this is more current than XCP 1.0 or 1.1, but the general gist is
>> the same)
>>
>> Jon
>>
>> On 22 Sep 2011, at 16:18, George Shuklin wrote:
>>
>>> Good day.
>>>
>>> Found strange situation for VM with two or more interfaces: data
>>> from /xapi for domain disappear before vif remove called second time.
>>>
>>> Here little patch to vif script (against XCP 1.1 beta) to log XenStore
>>> state:
>>>
>>> --- vif.orig 2011-05-19 02:32:19.000000000 +0400
>>> +++ vif 2011-09-22 19:11:10.000000000 +0400
>>> @@ -227,6 +227,8 @@
>>> xenstore-rm "${HOTPLUG}/hotplug"
>>> fi
>>> logger -t scripts-vif "${dev} has been removed"
>>> + echo ====domid=$DOMID=====>>/var/log/vif-race.log
>>> + xenstore-ls /xapi>>/var/log/vif-race.log
>>> remove_from_bridge
>>> ;;
>>> esac
>>>
>>>
>>> To see 'strange' add to any vm two interfaces and reboot it.
>>>
>>> In vif-race.log for second time vif call:
>>> ====domid=3=====
>>> 0 = ""
>>> hotplug = ""
>>> vbd = ""
>>> private = ""
>>> vbd = ""
>>> 51712 = ""
>>> ref = "OpaqueRef:1a7992ae-a645-acc6-bf51-3a0202bdd4c7"
>>> frontend = ""
>>> vbd = ""
>>> 3:
>>>
>>> (no data for domid 3).
>>>
>>> I'm not sure if this is a really serious bug, but I found my
>>> antispoofing patch does not remove rules from OVS for multihomed VM's
>>> due lack of 'bridge' variable for VIF (I'm calling remove_restiction()
>>> function in 'remove' case in vif script).
>>>
>>> I got this bug in XCP 1.0 and XCP1.1 beta.
>>>
>>>
>>>
>>> _______________________________________________
>>> xen-api mailing list
>>> xen-api@xxxxxxxxxxxxxxxxxxx
>>> http://lists.xensource.com/mailman/listinfo/xen-api
>>
>> _______________________________________________
>> xen-api mailing list
>> xen-api@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/mailman/listinfo/xen-api
>
> _______________________________________________
> xen-api mailing list
> xen-api@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/mailman/listinfo/xen-api
_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
|
|
|
|
|