Re: cfengine watchdog is not biting

Xander Cage <[email protected]> Mon, 26 Feb 2024 01:44:01 -0800 (PST)
Newsgroups gmane.comp.sysutils.cfengine.general
Message-ID <[email protected]>
did the requested tests...


root@aixtest01: /root # bash -c 'echo $$ > 
/var/cfengine/watchdog_changed.pid && exec /opt/freeware/bin/sleep 
infinity' &
[2] 22020394
root@aixtest01: /root # /var/cfengine/bin/watchdog_changed

log output:

Mon Feb 26 10:36:45 CET 2024 Initiating watchdog 4456948
Mon Feb 26 10:36:47 CET 2024 Found 0 symptoms, threshold (0) not breached, 
no remediation or collection performed
Mon Feb 26 10:36:47 CET 2024 DONE watchdog 4456948


root@aixtest01: /root # bash -c 'echo $$ > 
/var/cfengine/watchdog_changed.pid'
root@aixtest01: /root # /var/cfengine/bin/watchdog_changed

log output:

Mon Feb 26 10:37:52 CET 2024 Initiating watchdog 17432960
Mon Feb 26 10:37:53 CET 2024 Found 0 symptoms, threshold (0) not breached, 
no remediation or collection performed
Mon Feb 26 10:37:53 CET 2024 DONE watchdog 17432960


root@aixtest01: /root # bash -c 'echo $$ > 
/var/cfengine/watchdog_changed.pid && touch -t 02210927 
/var/cfengine/watchdog_changed.pid && exec /opt/freeware/bin/sleep 
infinity' &
[3] 32964974
root@aixtest01: /root # /var/cfengine/bin/watchdog_changed

[3]+  Stopped                 bash -c 'echo $$ > 
/var/cfengine/watchdog_changed.pid && touch -t 02210927 
/var/cfengine/watchdog_changed.pid && exec /opt/freeware/bin/sleep infinity'

log output:

Mon Feb 26 10:39:28 CET 2024 Initiating watchdog 12321050
Mon Feb 26 10:39:31 CET 2024 Found 0 symptoms, threshold (0) not breached, 
no remediation or collection performed
Mon Feb 26 10:39:31 CET 2024 DONE watchdog 12321050

expected something more exiting...but it is what is i guess....


On Friday, February 23, 2024 at 9:20:49 AM UTC+1 Xander Cage wrote:

