Compare commits

...

18 Commits

Author SHA1 Message Date
xumia
a29781f168
[202006] Change submodule path from Azure to sonic-net (#12315)
Why I did it
Change the path of sonic submodules that point to "Azure" to point to "sonic-net"

How I did it
Replace "Azure" with "sonic-net" on all relevant paths of sonic submodules
2022-10-13 23:30:23 +08:00
Guohan Lu
88cfe6a66e [monit] Adding patch to enhance syslog error message generation for monit alert action when status is failed. (#5720)
Why/How I did:

Make sure first error syslog is triggered based on FAULT TOLERANCE condition.

Added support of repeat clause with alert action. This is used as trigger
for generation of periodic syslog error messages if error is persistent

Updated the monit conf files with repeat every x cycles for the alert action

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-12-09 09:03:15 -08:00
yozhao101
0e5f12e50e [Monit] Unmonitor the processes in containers which are disabled. (#5153)
We want to let Monit to unmonitor the processes in containers which are disabled in `FEATURE` table such that
Monit will not generate false alerting messages into the syslog.

Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2020-12-09 09:02:39 -08:00
Qi Luo
b82c0fc6b5
Revert redis-tools version in docker-sonic-vs which is from debian:stretch (#5516)
Signed-off-by: Qi Luo <qiluo-msft@users.noreply.github.com>
2020-10-01 12:38:09 -07:00
Samuel Angebault
fde0f7f720 [arista]: Add new 48x50G + 8x100G hwsku for Lodoga (#5452) 2020-09-23 23:50:59 -07:00
Samuel Angebault
76a7e32409
[arista] Update arista driver submodules (#5125)
Update Arista driver submodules for 202006 using master drivers.
It fixes a few issues as well as adds all the recent improvements.
2020-09-10 08:53:06 -07:00
Qi Luo
65bd38579e [redis] Use redis-server and redis-tools in blob storage to prevent upstream link broken (#5340)
* [redis] Use redis-server and redis-tools in blob storage to prevent
upstream link broken
* Use curl instead of wget
* Explicitly install dependencies
2020-09-10 01:32:42 -07:00
Qi Luo
0a864966cd [redis] Upgrade redis version (#5060)
buster-backports updated and the old version disappeared
2020-09-10 01:32:26 -07:00
Baptiste Covolato
a35609faaf [arista/aboot]: Zero out 1st MB before repartitioning (#5220)
The first partition starting point was changed to be 1M as part of this
commit: 6ba2f97f1e. On systems that are misaligned before conversion
(partition start is the first sector), the relica partition that is
left in the first MB can cause problems in Aboot and result in corruption
of the filesystem on the new aligned partition.

Zeroing this old relica makes sure that there is nothing left of the old
partition lying around. There won't be any risk of having Aboot corrupt
the new filesystem because of the old relica.

Signed-off-by: Baptiste Covolato <baptiste@arista.com>
2020-08-22 18:48:57 -07:00
rkdevi27
80dc2b71d1 [baseimage]: /host unmount timeout issue during reboot. (#5032)
Fix for the host unmount issue through PR https://github.com/Azure/sonic-buildimage/pull/4558 and https://github.com/Azure/sonic-buildimage/pull/4865 creates the timeout of syslog.socket closure during reboot since the journald socket closure has been included in syslog.socket

Removed the journal socket closure. The host unmount is fixed with just stopping the services which gets restarted only after /var/log unmount and not causing the unmount issues.
2020-07-25 08:31:05 +00:00
Joe LeVeque
210dc90d0d [caclmgrd] Filter DHCP packets based on dest port only (#4995) 2020-07-21 10:15:08 +00:00
Volodymyr Boiko
945effe6e3 [BFN] Update SAI and platform packages to 20200710 (#4944)
Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2020-07-12 18:16:44 +00:00
Volodymyr Boiko
ee08c73d3b [barefoot][SAI v1.6.3] Update SAI and platform packages to 20200701 (#4890) (#4921)
update platform packages to 20200701 to correspond the current SAI version in sconic

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2020-07-12 18:16:44 +00:00
Mahesh Maddikayala
96fedf1ae9 [sonic-sairedis] sonic-sairedis submodule update (#4847)
* sonic-sairedis submodule update
* Update BRCM SAI to 3.7.5.1
2020-07-12 18:16:44 +00:00
judyjoseph
f2fb6de1ab Support for connecting to DB in namespace via TCP port in multi-asic platform. (#4779)
* Support for connecting to DB in namespace via IP:port ( using docker bridge network ) for applications in multi-asic platform.

* Added the default IP as 127.0.0.1 if the IPaddress derivation from interface fails.
Moved the localhost loopback IP binding logic into the supervisor.j2 file.
2020-07-12 18:16:44 +00:00
Kebo Liu
608a69ca02 [mellanox]: Update SAI to 1.16.5 (#4873)
1.  Upgrade SAI headers to v1.6.3
2.  Fix traffic lost during FFB related to buffer config + optimize buffer config timing for FB
3.  Add ACL fields BTH, IP flags
4.  Add ACL infrastructure of different fields per ASIC type
2020-07-12 18:16:44 +00:00
Volodymyr Boiko
3919d0919b [sonic-platform-common] Update submodule (#4871)
* src/sonic-platform-common 82bbeab...42781ff (1):
  > [SfpBase] Fix key name typo in docstring (#99)

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2020-07-12 18:16:44 +00:00
arlakshm
40e37f385e syslog changes Multi ASIC platforms (#4738)
Add changes for syslog support for containers running in namespaces on multi ASIC platforms.
On Multi ASIC platforms

Rsyslog service is only running on the host. There is no rsyslog service running in each namespace.
On multi ASIC platforms the rsyslog service on the host will be listening on the docker0 ip address instead of loopback address.
The rsyslog.conf on the containers is modified to have omfwd target ip to be docker0 ipaddress instead of loopback ip

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
2020-07-12 18:16:44 +00:00
51 changed files with 1030 additions and 126 deletions

34
.gitmodules vendored
View File

@ -1,15 +1,15 @@
[submodule "sonic-swss-common"]
path = src/sonic-swss-common
url = https://github.com/Azure/sonic-swss-common
url = https://github.com/sonic-net/sonic-swss-common
[submodule "sonic-linux-kernel"]
path = src/sonic-linux-kernel
url = https://github.com/Azure/sonic-linux-kernel
url = https://github.com/sonic-net/sonic-linux-kernel
[submodule "sonic-sairedis"]
path = src/sonic-sairedis
url = https://github.com/Azure/sonic-sairedis
url = https://github.com/sonic-net/sonic-sairedis
[submodule "sonic-swss"]
path = src/sonic-swss
url = https://github.com/Azure/sonic-swss
url = https://github.com/sonic-net/sonic-swss
[submodule "src/p4c-bm/p4c-bm"]
path = platform/p4/p4c-bm/p4c-bm
url = https://github.com/krambn/p4c-bm
@ -18,35 +18,35 @@
url = https://github.com/p4lang/p4-hlir
[submodule "quagga"]
path = src/sonic-quagga
url = https://github.com/Azure/sonic-quagga
url = https://github.com/sonic-net/sonic-quagga
branch = debian/0.99.24.1
[submodule "sonic-dbsyncd"]
path = src/sonic-dbsyncd
url = https://github.com/Azure/sonic-dbsyncd
url = https://github.com/sonic-net/sonic-dbsyncd
[submodule "src/sonic-py-swsssdk"]
path = src/sonic-py-swsssdk
url = https://github.com/Azure/sonic-py-swsssdk.git
url = https://github.com/sonic-net/sonic-py-swsssdk.git
[submodule "src/sonic-snmpagent"]
path = src/sonic-snmpagent
url = https://github.com/Azure/sonic-snmpagent
url = https://github.com/sonic-net/sonic-snmpagent
[submodule "src/ptf"]
path = src/ptf
url = https://github.com/p4lang/ptf.git
[submodule "src/sonic-utilities"]
path = src/sonic-utilities
url = https://github.com/Azure/sonic-utilities
url = https://github.com/sonic-net/sonic-utilities
[submodule "platform/broadcom/sonic-platform-modules-arista"]
path = platform/broadcom/sonic-platform-modules-arista
url = https://github.com/aristanetworks/sonic
[submodule "src/sonic-platform-common"]
path = src/sonic-platform-common
url = https://github.com/Azure/sonic-platform-common
url = https://github.com/sonic-net/sonic-platform-common
[submodule "src/sonic-platform-daemons"]
path = src/sonic-platform-daemons
url = https://github.com/Azure/sonic-platform-daemons
url = https://github.com/sonic-net/sonic-platform-daemons
[submodule "src/sonic-frr/frr"]
path = src/sonic-frr/frr
url = https://github.com/Azure/sonic-frr.git
url = https://github.com/sonic-net/sonic-frr.git
branch = frr/7.2
[submodule "platform/p4/p4-hlir/p4-hlir-v1.1"]
path = platform/p4/p4-hlir/p4-hlir-v1.1
@ -68,20 +68,20 @@
url = https://github.com/Mellanox/SAI-Implementation
[submodule "src/sonic-mgmt-framework"]
path = src/sonic-mgmt-framework
url = https://github.com/Azure/sonic-mgmt-framework
url = https://github.com/sonic-net/sonic-mgmt-framework
[submodule "src/sonic-telemetry"]
path = src/sonic-telemetry
url = https://github.com/Azure/sonic-telemetry
url = https://github.com/sonic-net/sonic-telemetry
[submodule "Switch-SDK-drivers"]
path = platform/mellanox/sdk-src/sx-kernel/Switch-SDK-drivers
url = https://github.com/Mellanox/Switch-SDK-drivers
[submodule "src/sonic-ztp"]
path = src/sonic-ztp
url = https://github.com/Azure/sonic-ztp
url = https://github.com/sonic-net/sonic-ztp
[submodule "src/sonic-restapi"]
path = src/sonic-restapi
url = https://github.com/Azure/sonic-restapi.git
url = https://github.com/sonic-net/sonic-restapi.git
branch = master
[submodule "src/sonic-mgmt-common"]
path = src/sonic-mgmt-common
url = https://github.com/Azure/sonic-mgmt-common.git
url = https://github.com/sonic-net/sonic-mgmt-common.git

View File

@ -0,0 +1,57 @@
# name lanes alias index speed
Ethernet0 1,2 Ethernet1/1 1 50000
Ethernet2 3,4 Ethernet1/3 1 50000
Ethernet4 5,6 Ethernet2/1 2 50000
Ethernet6 7,8 Ethernet2/3 2 50000
Ethernet8 9,10 Ethernet3/1 3 50000
Ethernet10 11,12 Ethernet3/3 3 50000
Ethernet12 13,14 Ethernet4/1 4 50000
Ethernet14 15,16 Ethernet4/3 4 50000
Ethernet16 21,22 Ethernet5/1 5 50000
Ethernet18 23,24 Ethernet5/3 5 50000
Ethernet20 17,18 Ethernet6/1 6 50000
Ethernet22 19,20 Ethernet6/3 6 50000
Ethernet24 25,26,27,28 Ethernet7/1 7 100000
Ethernet28 29,30,31,32 Ethernet8/1 8 100000
Ethernet32 37,38,39,40 Ethernet9/1 9 100000
Ethernet36 33,34,35,36 Ethernet10/1 10 100000
Ethernet40 41,42 Ethernet11/1 11 50000
Ethernet42 43,44 Ethernet11/3 11 50000
Ethernet44 45,46 Ethernet12/1 12 50000
Ethernet46 47,48 Ethernet12/3 12 50000
Ethernet48 53,54 Ethernet13/1 13 50000
Ethernet50 55,56 Ethernet13/3 13 50000
Ethernet52 49,50 Ethernet14/1 14 50000
Ethernet54 51,52 Ethernet14/3 14 50000
Ethernet56 57,58 Ethernet15/1 15 50000
Ethernet58 59,60 Ethernet15/3 15 50000
Ethernet60 61,62 Ethernet16/1 16 50000
Ethernet62 63,64 Ethernet16/3 16 50000
Ethernet64 69,70 Ethernet17/1 17 50000
Ethernet66 71,72 Ethernet17/3 17 50000
Ethernet68 65,66 Ethernet18/1 18 50000
Ethernet70 67,68 Ethernet18/3 18 50000
Ethernet72 73,74 Ethernet19/1 19 50000
Ethernet74 75,76 Ethernet19/3 19 50000
Ethernet76 77,78 Ethernet20/1 20 50000
Ethernet78 79,80 Ethernet20/3 20 50000
Ethernet80 85,86 Ethernet21/1 21 50000
Ethernet82 87,88 Ethernet21/3 21 50000
Ethernet84 81,82 Ethernet22/1 22 50000
Ethernet86 83,84 Ethernet22/3 22 50000
Ethernet88 89,90,91,92 Ethernet23/1 23 100000
Ethernet92 93,94,95,96 Ethernet24/1 24 100000
Ethernet96 101,102,103,104 Ethernet25/1 25 100000
Ethernet100 97,98,99,100 Ethernet26/1 26 100000
Ethernet104 105,106 Ethernet27/1 27 50000
Ethernet106 107,108 Ethernet27/3 27 50000
Ethernet108 109,110 Ethernet28/1 28 50000
Ethernet110 111,112 Ethernet28/3 28 50000
Ethernet112 117,118 Ethernet29/1 29 50000
Ethernet114 119,120 Ethernet29/3 29 50000
Ethernet116 113,114 Ethernet30/1 30 50000
Ethernet118 115,116 Ethernet30/3 30 50000
Ethernet120 121,122 Ethernet31/1 31 50000
Ethernet122 123,124 Ethernet31/3 31 50000
Ethernet124 125,126 Ethernet32/1 32 50000
Ethernet126 127,128 Ethernet32/3 32 50000

View File

@ -0,0 +1,2 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td3-a7050cx3-32s-48x50G+8x100G.config.bcm
SAI_NUM_ECMP_MEMBERS=64

View File

@ -0,0 +1,545 @@
arl_clean_timeout_usec=15000000
asf_mem_profile=2
bcm_num_cos=8
bcm_stat_flags=1
bcm_stat_jumbo=9236
bcm_tunnel_term_compatible_mode=1
cdma_timeout_usec=15000000
core_clock_frequency=1525
dma_desc_timeout_usec=15000000
dpp_clock_ratio=2:3
fpem_mem_entries=0
higig2_hdr_mode=1
ifp_inports_support_enable=1
ipv6_lpm_128b_enable=1
l2_mem_entries=32768
l2xmsg_mode=1
l3_alpm_enable=2
l3_max_ecmp_mode=1
l3_mem_entries=16384
max_vp_lags=0
miim_intr_enable=0
module_64ports=1
multicast_l2_range=16383
multicast_l3_range=0
os=unix
oversubscribe_mode=1
pbmp_xport_xe=0x7ffffffffffffffffffffffffffffffffe
PHY_AN_ALLOW_PLL_CHANGE=1
phy_an_c37_130=2
phy_an_c37_66=2
phy_an_c73=1
port_flex_enable=1
port_init_autoneg=0
port_phy_addr=0xff
robust_hash_disable_egress_vlan=1
robust_hash_disable_mpls=1
robust_hash_disable_vlan=1
stable_size=0x5500000
tdma_timeout_usec=15000000
tslam_timeout_usec=15000000
phy_chain_rx_lane_map_physical{1.0}=0x1302
phy_chain_rx_lane_map_physical{5.0}=0x3120
phy_chain_rx_lane_map_physical{9.0}=0x3120
phy_chain_rx_lane_map_physical{13.0}=0x3120
phy_chain_rx_lane_map_physical{17.0}=0x1203
phy_chain_rx_lane_map_physical{21.0}=0x3120
phy_chain_rx_lane_map_physical{25.0}=0x3120
phy_chain_rx_lane_map_physical{29.0}=0x3120
phy_chain_rx_lane_map_physical{33.0}=0x1203
phy_chain_rx_lane_map_physical{37.0}=0x3120
phy_chain_rx_lane_map_physical{41.0}=0x3120
phy_chain_rx_lane_map_physical{45.0}=0x3120
phy_chain_rx_lane_map_physical{49.0}=0x1203
phy_chain_rx_lane_map_physical{53.0}=0x3120
phy_chain_rx_lane_map_physical{57.0}=0x3120
phy_chain_rx_lane_map_physical{61.0}=0x3120
phy_chain_rx_lane_map_physical{65.0}=0x2130
phy_chain_rx_lane_map_physical{69.0}=0x0213
phy_chain_rx_lane_map_physical{73.0}=0x2031
phy_chain_rx_lane_map_physical{77.0}=0x0213
phy_chain_rx_lane_map_physical{81.0}=0x2130
phy_chain_rx_lane_map_physical{85.0}=0x0213
phy_chain_rx_lane_map_physical{89.0}=0x2031
phy_chain_rx_lane_map_physical{93.0}=0x0213
phy_chain_rx_lane_map_physical{97.0}=0x2130
phy_chain_rx_lane_map_physical{101.0}=0x0213
phy_chain_rx_lane_map_physical{105.0}=0x2031
phy_chain_rx_lane_map_physical{109.0}=0x0213
phy_chain_rx_lane_map_physical{113.0}=0x2130
phy_chain_rx_lane_map_physical{117.0}=0x0213
phy_chain_rx_lane_map_physical{121.0}=0x2031
phy_chain_rx_lane_map_physical{125.0}=0x0213
phy_chain_rx_lane_map_physical{129.0}=0x3210
phy_chain_rx_polarity_flip_physical{1.0}=0x0
phy_chain_rx_polarity_flip_physical{2.0}=0x0
phy_chain_rx_polarity_flip_physical{3.0}=0x0
phy_chain_rx_polarity_flip_physical{4.0}=0x1
phy_chain_rx_polarity_flip_physical{5.0}=0x0
phy_chain_rx_polarity_flip_physical{6.0}=0x1
phy_chain_rx_polarity_flip_physical{7.0}=0x0
phy_chain_rx_polarity_flip_physical{8.0}=0x0
phy_chain_rx_polarity_flip_physical{9.0}=0x0
phy_chain_rx_polarity_flip_physical{10.0}=0x0
phy_chain_rx_polarity_flip_physical{11.0}=0x1
phy_chain_rx_polarity_flip_physical{12.0}=0x1
phy_chain_rx_polarity_flip_physical{13.0}=0x1
phy_chain_rx_polarity_flip_physical{14.0}=0x1
phy_chain_rx_polarity_flip_physical{15.0}=0x0
phy_chain_rx_polarity_flip_physical{16.0}=0x0
phy_chain_rx_polarity_flip_physical{17.0}=0x0
phy_chain_rx_polarity_flip_physical{18.0}=0x0
phy_chain_rx_polarity_flip_physical{19.0}=0x1
phy_chain_rx_polarity_flip_physical{20.0}=0x0
phy_chain_rx_polarity_flip_physical{21.0}=0x1
phy_chain_rx_polarity_flip_physical{22.0}=0x1
phy_chain_rx_polarity_flip_physical{23.0}=0x0
phy_chain_rx_polarity_flip_physical{24.0}=0x0
phy_chain_rx_polarity_flip_physical{25.0}=0x0
phy_chain_rx_polarity_flip_physical{26.0}=0x1
phy_chain_rx_polarity_flip_physical{27.0}=0x1
phy_chain_rx_polarity_flip_physical{28.0}=0x0
phy_chain_rx_polarity_flip_physical{29.0}=0x1
phy_chain_rx_polarity_flip_physical{30.0}=0x1
phy_chain_rx_polarity_flip_physical{31.0}=0x0
phy_chain_rx_polarity_flip_physical{32.0}=0x0
phy_chain_rx_polarity_flip_physical{33.0}=0x0
phy_chain_rx_polarity_flip_physical{34.0}=0x0
phy_chain_rx_polarity_flip_physical{35.0}=0x1
phy_chain_rx_polarity_flip_physical{36.0}=0x0
phy_chain_rx_polarity_flip_physical{37.0}=0x1
phy_chain_rx_polarity_flip_physical{38.0}=0x1
phy_chain_rx_polarity_flip_physical{39.0}=0x0
phy_chain_rx_polarity_flip_physical{40.0}=0x0
phy_chain_rx_polarity_flip_physical{41.0}=0x0
phy_chain_rx_polarity_flip_physical{42.0}=0x0
phy_chain_rx_polarity_flip_physical{43.0}=0x1
phy_chain_rx_polarity_flip_physical{44.0}=0x1
phy_chain_rx_polarity_flip_physical{45.0}=0x1
phy_chain_rx_polarity_flip_physical{46.0}=0x1
phy_chain_rx_polarity_flip_physical{47.0}=0x0
phy_chain_rx_polarity_flip_physical{48.0}=0x0
phy_chain_rx_polarity_flip_physical{49.0}=0x0
phy_chain_rx_polarity_flip_physical{50.0}=0x0
phy_chain_rx_polarity_flip_physical{51.0}=0x1
phy_chain_rx_polarity_flip_physical{52.0}=0x0
phy_chain_rx_polarity_flip_physical{53.0}=0x1
phy_chain_rx_polarity_flip_physical{54.0}=0x1
phy_chain_rx_polarity_flip_physical{55.0}=0x0
phy_chain_rx_polarity_flip_physical{56.0}=0x0
phy_chain_rx_polarity_flip_physical{57.0}=0x0
phy_chain_rx_polarity_flip_physical{58.0}=0x0
phy_chain_rx_polarity_flip_physical{59.0}=0x1
phy_chain_rx_polarity_flip_physical{60.0}=0x1
phy_chain_rx_polarity_flip_physical{61.0}=0x1
phy_chain_rx_polarity_flip_physical{62.0}=0x1
phy_chain_rx_polarity_flip_physical{63.0}=0x0
phy_chain_rx_polarity_flip_physical{64.0}=0x0
phy_chain_rx_polarity_flip_physical{65.0}=0x1
phy_chain_rx_polarity_flip_physical{66.0}=0x1
phy_chain_rx_polarity_flip_physical{67.0}=0x0
phy_chain_rx_polarity_flip_physical{68.0}=0x1
phy_chain_rx_polarity_flip_physical{69.0}=0x0
phy_chain_rx_polarity_flip_physical{70.0}=0x0
phy_chain_rx_polarity_flip_physical{71.0}=0x1
phy_chain_rx_polarity_flip_physical{72.0}=0x1
phy_chain_rx_polarity_flip_physical{73.0}=0x1
phy_chain_rx_polarity_flip_physical{74.0}=0x1
phy_chain_rx_polarity_flip_physical{75.0}=0x1
phy_chain_rx_polarity_flip_physical{76.0}=0x0
phy_chain_rx_polarity_flip_physical{77.0}=0x0
phy_chain_rx_polarity_flip_physical{78.0}=0x0
phy_chain_rx_polarity_flip_physical{79.0}=0x1
phy_chain_rx_polarity_flip_physical{80.0}=0x1
phy_chain_rx_polarity_flip_physical{81.0}=0x1
phy_chain_rx_polarity_flip_physical{82.0}=0x1
phy_chain_rx_polarity_flip_physical{83.0}=0x0
phy_chain_rx_polarity_flip_physical{84.0}=0x1
phy_chain_rx_polarity_flip_physical{85.0}=0x0
phy_chain_rx_polarity_flip_physical{86.0}=0x0
phy_chain_rx_polarity_flip_physical{87.0}=0x1
phy_chain_rx_polarity_flip_physical{88.0}=0x1
phy_chain_rx_polarity_flip_physical{89.0}=0x1
phy_chain_rx_polarity_flip_physical{90.0}=0x1
phy_chain_rx_polarity_flip_physical{91.0}=0x1
phy_chain_rx_polarity_flip_physical{92.0}=0x0
phy_chain_rx_polarity_flip_physical{93.0}=0x0
phy_chain_rx_polarity_flip_physical{94.0}=0x0
phy_chain_rx_polarity_flip_physical{95.0}=0x1
phy_chain_rx_polarity_flip_physical{96.0}=0x1
phy_chain_rx_polarity_flip_physical{97.0}=0x1
phy_chain_rx_polarity_flip_physical{98.0}=0x1
phy_chain_rx_polarity_flip_physical{99.0}=0x0
phy_chain_rx_polarity_flip_physical{100.0}=0x1
phy_chain_rx_polarity_flip_physical{101.0}=0x1
phy_chain_rx_polarity_flip_physical{102.0}=0x0
phy_chain_rx_polarity_flip_physical{103.0}=0x0
phy_chain_rx_polarity_flip_physical{104.0}=0x1
phy_chain_rx_polarity_flip_physical{105.0}=0x1
phy_chain_rx_polarity_flip_physical{106.0}=0x1
phy_chain_rx_polarity_flip_physical{107.0}=0x1
phy_chain_rx_polarity_flip_physical{108.0}=0x0
phy_chain_rx_polarity_flip_physical{109.0}=0x0
phy_chain_rx_polarity_flip_physical{110.0}=0x0
phy_chain_rx_polarity_flip_physical{111.0}=0x1
phy_chain_rx_polarity_flip_physical{112.0}=0x1
phy_chain_rx_polarity_flip_physical{113.0}=0x1
phy_chain_rx_polarity_flip_physical{114.0}=0x1
phy_chain_rx_polarity_flip_physical{115.0}=0x0
phy_chain_rx_polarity_flip_physical{116.0}=0x1
phy_chain_rx_polarity_flip_physical{117.0}=0x0
phy_chain_rx_polarity_flip_physical{118.0}=0x0
phy_chain_rx_polarity_flip_physical{119.0}=0x1
phy_chain_rx_polarity_flip_physical{120.0}=0x1
phy_chain_rx_polarity_flip_physical{121.0}=0x1
phy_chain_rx_polarity_flip_physical{122.0}=0x1
phy_chain_rx_polarity_flip_physical{123.0}=0x1
phy_chain_rx_polarity_flip_physical{124.0}=0x0
phy_chain_rx_polarity_flip_physical{125.0}=0x0
phy_chain_rx_polarity_flip_physical{126.0}=0x0
phy_chain_rx_polarity_flip_physical{127.0}=0x1
phy_chain_rx_polarity_flip_physical{128.0}=0x1
phy_chain_rx_polarity_flip_physical{129.0}=0x0
phy_chain_rx_polarity_flip_physical{131.0}=0x0
phy_chain_tx_lane_map_physical{1.0}=0x3021
phy_chain_tx_lane_map_physical{5.0}=0x1203
phy_chain_tx_lane_map_physical{9.0}=0x0213
phy_chain_tx_lane_map_physical{13.0}=0x0213
phy_chain_tx_lane_map_physical{17.0}=0x2031
phy_chain_tx_lane_map_physical{21.0}=0x0213
phy_chain_tx_lane_map_physical{25.0}=0x2031
phy_chain_tx_lane_map_physical{29.0}=0x1203
phy_chain_tx_lane_map_physical{33.0}=0x2031
phy_chain_tx_lane_map_physical{37.0}=0x0213
phy_chain_tx_lane_map_physical{41.0}=0x2031
phy_chain_tx_lane_map_physical{45.0}=0x1203
phy_chain_tx_lane_map_physical{49.0}=0x2031
phy_chain_tx_lane_map_physical{53.0}=0x0213
phy_chain_tx_lane_map_physical{57.0}=0x2031
phy_chain_tx_lane_map_physical{61.0}=0x1203
phy_chain_tx_lane_map_physical{65.0}=0x1302
phy_chain_tx_lane_map_physical{69.0}=0x1302
phy_chain_tx_lane_map_physical{73.0}=0x1302
phy_chain_tx_lane_map_physical{77.0}=0x2130
phy_chain_tx_lane_map_physical{81.0}=0x1302
phy_chain_tx_lane_map_physical{85.0}=0x3120
phy_chain_tx_lane_map_physical{89.0}=0x1302
phy_chain_tx_lane_map_physical{93.0}=0x2130
phy_chain_tx_lane_map_physical{97.0}=0x1302
phy_chain_tx_lane_map_physical{101.0}=0x3120
phy_chain_tx_lane_map_physical{105.0}=0x1302
phy_chain_tx_lane_map_physical{109.0}=0x2130
phy_chain_tx_lane_map_physical{113.0}=0x1302
phy_chain_tx_lane_map_physical{117.0}=0x3120
phy_chain_tx_lane_map_physical{121.0}=0x1302
phy_chain_tx_lane_map_physical{125.0}=0x3120
phy_chain_tx_lane_map_physical{129.0}=0x3210
phy_chain_tx_polarity_flip_physical{1.0}=0x1
phy_chain_tx_polarity_flip_physical{2.0}=0x1
phy_chain_tx_polarity_flip_physical{3.0}=0x0
phy_chain_tx_polarity_flip_physical{4.0}=0x0
phy_chain_tx_polarity_flip_physical{5.0}=0x1
phy_chain_tx_polarity_flip_physical{6.0}=0x1
phy_chain_tx_polarity_flip_physical{7.0}=0x0
phy_chain_tx_polarity_flip_physical{8.0}=0x1
phy_chain_tx_polarity_flip_physical{9.0}=0x1
phy_chain_tx_polarity_flip_physical{10.0}=0x1
phy_chain_tx_polarity_flip_physical{11.0}=0x0
phy_chain_tx_polarity_flip_physical{12.0}=0x0
phy_chain_tx_polarity_flip_physical{13.0}=0x1
phy_chain_tx_polarity_flip_physical{14.0}=0x1
phy_chain_tx_polarity_flip_physical{15.0}=0x0
phy_chain_tx_polarity_flip_physical{16.0}=0x1
phy_chain_tx_polarity_flip_physical{17.0}=0x0
phy_chain_tx_polarity_flip_physical{18.0}=0x0
phy_chain_tx_polarity_flip_physical{19.0}=0x0
phy_chain_tx_polarity_flip_physical{20.0}=0x0
phy_chain_tx_polarity_flip_physical{21.0}=0x1
phy_chain_tx_polarity_flip_physical{22.0}=0x1
phy_chain_tx_polarity_flip_physical{23.0}=0x0
phy_chain_tx_polarity_flip_physical{24.0}=0x0
phy_chain_tx_polarity_flip_physical{25.0}=0x0
phy_chain_tx_polarity_flip_physical{26.0}=0x0
phy_chain_tx_polarity_flip_physical{27.0}=0x1
phy_chain_tx_polarity_flip_physical{28.0}=0x0
phy_chain_tx_polarity_flip_physical{29.0}=0x0
phy_chain_tx_polarity_flip_physical{30.0}=0x0
phy_chain_tx_polarity_flip_physical{31.0}=0x1
phy_chain_tx_polarity_flip_physical{32.0}=0x1
phy_chain_tx_polarity_flip_physical{33.0}=0x1
phy_chain_tx_polarity_flip_physical{34.0}=0x1
phy_chain_tx_polarity_flip_physical{35.0}=0x1
phy_chain_tx_polarity_flip_physical{36.0}=0x1
phy_chain_tx_polarity_flip_physical{37.0}=0x0
phy_chain_tx_polarity_flip_physical{38.0}=0x0
phy_chain_tx_polarity_flip_physical{39.0}=0x1
phy_chain_tx_polarity_flip_physical{40.0}=0x1
phy_chain_tx_polarity_flip_physical{41.0}=0x0
phy_chain_tx_polarity_flip_physical{42.0}=0x1
phy_chain_tx_polarity_flip_physical{43.0}=0x1
phy_chain_tx_polarity_flip_physical{44.0}=0x1
phy_chain_tx_polarity_flip_physical{45.0}=0x0
phy_chain_tx_polarity_flip_physical{46.0}=0x0
phy_chain_tx_polarity_flip_physical{47.0}=0x1
phy_chain_tx_polarity_flip_physical{48.0}=0x1
phy_chain_tx_polarity_flip_physical{49.0}=0x1
phy_chain_tx_polarity_flip_physical{50.0}=0x1
phy_chain_tx_polarity_flip_physical{51.0}=0x1
phy_chain_tx_polarity_flip_physical{52.0}=0x1
phy_chain_tx_polarity_flip_physical{53.0}=0x0
phy_chain_tx_polarity_flip_physical{54.0}=0x0
phy_chain_tx_polarity_flip_physical{55.0}=0x1
phy_chain_tx_polarity_flip_physical{56.0}=0x1
phy_chain_tx_polarity_flip_physical{57.0}=0x0
phy_chain_tx_polarity_flip_physical{58.0}=0x1
phy_chain_tx_polarity_flip_physical{59.0}=0x1
phy_chain_tx_polarity_flip_physical{60.0}=0x1
phy_chain_tx_polarity_flip_physical{61.0}=0x0
phy_chain_tx_polarity_flip_physical{62.0}=0x0
phy_chain_tx_polarity_flip_physical{63.0}=0x1
phy_chain_tx_polarity_flip_physical{64.0}=0x1
phy_chain_tx_polarity_flip_physical{65.0}=0x1
phy_chain_tx_polarity_flip_physical{66.0}=0x1
phy_chain_tx_polarity_flip_physical{67.0}=0x1
phy_chain_tx_polarity_flip_physical{68.0}=0x1
phy_chain_tx_polarity_flip_physical{69.0}=0x0
phy_chain_tx_polarity_flip_physical{70.0}=0x1
phy_chain_tx_polarity_flip_physical{71.0}=0x1
phy_chain_tx_polarity_flip_physical{72.0}=0x1
phy_chain_tx_polarity_flip_physical{73.0}=0x0
phy_chain_tx_polarity_flip_physical{74.0}=0x1
phy_chain_tx_polarity_flip_physical{75.0}=0x1
phy_chain_tx_polarity_flip_physical{76.0}=0x1
phy_chain_tx_polarity_flip_physical{77.0}=0x0
phy_chain_tx_polarity_flip_physical{78.0}=0x0
phy_chain_tx_polarity_flip_physical{79.0}=0x1
phy_chain_tx_polarity_flip_physical{80.0}=0x1
phy_chain_tx_polarity_flip_physical{81.0}=0x1
phy_chain_tx_polarity_flip_physical{82.0}=0x1
phy_chain_tx_polarity_flip_physical{83.0}=0x1
phy_chain_tx_polarity_flip_physical{84.0}=0x1
phy_chain_tx_polarity_flip_physical{85.0}=0x0
phy_chain_tx_polarity_flip_physical{86.0}=0x0
phy_chain_tx_polarity_flip_physical{87.0}=0x1
phy_chain_tx_polarity_flip_physical{88.0}=0x1
phy_chain_tx_polarity_flip_physical{89.0}=0x0
phy_chain_tx_polarity_flip_physical{90.0}=0x1
phy_chain_tx_polarity_flip_physical{91.0}=0x1
phy_chain_tx_polarity_flip_physical{92.0}=0x1
phy_chain_tx_polarity_flip_physical{93.0}=0x0
phy_chain_tx_polarity_flip_physical{94.0}=0x0
phy_chain_tx_polarity_flip_physical{95.0}=0x1
phy_chain_tx_polarity_flip_physical{96.0}=0x1
phy_chain_tx_polarity_flip_physical{97.0}=0x1
phy_chain_tx_polarity_flip_physical{98.0}=0x1
phy_chain_tx_polarity_flip_physical{99.0}=0x1
phy_chain_tx_polarity_flip_physical{100.0}=0x1
phy_chain_tx_polarity_flip_physical{101.0}=0x0
phy_chain_tx_polarity_flip_physical{102.0}=0x1
phy_chain_tx_polarity_flip_physical{103.0}=0x1
phy_chain_tx_polarity_flip_physical{104.0}=0x0
phy_chain_tx_polarity_flip_physical{105.0}=0x1
phy_chain_tx_polarity_flip_physical{106.0}=0x0
phy_chain_tx_polarity_flip_physical{107.0}=0x0
phy_chain_tx_polarity_flip_physical{108.0}=0x0
phy_chain_tx_polarity_flip_physical{109.0}=0x1
phy_chain_tx_polarity_flip_physical{110.0}=0x1
phy_chain_tx_polarity_flip_physical{111.0}=0x0
phy_chain_tx_polarity_flip_physical{112.0}=0x0
phy_chain_tx_polarity_flip_physical{113.0}=0x0
phy_chain_tx_polarity_flip_physical{114.0}=0x0
phy_chain_tx_polarity_flip_physical{115.0}=0x0
phy_chain_tx_polarity_flip_physical{116.0}=0x0
phy_chain_tx_polarity_flip_physical{117.0}=0x1
phy_chain_tx_polarity_flip_physical{118.0}=0x1
phy_chain_tx_polarity_flip_physical{119.0}=0x0
phy_chain_tx_polarity_flip_physical{120.0}=0x0
phy_chain_tx_polarity_flip_physical{121.0}=0x1
phy_chain_tx_polarity_flip_physical{122.0}=0x0
phy_chain_tx_polarity_flip_physical{123.0}=0x0
phy_chain_tx_polarity_flip_physical{124.0}=0x0
phy_chain_tx_polarity_flip_physical{125.0}=0x1
phy_chain_tx_polarity_flip_physical{126.0}=0x1
phy_chain_tx_polarity_flip_physical{127.0}=0x0
phy_chain_tx_polarity_flip_physical{128.0}=0x0
phy_chain_tx_polarity_flip_physical{129.0}=0x0
phy_chain_tx_polarity_flip_physical{131.0}=0x0
portmap_1=1:50:2
portmap_3=3:50:2
portmap_5=5:50:2
portmap_7=7:50:2
portmap_9=9:50:2
portmap_11=11:50:2
portmap_13=13:50:2
portmap_15=15:50:2
portmap_17=17:50:2
portmap_19=19:50:2
portmap_21=21:50:2
portmap_23=23:50:2
portmap_25=25:100
portmap_29=29:100
portmap_33=33:100
portmap_37=37:100
portmap_41=41:50:2
portmap_43=43:50:2
portmap_45=45:50:2
portmap_47=47:50:2
portmap_49=49:50:2
portmap_51=51:50:2
portmap_53=53:50:2
portmap_55=55:50:2
portmap_57=57:50:2
portmap_59=59:50:2
portmap_61=61:50:2
portmap_63=63:50:2
# skip 2
portmap_67=65:50:2
portmap_69=67:50:2
portmap_71=69:50:2
portmap_73=71:50:2
portmap_75=73:50:2
portmap_77=75:50:2
portmap_79=77:50:2
portmap_81=79:50:2
portmap_83=81:50:2
portmap_85=83:50:2
portmap_87=85:50:2
portmap_89=87:50:2
portmap_91=89:100
portmap_95=93:100
portmap_99=97:100
portmap_103=101:100
portmap_107=105:50:2
portmap_109=107:50:2
portmap_111=109:50:2
portmap_113=111:50:2
portmap_115=113:50:2
portmap_117=115:50:2
portmap_119=117:50:2
portmap_121=119:50:2
portmap_123=121:50:2
portmap_125=123:50:2
portmap_127=125:50:2
portmap_129=127:50:2
serdes_core_rx_polarity_flip_physical{1}=0x8
serdes_core_rx_polarity_flip_physical{5}=0x2
serdes_core_rx_polarity_flip_physical{9}=0xc
serdes_core_rx_polarity_flip_physical{13}=0x3
serdes_core_rx_polarity_flip_physical{17}=0x4
serdes_core_rx_polarity_flip_physical{21}=0x3
serdes_core_rx_polarity_flip_physical{25}=0x6
serdes_core_rx_polarity_flip_physical{29}=0x3
serdes_core_rx_polarity_flip_physical{33}=0x4
serdes_core_rx_polarity_flip_physical{37}=0x3
serdes_core_rx_polarity_flip_physical{41}=0xc
serdes_core_rx_polarity_flip_physical{45}=0x3
serdes_core_rx_polarity_flip_physical{49}=0x4
serdes_core_rx_polarity_flip_physical{53}=0x3
serdes_core_rx_polarity_flip_physical{57}=0xc
serdes_core_rx_polarity_flip_physical{61}=0x3
serdes_core_rx_polarity_flip_physical{65}=0xb
serdes_core_rx_polarity_flip_physical{69}=0xc
serdes_core_rx_polarity_flip_physical{73}=0x7
serdes_core_rx_polarity_flip_physical{77}=0xc
serdes_core_rx_polarity_flip_physical{81}=0xb
serdes_core_rx_polarity_flip_physical{85}=0xc
serdes_core_rx_polarity_flip_physical{89}=0x7
serdes_core_rx_polarity_flip_physical{93}=0xc
serdes_core_rx_polarity_flip_physical{97}=0xb
serdes_core_rx_polarity_flip_physical{101}=0x9
serdes_core_rx_polarity_flip_physical{105}=0x7
serdes_core_rx_polarity_flip_physical{109}=0xc
serdes_core_rx_polarity_flip_physical{113}=0xb
serdes_core_rx_polarity_flip_physical{117}=0xc
serdes_core_rx_polarity_flip_physical{121}=0x7
serdes_core_rx_polarity_flip_physical{125}=0xc
serdes_core_rx_polarity_flip_physical{129}=0x0
serdes_core_tx_polarity_flip_physical{1}=0x3
serdes_core_tx_polarity_flip_physical{5}=0xb
serdes_core_tx_polarity_flip_physical{9}=0x3
serdes_core_tx_polarity_flip_physical{13}=0xb
serdes_core_tx_polarity_flip_physical{17}=0x0
serdes_core_tx_polarity_flip_physical{21}=0x3
serdes_core_tx_polarity_flip_physical{25}=0x4
serdes_core_tx_polarity_flip_physical{29}=0xc
serdes_core_tx_polarity_flip_physical{33}=0xf
serdes_core_tx_polarity_flip_physical{37}=0xc
serdes_core_tx_polarity_flip_physical{41}=0xe
serdes_core_tx_polarity_flip_physical{45}=0xc
serdes_core_tx_polarity_flip_physical{49}=0xf
serdes_core_tx_polarity_flip_physical{53}=0xc
serdes_core_tx_polarity_flip_physical{57}=0xe
serdes_core_tx_polarity_flip_physical{61}=0xc
serdes_core_tx_polarity_flip_physical{65}=0xf
serdes_core_tx_polarity_flip_physical{69}=0xe
serdes_core_tx_polarity_flip_physical{73}=0xe
serdes_core_tx_polarity_flip_physical{77}=0xc
serdes_core_tx_polarity_flip_physical{81}=0xf
serdes_core_tx_polarity_flip_physical{85}=0xc
serdes_core_tx_polarity_flip_physical{89}=0xe
serdes_core_tx_polarity_flip_physical{93}=0xc
serdes_core_tx_polarity_flip_physical{97}=0xf
serdes_core_tx_polarity_flip_physical{101}=0x6
serdes_core_tx_polarity_flip_physical{105}=0x1
serdes_core_tx_polarity_flip_physical{109}=0x3
serdes_core_tx_polarity_flip_physical{113}=0x0
serdes_core_tx_polarity_flip_physical{117}=0x3
serdes_core_tx_polarity_flip_physical{121}=0x1
serdes_core_tx_polarity_flip_physical{125}=0x3
serdes_core_tx_polarity_flip_physical{129}=0x0
serdes_preemphasis_1=0x45808
serdes_preemphasis_3=0x45808
serdes_preemphasis_5=0x45808
serdes_preemphasis_7=0x45808
serdes_preemphasis_9=0x45808
serdes_preemphasis_11=0x45808
serdes_preemphasis_13=0x45808
serdes_preemphasis_15=0x45808
serdes_preemphasis_17=0x45808
serdes_preemphasis_19=0x45808
serdes_preemphasis_21=0x45808
serdes_preemphasis_23=0x45808
serdes_preemphasis_25=0xd3e05
serdes_preemphasis_29=0xd3e05
serdes_preemphasis_33=0xb3403
serdes_preemphasis_37=0x93603
serdes_preemphasis_41=0x580c
serdes_preemphasis_43=0x580c
serdes_preemphasis_45=0x580c
serdes_preemphasis_47=0x580c
serdes_preemphasis_49=0x580c
serdes_preemphasis_51=0x580c
serdes_preemphasis_53=0x580c
serdes_preemphasis_55=0x580c
serdes_preemphasis_57=0x580c
serdes_preemphasis_59=0x580c
serdes_preemphasis_61=0x580c
serdes_preemphasis_63=0x580c
serdes_preemphasis_67=0x580c
serdes_preemphasis_69=0x580c
serdes_preemphasis_71=0x580c
serdes_preemphasis_73=0x580c
serdes_preemphasis_75=0x580c
serdes_preemphasis_77=0x580c
serdes_preemphasis_79=0x580c
serdes_preemphasis_81=0x580c
serdes_preemphasis_83=0x580c
serdes_preemphasis_85=0x580c
serdes_preemphasis_87=0x580c
serdes_preemphasis_89=0x580c
serdes_preemphasis_91=0x93603
serdes_preemphasis_95=0xd3e05
serdes_preemphasis_99=0xb3403
serdes_preemphasis_103=0xd3e05
serdes_preemphasis_107=0x85804
serdes_preemphasis_109=0x85804
serdes_preemphasis_111=0x85804
serdes_preemphasis_113=0x85804
serdes_preemphasis_115=0x85804
serdes_preemphasis_117=0x85804
serdes_preemphasis_119=0x85804
serdes_preemphasis_121=0x85804
serdes_preemphasis_123=0x85804
serdes_preemphasis_125=0x85804
serdes_preemphasis_127=0x85804
serdes_preemphasis_129=0x85804

View File

@ -40,6 +40,7 @@ COPY ["no-check-valid-until", "/etc/apt/apt.conf.d"]
# pre-install fundamental packages
RUN apt-get update && \
apt-get -y install \
curl \
less \
perl \
procps \
@ -52,8 +53,12 @@ RUN apt-get update && \
# Install dependencies of supervisor
python-pkg-resources \
python-meld3 \
# Install redis-tools
redis-tools=5:6.0.5-1~bpo10+1 \
# Install dependencies of redis-tools
libatomic1 \
libjemalloc2 \
liblua5.1-0 \
lua-bitop \
lua-cjson \
# common dependencies
libpython2.7 \
libdaemon0 \
@ -66,6 +71,11 @@ RUN apt-get update && \
python-setuptools \
python-wheel
# Install redis-tools
RUN curl -o redis-tools_6.0.6-1~bpo10+1_amd64.deb "https://sonicstorage.blob.core.windows.net/packages/redis/redis-tools_6.0.6-1~bpo10+1_amd64.deb?sv=2015-04-05&sr=b&sig=73zbmjkf3pi%2Bn0R8Hy7CWT2EUvOAyzM5aLYJWCLySGM%3D&se=2030-09-06T19%3A44%3A59Z&sp=r"
RUN dpkg -i redis-tools_6.0.6-1~bpo10+1_amd64.deb || apt-get install -f -y
RUN rm redis-tools_6.0.6-1~bpo10+1_amd64.deb
# For templating
RUN pip install j2cli

View File

@ -11,7 +11,10 @@ ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
# install redis-server
RUN apt-get install -y redis-server=5:6.0.5-1~bpo10+1
RUN curl -o redis-tools_6.0.6-1~bpo10+1_amd64.deb "https://sonicstorage.blob.core.windows.net/packages/redis/redis-tools_6.0.6-1~bpo10+1_amd64.deb?sv=2015-04-05&sr=b&sig=73zbmjkf3pi%2Bn0R8Hy7CWT2EUvOAyzM5aLYJWCLySGM%3D&se=2030-09-06T19%3A44%3A59Z&sp=r"
RUN curl -o redis-server_6.0.6-1~bpo10+1_amd64.deb "https://sonicstorage.blob.core.windows.net/packages/redis/redis-server_6.0.6-1~bpo10+1_amd64.deb?sv=2015-04-05&sr=b&sig=2Ketg7BmkZEaTxR%2FgvAFVmhjn7ywdmkc7l2T2rsL57o%3D&se=2030-09-06T19%3A45%3A20Z&sp=r"
RUN dpkg -i redis-tools_6.0.6-1~bpo10+1_amd64.deb redis-server_6.0.6-1~bpo10+1_amd64.deb || apt-get install -f
RUN rm redis-tools_6.0.6-1~bpo10+1_amd64.deb redis-server_6.0.6-1~bpo10+1_amd64.deb
{% if docker_database_debs.strip() -%}
# Copy locally-built Debian package dependencies

View File

@ -3,5 +3,5 @@
## process list:
## redis_server
###############################################################################
check process redis_server matching "/usr/bin/redis-server"
if does not exist for 5 times within 5 cycles then alert
check program database|redis_server with path "/usr/bin/process_checker database /usr/bin/redis-server"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -1,7 +1,7 @@
{
"INSTANCES": {
"redis":{
"hostname" : "127.0.0.1",
"hostname" : "{{HOST_IP}}",
"port" : 6379,
"unix_socket_path" : "/var/run/redis{{NAMESPACE_ID}}/redis.sock",
"persistence_for_warm_boot" : "yes"

View File

@ -1,12 +1,29 @@
#!/usr/bin/env bash
# For linux host namespace, in both single and multi ASIC platform use the loopback interface
# For other namespaces, use eth0 interface which is connected to the docker0 bridge in the host.
if [[ $NAMESPACE_ID == "" ]]
then
INTFC=lo
else
INTFC=eth0
fi
# Get the ip address of the interface
# if the ip address was not retrieved correctly, put localhost(127.0.0.1) as the default.
host_ip=$(ip -4 -o addr show $INTFC | awk '{print $4}' | cut -d'/' -f1 | head -1)
if [[ $host_ip == "" ]]
then
host_ip=127.0.0.1
fi
REDIS_DIR=/var/run/redis$NAMESPACE_ID
mkdir -p $REDIS_DIR/sonic-db
if [ -f /etc/sonic/database_config$NAMESPACE_ID.json ]; then
cp /etc/sonic/database_config$NAMESPACE_ID.json $REDIS_DIR/sonic-db/database_config.json
else
j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json
HOST_IP=$host_ip j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json
fi
mkdir -p /etc/supervisor/conf.d/

View File

@ -20,7 +20,12 @@ stderr_logfile=syslog
{% if INSTANCES %}
{% for redis_inst, redis_items in INSTANCES.iteritems() %}
[program: {{ redis_inst }}]
command=/bin/bash -c "{ [[ -s /var/lib/{{ redis_inst }}/dump.rdb ]] || rm -f /var/lib/{{ redis_inst }}/dump.rdb; } && mkdir -p /var/lib/{{ redis_inst }} && exec /usr/bin/redis-server /etc/redis/redis.conf --port {{ redis_items['port'] }} --unixsocket {{ redis_items['unix_socket_path'] }} --pidfile /var/run/redis/{{ redis_inst }}.pid --dir /var/lib/{{ redis_inst }}"
{% if redis_items['hostname'] != '127.0.0.1' %}
{%- set LOOPBACK_IP = '127.0.0.1' -%}
{%- else -%}
{%- set LOOPBACK_IP = '' -%}
{%- endif -%}
command=/bin/bash -c "{ [[ -s /var/lib/{{ redis_inst }}/dump.rdb ]] || rm -f /var/lib/{{ redis_inst }}/dump.rdb; } && mkdir -p /var/lib/{{ redis_inst }} && exec /usr/bin/redis-server /etc/redis/redis.conf --bind {{ LOOPBACK_IP }} {{ redis_items['hostname'] }} --port {{ redis_items['port'] }} --unixsocket {{ redis_items['unix_socket_path'] }} --pidfile /var/run/redis/{{ redis_inst }}.pid --dir /var/lib/{{ redis_inst }}"
priority=2
autostart=true
autorestart=false

View File

@ -7,17 +7,17 @@
## staticd
## bgpcfgd
###############################################################################
check process zebra matching "/usr/lib/frr/zebra"
if does not exist for 5 times within 5 cycles then alert
check program bgp|zebra with path "/usr/bin/process_checker bgp /usr/lib/frr/zebra"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process fpmsyncd matching "fpmsyncd"
if does not exist for 5 times within 5 cycles then alert
check program bgp|fpmsyncd with path "/usr/bin/process_checker bgp fpmsyncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process bgpd matching "/usr/lib/frr/bgpd"
if does not exist for 5 times within 5 cycles then alert
check program bgp|bgpd with path "/usr/bin/process_checker bgp /usr/lib/frr/bgpd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process staticd matching "/usr/lib/frr/staticd"
if does not exist for 5 times within 5 cycles then alert
check program bgp|staticd with path "/usr/bin/process_checker bgp /usr/lib/frr/staticd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process bgpcfgd matching "python /usr/local/bin/bgpcfgd"
if does not exist for 5 times within 5 cycles then alert
check program bgp|bgpcfgd with path "/usr/bin/process_checker bgp /usr/bin/python /usr/local/bin/bgpcfgd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -5,11 +5,11 @@
## lldp-syncd
## lldpmgrd
###############################################################################
check process lldpd_monitor matching "lldpd: "
if does not exist for 5 times within 5 cycles then alert
check program lldp|lldpd_monitor with path "/usr/bin/process_checker lldp lldpd:"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process lldp_syncd matching "python2 -m lldp_syncd"
if does not exist for 5 times within 5 cycles then alert
check program lldp|lldp_syncd with path "/usr/bin/process_checker lldp python2 -m lldp_syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process lldpmgrd matching "python /usr/bin/lldpmgrd"
if does not exist for 5 times within 5 cycles then alert
check program lldp|lldpmgrd with path "/usr/bin/process_checker lldp python /usr/bin/lldpmgrd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -11,33 +11,33 @@
## buffermgrd
## nbrmgrd
## vxlanmgrd
###############################################################################
check process orchagent matching "/usr/bin/orchagent -d /var/log/swss"
if does not exist for 5 times within 5 cycles then alert
##############################################################################
check program swss|orchagent with path "/usr/bin/process_checker swss /usr/bin/orchagent -d /var/log/swss"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process portsyncd matching "/usr/bin/portsyncd"
if does not exist for 5 times within 5 cycles then alert
check program swss|portsyncd with path "/usr/bin/process_checker swss /usr/bin/portsyncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process neighsyncd matching "/usr/bin/neighsyncd"
if does not exist for 5 times within 5 cycles then alert
check program swss|neighsyncd with path "/usr/bin/process_checker swss /usr/bin/neighsyncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process vrfmgrd matching "/usr/bin/vrfmgrd"
if does not exist for 5 times within 5 cycles then alert
check program swss|vrfmgrd with path "/usr/bin/process_checker swss /usr/bin/vrfmgrd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process vlanmgrd matching "/usr/bin/vlanmgrd"
if does not exist for 5 times within 5 cycles then alert
check program swss|vlanmgrd with path "/usr/bin/process_checker swss /usr/bin/vlanmgrd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process intfmgrd matching "/usr/bin/intfmgrd"
if does not exist for 5 times within 5 cycles then alert
check program swss|intfmgrd with path "/usr/bin/process_checker swss /usr/bin/intfmgrd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process portmgrd matching "/usr/bin/portmgrd"
if does not exist for 5 times within 5 cycles then alert
check program swss|portmgrd with path "/usr/bin/process_checker swss /usr/bin/portmgrd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process buffermgrd matching "/usr/bin/buffermgrd -l"
if does not exist for 5 times within 5 cycles then alert
check program swss|buffermgrd with path "/usr/bin/process_checker swss /usr/bin/buffermgrd -l"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process nbrmgrd matching "/usr/bin/nbrmgrd"
if does not exist for 5 times within 5 cycles then alert
check program swss|nbrmgrd with path "/usr/bin/process_checker swss /usr/bin/nbrmgrd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process vxlanmgrd matching "/usr/bin/vxlanmgrd"
if does not exist for 5 times within 5 cycles then alert
check program swss|vxlanmgrd with path "/usr/bin/process_checker swss /usr/bin/vxlanmgrd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -3,5 +3,5 @@
## process list:
## sflowmgrd
###############################################################################
check process sflowmgrd matching "/usr/bin/sflowmgrd"
if does not exist for 5 times within 5 cycles then alert
check program sflow|sflowmgrd with path "/usr/bin/process_checker sflow /usr/bin/sflowmgrd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -4,8 +4,8 @@
## snmpd
## snmpd_subagent
###############################################################################
check process snmpd matching "/usr/sbin/snmpd\s"
if does not exist for 5 times within 5 cycles then alert
check program snmp|snmpd with path "/usr/bin/process_checker snmp /usr/sbin/snmpd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process snmp_subagent matching "python3 -m sonic_ax_impl"
if does not exist for 5 times within 5 cycles then alert
check program snmp|snmp_subagent with path "/usr/bin/process_checker snmp python3 -m sonic_ax_impl"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -3,5 +3,5 @@
## process list:
## restapi
###############################################################################
check process restapi matching "/usr/sbin/go-server-server"
if does not exist for 5 times within 5 cycles then alert
check program restapi|restapi with path "/usr/bin/process_checker restapi /usr/sbin/go-server-server"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -4,8 +4,8 @@
## telemetry
## dialout_client
###############################################################################
check process telemetry matching "/usr/sbin/telemetry"
if does not exist for 5 times within 5 cycles then alert
check program telemetry|telemetry with path "/usr/bin/process_checker telemetry /usr/sbin/telemetry"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process dialout_client matching "/usr/sbin/dialout_client_cli"
if does not exist for 5 times within 5 cycles then alert
check program telemetry|dialout_client with path "/usr/bin/process_checker telemetry /usr/sbin/dialout_client_cli"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -0,0 +1,11 @@
###############################################################################
## Monit configuration for teamd container
## process list:
## teamsyncd
## teammgrd
###############################################################################
check program teamd|teamsyncd with path "/usr/bin/process_checker teamd /usr/bin/teamsyncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check program teamd|teammgrd with path "/usr/bin/process_checker teamd /usr/bin/teammgrd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -27,6 +27,22 @@ link_namespace() {
}
{%- endif %}
function updateSyslogConf()
{
# On multiNPU platforms, change the syslog target ip to docker0 ip to allow logs from containers
# running on the namespace to reach the rsyslog service running on the host
# Also update the container name
if [[ ($NUM_ASIC -gt 1) ]]; then
TARGET_IP=$(docker network inspect bridge --format={{ "'{{(index .IPAM.Config 0).Gateway}}'" }})
CONTAINER_NAME="{{docker_container_name}}$DEV"
TMP_FILE="/tmp/rsyslog.$CONTAINER_NAME.conf"
sonic-cfggen -t /usr/share/sonic/templates/rsyslog-container.conf.j2 -a "{\"target_ip\": \"$TARGET_IP\", \"container_name\": \"$CONTAINER_NAME\" }" > $TMP_FILE
docker cp $TMP_FILE {{docker_container_name}}$DEV:/etc/rsyslog.conf
rm -rf $TMP_FILE
fi
}
function getMountPoint()
{
echo $1 | python -c "import sys, json, os; mnts = [x for x in json.load(sys.stdin)[0]['Mounts'] if x['Destination'] == '/usr/share/sonic/hwsku']; print '' if len(mnts) == 0 else os.path.basename(mnts[0]['Source'])" 2>/dev/null
@ -68,6 +84,7 @@ function preStartAction()
{%- else %}
: # nothing
{%- endif %}
updateSyslogConf
}
function postStartAction()

View File

@ -122,6 +122,9 @@ sudo rm -rf $FILESYSTEM_ROOT/$REDIS_DUMP_LOAD_PY2_WHEEL_NAME
# Install Python module for ipaddress
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install ipaddress
# Install Python module for psutil
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install psutil
# Install SwSS SDK Python 3 package
# Note: the scripts will be overwritten by corresponding Python 2 package
if [ -e {{swsssdk_py3_wheel_path}} ]; then
@ -222,6 +225,8 @@ sudo cp $IMAGE_CONFIGS/monit/monitrc $FILESYSTEM_ROOT/etc/monit/
sudo chmod 600 $FILESYSTEM_ROOT/etc/monit/monitrc
sudo cp $IMAGE_CONFIGS/monit/conf.d/* $FILESYSTEM_ROOT/etc/monit/conf.d/
sudo chmod 600 $FILESYSTEM_ROOT/etc/monit/conf.d/*
sudo cp $IMAGE_CONFIGS/monit/process_checker $FILESYSTEM_ROOT/usr/bin/
sudo chmod 755 $FILESYSTEM_ROOT/usr/bin/process_checker
# Copy crontabs
sudo cp -f $IMAGE_CONFIGS/cron.d/* $FILESYSTEM_ROOT/etc/cron.d/
@ -241,6 +246,7 @@ echo "warmboot-finalizer.service" | sudo tee -a $GENERATED_SERVICE_FILE
sudo cp $IMAGE_CONFIGS/rsyslog/rsyslog-config.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
sudo cp $IMAGE_CONFIGS/rsyslog/rsyslog-config.sh $FILESYSTEM_ROOT/usr/bin/
sudo cp $IMAGE_CONFIGS/rsyslog/rsyslog.conf.j2 $FILESYSTEM_ROOT_USR_SHARE_SONIC_TEMPLATES/
sudo cp $IMAGE_CONFIGS/rsyslog/rsyslog-container.conf.j2 $FILESYSTEM_ROOT_USR_SHARE_SONIC_TEMPLATES/
sudo cp $IMAGE_CONFIGS/rsyslog/rsyslog.d/* $FILESYSTEM_ROOT/etc/rsyslog.d/
echo "rsyslog-config.service" | sudo tee -a $GENERATED_SERVICE_FILE

View File

@ -284,12 +284,12 @@ class ControlPlaneAclManager(object):
iptables_cmds.append("ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -j ACCEPT")
# Add iptables/ip6tables commands to allow all incoming IPv4 DHCP packets
iptables_cmds.append("iptables -A INPUT -p udp --dport 67:68 --sport 67:68 -j ACCEPT")
iptables_cmds.append("ip6tables -A INPUT -p udp --dport 67:68 --sport 67:68 -j ACCEPT")
iptables_cmds.append("iptables -A INPUT -p udp --dport 67:68 -j ACCEPT")
iptables_cmds.append("ip6tables -A INPUT -p udp --dport 67:68 -j ACCEPT")
# Add iptables/ip6tables commands to allow all incoming IPv6 DHCP packets
iptables_cmds.append("iptables -A INPUT -p udp --dport 546:547 --sport 546:547 -j ACCEPT")
iptables_cmds.append("ip6tables -A INPUT -p udp --dport 546:547 --sport 546:547 -j ACCEPT")
iptables_cmds.append("iptables -A INPUT -p udp --dport 546:547 -j ACCEPT")
iptables_cmds.append("ip6tables -A INPUT -p udp --dport 546:547 -j ACCEPT")
# Add iptables/ip6tables commands to allow all incoming BGP traffic
# TODO: Determine BGP ACLs based on configured device sessions, and remove this blanket acceptance

View File

@ -10,5 +10,5 @@ You are on
Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.
Help: http://azure.github.io/SONiC/
Help: https://sonic-net.github.io/SONiC/

View File

@ -6,17 +6,27 @@
###############################################################################
check filesystem root-overlay with path /
if space usage > 90% for 10 times within 20 cycles then alert
if space usage > 90% for 10 times within 20 cycles then alert repeat every 1 cycles
check filesystem var-log with path /var/log
if space usage > 90% for 10 times within 20 cycles then alert
if space usage > 90% for 10 times within 20 cycles then alert repeat every 1 cycles
check system $HOST
if memory usage > 90% for 10 times within 20 cycles then alert
if cpu usage (user) > 90% for 10 times within 20 cycles then alert
if cpu usage (system) > 90% for 10 times within 20 cycles then alert
if memory usage > 90% for 10 times within 20 cycles then alert repeat every 1 cycles
if cpu usage (user) > 90% for 10 times within 20 cycles then alert repeat every 1 cycles
if cpu usage (system) > 90% for 10 times within 20 cycles then alert repeat every 1 cycles
check process rsyslog with pidfile /var/run/rsyslogd.pid
start program = "/bin/systemctl start rsyslog.service"
stop program = "/bin/systemctl stop rsyslog.service"
if totalmem > 800 MB for 10 times within 20 cycles then restart
# route_check.py Verify routes between APPL-DB & ASIC-DB are in sync.
# For any discrepancy, details are logged and a non-zero code is returned
# which would trigger a monit alert.
# Hence for any discrepancy, there will be log messages for "ERR" level
# from both route_check.py & monit.
#
check program routeCheck with path "/usr/bin/route_check.py"
every 5 cycles
if status != 0 for 3 cycle then alert repeat every 1 cycles

View File

@ -0,0 +1,57 @@
#!/usr/bin/python
import argparse
import sys
import syslog
import psutil
import swsssdk
def check_process_existence(container_name, process_cmdline):
"""
@summary: Check whether the process in the specified container is running or not and
an alerting message will written into syslog if it failed to run.
"""
config_db = swsssdk.ConfigDBConnector()
config_db.connect()
feature_table = config_db.get_table("FEATURE")
if container_name in feature_table.keys():
# We look into the 'FEATURE' table to verify whether the container is disabled or not.
# If the container is diabled, we exit.
if ("state" in feature_table[container_name].keys()
and feature_table[container_name]["state"] == "disabled"):
sys.exit(0)
else:
# We leveraged the psutil library to help us check whether the process is running or not.
# If the process entity is found in process tree and it is also in the 'running' or 'sleeping'
# state, then it will be marked as 'running'.
is_running = False
for process in psutil.process_iter(["cmdline", "status"]):
if ((' '.join(process.cmdline())).startswith(process_cmdline) and process.status() in ["running", "sleeping"]):
is_running = True
break
if not is_running:
# If this script is run by Monit, then the following output will be appended to
# Monit's syslog message.
print("'{}' is not running.".format(process_cmdline))
sys.exit(1)
else:
syslog.syslog(syslog.LOG_ERR, "container '{}' is not included in SONiC image or the given container name is invalid!"
.format(container_name))
def main():
parser = argparse.ArgumentParser(description="Check whether the process in the specified \
container is running and an alerting message will be written into syslog if it \
failed to run.", usage="/usr/bin/process_checker <container_name> <process_cmdline>")
parser.add_argument("container_name", help="container name")
parser.add_argument("process_cmdline", nargs=argparse.REMAINDER, help="process command line")
args = parser.parse_args()
check_process_existence(args.container_name, ' '.join(args.process_cmdline))
if __name__ == '__main__':
main()

View File

@ -1,4 +1,23 @@
#!/bin/bash
sonic-cfggen -d -t /usr/share/sonic/templates/rsyslog.conf.j2 >/etc/rsyslog.conf
PLATFORM=`sonic-cfggen -H -v DEVICE_METADATA.localhost.platform`
# Parse the device specific asic conf file, if it exists
ASIC_CONF=/usr/share/sonic/device/$PLATFORM/asic.conf
if [ -f "$ASIC_CONF" ]; then
source $ASIC_CONF
fi
# On Multi NPU platforms we need to start the rsyslog server on the docker0 ip address
# for the syslogs from the containers in the namespaces to work.
# on Single NPU platforms we continue to use loopback adddres
if [[ ($NUM_ASIC -gt 1) ]]; then
udp_server_ip=$(ip -o -4 addr list docker0 | awk '{print $4}' | cut -d/ -f1)
else
udp_server_ip=$(ip -o -4 addr list lo scope host | awk '{print $4}' | cut -d/ -f1)
fi
sonic-cfggen -d -t /usr/share/sonic/templates/rsyslog.conf.j2 -a "{\"udp_server_ip\": \"$udp_server_ip\"}" >/etc/rsyslog.conf
systemctl restart rsyslog

View File

@ -0,0 +1,76 @@
#
# /etc/rsyslog.conf Configuration file for rsyslog.
#
# For more information see
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
#################
#### MODULES ####
#################
$ModLoad imuxsock # provides support for local system logging
#
# Set a rate limit on messages from the container
#
$SystemLogRateLimitInterval 300
$SystemLogRateLimitBurst 20000
#$ModLoad imklog # provides kernel logging support
#$ModLoad immark # provides --MARK-- message capability
# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
###########################
#### GLOBAL DIRECTIVES ####
###########################
# Set remote syslog server
template (name="ForwardFormatInContainer" type="string" string="<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% {{container_name}}#%syslogtag%%msg:::sp-if-no-1st-sp%%msg%")
*.* action(type="omfwd" target="{{target_ip}}" port="514" protocol="udp" Template="ForwardFormatInContainer")
#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# Define a custom template
$template SONiCFileFormat,"%TIMESTAMP%.%timestamp:::date-subseconds% %HOSTNAME% %syslogseverity-text:::uppercase% {{container_name}}#%syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
$ActionFileDefaultTemplate SONiCFileFormat
#
# Set the default permissions for all log files.
#
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
#
# Where to place spool and state files
#
$WorkDirectory /var/spool/rsyslog
#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf
#
# Suppress duplicate messages and report "message repeated n times"
#
$RepeatedMsgReduction on
###############
#### RULES ####
###############

View File

@ -19,7 +19,7 @@ $ModLoad imklog # provides kernel logging support
# provides UDP syslog reception
$ModLoad imudp
$UDPServerAddress 127.0.0.1 # bind to localhost before udp server run
$UDPServerAddress {{udp_server_ip}} #bind to localhost before udp server run
$UDPServerRun 514
# provides TCP syslog reception

View File

@ -5,9 +5,6 @@
journal_stop() {
systemctl stop systemd-journald.service
systemctl stop systemd-journald.socket
systemctl stop systemd-journald-audit.socket
systemctl stop systemd-journald-dev-log.socket
}
delete_loop_device() {
@ -16,7 +13,10 @@ delete_loop_device() {
then
exit 0
fi
losetup -d /dev/loop1
loop_exist=$(losetup -a | grep loop1 | wc -l)
if [ $loop_exist -ne 0 ]; then
losetup -d /dev/loop1
fi
}
case "$1" in

View File

@ -213,6 +213,9 @@ umount "$root_mnt"
if [ $(echo -n "$root_dev" | tail -c 1) == "1" ]; then
# Create a new partition table (content in flash_dev will be deleted)
err_msg="Error: Failed to zero out first MB"
cmd="dd if=/dev/zero of=$flash_dev bs=512 count=2048"
run_cmd "$cmd" "$err_msg"
err_msg="Error: repartitioning $flash_dev failed"
cmd="echo '2048' | sfdisk $flash_dev || (sleep 3; blockdev --rereadpt $flash_dev && fdisk -l $flash_dev | grep -q ${root_dev}.*Linux)"
run_cmd "$cmd" "$err_msg"

View File

@ -1,4 +1,4 @@
BFN_PLATFORM = bfnplatform_20200618_deb9.deb
BFN_PLATFORM = bfnplatform_20200710_deb9.deb
$(BFN_PLATFORM)_URL = "https://github.com/barefootnetworks/sonic-release-pkgs/raw/dev/$(BFN_PLATFORM)"
SONIC_ONLINE_DEBS += $(BFN_PLATFORM)

View File

@ -1,4 +1,4 @@
BFN_SAI = bfnsdk_20200618_deb9.deb
BFN_SAI = bfnsdk_20200710_deb9.deb
$(BFN_SAI)_URL = "https://github.com/barefootnetworks/sonic-release-pkgs/raw/dev/$(BFN_SAI)"
$(BFN_SAI)_DEPENDS += $(LIBNL_GENL3_DEV)

View File

@ -3,5 +3,5 @@
## process list:
## syncd
###############################################################################
check process syncd matching "/usr/bin/syncd\s"
if does not exist for 5 times within 5 cycles then alert
check program syncd|syncd with path "/usr/bin/process_checker syncd /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

@ -1 +1 @@
Subproject commit 9ea7795ac085452bd14e4146a446ef842152e7de
Subproject commit 77d887095c331ddff0bc681edfc6a6dd66d96228

View File

@ -4,8 +4,8 @@
## syncd
## dsserve
###############################################################################
check process syncd matching "/usr/bin/syncd\s"
if does not exist for 5 times within 5 cycles then alert
check program syncd|syncd with path "/usr/bin/process_checker syncd /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process dsserve matching "/usr/bin/dsserve /usr/bin/syncd"
if does not exist for 5 times within 5 cycles then alert
check program syncd|dsserve with path "/usr/bin/process_checker syncd /usr/bin/dsserve /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -1,8 +1,8 @@
BRCM_SAI = libsaibcm_3.7.4.2-2_amd64.deb
$(BRCM_SAI)_URL = "https://sonicstorage.blob.core.windows.net/packages/bcmsai/3.7/libsaibcm_3.7.4.2-2_amd64.deb?sv=2015-04-05&sr=b&sig=sl819d71a%2BcgrDtOt%2BmywfSL9N2EQS58qMJFq0aKqo8%3D&se=2034-02-11T20%3A28%3A46Z&sp=r"
BRCM_SAI_DEV = libsaibcm-dev_3.7.4.2-2_amd64.deb
BRCM_SAI = libsaibcm_3.7.5.1_amd64.deb
$(BRCM_SAI)_URL = "https://sonicstorage.blob.core.windows.net/packages/bcmsai/3.7/libsaibcm_3.7.5.1_amd64.deb?sv=2015-04-05&sr=b&sig=hZLFA8GbuY83MW9g2ggfe53ATx9riuyL1JYXIe1Bib4%3D&se=2034-03-04T00%3A08%3A23Z&sp=r"
BRCM_SAI_DEV = libsaibcm-dev_3.7.5.1_amd64.deb
$(eval $(call add_derived_package,$(BRCM_SAI),$(BRCM_SAI_DEV)))
$(BRCM_SAI_DEV)_URL = "https://sonicstorage.blob.core.windows.net/packages/bcmsai/3.7/libsaibcm-dev_3.7.4.2-2_amd64.deb?sv=2015-04-05&sr=b&sig=cvOpP0PWFVmBNeYLMkxyI4BFBQf1DopD32t%2B3AkJHRg%3D&se=2034-02-11T20%3A27%3A46Z&sp=r"
$(BRCM_SAI_DEV)_URL = "https://sonicstorage.blob.core.windows.net/packages/bcmsai/3.7/libsaibcm-dev_3.7.5.1_amd64.deb?sv=2015-04-05&sr=b&sig=i5GcJ8ATr4NL5iLth6DrX8YXxe7ir5OsXN7fxJISvCE%3D&se=2034-03-04T00%3A09%3A48Z&sp=r"
SONIC_ONLINE_DEBS += $(BRCM_SAI)
$(BRCM_SAI_DEV)_DEPENDS += $(BRCM_SAI)

@ -1 +1 @@
Subproject commit 9ea7795ac085452bd14e4146a446ef842152e7de
Subproject commit 77d887095c331ddff0bc681edfc6a6dd66d96228

View File

@ -3,5 +3,5 @@
## process list:
## syncd
###############################################################################
check process syncd matching "/usr/bin/syncd\s"
if does not exist for 5 times within 5 cycles then alert
check program syncd|syncd with path "/usr/bin/process_checker syncd /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -3,5 +3,5 @@
## process list:
## syncd
###############################################################################
check process syncd matching "/usr/bin/syncd\s"
if does not exist for 5 times within 5 cycles then alert
check program syncd|syncd with path "/usr/bin/process_checker syncd /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -3,5 +3,5 @@
## process list:
## syncd
###############################################################################
check process syncd matching "/usr/bin/syncd\s"
if does not exist for 5 times within 5 cycles then alert
check program syncd|syncd with path "/usr/bin/process_checker syncd /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -3,5 +3,5 @@
## process list:
## syncd
###############################################################################
check process syncd matching "/usr/bin/syncd\s"
if does not exist for 5 times within 5 cycles then alert
check program syncd|syncd with path "/usr/bin/process_checker syncd /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -3,5 +3,5 @@
## process list:
## syncd
###############################################################################
check process syncd matching "/usr/bin/syncd\s"
if does not exist for 5 times within 5 cycles then alert
check program syncd|syncd with path "/usr/bin/process_checker syncd /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -3,5 +3,5 @@
## process list:
## syncd
###############################################################################
check process syncd matching "/usr/bin/syncd\s"
if does not exist for 5 times within 5 cycles then alert
check program syncd|syncd with path "/usr/bin/process_checker syncd /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -1,6 +1,6 @@
# Mellanox SAI
MLNX_SAI_VERSION = SAIRel1.16.4.1-sai16
MLNX_SAI_VERSION = SAIRel1.16.5-sai16
export MLNX_SAI_VERSION

@ -1 +1 @@
Subproject commit b318bb380ac13dba98c94b163fbe644ab7eb236e
Subproject commit 0ddcb4e6d12efdd5255529ed53cc785351e8b3b3

View File

@ -4,8 +4,8 @@
## syncd
## dsserve
###############################################################################
check process syncd matching "/usr/bin/syncd\s"
if does not exist for 5 times within 5 cycles then alert
check program syncd|syncd with path "/usr/bin/process_checker syncd /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles
check process dsserve matching "/usr/bin/dsserve /usr/bin/syncd"
if does not exist for 5 times within 5 cycles then alert
check program syncd|dsserve with path "/usr/bin/process_checker syncd /usr/bin/dsserve /usr/bin/syncd"
if status != 0 for 5 times within 5 cycles then alert repeat every 1 cycles

View File

@ -41,9 +41,9 @@ echo "
\"category\": \"router\",
\"description\": \"SONiC Virtual Switch/Router\",
\"vendor_name\": \"SONiC\",
\"vendor_url\": \"https://azure.github.io/SONiC/\",
\"vendor_url\": \"https://sonic-net.github.io/SONiC/\",
\"product_name\": \"SONiC\",
\"product_url\": \"https://azure.github.io/SONiC/\",
\"product_url\": \"https://sonic-net.github.io/SONiC/\",
\"registry_version\": 3,
\"status\": \"experimental\",
\"maintainer\": \"SONiC\",

View File

@ -29,4 +29,5 @@ $(DOCKER_TEAMD)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
$(DOCKER_TEAMD)_RUN_OPT += -v /host/warmboot:/var/warmboot
$(DOCKER_TEAMD)_BASE_IMAGE_FILES += teamdctl:/usr/bin/teamdctl
$(DOCKER_TEAMD)_BASE_IMAGE_FILES += monit_teamd:/etc/monit/conf.d
$(DOCKER_TEAMD)_FILES += $(SUPERVISOR_PROC_EXIT_LISTENER_SCRIPT)

View File

@ -0,0 +1,64 @@
From 97a5defc6a7fcc6a00f691bb5314ceb8fb7704e9 Mon Sep 17 00:00:00 2001
From: Abhishek Dosi <abdosi@microsoft.com>
Date: Mon, 26 Oct 2020 11:40:02 -0700
Subject: [PATCH] Patch on top of commit Patch is addressing these changes:-
a) Enable repeat keyword for alert action . Using this we can log
syslog error message for persistent failure condition
b) Make sure error message is loggged if state is changed to fail first time (fault tolerance condition)
or we have repeat clause for alert
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
---
src/event.c | 6 +++++-
src/p.y | 8 +++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/event.c b/src/event.c
index ed363ee..9d08fc0 100644
--- a/src/event.c
+++ b/src/event.c
@@ -336,7 +336,8 @@ static void _handleEvent(Service_T S, Event_T E) {
if (E->state != State_Init || E->state_map & 0x1) {
if (E->state == State_Succeeded || E->state == State_ChangedNot || E->id == Event_Instance || E->id == Event_Action)
LogInfo("'%s' %s\n", S->name, E->message);
- else
+ /* Send Error log if state change to failed for 1st time or if we have repeat clause then do periodically */
+ else if ((E->state_changed) || (E->state == State_Failed && E->action->failed->repeat && E->count % E->action->failed->repeat == 0))
LogError("'%s' %s\n", S->name, E->message);
}
if (E->state == State_Init)
return;
diff --git a/src/p.y b/src/p.y
index a57807d..b46b1a1 100644
--- a/src/p.y
+++ b/src/p.y
@@ -2250,9 +2250,12 @@ repeat : /* EMPTY */ {
}
;
-action : ALERT {
+action : ALERT repeat{
$<number>$ = Action_Alert;
}
+ | ALERT {
+ $<number>$ = Action_Alert;
+ }
| EXEC argumentlist repeat {
$<number>$ = Action_Exec;
}
@@ -2281,6 +2284,9 @@ action1 : action {
repeat = 0;
command1 = command;
command = NULL;
+ } else if ($<number>1 == Action_Alert) {
+ repeat1 = repeat;
+ repeat = 0;
}
}
;
--
2.17.1

View File

@ -1,2 +1,3 @@
# This series applies on GIT commit dc9bc1c949125140d967edfc598dfad47eedc552
0001-used_system_memory_sysdep-Use-MemAvailable-value-if-.patch
0002-change_monit_alert_log_error.patch

@ -1 +1 @@
Subproject commit 82bbeabc59b78886b5cadffe0998c8fe67031343
Subproject commit 42781ff90413efe2ff709908a5318c85ca67f058

@ -1 +1 @@
Subproject commit 322dd01db434d00394898d4d1ac34433e95447cd
Subproject commit ef721595520d827277610d11e24082934afc4df8