I may have actually created the pull request properly...
Please let me know and again thanks for your help.
Tom
On 10/18/2013 01:30 PM, Tom Parker wrote:
> Hi Dejan. Sorry to be slow to respond to this. I have done some
> testing and everything looks good.
>
> I spent some time tweaking the RA and I added a parameter called
> wait_for_reboot (default 5s) to allow us to override the reboot sleep
> times (in case it's more than 5 seconds on really loaded hypervisors).
> I also cleaned up a few log entries to make them consistent in the RA
> and edited your entries for xen status to be a little bit more clear as
> to why we think we should be waiting.
>
> I have attached a patch here because I have NO idea how to create a
> branch and pull request. If there are links to a good place to start I
> may be able to contribute occasionally to some other RAs that I use.
>
> Please let me know what you think.
>
> Thanks for your help
>
> Tom
>
>
> On 10/17/2013 06:10 AM, Dejan Muhamedagic wrote:
>> On Thu, Oct 17, 2013 at 11:45:17AM +0200, Dejan Muhamedagic wrote:
>>> Hi Tom,
>>>
>>> On Wed, Oct 16, 2013 at 05:28:28PM -0400, Tom Parker wrote:
>>>> Some more reading of the source code makes me think the " || [
>>>> "$__OCF_ACTION" != "stop" ]; "is not needed.
>>> Yes, you're right. I'll drop that part of the if statement. Many
>>> thanks for testing.
>> Fixed now. The if statement, which was obviously hard to follow,
>> got relegated to the monitor function. Which makes the
>> Xen_Status_with_Retry really stand for what's happening in there ;-)
>>
>> Tom, hope you can test again.
>>
>> Cheers,
>>
>> Dejan
>>
>>> Cheers,
>>>
>>> Dejan
>>>
>>>> Xen_Status_with_Retry() is only called from Stop and Monitor so we only
>>>> need to check if it's a probe. Everything else should be handled in the
>>>> case statement in the loop.
>>>>
>>>> Tom
>>>>
>>>> On 10/16/2013 05:16 PM, Tom Parker wrote:
>>>>> Hi. I think there is an issue with the Updated Xen RA.
>>>>>
>>>>> I think there is an issue with the if statement here but I am not sure.
>>>>> I may be confused about how bash || works but I don't see my servers
>>>>> ever entering the loop on a vm disappearing.
>>>>>
>>>>> if ocf_is_probe || [ "$__OCF_ACTION" != "stop" ]; then
>>>>> return $rc
>>>>> fi
>>>>>
>>>>> Does this not mean that if we run a monitor operation that is not a
>>>>> probe we will have:
>>>>>
>>>>> (ocf_is_probe) return false
>>>>> (stop != monitor) return true
>>>>> (false || true) return true
>>>>>
>>>>> which will cause the if statement to return $rc and never enter the loop?
>>>>>
>>>>> Xen_Status_with_Retry() {
>>>>> local rc cnt=5
>>>>>
>>>>> Xen_Status $1
>>>>> rc=$?
>>>>> if ocf_is_probe || [ "$__OCF_ACTION" != "stop" ]; then
>>>>> return $rc
>>>>> fi
>>>>> while [ $rc -eq $OCF_NOT_RUNNING -a $cnt -gt 0 ]; do
>>>>> case "$__OCF_ACTION" in
>>>>> stop)
>>>>> ocf_log debug "domain $1 reported as not running, waiting $cnt
>>>>> seconds ..."
>>>>> ;;
>>>>> monitor)
>>>>> ocf_log warn "domain $1 reported as not running, but it is
>>>>> expected to be running! Retrying for $cnt seconds ..."
>>>>> ;;
>>>>> *) : not reachable
>>>>> ;;
>>>>> esac
>>>>> sleep 1
>>>>> Xen_Status $1
>>>>> rc=$?
>>>>> let cnt=$((cnt-1))
>>>>> done
>>>>> return $rc
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> On 10/16/2013 12:12 PM, Dejan Muhamedagic wrote:
>>>>>> Hi Tom,
>>>>>>
>>>>>> On Tue, Oct 15, 2013 at 07:55:11PM -0400, Tom Parker wrote:
>>>>>>> Hi Dejan
>>>>>>>
>>>>>>> Just a quick question. I cannot see your new log messages being logged
>>>>>>> to syslog
>>>>>>>
>>>>>>> ocf_log warn "domain $1 reported as not running, but it is expected to
>>>>>>> be running! Retrying for $cnt seconds ...
>>>>>>>
>>>>>>> Do you know where I can set my logging to see warn level messages? I
>>>>>>> expected to see them in my testing by default but that does not seem to
>>>>>>> be true.
>>>>>> You should see them by default. But note that these warnings may
>>>>>> not happen, depending on the circumstances on your host. In my
>>>>>> experiments they were logged only while the guest was rebooting
>>>>>> and then just once or maybe twice. If you have recent
>>>>>> resource-agents and crmsh, you can enable operation tracing (with
>>>>>> crm resource trace <rsc> monitor <interval>).
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Dejan
>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> Tom
>>>>>>>
>>>>>>>
>>>>>>> On 10/08/2013 05:04 PM, Dejan Muhamedagic wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> On Tue, Oct 08, 2013 at 01:52:56PM +0200, Ulrich Windl wrote:
>>>>>>>>> Hi!
>>>>>>>>>
>>>>>>>>> I thought, I'll never be bitten by this bug, but I actually was! Now
>>>>>>>>> I'm
>>>>>>>>> wondering whether the Xen RA sees the guest if you use pygrub, and
>>>>>>>>> pygrub is
>>>>>>>>> still counting down for actual boot...
>>>>>>>>>
>>>>>>>>> But the reason why I'm writing is that I think I've discovered
>>>>>>>>> another bug in
>>>>>>>>> the RA:
>>>>>>>>>
>>>>>>>>> CRM decided to "recover" the guest VM "v02":
>>>>>>>>> [...]
>>>>>>>>> lrmd: [14903]: info: operation monitor[28] on prm_xen_v02 for client
>>>>>>>>> 14906:
>>>>>>>>> pid 19516 exited with return code 7
>>>>>>>>> [...]
>>>>>>>>> pengine: [14905]: notice: LogActions: Recover prm_xen_v02 (Started
>>>>>>>>> h05)
>>>>>>>>> [...]
>>>>>>>>> crmd: [14906]: info: te_rsc_command: Initiating action 5: stop
>>>>>>>>> prm_xen_v02_stop_0 on h05 (local)
>>>>>>>>> [...]
>>>>>>>>> Xen(prm_xen_v02)[19552]: INFO: Xen domain v02 already stopped.
>>>>>>>>> [...]
>>>>>>>>> lrmd: [14903]: info: operation stop[31] on prm_xen_v02 for client
>>>>>>>>> 14906: pid
>>>>>>>>> 19552 exited with return code 0
>>>>>>>>> [...]
>>>>>>>>> crmd: [14906]: info: te_rsc_command: Initiating action 78: start
>>>>>>>>> prm_xen_v02_start_0 on h05 (local)
>>>>>>>>> lrmd: [14903]: info: rsc:prm_xen_v02 start[32] (pid 19686)
>>>>>>>>> [...]
>>>>>>>>> lrmd: [14903]: info: RA output: (prm_xen_v02:start:stderr) Error:
>>>>>>>>> Domain 'v02'
>>>>>>>>> already exists with ID '3'
>>>>>>>>> lrmd: [14903]: info: RA output: (prm_xen_v02:start:stdout) Using
>>>>>>>>> config file
>>>>>>>>> "/etc/xen/vm/v02".
>>>>>>>>> [...]
>>>>>>>>> lrmd: [14903]: info: operation start[32] on prm_xen_v02 for client
>>>>>>>>> 14906: pid
>>>>>>>>> 19686 exited with return code 1
>>>>>>>>> [...]
>>>>>>>>> crmd: [14906]: info: process_lrm_event: LRM operation
>>>>>>>>> prm_xen_v02_start_0
>>>>>>>>> (call=32, rc=1, cib-update=5271, confirmed=true) unknown error
>>>>>>>>> crmd: [14906]: WARN: status_from_rc: Action 78 (prm_xen_v02_start_0)
>>>>>>>>> on h05
>>>>>>>>> failed (target: 0 vs. rc: 1): Error
>>>>>>>>> [...]
>>>>>>>>>
>>>>>>>>> As you can clearly see "start" failed, because the guest was found up
>>>>>>>>> already!
>>>>>>>>> IMHO this is a bug in the RA (SLES11 SP2:
>>>>>>>>> resource-agents-3.9.4-0.26.84).
>>>>>>>> Yes, I've seen that. It's basically the same issue, i.e. the
>>>>>>>> domain being gone for a while and then reappearing.
>>>>>>>>
>>>>>>>>> I guess the following test is problematic:
>>>>>>>>> ---
>>>>>>>>> xm create ${OCF_RESKEY_xmfile} name=$DOMAIN_NAME
>>>>>>>>> rc=$?
>>>>>>>>> if [ $rc -ne 0 ]; then
>>>>>>>>> return $OCF_ERR_GENERIC
>>>>>>>>> ---
>>>>>>>>> Here "xm create" probably fails if the guest is already created...
>>>>>>>> It should fail too. Note that this is a race, but the race is
>>>>>>>> anyway caused by the strange behaviour of xen. With the recent
>>>>>>>> fix (or workaround) in the RA, this shouldn't be happening.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Dejan
>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Ulrich
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>>> Dejan Muhamedagic <[email protected]> schrieb am 01.10.2013 um
>>>>>>>>>>>> 12:24 in
>>>>>>>>> Nachricht <[email protected]>:
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> On Tue, Oct 01, 2013 at 12:13:02PM +0200, Lars Marowsky-Bree wrote:
>>>>>>>>>>> On 2013-10-01T00:53:15, Tom Parker <[email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Thanks for paying attention to this issue (not really a bug) as I
>>>>>>>>>>>> am
>>>>>>>>>>>> sure I am not the only one with this issue. For now I have set
>>>>>>>>>>>> all my
>>>>>>>>>>>> VMs to destroy so that the cluster is the only thing managing them
>>>>>>>>>>>> but
>>>>>>>>>>>> this is not super clean as I get failures in my logs that are not
>>>>>>>>>>>> really
>>>>>>>>>>>> failures.
>>>>>>>>>>> It is very much a severe bug.
>>>>>>>>>>>
>>>>>>>>>>> The Xen RA has gained a workaround for this now, but we're also
>>>>>>>>>>> pushing
>>>>>>>>>> Take a look here:
>>>>>>>>>>
>>>>>>>>>> https://github.com/ClusterLabs/resource-agents/pull/314
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>> Dejan
>>>>>>>>>>
>>>>>>>>>>> the Xen team (where the real problem is) to investigate and fix.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Lars
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Architect Storage/HA
>>>>>>>>>>> SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix
>>>>>>>>>>> Imendörffer,
>>>>>>>>>> HRB 21284 (AG Nürnberg)
>>>>>>>>>>> "Experience is the name everyone gives to their mistakes." -- Oscar
>>>>>>>>>>> Wilde
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Linux-HA mailing list
>>>>>>>>>>> [email protected]
>>>>>>>>>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>>>>>>>>>> See also: http://linux-ha.org/ReportingProblems
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Linux-HA mailing list
>>>>>>>>>> [email protected]
>>>>>>>>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>>>>>>>>> See also: http://linux-ha.org/ReportingProblems
>>>>>>>>> _______________________________________________
>>>>>>>>> Linux-HA mailing list
>>>>>>>>> [email protected]
>>>>>>>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>>>>>>>> See also: http://linux-ha.org/ReportingProblems
>>>>>>>> _______________________________________________
>>>>>>>> Linux-HA mailing list
>>>>>>>> [email protected]
>>>>>>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>>>>>>> See also: http://linux-ha.org/ReportingProblems
>>>>>>> _______________________________________________
>>>>>>> Linux-HA mailing list
>>>>>>> [email protected]
>>>>>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>>>>>> See also: http://linux-ha.org/ReportingProblems
>>>>>> _______________________________________________
>>>>>> Linux-HA mailing list
>>>>>> [email protected]
>>>>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>>>>> See also: http://linux-ha.org/ReportingProblems
>>>>> _______________________________________________
>>>>> Linux-HA mailing list
>>>>> [email protected]
>>>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>>>> See also: http://linux-ha.org/ReportingProblems
>>>> _______________________________________________
>>>> Linux-HA mailing list
>>>> [email protected]
>>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>>> See also: http://linux-ha.org/ReportingProblems
>>> _______________________________________________
>>> Linux-HA mailing list
>>> [email protected]
>>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>>> See also: http://linux-ha.org/ReportingProblems
>> _______________________________________________
>> Linux-HA mailing list
>> [email protected]
>> http://lists.linux-ha.org/mailman/listinfo/linux-ha
>> See also: http://linux-ha.org/ReportingProblems
>
>
> _______________________________________________
> Linux-HA mailing list
> [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha
> See also: http://linux-ha.org/ReportingProblems
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems