[ovs-dev] [PATCH] rhel-systemd: Restart openvswitch service if a daemon crashes

Flavio Leitner fbl at sysclose.org
Mon Feb 20 14:37:29 UTC 2017


On Tue, Feb 07, 2017 at 01:38:05PM +0100, Eelco Chaudron wrote:
> Currently if either ovsdb-server or ovs-vswitchd is crashing the
> daemon is not restarting leaving the system in faulty state.
> This patch will detect the daemon crash and will restart the
> openvswitch service.
> 
> Here is a (bit to wide) table showing the behavior before and after
> the patch. Note that only the Crash behavior has changed:
> 
> Before patch:
>                                |       Process Status        |             systemctl <> status            |
>                                | ovs-vswitchd | ovsdb-server | openvswitch  | ovs-vswitchd | ovsdb-server |
>                                +--------------+--------------+--------------+--------------+--------------+
> systemctl start openvswitch*   | started      | started      |active,exited |active,running|active,running|
> Crash vswitchd                 | crashed      | stopped      |inactive, dead|failed        |inactive,dead |
> Crash ovsdb                    | stopped      | crashed      |inactive, dead|inactive,dead |failed        |
> systemctl restart openvswitch  | re-started   | re-started   |active,exited |active,running|active,running|
> systemctl restart ovs-vswitchd | re-started   | re-started   |active,exited |active,running|active,running|
> systemctl restart ovsdb-server | re-started   | re-started   |active,exited |active,running|active,running|
> systemctl stop openvswitch     | stopped      | stopped      |inactive, dead|inactive,dead |inactive,dead |
> systemctl stop ovs-vswitchd    | stopped      | stopped      |inactive, dead|inactive,dead |inactive,dead |
> systemctl stop ovsdb-server    | stopped      | stopped      |inactive, dead|inactive,dead |inactive,dead |
> systemctl start ovs-vswitchd*  | started      | started      |inactive, dead|active,running|active,running|
> systemctl start ovsdb-server*  | not started  | started      |inactive, dead|inactive, dead|active,running|
> 
> With patch:
>                                |       Process Status        |             systemctk <> status            |
>                                | ovs-vswitchd | ovsdb-server | openvswitch  | ovs-vswitchd | ovsdb-server |
>                                +--------------+--------------+--------------+--------------+--------------+
> systemctl start openvswitch*   | started      | started      |active,exited |active,running|active,running|
> Crash vswitchd                 | crash,started| re-started   |active,exited |active,running|active,running|
> Crash ovsdb                    | re-started   | crash,started|active,exited |active,running|active,running|
> systemctl restart openvswitch  | re-started   | re-started   |active,exited |active,running|active,running|
> systemctl restart ovs-vswitchd | re-started   | re-started   |active,exited |active,running|active,running|
> systemctl restart ovsdb-server | re-started   | re-started   |active,exited |active,running|active,running|
> systemctl stop openvswitch     | stopped      | stopped      |inactive, dead|inactive,dead |inactive,dead |
> systemctl stop ovs-vswitchd    | stopped      | stopped      |inactive, dead|inactive,dead |inactive,dead |
> systemctl stop ovsdb-server    | stopped      | stopped      |inactive, dead|inactive,dead |inactive,dead |
> systemctl start ovs-vswitchd*  | started      | started      |inactive, dead|active,running|active,running|
> systemctl start ovsdb-server*  | not started  | started      |inactive, dead|inactive, dead|active,running|
> 
> * These commands where executed when no ovs related processes where
>   running. All other commands where executed when OVS was successfully
>   running.
> 
> Signed-off-by: Eelco Chaudron <echaudro at redhat.com>
> ---

Looks good to me.
Acked-by: Flavio Leitner <fbl at sysclose.org>




More information about the dev mailing list