Added Reboot Reason for S6000 in platform 2.0
Fixed issue in process-reboot-cause
Added package uninstall code in platform de-init code for z9100, s6100
- How I did it
-> Added support for S6000 Reboot Reason
-> Added platform.py for all platforms
-> Verified show reboot-cause command with the code changes. Added UT logs with show reboot-cause
-> Modified process-reboot-cause service to start after pmon.service. In S6000, we have to wait for nvram to be loaded.
-> If reboot-cause service starts before pmon.service, show reboot-cause is showing incorrect reason.
-> Bug fix in process-reboot-cause file
- import sonic_platform
+ import sonic_platform.platform
* [as5712-54x]
Verified with index from 1.
Add qsfp_event() for command "show interaface trancerver".
Signed-off-by: roy_lee <roy_lee@accton.com>
* [as6712-32x]
Add default port speed.
Verified with index from 1.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [as7726-32x]
Add default port speed.
Verified with index from 1.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [as7712-32x]
Add default port speed.
Verified with index from 1.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [as5812-54x]
Add default port speed.
Verified with index from 1.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [as5712-54x]
Update port-config with 1-based index.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [as5812-54x]
Somehow the service may block, use type=simple to work-around.
Add syslog function for monitor.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [as7716-32x]
Update port-config with 1-based index.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [as7816-64x]
Update port-config with 1-based index.
Implement sfputil change_event.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [as7326-56x]
Update port-config with 1-based index.
Implement sfputil change_event.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Remove debug code.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [as7312-54x]
Update port-config with 1-based index and default port speed.
Signed-off-by: roy_lee <roy_lee@accton.com>
* [warm reboot] save configuration after warm reboot
After warm reboot, save a copy of in memory database to config_db.json,
upgrade procedure might have removed config_db.json to force new image
to reload minigraph. However, reload minigraph is skipped during warm
reboot. Missing config_db.json would cause device to fault in next
non-upgrading cold/fast reboot.
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
* Update finalize-warmboot.sh
The following commit addresses the graceful unmounting of file
system and graceful shutdown of dockers before calling a
cold reboot which will cause a power cycle of SSD. This ensures
orderly shutdown and no corruption of files systems because
of the power cycle to SSD.
This commit will use the existing systemd-reboot service scripts
and override the configuration to do cold reboot for S6100 and
Z9100.
Unit tested the fix and graceful shutdown of file system and
dockers are done with cold reboot.
Signed-off-by: Harish Venkatraman <harish_venkatraman@dell.com>
* support new platform api, thermal and psu part
for psu, all APIs are supported.
for thermal, we support
get_temperature,
get_high_threshold
for the thermal sensors of cpu core, cpu pack, psu and sfp module
and get_temperature for the ambient thermal sensors around the asic, port, fan, comex and board.
* 1. address review comments
2. improve the handling of PSU inserting/removal
3. tolerance diverse psu thermal sensor file name conventions
* 1. adjust thermal code according to the latest version of hw-management
2. check power_good_status rather than whether file existing ahead of reading voltage, current and power of PSU
* Upgrade ifupdown2 to version 1.2.8
Required by ZTP to support ZTP over IPv6 transport
Signed-off-by: Rajendra Dendukuri <rajendra.dendukuri@broadcom.com>
swss:
[vxlanorch]: Allow ipv6 src ip for Vxlan tunnel creation (#896)
[aclorch]: Allow DTEL drop actions in DTEL flow watchlist (#915)
Fix typo in orchagent_restart_check from fasle to false. (#923)
[sonic-swss]: Fix for FPM accept call failure in ARM arch (#925)
Add retryCount option for orchagent_restart_check program. (#833)
[vlan] Add pytest cases to validate nonexistent vlan behavior. (#874)
[intfsorch] Wait for interface prior to prefix (#796)
Set timer only when interval changes. Not in each firing of the timer. (#945)
[test]: Fix set interface in configuration database (#956)
[copporch]: Fix polymorphic type error (#946)
[AclOrch]: Fix the acl mirror counter doubled by inactive mirror and active again (#952)
[MirrorOrch]: Init the next hop ip with 0 instead of default constructor (#953)
[portsorch]: Add reference count of port (#962)
[mock_test]: Move mock tests into a separate folder to separate them from vs tests (#950)
remove crm acl_counters when acl_table removed (#918)
[aclorch]: Fix matching MIRROR_DSCP throws unnecessary errors (#966)
[policerorch]: Fix return code comparison error (#968)
[gitignore]: Add swss-dbg related files (#967)
[vxlanmgrd]: Fix for vxlanmgrd cannot correctly work after config reload (#934)
[vxlanorch]: Add extra info into NOTICE logs (#891)
[test]: Add a neighbor entry with BCAST MAC and verify its ignored (#955)
[copporch]: Fix copporch in DEL command (#972)
[orchagent]: Fix crash during orchagent process exit (#974)
[vnetorch]: Fix VNET orchagents order for warm-reboot flow (#958)
[test]: Skip unstable test test_vnet_orch_1 (#976)
[intfsorch]: Fix rif flex counter removal error (#975)
Update tests README.md file
[aclorch]: Change CFG_ACL_TABLE_NAME to CFG_ACL_TABLE_TABLE_NAME (#978)
[test]: Skip test_watermark.py::TestWatermark::test_lua_plugins (#981)
[teamsyncd]: Add information for LAG membership changes (#982)
common:
Add an assert to logger, which will log a message and abort. (#286)
[test]: Add IpAddress::isZero() unit test (#289)
do not abort when read timerfd return 0 and errno = 0 (#291)
Add BGP_STATE_TABLE in stateDB (#273)
[IpAddress]: add mcast scope on address and isFullMask method on prefix (#285)
Add ignore Wshadow pragma to json.hpp (#292)
[executor]: Fix Executor does not get correct priority saved in m_selectable (#290)
[schema]: Remove duplicate STATE_MIRROR_SESSION_TABLE_NAME (#294)
timerfd:read failure - Record in logs as error. (#295)
[schema]: Change CFG_ACL_TABLE_NAME to CFG_ACL_TABLE_TABLE_NAME (#296)
[schema]: Add PASS_THROUGH_ROUTE_TABLE to config and application db (#297)
sairedis:
ARM32 bit fixes, for 64bit printf format specifier (#468)
Reduce the timeout (GET_RESPONSE_TIMEOUT) from 6 minutes to 1 minute. (#472)
Fixed config_syncd_barefoot function (#474)
[syncd_init_common.sh] fix fast reboot backwards compatibility (#480)
Add default bridge id for bridge port id of type PORT in virtual switch (#473)
Fix a bug in parsing kernel argument of fast-reboot (#482)
Add TimerWatchdog for monitoring long execution apis (#469)
Add specific comparison logic for tunnel map (#475)
[vslib] add ACL action capabilities support (#481)
Per buffer pool watermark polling mode (#485)
Add specific comparison logic for ACL counter (#484)
Process flex counters requests in separate thread (#483)
Make sairedis/syncd synchronous (#476)
Fixed conditional operator. (#487)
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
* [devices]: Add a new supported device DellEMC s5232f
* Switch Vendor: DellEMC
* Switch SKU: s5232F
* ASIC Vendor: Broadcom
* Swich ASIC: Trident3
* Port Configuration: 32x100G
* SONiC Image: sonic-broadcom.bin
* LED support for s5232f
* Changes Include ipmitool implementation for platform_sensors script is inclued in pmon startup
* Added 100G,25G,10G configruation ( 100G is default).
* s5232[device] PSU detecttion and default led state support
* Add driver and util for peripherals of as7312-54xs, most are copied from as7312-54s.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Add default port speed and index from 1.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Update i2c addr of psus.
Add system logging for monitor.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Correct syntax of module_dirs.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Validate sfputil after tested.
Signed-off-by: roy_lee <roy_lee@accton.com>
* Correct the index of eeprom mapping.
Signed-off-by: roy_lee <roy_lee@accton.com>
Without quote, the command will ignore the version and
regard the ">" as a file redirection symbol and redirect
all the output to a file named the version range.
Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
* Subscribe to both ConfigDB and AppDB
to get notifications to apply LLDP port config
* the operstate file is not consistent
Removing this since it is not serving any purpose
* Remove check for PortInitDone and PortConfigDone
This is not prteset in Config DB
* Remove checking State DB for port creation
* Check for key to be present before fetching it
* Addressing review comments
Integrating official Mellanox SDK/FW release as a pre condition for getting new Mellanox SAI release with hash changes (inner field) and 3k VXLAN scale. As well as bug fix for Spectrum LP mode and Spectrum 2 PFC WD
Signed-off-by: Mykola Faryma <mykolaf@mellanox.com>
In case of going from previous iteration of SONiC, and the last reboot
was hardware, REBOOT_CAUSE_FILE may not be present and the service may
throw an error.
- Make sure that migrated DB contents persisted for next boot
- Make sure that db saved after warm reboot.
Signed-off-by: Ying Xie <ying.xie@microsoft.com>
Define slave_base_tag_ref variable in Makefile.work containing
specific base image tag to use, rather than always defaulting
to :latest.
Add an ARG command before FROM statement in Dockerfile.user
for sonic-slave and sonic-slave-stretch. ARG variable defaults
to latest if slave_base_tag_ref not specified in Makefile.work.
The presumption to always refer to the :latest tagged Docker base
image when creating the user image causes problems in a shared
build server environment, where the most recently created base
image (i.e. the current :latest tag) may not be compatible with
the current build. For example, different users working in
different branches may all be sharing the same build server.
Signed-off-by: Greg Paussa greg.paussa@broadcom.com
- What I did
Added a DOCKER_AVOID_BASE_TAG_LATEST build option to rules/config that forces the Docker user image creation to refer to its base image by a specific tag rather than rely on the :latest tag. This is needed in a shared build server environment where builds from different developers and/or different SONiC branches all converge on the same Docker daemon instance running on the build server. The :latest tag is always assigned to the most recent base image built, which might not correspond to the base image needed for a particular build, thus causing various build errors that mostly manifest as missing Debian packages or package version mismatches.
NOTE TO REVIEWERS: This PR relies on Docker support of "ARG before FROM," which was first introduced in Docker version 17.05.1-ce. Although there is no mention of a minimum required Docker version for the build server in the SONiC Building Guide pages, please consider whether it is reasonable to assume that Docker 17.05.1-ce or later must be used for SONiC build hosts before approving this PR.
- How I did it
Added an ARG before the FROM statement at the top of the sonic-slave/Dockerfile.user and sonic-slave-stretch/Dockerfile.user files. The ARG variable defaults to latest, but can be overridden in Makefile.work to reference the SLAVE_BASE_TAG so that it refers to the specific, matching base image for the build. This override is activated by un-commenting the DOCKER_AVOID_BASE_TAG_LATEST = y line in rules/config.
* fix the memory leak in on_pmpe. objects created via sx_api having convention new_<type_name> should be release explicitly via delete_<type_name>.
* avoid duplicate code.
- What I did
Configure sshd to close all SSH connetions after 15 minutes of inactivity.
- How I did it
Set ClientAliveInterval to 900 (900 seconds = 15 minutes) and ClientAliveCountMax to 0
in /etc/ssh/sshd_config using augtool in build_debian.sh. In the process, I refactored the existing augtool command for sshd_config so as to add comments and empty lines to file for readability.
- How to verify it
Log into device via management port. Wait 15 minutes without sending a keystroke -- you should be automatically logged out.