Commit Graph

492 Commits

Author SHA1 Message Date
Myron Sosyak
7ef57f92e1 [docker-sonic-mgmt]: Add docker-ce-cli to sonic-mgmt container (#3868)
In the scope of migration from docker shell plugin to docker connection plugin, we need to have docker-ce-cli installed in docker-sonic-mgmt. Azure/sonic-mgmt#1269

Added docker-ce-cli package to docker-sonic-mgmt.
2019-12-10 18:03:55 -08:00
Joe LeVeque
d39f10b31f Revert "[dhcp_relay] Add extra sleep before starting relay agent processes (#3824)" (#3857)
This reverts commit 7622a30d98.
2019-12-07 20:18:49 -08:00
pavel-shirshov
1848fb262b [fast-reboot]: Save fast-reboot state into the db (#3741)
Put a flag for fast-reboot to the db using EXPIRE feature. Using this flag in other part of SONiC to start in Fast-reboot mode. If we reload a config, the state in the db will be removed.
2019-12-04 14:10:19 -08:00
Joe LeVeque
7622a30d98 [dhcp_relay] Add extra sleep before starting relay agent processes (#3824) 2019-11-26 18:16:57 -08:00
yozhao101
67fc68513e [Services] Restart Sflow service upon unexpected critical process exit. (#3751)
Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2019-11-25 13:02:00 -08:00
lguohan
57728c5c8b
[docker-ptf]: add ethtool and telnet package in ptf (#3815) 2019-11-25 09:00:47 -08:00
pra-moh
65f7da87a7 [telemetry.sh] Fix string null check with special characters by adding quotes (#3810)
* adding quotes for string comparison with special characters

* Update dockers/docker-sonic-telemetry/telemetry.sh

Co-Authored-By: Joe LeVeque <jleveque@users.noreply.github.com>

* Update dockers/docker-sonic-telemetry/telemetry.sh

Co-Authored-By: Joe LeVeque <jleveque@users.noreply.github.com>
2019-11-23 12:30:56 -08:00
pavel-shirshov
d44cc30191 [docker-fpm-frr]: Enable sending ipv6 prefixes over ipv4 BGPMON session (#3799)
* Enable ipv6 prefixes over ipv4 BGPMON session
2019-11-22 20:43:44 -08:00
pavel-shirshov
a73eb66546
[docker-fpm-frr]: Refactor bgpcfgd (#3789) 2019-11-22 11:07:36 -08:00
pavel-shirshov
420278f286 [docker-base/ptf]: Make a link to vim. Add tmux to docker-ptf (#3758) 2019-11-20 07:39:49 -08:00
lguohan
5466bb5326
[sonic-mgmt]: install ansible 2.8.7 and pytest-ansible 2.2.2 (#3776)
Signed-off-by: Guohan Lu <gulv@microsoft.com>
2019-11-19 22:52:29 -08:00
yozhao101
df11b2b9f1 [Services] Restart Telemetry service upon unexpected critical process exit. (#3768)
Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2019-11-18 16:56:44 -08:00
pavel-shirshov
f9dea23191
Don't run bgpcfgd twice (#3752) 2019-11-13 16:41:41 -08:00
heidinet2007
864a7c60bd start bgp_eoiu_mark service to populate bgp eoiu marker flags for warm start, if configured so (#3489)
* start bgp_eoiu_mark service to populate bgp eoiu marker if configured so

* Address code review comments: check db value via "-v" option in sonic-cfggen

* Address code review comment 2: check string against 'true' directly, instead of couting

* Update start.sh
2019-11-13 14:10:11 -08:00
Sudharsan D.G
be3421c352 [docker-ptf]: Added python-libpcap for the updated arp responder (#3731)
Added python-libpcap to be used by arp_responder.py utility. This is needed to set conf.use_pcap which will make sure that L2pcapListenSocket uses libpcap instead of Linux PF_PACKET sockets. By using libpcap the vlan field will not be removed when the application receives the packet.
2019-11-08 22:57:05 -08:00
pavel-shirshov
d5af096f41
[TSA]: Add community to the loopback prefix, when isolated (#3708)
* Rename asn/deployment_id_asn_map.yaml to constants/constants.yaml

* Fix bgp templates

* Add community for loopback when bgpd is isolated

* Use correct community value
2019-11-06 16:07:28 -08:00
yozhao101
a117b25446 [Services] Restart LLDP service upon unexpected critical process exit. (#3713)
Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2019-11-06 11:02:57 -08:00
Joe LeVeque
997ea59ba4
Fix typos and comment alignment in supervisor.conf files (#3714) 2019-11-06 09:24:54 -08:00
yozhao101
ed79f54569 [Services] Restart DHCP-Relay service upon unexpected critical process exit. (#3667)
Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2019-11-05 18:32:14 -08:00
yozhao101
4c31ef3cd2 [Services] Restart Teamd service upon unexpected critical process exit. (#3703)
Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2019-11-04 17:45:41 -08:00
yozhao101
4fa3a1e27e [Services] Restart Platform-monitor service upon unexpected critical process exit. (#3689)
Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2019-11-04 17:44:01 -08:00
pavel-shirshov
4b59a430f1 [docker-fpm-frr]: Add DEVICE_NEIGHBOR_METADATA into bgpcfgd (#3694) 2019-11-04 09:30:18 -08:00
pavel-shirshov
6cc1f99975
Return evpn configuration into bgp templates (#3693) 2019-10-31 18:22:58 -07:00
yozhao101
cff30c59d0 [Services] Restart Router-advertiser service upon unexpected critical process exit (#3681)
Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2019-10-30 16:41:55 -07:00
pavel-shirshov
3a7870955a [bgpd]: Avoid crashing bgpcfgd when render of bgpd.peer.conf.j2 has issues (#3668) 2019-10-29 09:07:50 -07:00
zhenggen-xu
c23aac1581 [swss] Remove "-p port_config.ini" option from the portsyncd (#3671)
* [portsyncd] Remove "-p port_config.ini" option from the portsyncd

Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
2019-10-27 21:15:39 -07:00
pavel-shirshov
8457248d01 [bgpcfgd]: Split default bgp config into main config and peer template (#3627)
Now it's possible to add and remove peers based on ConfigDB

- What I did
Fixed functionality for dynamically adding/removing static bgp peers.

- How I did it

Split the bgp default template on bgp part and bgp peer part
Changed bgpcfgd to use 1.

- How to verify it

Build an image and run on your DUT
2019-10-24 07:35:14 -07:00
yozhao101
a0fbeeaca5 [Services] Restart SNMP service upon unexpected critical process exit. (#3650)
Signed-off-by: Yong Zhao <yozhao@microsoft.com>
2019-10-22 14:41:12 -07:00
shikenghua
9032ad8b12 [docker-fpm-frr] Change the ownership of files within /etc/frr/ to frr (#3388)
The owner of the generated files (/etc/frr/*.conf) by start.sh is root if it is a new file.
This will cause error when executing "copy running-config startup-config" in vtysh because of privilege issue.
2019-10-15 11:45:09 -07:00
kannankvs
150ed36be2 [snmp]: changes to handle snmp configuration as per the modified CLI (#3586)
While doing CLI changes for SNMP configuration, few changes are made in backend to handle the modified CLI.

** Changes**

- "community" for "snmp trap" is also made as "configurable". snmpd_conf.j2 is modified to handle the same.

- Changed the snmp.yml file generation from postStartAction to preStartAction in docker_image_ctl.j2 specific to SNMP docker, to ensure that the snmp.yml is generated before sonic-cfggen generates the snmpd.conf.

- Changed to make the code common for management vrf and default vrf. Users can configure snmp trap and snmp listening IP for both management vrf and default vrf.
2019-10-10 09:24:18 -07:00
Dong Zhang
1e7c458454 Add separator field to database_config.json (#3581) 2019-10-08 18:10:38 -07:00
pavel-shirshov
e69cb73fc7 [frr]: Implement BGP_MONITORS support (#3545)
Implement support of BGP Monitors

Add changes into minigraph to extract BGP Monitors information. Add new templates for FRR.
2019-10-07 16:05:07 -07:00
Andriy Moroz
976850fc00 [submodule update] Add SSD Health tools (#3218)
Signed-off-by: Andriy Moroz <c_andriym@mellanox.com>
2019-10-04 10:52:58 -07:00
wangshengjun
59febed528 [docker-fpm-frr]:filter out the file of 'Dockerfile.j2' from the 'docker-fpm-frr' image. (#3507)
Signed-off-by: wangshengjun <wangshengjun@asterfusion.com>
2019-09-27 12:43:44 -07:00
Qi Luo
8c4678718e
[snmp] snmpd ipv6 supports multiple community strings (#3523) 2019-09-26 18:23:12 -07:00
Qi Luo
75907f10aa
[snmp] Build snmpd with ipv6 support and enable it (#3500) 2019-09-24 15:13:18 -07:00
Dong Zhang
dd4a50dd61 [database-docker]: update multiBD config file (#3487)
adding 'hostname' field and rename 'socket'
2019-09-20 09:34:32 -07:00
Harish Venkatraman
9d2d617264 [SNMP] management VRF SNMP support (#2608)
* [SNMP] management VRF SNMP support

This commit adds SNMP support for Management VRF using l3mdev.
The patch included provides VRF support, there is no single
"listendevice" configuration, rather multiple agentaddress
config options can each have their own "interface" to bind to
using "ip%interface". The snmpd.conf file is accordingly
generated using the snmp.yml file and redis database info.

Adding below the comments of SNMP patch 1376
--------------------------------------------
Since the Linux kernel added support for Virtual Routing
and Forwarding (VRF) in version 4.3
(Note: these won't compile on non-linux platforms)

https://www.kernel.org/doc/Documentation/networking/vrf.txt

Linux users could not use snmpd in its current form to
bind specific listening IP addresses to specific VRF
devices. A simplified description of a VRF inteface
is an interface that is a master (a container of sorts)
that collects a set of physicalinterfaces to form a
routing table.

This set of two patches (one for V5-7-patches and one
for V5-8-patches branches) is almost identical to patch
single "listendevice" configuration. Rather, multiple
agentAddress config options can each have their own
"interface" to bind to using the <ip>%<interface>
syntax.</interface></ip>
-------------------------------------------

Signed-off-by: Harish Venkatraman <harish_venkatraman@dell.com>
2019-09-18 17:26:45 -07:00
yangshiping
503d87b901 [lldp]: expose lldpcli command of lldp docker to host (#3473)
Lldp can not be configured in host environment, so we expose lldpcli command of lldp docker to host for configuring more convenient.
2019-09-18 11:39:31 -07:00
padmanarayana
75104bb35d [sflow]: Build infrastructure changes to support sflow docker and utilities (#3251)
Introduce a new "sflow" container (if ENABLE_SFLOW is set). The new docker will include:
hsflowd : host-sflow based daemon is the sFlow agent
psample : Built from libpsample repository. Useful in debugging sampled packets/groups.
sflowtool : Locally dump sflow samples (e.g. with a in-unit collector)

In case of SONiC-VS, enable psample & act_sample kernel modules.

VS' syncd needs iproute2=4.20.0-2~bpo9+1 & libcap2-bin=1:2.25-1 to support tc-sample

tc-syncd is provided as a convenience tool for debugging (e.g. tc-syncd filter show ...)
2019-09-14 20:27:09 -07:00
Joe LeVeque
bbbd3db5d7
[lldpmgrd] Initialize port_desc to None to prevent crashing (#3451) 2019-09-12 15:21:53 -07:00
Joe LeVeque
0e62280725
[dhcp_relay] Properly wait for routed interfaces to be ready before starting relay agent (#3441) 2019-09-12 10:57:08 -07:00
arheneus@marvell.com
11258e5db4 [build]: sonic arm64 changes (#3419)
Marvell arm64 changes over sonic

Signed-off-by: Antony Rheneus <arheneus@marvell.com>
2019-09-11 09:41:38 -07:00
wangshengjun
9fdc6bde8c [dhcp_relay]:filter out the ipv6 address of dhcp server for dhcp rela… (#3397)
* [dhcp_relay]:filter out the ipv6 address of dhcp server for dhcp relay(v4) config file.

Signed-off-by: wangshengjun <wangshengjun@asterfusion.com>
2019-09-06 12:01:08 -07:00
Ze Gan
be3cbdbcea [docker-fpm-frr/bgpcfgd]: Update interface of bgpcfgd from swsssdk to swsscommon (#3264)
Update interfaces of bgpcfd from swsssdk to swsscommon to unify a suit of interface with other component. Meanwhile, we can listen multiple tables at one thread under swsscommon interface.

Signed-off-by: Ze Gan ganze718@gmail.com

- What I did
Move the interface of bgpcfgd from swsssdk to swsscommon. Because bgpcfgd need to listen more events in the future and we want to maintain one kind of APIs, swsscommon is more suitable than swsssdk.

- How I did it
Refactor the BGPConfigDaemon to two components, Daemon and BGPConfigManager. We can register new managers to the Daemon object if we want to listen more events.
2019-08-29 10:26:48 -07:00
zhenggen-xu
f92056017e [swss]: Add hash seed 15 for SpineRouter type (#3390)
Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
2019-08-28 15:46:48 -07:00
Dong Zhang
768beb79e1 create multiple Redis DB instances based on CONFIG at /etc/sonic/database_config.json (#2182)
this is the first step to moving different databases tables into different database instances

in this PR, only handle multiple database instances creation based on user configuration at /etc/sonic/database_config.json

we keep current method to create single database instance if no extra/new DATABASE configuration exist in database_config.json file.

if user try to configure more db instances at database_config.json , we create those new db instances along with the original db instance existing today.

The configuration is as below, later we can add more db related information if needed:
{
...
"DATABASE": {
"redis-db-01" : {
"port" : "6380",
"database": ["APPL_DB", "STATE_DB"]
},
"redis-db-02" : {
"port" : "6381",
"database":["ASIC_DB"]
},
}
...
}

The detail description is at design doc at Azure/SONiC#271

The main idea is : when database.sh started, we check the configuration and generate corresponding scripts.

rc.local service handle old_config copy when loading new images, there is no dependency between rc.local and database service today, for safety and make sure the copy operation are done before database try to read it, we make database service run after rc.local

Then database docker started, we check the configuration and generate corresponding scripts/.conf in database docker as well.

based on those conf, we create databases instances as required.

at last, we ping_pong check database are up and continue


Signed-off-by: Dong Zhang d.zhang@alibaba-inc.com
2019-08-28 11:15:10 -07:00
shikenghua
bf08a2caf3 [docker-fpm-frr]: Generate separated staticd.conf for staticd (#3306)
* [docker-fpm-frr]: Generate separated staticd.conf for staticd

Generate staticd.conf by templates/staticd.conf.j2 with config DB data

* [docker-fpm-frr]: Remove default_route block from zebra.conf.j2

default_route block already moved to staticd.conf.j2

* [docker-fpm-frr]: Add test for staticd.conf.j2 template

* Add test for staticd.conf.j2 template

* Correct the sample output of zebra.conf.j2 template

* Fix a typo in test_zebra_frr

* [docker-fpm-frr]: Fix test_j2files test errors

* Fix test errors in test_j2files.py and test_j2files_t2_chassis_fe.py

* Fix typo in test_j2files_t2_chassis_fe.py
2019-08-16 14:29:42 -07:00
Tony Titus
91510a7742 [innovium]: Initial commit (#3243)
[build] Add ipmitool
[dockers] Add innovium platform in orchagent + ipmitool in snmp
[platform/innovium] Add innovium platform
[device/celestica] Add x86_64-cel_midstone-r0 device for innovium
[device/delta] Add x86_64-delta_et-c032if-r0 device for innovium
[sonic-slave-stretch] Add texi2html

Signed-off-by: Tony Titus ttitus@innovium.com
2019-08-14 10:40:55 -07:00
wangshengjun
7b0389d8a3 [dhcp_relay] Only call 'wait_until_iface_ready' once for each interface (#3317)
Signed-off-by: wangshengjun <wangshengjun@asterfusion.com>
2019-08-09 11:28:15 -07:00