Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Remove exception throwing when initializing missing loopback interface #90

Merged
merged 4 commits into from
Jun 24, 2022

Conversation

zjswhhh
Copy link
Contributor

@zjswhhh zjswhhh commented Jun 24, 2022

Description of PR

Summary:
Fixes # (issue)
This PR is to avoid throwing exception when linkmgrd initializing without CONFIG DB loopback interface entry.

sign-off: Jing Zhang zhangjing@microsoft.com

Type of change

  • Bug fix
  • New feature
  • Doc/Design
  • Unit test

Approach

What is the motivation for this PR?

Avoid unnecessary process exits.

How did you do it?

Log a fatal message instead of exiting the process.

How did you verify/test it?

Tested on dual testbeds. Met all expected behavior below:

  1. Remove loopback interface live (when linkmgrd is running):
    No linkmgrd crash. show mux status reported unhealthy as no IP interface to receive heartbeat packets.
  2. Start mux service when missing loopback interface:
    No linkmgrd crash. Saw fatal log below in syslog. show mux status report unhealthy.
  3. Add back loopback interface CONFIG DB entry live:
    show mux status reported healthy.

Any platform specific information?

Documentation

@zjswhhh zjswhhh merged commit 9265497 into sonic-net:master Jun 24, 2022
@zjswhhh zjswhhh deleted the avoid_throw_master branch June 24, 2022 16:10
yxieca pushed a commit that referenced this pull request Jun 24, 2022
#90)

### Description of PR
Summary:
Fixes # (issue)
This PR is to avoid throwing exception when linkmgrd initializing without CONFIG DB loopback interface entry. 

sign-off: Jing Zhang zhangjing@microsoft.com 

### Type of change
- [x] Bug fix

### Approach
#### What is the motivation for this PR?
Avoid unnecessary process exits. 

#### How did you do it?
Log a fatal message instead of exiting the process. 

#### How did you verify/test it?
Tested on dual testbeds. Met all expected behavior below:
1. Remove loopback interface live (when linkmgrd is running):   
    No linkmgrd crash. `show mux status` reported `unhealthy` as no IP interface to receive heartbeat packets.
2. Start mux service when missing loopback interface:  
    No linkmgrd crash. Saw fatal log below in syslog. `show mux status` report `unhealthy`.
3. Add back loopback interface CONFIG DB entry live:  
    `show mux status` reported `healthy`.
qiluo-msft pushed a commit that referenced this pull request Jul 5, 2022
#90)

### Description of PR
Summary:
Fixes # (issue)
This PR is to avoid throwing exception when linkmgrd initializing without CONFIG DB loopback interface entry. 

sign-off: Jing Zhang zhangjing@microsoft.com 

### Type of change
- [x] Bug fix

### Approach
#### What is the motivation for this PR?
Avoid unnecessary process exits. 

#### How did you do it?
Log a fatal message instead of exiting the process. 

#### How did you verify/test it?
Tested on dual testbeds. Met all expected behavior below:
1. Remove loopback interface live (when linkmgrd is running):   
    No linkmgrd crash. `show mux status` reported `unhealthy` as no IP interface to receive heartbeat packets.
2. Start mux service when missing loopback interface:  
    No linkmgrd crash. Saw fatal log below in syslog. `show mux status` report `unhealthy`.
3. Add back loopback interface CONFIG DB entry live:  
    `show mux status` reported `healthy`.
zjswhhh added a commit to sonic-net/sonic-buildimage that referenced this pull request Jul 12, 2022
[master][sonic-linkmgrd] submodule update

58d8aae Longxiang Lyu Sat Jul 2 10:14:50 2022 +0800 Enforce switch after config mux to active (sonic-net/sonic-linkmgrd#95)
600df46 Longxiang Lyu Thu Jun 30 15:09:10 2022 +0800 Add unittest to verify mux toggle active (sonic-net/sonic-linkmgrd#94)
400b1b8 gregshpit Wed Jun 29 21:32:45 2022 +0300 For Sonic cross-compilation build. CC variable is used as gcc compiler. CXX variable is used as g++ compiler. (sonic-net/sonic-linkmgrd#91)
a516668 Jing Zhang Tue Jun 28 11:07:23 2022 -0700 Use Vlan MAC as src MAC for link prober by default (sonic-net/sonic-linkmgrd#93)
6b5d739 Longxiang Lyu Tue Jun 28 22:46:12 2022 +0800 Fix inconsistent mux state (sonic-net/sonic-linkmgrd#92)
9265497 Jing Zhang Fri Jun 24 09:10:12 2022 -0700 Remove exception throwing when initializing missing loopback interface (sonic-net/sonic-linkmgrd#90)

sign-off: Jing Zhang zhangjing@microsoft.com
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants