Commit Graph

4124 Commits

Author SHA1 Message Date
Joe LeVeque
00d3cb7a7c
[sonic-platform-common] Update submodule (#6041)
Commits include:

* src/sonic-platform-common d912db6...fa0aaa6 (3):
  > [sonic_sfp]: add logical_to_asic dict (#141)
  > [sonic_pcie][sonic_ssd] Make Python 3-compliant (#150)
  > [eeprom_base] Close lock file after unlocking (#149)
2020-11-26 13:14:56 -08:00
Pradchaya Phucharoen
fb53ab7f7b
[platform/cels] Dx010: fix pca9548 downstream device address collision (#5899)
- Why I did it
Fix the i2c device to address conflicts behind the PCA9548 switch.

- How I did it
Load the i2c-mux-pca954x with parameter force-deselect-on-exit=1.
2020-11-26 09:35:58 -08:00
Joe LeVeque
829c116f13
[sonic-swss-common] Update submodule (#6042)
Commits include:

* src/sonic-swss-common f143b7f...3d400a9 (3):
  > ASIC internal temperature sensors support (#419)
  > SWIG functions accept unicode input (#422)
  > Introdcued RESOLVE_NEIGH APP DB table (#420)
2020-11-26 09:22:50 -08:00
Sujin Kang
d5cd4e7ea2
Fix the ExecStart path for process-reboot-cause (#6044)
- Change the ExecStart path for process-reboot-cause from /usr/bin to /usr/local/bin
- Correct description and dependencies.
2020-11-26 09:22:02 -08:00
lguohan
6a73f86dc3 Set up CI with Azure Pipelines
[skip ci]
2020-11-26 04:18:25 -08:00
pavel-shirshov
148436d42e
[bgpcfg]: Batch bgp updates (#6006)
* [bgpcfgd]: Batch bgp updates.

vtysh -f command is slow. It is sometimes takes about 3 seconds.
When we need to run many vtysh -f commands that slows down the system.
Batch vtysh -f updates.

* Use correct file to import run_command
2020-11-25 14:56:27 -08:00
Vasant Patil
8f0452d011
Introducing port_breakout_config_db.json, which will be used when you breakout port with -l option (#6034)
Signed-off-by: Vasant <vapatil@linkedin.com>
2020-11-25 12:47:50 -08:00
Joe LeVeque
7f4ab8fbd8
[sonic-utilities] Update submodule; Build and install as a Python 3 wheel (#5926)
Submodule updates include the following commits:

* src/sonic-utilities 9dc58ea...f9eb739 (18):
  > Remove unnecessary calls to str.encode() now that the package is Python 3; Fix deprecation warning (#1260)
  > [generate_dump] Ignoring file/directory not found Errors (#1201)
  > Fixed porstat rate and util issues (#1140)
  > fix error: interface counters is mismatch after warm-reboot (#1099)
  > Remove unnecessary calls to str.decode() now that the package is Python 3 (#1255)
  > [acl-loader] Make list sorting compliant with Python 3 (#1257)
  > Replace hard-coded fast-reboot with variable. And some typo corrections (#1254)
  > [configlet][portconfig] Remove calls to dict.has_key() which is not available in Python 3 (#1247)
  > Remove unnecessary conversions to list() and calls to dict.keys() (#1243)
  > Clean up LGTM alerts (#1239)
  > Add 'requests' as install dependency in setup.py (#1240)
  > Convert to Python 3 (#1128)
  > Fix mock SonicV2Connector in python3: use decode_responses mode so caller code will be the same as python2 (#1238)
  > [tests] Do not trim from PATH if we did not append to it; Clean up/fix shebangs in scripts (#1233)
  > Updates to bgp config and show commands with BGP_INTERNAL_NEIGHBOR table (#1224)
  > [cli]: NAT show commands newline issue after migrated to Python3 (#1204)
  > [doc]: Update Command-Reference.md (#1231)
  > Added 'import sys' in feature.py file (#1232)

* src/sonic-py-swsssdk 9d9f0c6...1664be9 (2):
  > Fix: no need to decode() after redis client scan, so it will work for both python2 and python3 (#96)
  > FieldValueMap `contains`(`in`)  will also work when migrated to libswsscommon(C++ with SWIG wrapper) (#94)

- Also fix Python 3-related issues:
    - Use integer (floor) division in config_samples.py (sonic-config-engine)
    - Replace print statement with print function in eeprom.py plugin for x86_64-kvm_x86_64-r0 platform
    - Update all platform plugins to be compatible with both Python 2 and Python 3
    - Remove shebangs from plugins files which are not intended to be executable
    - Replace tabs with spaces in Python plugin files and fix alignment, because Python 3 is more strict
    - Remove trailing whitespace from plugins files
2020-11-25 10:28:36 -08:00
abdosi
fad481edc1
Enhanced Feature table to support 'always_enabled' value for state and auto-restart fields. (#6000)
Added new flag value 'always_enabled' for the state and auto-restart field of feature table

init_cfg.json is updated to initialize state field of database/swss/syncd/teamd feature and auto-restart field of database feature
as always_enabled

Once the state/auto-restart value is initialized as "always_enabled" it is immutable and cannot be change via feature config commands. (config feature..) PR#Azure/sonic-utilities#1271

hostcfgd will not take any action if state field value is 'always_enabled'

Since we have always_enabled field for auto-restart updated supervisor-proc-exit-listener
not to have special check for database and always rely on value from Feature table.
2020-11-25 08:41:11 -08:00
Vadym Hlushko
7fca9f6c69
[DPB] added capability files for SN3700C platform (#6022)
Created capability files according to platform specification SN3700C

Signed-off-by: Vadym Hlushko <vadymh@nvidia.com>
2020-11-25 03:55:05 -08:00
Sabareesh-Kumar-Anandan
ac609365f6
[libyang] Adding LFS support for arm32 (#6018)
In the emulated armhf environment, the function readdir()returns NULL on a ext4 file system directory. When running the libyang test cases, it will require to load the plugins from the files (such as metadata.so), because the readdir() is failing, the plugins can’t be loaded in the emulated armhf environment, so it causes libyang test error. This error is a combination of the following reasons.
• Emulation of a 32-bit target from a 64-bit host –> qemu from x86_64 to armhf
• Glibc version > 2.27 – Debian buster is using glibc 2.28

Signed-off-by: Sabareesh Kumar Anandan <sanandan@marvell.com>
2020-11-25 01:10:53 -08:00
Arun Saravanan Balachandran
dc15fbc0ee
[DellEMC]: EEPROM platform API Python3 compliance changes (#5960)
Make EEPROM platform APIs Python3 compliant in DellEMC platforms by handling bytearray type returned by read_eeprom and read_eeprom_bytes methods.
2020-11-24 17:30:41 -08:00
Vadym Hlushko
503873056e
[Mellanox] SN4410 support (#5778)
Add support for Mellanox Spectrum-3 based 100GbE/400GbE 1U. 24 QSFP-DD28 and 8 QSFP-DD ports

Signed-off-by: Vadym Hlushko <vadymh@nvidia.com>
2020-11-24 10:43:48 -08:00
pavel-shirshov
fd87ba0aee
[bgpcfgd]: Add on-match next rule for set ipv6 next-hop prefer-global (#6011)
* Add 'on-match next' after every 'set ipv6 next-hop prefer-global'
* Check that 'set ipv6 next-hop prefer-global' rule has 'on-match' next
2020-11-24 08:33:31 -08:00
xumia
98d749128a
Fix docker images rebuilt issue when building each host image (#5925)
* Change back the mtime changed by applying patch

* Fix bug

* Fix bug

* Use the grep or pattern instead to call a new grep command
2020-11-24 21:45:06 +08:00
vdahiya12
962e838b16
[sonic-platform-common] sub_module update (#6007)
commits in this PR

d912db6 [sonic_y_cable] add error checking for eeprom read (#147)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2020-11-23 23:27:21 -08:00
Joe LeVeque
80bf8691e8
[Syncd] containers still based on Stretch must still use Python 2 (#6010)
Some syncd containers are still based on Debian Stretch, and thus do not have Python 3 available. For these containers, we must still rely on Python 2 to run supervisord_dependent_startup and supervisor-proc-exit-listener.
2020-11-23 22:35:58 -08:00
Blueve
6a6e583b06
[bash.bashrc] Add reverse SSH script to bash.bashrc (#5438)
* [bash.bashrc] Add reverse SSH script to bash.bashrc
* Fix command issue and add emptt line before EOF
* Add checks for SSH_TARGET_CONSOLE_LINE

Signed-off-by: Jing Kan jika@microsoft.com
2020-11-24 14:11:53 +08:00
Qi Luo
e36c1fdb4d
Revert "[build]: Add build badge for Barefoot 202006 build (#4923)" (#5996)
This reverts commit f2e8187400.
2020-11-23 15:09:43 -08:00
Sudharsan Dhamal Gopalarathnam
b65fc7867e
Updating submodule pointers for sonic-utilities (#5921)
sonic-utilities:
[3f15835] [sflow] Add mVRF support (#1230)
[dadfc18] Copp Changes (#1004)
[b226159] [CLI][PFCWD] Fix issue with specifying ports in pfcwd start on masic platforms (#1203)
[40377d3] [chassis]: Configure and show for platform chassis_modules (#1145)
[d5eb2f8] [consutil][connect] Remove root need from connect line command (#1225)
[6cbec6b] [multi-ASIC] CRM show/config commands changes for multi-asic (#1127)

Co-authored-by: dgsudharsan <sudharsan_gopalarat@dell.com>
2020-11-23 14:55:23 -08:00
Sudharsan Dhamal Gopalarathnam
98a434e8c1
Copp Manager Changes (#4861)
*Introduce CoPP Manager infrastructure
Copp service to generate initial copp config template file

Co-authored-by: dgsudharsan <sudharsan_gopalarat@dell.com>
2020-11-23 09:31:42 -08:00
pavel-shirshov
5df8af5378
[TSA]: Fix TSC. Avoid 'Not consistent' state (#5968) 2020-11-23 09:30:39 -08:00
Qi Luo
5410290b26
[sonic-swss-common] Update submodule (#5998)
Included submodule commits:
    f143b7f 2020-11-22 | [swig] wrap logger.h (#418) [Qi Luo]
2020-11-23 03:58:06 -08:00
lguohan
4d3eb18ca7
[supervisord]: use abspath as supervisord entrypoint (#5995)
use abspath makes the entrypoint not affected by PATH env.

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-11-22 21:18:44 -08:00
Shi Su
e0781f463f
[L2 switch mode] Update l2switch.j2 template (#5981)
- Why I did it
The l2switch.j2 template does not include all fields for PORT. This could be incompatible with the 201911 image or later.

- How I did it
Update l2switch.j2 template and add a unit test.
2020-11-21 11:35:35 -08:00
Sujin Kang
5b31996f7b
[reboot-history] Add reboot history to state db (#5933)
- Why I did it
Add reboot history to State db so that can be used telemetry service
- How I did it
Split the process-reboot-cause service to determine-reboot-cause and process-reboot-cause
determine-reboot-cause to determine the reboot cause
process-reboot-cause to parse the reboot cause files and put the reboot history to state db
Moved to sonic-host-service* packages
- How to verify it
Performed unit test and tested on DUT
2020-11-20 20:08:18 -08:00
Ying Xie
d3c1a5bf39
[frr] remove frr rsyslog file outchannel (#5962)
- Why I did it
frr is creating /var/log/frr/frr.log inside the frr docker and letting it grow. It will eventually exhaust hard drive space.

To fixe issue #5965

- How I did it
Remove rsyslog file outchannel so that frr won't generate /var/log/frr/frr.log inside the docker.

- How to verify it
Manually removed the outchannel and restart BGP docker, making sure that /var/log/frr/frr.log is no longer created inside the docker.

While restarting bgp docker, observed that base image /var/log/quagga/bgpd.log continued to grow and captured all FRR logs.
2020-11-20 19:36:04 -08:00
Lawrence Lee
3b27afe377
[minigraph.py]: Add VLAN_INTERFACE attributes for dual ToR devices (#5951)
* If a device has subtype = 'DualToR', then enable proxy ARP and gratuitous ARP.
2020-11-20 17:04:01 -08:00
Petro Bratash
31404dc43a
[sonic-platform-daemons] Update submodule (#5987)
- Fix test_updater_thermal_check_min_max()
f6e5e5902e

- [sonic-platform-daemons] Add more physical entity information to DB for physical entity mib
14e586d676

Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
2020-11-20 12:25:13 -08:00
Joe LeVeque
23247514f9
Fix a number of LGTM alerts (#5952)
Fix 259 alerts reported by the LGTM tool:

- 245 for Unused import
- 7 for Testing equality to None
- 5 for Duplicate key in dict literal
- 1 for Module is imported more than once
- 1 for Unused local variable
2020-11-20 10:58:48 -08:00
JiangboHe
461e43649b
fix error: interface counters is mismatch after warm-reboot (#5346)
- Why I did it
There is a issue for counters after warm-reboot:
If I clear counters by command "sonic-clear counters", then execute 'warm-reboot' and whenSONiC is restart, the counters showed with command "show interface counters" is still old counters before "sonic-clear". It is not the right counters because the counters file in '/tmp' is lost in warm-reboot process.

- How I did it
I fixed it by saving '/tmp/portstat-0' folders in '/host/' before executing 'warm-reboot' (in pull request Azure/sonic-utilities#1099 ), and restore the counters folders back to '/tmp/' after warm-reboot process is finished.

- How to verify it

Clear counters by command 'sonic-clear'
sonic-clear counters
sonic-clear dropcounters
sonic-clear pfccounters
sonic-clear queuecounters
sonic-clear rifcounters
Execute 'warm-reboot'
Use command ‘show interface counters’ to see if the counters is right.
2020-11-20 10:37:45 -08:00
Joe LeVeque
7bf05f7f4f
[supervisor] Install vanilla package once again, install Python 3 version in Buster container (#5546)
**- Why I did it**

We were building a custom version of Supervisor because I had added patches to prevent hangs and crashes if the system clock ever rolled backward. Those changes were merged into the upstream Supervisor repo as of version 3.4.0 (http://supervisord.org/changes.html#id9), therefore, we should be able to simply install the vanilla package via pip. This will also allow us to easily move to Python 3, as Python 3 support was added in version 4.0.0.

**- How I did it**

- Remove Makefiles and patches for building supervisor package from source
- Install Python 3 supervisor package version 4.2.1 in Buster base container
    - Also install Python 3 version of supervisord-dependent-startup in Buster base container
- Debian package installed binary in `/usr/bin/`, but pip package installs in `/usr/local/bin/`, so rather than update all absolute paths, I changed all references to simply call `supervisord` and let the system PATH find the executable to prevent future need for changes just in case we ever need to switch back to build a Debian package, then we won't need to modify these again.
- Install Python 2 supervisor package >= 3.4.0 in Stretch and Jessie base containers
2020-11-19 23:41:32 -08:00
Shi Su
2f2b7c2a5c
[sonic-swss] Update submodule (#5964)
Update the sonic-swss submodule. The following are the commits in the submodule.

[dvs] Re-add runcmd_async command
5ba548cd759be4f0b1d1830ea038bf3c84e6f3f6

[dvs] Re-add copy_file method to DVS
86e11715819ac183a68aaf1deed6beabb259384b

Add a check for warm-restart, and do a clear only when warm-restart is enable.
fcb6c9de918d93967440b78bf7d5cd3a51bf7129

[Routeorch] Fix next hop group reference count in bulk operation
7a92100c1c1a344e67d4501cb7b98de557d0ea52

[orchagent][port] In case of successful port creation set log level to INFO
fea7ade74941a529505681e384f3437e873b1f7a

Copp Manager Changes
7b76d2e201f9f7d26cec7460f1335f7762b4ad01

[orchagent] Arm 32-bit arch compilation warning Fixes
bed79702c9da7957b775a0c960f67dd426db34d5

Revert: swss: flush g_asicState after each event is done #570
b9084a720d41daf1d717bcbe06f56e7a95111fa6

[dvs] Clean-up conftest.py
d6e15e955c91a6f077a913a617a336a314c6c91b
2020-11-19 23:40:14 -08:00
Joe LeVeque
5fbb6ee613
[sonic-platform-daemons] Update submodule (#5976)
* src/sonic-platform-daemons be21d91...b90ddda (1):
  > [thermalctld] [psud] [chassisd] Fix crash with undefined environment variable (#120)
2020-11-19 22:43:10 -08:00
Petro Bratash
d2f143d66f
[sonic-platform-common] Update submodule (#5977)
[sonic_eeprom] Fix variable type: Azure/sonic-platform-common#145

Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
2020-11-19 14:53:37 -08:00
Sabareesh-Kumar-Anandan
91f6d5b29e
[platform][marvell] Disabling Mgmt Framework for marvell-armhf (#5753)
We are facing some compilation issue while compiling mgmt framework for arm.
So, disabling Mgmt framework for marvell-armhf. We will enable it after fixing the compilation issues

Signed-off-by: Sabareesh Kumar Anandan <sanandan@marvell.com>
2020-11-19 12:36:45 -08:00
Qi Luo
42e78a19c1
[sonic-swss-common] Update submodule (#5969)
Update the sonic-swss-common submodule. The following are the commits in the submodule.
```
95f9e11 2020-11-19 | [pyext] allow to catch exceptions raised in python (#415) [Stepan Blyshchak]
5a718f9 2020-11-18 | [swig] translate C++ `del` to python `delete` (#416) [Qi Luo]
40b255b 2020-11-12 | Fix: SWIG dict.get() should have optional default value parameter (#413) [Qi Luo]
91e484d 2020-11-07 | Reduce notice logging (#412) [Qi Luo]
f5945ae 2020-11-05 | Mux Cable schema definitions for interaction between linkmanager and xcvrd (#411) [vdahiya12]
602f9c2 2020-11-05 | [lua] load lua script on demand (#409) [Dong Zhang]
d88412b 2020-11-04 | Rename hdel to del when using multiple keys as param (#410) [Kamil Cudnik]
e0c229a 2020-11-04 | CHASSIS_STATE_DB on control-card for chassis state (#395) [mprabhu-nokia]
a4e3ac8 2020-11-04 | Chassisd config table to store admin state (#388) [mprabhu-nokia]
```
2020-11-19 10:57:07 -08:00
pavel-shirshov
a92732fe5d
[bgpcfgd]: Fixes for BBR (#5956)
* Add explicit default state into the constants.yml
* Enable/disable only peer-groups, available in the config
* Retrieve updates from frr before using configuration

Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
2020-11-19 00:07:58 -08:00
carl-nokia
0a9d7a2145
[devices]: Add support for the Nokia-7215 platform (#5827)
Platform: armhf-nokia_ixs7215_52x-r0
HwSKU: Nokia-7215
ASIC: marvell
Port Config: 48x1G + 4x10G

Co-authored-by: dflynn <dennis.flynn@nokia.com>
Co-authored-by: Carl Keene <keene@nokia.com>
2020-11-18 17:00:40 -08:00
Mahesh Maddikayala
3be3f4d104
[BCM SAI] update BCM SAI to 4.2.1.5 (#5866)
This release includes changes for supporting Debian Buster, fixes for internally found issues and more enhancement related to spec coverage and feature parity for Broadcom ASICs.

Additional fixes included:

CS00011465498 - Warm reboot
CS00011465061 - interfaces not coming up
CS00011396506 - nexthop resource leak
CS00011452080 - BCM SAI crash while getting lane count
2020-11-18 11:20:43 -08:00
Mykola F
bbbd94f4dd
[enable counters] provide initial rates parameters (#5048)
* [enable counters] provide initial rates parameters

Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>

* add descriptive comment

Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>

Co-authored-by: Volodymyr Samotiy <volodymyrs@nvidia.com>
2020-11-18 19:33:19 +02:00
Praveen Chaudhary
2fe79c2c61
[yang_models]: yang models for device_metadata, device_neighbor, flex… (#4442)
Changes:
1.) yang models for device_metadata, device_neighbor, flex_counters, crm, versions.
2.) Test cases for above yang models.
Signed-off-by: Praveen Chaudhary pchaudhary@linkedin.com:
2020-11-18 01:59:55 -08:00
Joe LeVeque
6c4092d0a2
[sonic-platform-common] Update submodule (#5953)
Commits include:

* src/sonic-platform-common e4883e5...5db8c84 (1):
  > [sonic-platform-common] Fix name error and import error  (#143)
2020-11-18 01:37:05 -08:00
Ying Xie
1ba583cb46
[TD3] add dummy MMU configuration for Arista-7050CX3-32S-D48C8 (#5950)
Need A mmu configuration to get the device going without generating lots of warnings.

Similar to dummy MMU configuration for Arista-7050CX3-32S-C32, this configuration will need to be updated with correct numbers. This MMU configuration is copied from 7060 comparable hwsku.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2020-11-17 19:01:39 -08:00
Junchao-Mellanox
b595a6eadf
[Mellanox] Implement new platform API for SONiC physical entity mib extension (#5645)
In order to support SONiC physical entity mib extension, a few new platform API are added to sonic-platform-common, this PR is to provide an mellanox platform implementation for those new APIs.
2020-11-16 18:56:03 -08:00
Joe LeVeque
ced11615a4
[sonic-py-common] Add 'universal_newlines=True' arg to all Popen calls (#5919)
The behavior of `subprocess.Popen()` changed in Python 3 such that stdin, stdout and stderr are treated as bytes by default. Adding the `universal_newlines=True` argument changes this behavior to return strings, matching the behavior of Python 2. The change is backward-compatible with Python 2, as well.
2020-11-16 17:07:37 -08:00
Lawrence Lee
261a81d379
[minigraph.py]: Parse mux cable table (#5876)
Parse device IPv6 loopback addresses when available
Add MUX_CABLE table to config DB:

'MUX_CABLE': {
	'Ethernet4': {
    	'state': 'auto',
        'server_ipv4': '10.10.10.1/32',
        'server_ipv6': 'fe80::0001/128'
	}
}
2020-11-16 13:14:34 -08:00
Joe LeVeque
67dbbb33bf
[build] SONiC platform daemons depend on swsscommon library (#5922)
Add dependencies in appropriate makefiles to ensure proper build/installation of SONiC platform daemons (ledd, psud, syseepromd, thermalctld, xcvrd).
2020-11-16 08:50:41 -08:00
guxianghong
eeffbb24d9
[CENTEC ARM64]LIBSAIREDIS isn't depend on CENTEC_SAI, Remove this dependency (#5834)
* LIBSAIREDIS isn't depend on CENTEC_SAI remove this dependence

* Build depends are optimized in PR #4880 and #5039. Merge these optimization to Centec ARM64 platform.
2020-11-16 04:15:25 -08:00
Kebo Liu
16774580f8
[Mellanox] update hw-mgmt package to V.7.0010.1300 (#5902)
pick up new functions and bug fixes:

- New Features
    -   Add dynamic minimum tables for MSN3700X, MSN3800, MSN3420, MSN4600, MSN4700 systems
    -   Split hw-management to one-shot init hw-management service and thermal control services.
    
- Bug fixes
    HW Mgmt core:
    -   Move PSU EEPROM configuration from kernel to user space for Spectrum 2 / Spectrum 3 system
2020-11-16 01:57:19 -08:00