Re: [Nagios-devel] Unable to stop executing checks with 3.2.2

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Guest

Re: [Nagios-devel] Unable to stop executing checks with 3.2.2

Post by Guest »


On 19 Sep 2010, at 11:51, Stephen Gran wrote:

> On Sat, Sep 18, 2010 at 06:57:54PM +0100, Ton Voon said:
>> The test_events.c passes with this change. However, it would be best
>> if a testcase could be written for the problem this is trying to
>> solve, which fails without the patch and passes with the patch. This
>> will ensure the problem will continue to get visibility in future.
>>
>> If you create that testcase, I'd be more than happy to apply.
>
> So I've been looking at the various test cases you already have, and
> I'm
> not sure if it's going to be simpler to try to plug it into
> test_events.c
> or create a new one

I don't mind as long as the test is written in a way that can be rerun
to confirm success in TAP output.

More docs at http://wiki.nagios.org/index.php/Nagios ... es#Testing

However, I'm guessing you'll find it easier to add more tests to
test_events.c than to create a whole new test_events2.c.

> , so I'm going to outline my thoughts and ask for a
> recommendation.
>
> The things that this patch addresses and should be tested are (in
> pseudo
> code):
>
> if execute_service_checks == 1 and execute_host_checks == 1:
> failed service_check schedules a host_check and executes it
> service_check is rescheduled
>
> else if execute_service_checks == 0 and execute_host_checks == 1:
> service_check is rescheduled instead of executed
> host_check is scheduled at it's normal interval and executed
>
> else if execute_service_checks == 1 and execute_host_checks == 0:
> failed service_check schedules a host_check
> host_check is rescheduled instead of run
> service_check is rescheduled
>
> else if execute_service_checks == 0 and execute_host_checks == 0:
> a service_check is rescheduled
> a host_check is rescheduled
>
> That covers my understanding of how the scheduling should work.

This looks about right though, to be honest, I've never delved deeply
into this logic so I can't verify.

>
> Any advice on where to put that? I admit at first glance I am
> slightly
> daunted by the prospect of learning your test harness for the logic
> above, but I'm willing to try.

The first thing is: can you get the test_events C code to execute
without failure?

The 2nd is to code your scenarios above. The tricky thing here is that
you have to setup all the appropriate variables, then execute
event_execution_loop(). As you success criteria is based on whether
certain events were executed or not, you could probably work this out
by checking the last_check and next_check for specific host/services
afterwards.

I look forward to see those tests!

Ton






This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
Locked