> no problem...will do the tests next week...
>
> On Thursday, February 22, 2024 at 6:32:06 PM UTC+1 [email protected] 
> wrote:
>
>> Thanks Xander,
>>
>> You could test it by running something like:
>>
>> bash -c 'echo $$ > /var/cfengine/watchdog.pid && exec sleep infinity' &
>>
>> Running bash separately ensures the pid will be different, and the exec 
>> makes the sleep run with the same PID as the shell was running with (i.e. 
>> that PID is taken oven by the sleep) and the & makes it all happen in the 
>> background.
>>
>> Then you've got a pidfile showing a valid, running process that is 
>> definitely using that pid.
>>
>> To simulate stale pidfile with no process using that pid is easy, just 
>> put a number in there and then exit:
>>
>> bash -c 'echo $$ > /var/cfengine/watchdog.pid'
>>
>> To simulate stale pidfile where there is a process running on that pid 
>> but it's newer than the pidfile is also possible; it requires use of touch 
>> to set an old mtime.  Checking AIX docs (
>> https://www.ibm.com/docs/en/aix/7.3?topic=t-touch-command) it looks like 
>> it should be something like:
>>
>> bash -c 'echo $$ > /var/cfengine/watchdog.pid && touch -t 
>> 02210927 /var/cfengine/watchdog.pid && exec sleep infinity' &
>>
>> (That would set the mtime to 24 hours ago at this writing - Feb 21 at 
>> 9:27 in the morning.)
>>
>> Then in each case run the watchdog and see what happens, maybe convert my 
>> inline comments to echo commands so you can see which branch is taken. 
>>  (E.g. echo "Pidfile is definitely correct")
>>
>> I much prefer submitting fully tested code but unfortunately I don't have 
>> access to any AIX systems, so if you could try the above it would be very 
>> much appreciated.  :)  And this way any issues can be found before the 
>> updated code is included in any release.
>>
>> Best,
>> --Mike Weilgart
>>
>> On Feb 22, 2024, at 5:26 AM, Xander Cage <[email protected]> wrote:
>>
>> forgot to post the error:
>>
>> root@aixtest01: /root # /var/cfengine/bin/watchdog_changed
>> /var/cfengine/bin/watchdog_changed[52]: syntax error at line 64 : `else' 
>> unexpected
>>
>> On Thursday, February 22, 2024 at 2:25:03 PM UTC+1 Xander Cage wrote:
>>
>>> i dont think the problematic situation can be simulated, but running the 
>>> changed script shows a missing "then" ;-)
>>>
>>>
>>> https://github.com/cfengine/masterfiles/blob/70eb84ad845af716fdc53b1299544e7b521a563d/cfe_internal/core/watchdog/templates/watchdog.mustache#L60
>>>
>>> after adding it, the scripts runs without errors....
>>>
>>> On Thursday, February 22, 2024 at 2:47:24 AM UTC+1 [email protected] 
>>> wrote:
>>>
>>>> I opened a pull request: 
>>>> https://github.com/cfengine/masterfiles/pull/2841
>>>>
>>>> Would like some help with testing.  Would be especially great to test 
>>>> on some of these systems where the existing pidfile logic isn't working, 
>>>> besides testing the usual cases.
>>>>
>>>> Best,
>>>> --Mike Weilgart
>>>> On Wednesday, February 21, 2024 at 6:59:41 AM UTC-8 nick.a...@
>>>> northern.tech wrote:
>>>>
>>>>> Thanks for filing the ticket. :D
>>>>>
>>>>> On Tuesday, February 20, 2024 at 6:34:15 AM UTC-6 Xander Cage wrote:
>>>>>
>>>>>> ticket created -> https://northerntech.atlassian.net/browse/CFE-4335
>>>>>>
>>>>>>
>>>>>> On Tuesday, February 20, 2024 at 11:11:20 AM UTC+1 Xander Cage wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> At times the cfengine watchdog script is unable to resolve hanging 
>>>>>>> cf-agents. the reason is that if the system is under high load the watchdog 
>>>>>>> "hangs" because it reads his own stale pid file and is doing simply nothing.
>>>>>>>  
>>>>>>>
>>>>>>> example:
>>>>>>>
>>>>>>> i had 332 hanging cf-agent processe but the watchdog log just shows 
>>>>>>> this.
>>>>>>>
>>>>>>> Tue Feb 20 10:57:00 CET 2024 Initiating watchdog 6816488
>>>>>>> Tue Feb 20 10:57:00 CET 2024 Aborting execution of watchdog 6816488, 
>>>>>>> existing watchdog process 16450014 running
>>>>>>> Tue Feb 20 10:58:00 CET 2024 Initiating watchdog 44499432
>>>>>>> Tue Feb 20 10:58:00 CET 2024 Aborting execution of watchdog 
>>>>>>> 44499432, existing watchdog process 16450014 running
>>>>>>>
>>>>>>> after deleting the pid file...
>>>>>>>
>>>>>>> Tue Feb 20 10:59:00 CET 2024 Initiating watchdog 25756150
>>>>>>> Tue Feb 20 10:59:01 CET 2024 Found cf-execd not running
>>>>>>> Tue Feb 20 10:59:03 CET 2024 Found 332 occurrences of cf-execd 
>>>>>>> terminating unresponsive cf-agent
>>>>>>> Tue Feb 20 10:59:04 CET 2024 Found 2 symptoms, threshold (0) 
>>>>>>> breached.
>>>>>>> Tue Feb 20 10:59:06 CET 2024 Initiating apoptosis
>>>>>>> Tue Feb 20 10:59:10 CET 2024 Initiating anastasis
>>>>>>>
>>>>>>> i guess there is room for impovement, as this can bring a system 
>>>>>>> down quite easyily.
>>>>>>>
>>>>>>> wbr
>>>>>>>
>>>>>>> chris
>>>>>>>
>>>>>>>
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "help-cfengine" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/help-cfengine/ddLSAt7qsos/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/help-cfengine/24484aa8-cf0f-4882-a8b5-47894c81af5cn%40googlegroups.com 
>> <https://groups.google.com/d/msgid/help-cfengine/24484aa8-cf0f-4882-a8b5-47894c81af5cn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "help-cfengine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/help-cfengine/0292d488-b8f5-44ac-b442-2f721dd82163n%40googlegroups.com.