On Fri, Oct 18, 2013 at 02:03:23PM -0400, Tom Parker wrote:
> I may have actually created the pull request properly...
Indeed! You should have the commits be self-contained and fix
one thing only. If you need to create items in the commit
description, that's a signal that there's too much stuff in it.
But you can have more than one commit in a single pull request.
> Please let me know and again thanks for your help.
Thank you for the effort. I already commented on your pull
request.
Cheers,
Dejan
> 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
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems