Legato supervisor fault action


#1

Hi,

I’m trying to configure fault action for my application that has 2 processes (P1 and P2). For each process I’m setting fault action as restart. By documentation this means that supervisor will restart only that process and will not touch other processes within an application (P2).
The problem is that if one process (P1) fails 4 times supervisor stops the complete application. How can I setup that not whole application is stopped but only problematic process?

When application is being stopped supervisor states:

Process 'P1' reached the fault limit (in a 'good' system) and will be stopped.

Attached is test application which I use to test the functionality. Process P1 exits after 5 seconds with return code 1 which should simulate app crash. Process P2 stops only after 100 seconds (for this test this is infinite). Make sure to install this application with “mark as good” flag otherwise Legato will restart whole Linux to rollback. tst.tgz (3.6 KB)

Regards,
Aleksandar


#2

Hello @aleksandar.zivkovic, This behaviour is expected. Supervisor triggers a reboot if an app exits immediately after it is started. Supervisor restarts the apps if the app fails to continue after a certain time. The app is not stopped when a delay of 15 seconds was set in proc1 during my tests.