Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[SmartSwitch] Add a new API for the DPU chassis to query dataplane and midplane states #507

This pull request is big! We’re only showing the most recent 250 commits.

Commits on Oct 28, 2020

  1. [xcvrd] Remove dependence on enum; Add 'sonic-py-common' as dependenc…

    …ies in setup.py (sonic-net#106)
    
    Remove dependence on the 'enum' package, as we are currently transitioning from Python 2 to Python 3 and there are installation conflict issues between the `enum` package and the `enum34` package.
    
    Add 'sonic-py-common' as dependencies in setup.py for xcvrd, also add spaces around "equals" signs.
    jleveque authored Oct 28, 2020
    Configuration menu
    Copy the full SHA
    95b1696 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2020

  1. [xcvrd] Remove log errors in single ASIC platforms with init Global c…

    …onfig (sonic-net#108)
    
    Add check to make sure that the initializeGlobalConfig is invoked only in multi-asic platforms.
    
    Additionaly remove the initializeGlobalConfig() call in the DomUpdate thread and SFPUpdate process. This is because initializeGlobalConfig() is already invoked and initialized in the parent Xcvrd daemon which is available to the child thread/process.
    judyjoseph authored Nov 2, 2020
    Configuration menu
    Copy the full SHA
    af79326 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2020

  1. [xcvrd] Add enum dependence back; Install 'enum34' conditionally base…

    …d on Python version (sonic-net#107)
    
    Add dependence on 'enum' package back to xcvrd (basically reverting most of sonic-net/sonic-platform-daemons#106). However, in setup.py, we only install the enum34 package if the version of Python we are installing for is < 3.4. Thus, when installing the Python 3 xcvrd package in Python 2.7, the Python 2 version of enum34 will be installed. However, if installing the Python 3 xcvrd package on Python 3.7, enum34 will not be installed, causing xcrvd to import the 'enum' module from the standard library. This should prevent any conflicts which arise when 'enum34' is ever installed on Python versions >= 3.4 by preventing this situation.
    jleveque authored Nov 3, 2020
    Configuration menu
    Copy the full SHA
    600d043 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2020

  1. [xcvrd] support for integrating Credo Y cable Ports initialization an…

    …d status updates with xcvrd. (sonic-net#105)
    
    * [xcvrd] support for integrating y cable within xcvrd
    
    This PR provides the necessary infrastructure to initialize the Y cable Ports inside SONIC with xcvrd as the platform daemon.
    Particularly there are two parts of integration:
    
    While xcvrd initializes , there is within config_db for Y cable presence. This is done by checking the key-value pairs for
    presence of mux_cable identifier as a key. Once a Y cable is found to be attached to a port, State DB is updated with
    the corresponding data for the Y cable Port.
    
    Once the init process is done, and a Y cable presence is established, A thread is run to periodically monitor changes
    to APPL DB MUX_CABLE_COMMAND table for updates, and also one that periodically checks for a change events,  If an update is found, the corresponding changes are done on MUX using
    sonic_y_cable package and corresponding changes are updated in STATE_DB
    
    What is the motivation for this PR?
    To add the necessary infrastructure for Credo Y cable integration within SONIC
    
    How did you do it?
    Added the necessary changes and a new xcvrd_utilities sub directory for utilities of y_cable code.
    Reorganized the setup.py and sonix-xcvrd code to this form
    
    sonic-xcvrd/setup.py
    sonic-xcvrd/src/init.py
    sonic-xcvrd/scripts/xcvrd → sonic-xcvrd/src/xcvrd.py
    sonic-xcvrd/src/xcvrd_utilities/init.py
    sonic-xcvrd/src/xcvrd_utilities/y_cable_helper.py
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    850d0c6 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2020

  1. Introduce chassisd to monitor status of cards on chassis (sonic-net#97)

    Introducing chassisd to monitor status of cards on a modular chassis
    
    HLD: sonic-net/SONiC#646
    
    **-What I did**
    Introducing a new process to monitor status of control, line and fabric cards.
    
    **-How I did it**
    Support of monitoring of line-cards and fabric-cards. This runs in the main thread periodically.
    It updates the STATE_DB with the status information. 'show platform chassis-modules' will read from the STATE_DB
    
    Support of handling configuration of moving the cards to administratively up/down state. The handling happens as part
    of a separate thread that waits on select() for config event from a CHASSIS_MODULE table in CONFIG_DB.
    mprabhu-nokia authored Nov 10, 2020
    Configuration menu
    Copy the full SHA
    a14c2bb View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2020

  1. PSUd changes to compute power-budget for Modular chassis (sonic-net#104)

    PSUd changes to computer power-budget for Modular chassis
    
    HLD: sonic-net/SONiC#646
    
    PSUd will introduce power requirements calculations. Platform APIs are introduced to provide consumers and total consumed power. Number of PSUs will help provide total supplied power
    
    **Output of STATE-DB:**
    ```
      "CHASSIS_INFO|chassis_power_budget 1": {
        "expireat": 1603182970.639244,
        "ttl": -0.001,
        "type": "hash",
        "value": {
          "SUPERVISOR consumed_power": "80.0",
          "FABRIC-CARD consumed_power": "185.0",
          "FAN consumed_power": "999",
          "LINE-CARD consumed_power": "1000.0",
          "PSU supplied_power": "9000.0"
        }
      },
    ```
    mprabhu-nokia authored Nov 11, 2020
    Configuration menu
    Copy the full SHA
    05c79de View commit details
    Browse the repository at this point in the history
  2. [Thermalctld] Update thermal info to CHASSIS_STATE_DB (sonic-net#101)

    Enhance thermalctld to write to chassis state-DB on a modular chassis
    
    HLD: sonic-net/SONiC#646
    
    In a modular chassis, the thermal information from all line-cards
    will be updated to the chassis state-DB in the control-card.
    
    Additionally, minimum and maximum temperatures will be recorded.
    The fan control algorithm used by certain vendors will require
    this information.
    mprabhu-nokia authored Nov 11, 2020
    Configuration menu
    Copy the full SHA
    8c2a5cc View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2020

  1. [xcvrd] Fix the console-script xcvrd startup (sonic-net#111)

    Added changes in the sonic_xcvrd directory of sonic-platform-daemons, changed src dir to xcvrd dir for package generation and changed the setup.py to include the package xcvrd
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Nov 12, 2020
    Configuration menu
    Copy the full SHA
    d5c586e View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2020

  1. [chassisd][thermalctld] Import mock libraries based on environment va…

    …riable (sonic-net#112)
    
    Previously, chassisd and thermalctld assumed that the swsscommon library would not be installed in the unit testing environment. This is not a valid assumption, and would cause unit tests to fail if swsscommon was available in the unit test environement, because it would get imported, but there would be no Redis DB to communicate with.
    
    This PR uses environment variables, which are set by the unit tests themselves, to determine whether to load the real or mock libraries. This solution is similar to what is done in sonic-utilities.
    jleveque authored Nov 14, 2020
    Configuration menu
    Copy the full SHA
    9cab7ef View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2020

  1. Configuration menu
    Copy the full SHA
    2dd3b95 View commit details
    Browse the repository at this point in the history
  2. [chassisd][thermalctld] Set testing env var at top of file, not in se…

    …tup_function() (sonic-net#114)
    
    Since these tests are run via unittest infrastructure, and not via Pytest, `setup_function()` is not the proper location to set these variables.
    jleveque authored Nov 15, 2020
    Configuration menu
    Copy the full SHA
    9df5da7 View commit details
    Browse the repository at this point in the history
  3. [psud] Import of mock libraries determined by environment variable (s…

    …onic-net#117)
    
    Previously, psud assumed that the swsscommon library would not be installed in the unit testing environment. This is not a valid assumption, and would cause unit tests to fail if swsscommon was available in the unit test environment, because it would get imported, but there would be no Redis DB to communicate with.
    
    This PR uses environment variables, which are set by the unit tests themselves, to determine whether to load the real or mock libraries. This solution is similar to what is done in sonic-utilities.
    jleveque authored Nov 15, 2020
    Configuration menu
    Copy the full SHA
    be21d91 View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2020

  1. [thermalctld] [psud] [chassisd] Fix crash with undefined environment …

    …variable (sonic-net#120)
    
    When  `PSUD_UNIT_TESTING` and  `THERMALCTLD_UNIT_TESTING` variables don`t set we have the next problems:
    ```
     psud Traceback (most recent call last):
     psud File "/usr/local/bin/psud", line 21, in <module>
     psud if os.environ["PSUD_UNIT_TESTING"] == "1":
     psud File "/usr/lib/python2.7/UserDict.py", line 40, in __getitem__
     psud raise KeyError(key)
     psud KeyError: 'PSUD_UNIT_TESTING'
    ```
    
    ```
     thermalctld Traceback (most recent call last):
     thermalctld File "/usr/local/bin/thermalctld", line 19, in <module>
     thermalctld if os.environ["THERMALCTLD_UNIT_TESTING"] == "1":
     thermalctld File "/usr/lib/python2.7/UserDict.py", line 40, in __getitem__
     thermalctld raise KeyError(key)
     thermalctld KeyError: 'THERMALCTLD_UNIT_TESTING'
    ```
    
    Also fixed the same issue in `chassisd`.
    
    Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
    bratashX authored and jleveque committed Nov 19, 2020
    Configuration menu
    Copy the full SHA
    b90ddda View commit details
    Browse the repository at this point in the history
  2. [sonic-platform-daemons] Add more physical entity information to DB f…

    …or physical entity mib (sonic-net#102)
    
    * Update pmon daemons for SONiC Physical Entity MIB feature
    Junchao-Mellanox authored and jleveque committed Nov 19, 2020
    Configuration menu
    Copy the full SHA
    14e586d View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2020

  1. Fix test_updater_thermal_check_min_max() (sonic-net#121)

    Fixes the following crash introduced by sonic-net/sonic-platform-daemons#102:
    
    ```
    01:33:00  ______________________ test_updater_thermal_check_min_max ______________________
    01:33:00  
    01:33:00      def test_updater_thermal_check_min_max():
    01:33:00          chassis = MockChassis()
    01:33:00      
    01:33:00          thermal = MockThermal()
    01:33:00          chassis.get_all_thermals().append(thermal)
    01:33:00      
    01:33:00          chassis.set_modular_chassis(True)
    01:33:00          chassis.set_my_slot(1)
    01:33:00          temperature_updater = TemperatureUpdater(SYSLOG_IDENTIFIER, chassis)
    01:33:00      
    01:33:00          temperature_updater.update()
    01:33:00          slot_dict = temperature_updater.chassis_table.get('Thermal 1')
    01:33:00  >       assert slot_dict['minimum_temperature'] == str(thermal.get_minimum_recorded())
    01:33:00  E       TypeError: 'NoneType' object has no attribute '__getitem__'
    01:33:00  
    01:33:00  tests/test_thermalctld.py:341: TypeError
    ```
    
    Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
    
    Signed-off-by: Petro Bratash <petrox.bratash@intel.com>
    bratashX authored Nov 20, 2020
    Configuration menu
    Copy the full SHA
    f6e5e59 View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2020

  1. [psud] Make sure psu leds are set on the first run (sonic-net#125)

    Without this change, leds were only set when an event happened.
    Given that power supplies are assumed present by default, leds would never be set to `green`.
    Instead they would have been left in the state the platform initialization left them (e.g `off`)
    Staphylo authored Nov 25, 2020
    Configuration menu
    Copy the full SHA
    12b3628 View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2020

  1. Clean some unused variables, check for multiAsic before calling initi…

    …alizeGlobalConfig (sonic-net#130)
    
    The check for multiAsic before calling initializeGlobalConfig was done in xcvrd earlier. 
    Adding now to the other processes in sonic-platform-daemons as well.
    judyjoseph authored Dec 3, 2020
    Configuration menu
    Copy the full SHA
    5d74356 View commit details
    Browse the repository at this point in the history
  2. [xcvrd] Fix y_cable state updates from 'failure' to 'unknown' on erro…

    …r conditions/events (sonic-net#129)
    
    * [xcvrd] Fix y_cable state update to unknown on erroraneous events
    
    This PR provides the support for replacing the state DB updates from 'failure' to 'unknown' in case there is an error event in the functioning of Y cable
    What is the motivation for this PR?
    the schema agreed upon with linkmgr and orchagent interaction with xcvrd, is that if there is an error event xcvrd need to fill the state DB with 'unknown' as the state value rather than 'failure', this PR handles that
    
    How did you do it?
    identified error scenario's in the code and made the changes
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Dec 3, 2020
    Configuration menu
    Copy the full SHA
    ab39059 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2020

  1. [xcvrd] replace check_active_linked_tor_side api to check_mux_directi…

    …on (sonic-net#131)
    
    Summary:
    This PR provides replaces the logic to check mux_direction on the y_cable by checking the mux_direction register instead of actively linked and routing TOR register
    Approach
    added the changes in y_cable_helper.py by replacing the API
    
    What is the motivation for this PR?
    check_mux_direction is required as per design to replace the active_linked_tor_side
    active_linked_tor_side -> check_mux_direction
    check_mux_direction will be utlized as for establishing mux direction explicitly
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Dec 4, 2020
    Configuration menu
    Copy the full SHA
    73e6ddd View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2020

  1. Import mock psu object for testing LED (sonic-net#119)

    Updating for completeness on how mock objects need to be imported
    
    ```
    mprabhu@565bc0455e84:/sonic/src/sonic-platform-daemons/sonic-psud$ python2 setup.py test
    running pytest
    running egg_info
    writing sonic_psud.egg-info/PKG-INFO
    writing top-level names to sonic_psud.egg-info/top_level.txt
    writing dependency_links to sonic_psud.egg-info/dependency_links.txt
    reading manifest file 'sonic_psud.egg-info/SOURCES.txt'
    writing manifest file 'sonic_psud.egg-info/SOURCES.txt'
    running build_ext
    ==================================================================================== test session starts =====================================================================================
    platform linux2 -- Python 2.7.16, pytest-3.10.1, py-1.7.0, pluggy-0.8.0
    rootdir: /sonic/src/sonic-platform-daemons/sonic-psud, inifile: pytest.ini
    plugins: cov-2.6.0
    collected 3 items
    
    tests/test_psud.py ...                                                                                                                                                                 [100%]
    
    ---------- coverage: platform linux2, python 2.7.16-final-0 ----------
    Name           Stmts   Miss  Cover
    ----------------------------------
    scripts/psud     355    216    39%
    Coverage HTML written to dir htmlcov
    Coverage XML written to file coverage.xml
    
    
    ================================================================================== 3 passed in 0.16 seconds ==================================================================================
    ```
    mprabhu-nokia authored Dec 8, 2020
    Configuration menu
    Copy the full SHA
    4d619b9 View commit details
    Browse the repository at this point in the history
  2. Support python3 for xcvrd, psud, thermalctld and syseepromd (sonic-ne…

    …t#132)
    
    python2 is end of life and SONiC is going to support python3. This PR is to change code in xcvrd, psud, thermalctld and syseeprom to make it compatible with both python3 and python2.
    Junchao-Mellanox authored Dec 8, 2020
    Configuration menu
    Copy the full SHA
    5e1c67e View commit details
    Browse the repository at this point in the history
  3. Align style with PEP8 standards (sonic-net#128)

    Align style with slightly modified PEP8 standards (extend maximum line length to 120 chars). This will also help in the transition to Python 3, where it is more strict about whitespace.
    
    Done using `autopep8 --in-place --max-line-length 120` and some manual tweaks.
    jleveque authored Dec 8, 2020
    Configuration menu
    Copy the full SHA
    4da0bfc View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2020

  1. [xcvrd] removing the delete notification message logic for command pr…

    …obe in mux cable driver (sonic-net#134)
    
    Summary:
    This PR provides removes the delete logic on command probe message received from linkmgr after processing the message
    
    What is the motivation for this PR?
    the delete message tends to create an error scenario if many probe messages come and redis-api fails to retrieve the message contents
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Dec 12, 2020
    Configuration menu
    Copy the full SHA
    8555077 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2020

  1. [xcvrd] add unit test infrastructure and unit tests for xcvrd (sonic-…

    …net#133)
    
    Summary:
    This PR provides the necessary infrastructure to add pytest support and integration in sonic-xcvrd submodule.
    This PR also adds unit tests for xcvrd daemon.
    What is the motivation for this PR?
    To add the pytest unittest support in sonic-platform-daemon, sonix-xcvrd daemon as well as add some unit tests
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Dec 15, 2020
    Configuration menu
    Copy the full SHA
    b0be7ca View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2020

  1. [chassisd] Monitor midplane status (sonic-net#127)

    Enhance chassisd to monitor midplane status of the cards in modular chassis
    
    HLD: sonic-net/SONiC#646
    
    -What I did
    Add monitoring of the midplane or internal ethernet network between supervisor and line-card modules.
    
    -How I did it
    Along with status monitoring, also monitor the midplane reachability between supervisor and modules.
    It updates the STATE_DB with the status information. 'show chassis-modules midplane-status' will read from the STATE_DB
    mprabhu-nokia authored Dec 16, 2020
    Configuration menu
    Copy the full SHA
    b674dff View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2020

  1. [xcvrd] Fix unit test issue with Python 3 (sonic-net#135)

    Why I did this?
    
    xcvrd unit test failed when building it with python3: 
    
    ```
    17:23:50  _____________________ ERROR collecting tests/test_xcvrd.py _____________________
    17:23:50  tests/test_xcvrd.py:36: in <module>
    17:23:50      class TestXcvrdScript(object):
    17:23:50  tests/test_xcvrd.py:41: in TestXcvrdScript
    17:23:50      @patch('xcvrd.xcvrd.logical_port_name_to_physical_port_list', MagicMock(return_value=[0]))
    17:23:50  E   NameError: name 'patch' is not defined
    ```
    
    How I did this?
    import the package patch
    Junchao-Mellanox authored Dec 18, 2020
    Configuration menu
    Copy the full SHA
    e6c786b View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2020

  1. [psud] Fix issue where PSU Fan info is not updated in State DB (sonic…

    …-net#137)
    
    - Initialize self.presence and other variables in PsuStatus dunder init to False instead of True.
    - Import datetime module.
    - Discussions related to this issue can be seen in sonic-net/sonic-platform-daemons#136
    aravindmani-1 authored Dec 28, 2020
    Configuration menu
    Copy the full SHA
    81318f7 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2021

  1. [psud] Increase unit test coverage (sonic-net#140)

    - Add 100% unit test coverage of `PsuStatus` class in psud.
    - Add skeleton of class to test `DaemonPsud` class
    - Add test case for `get_psu_key()` and `try_get()` helper functions
    - Add checks to import 'mock' from the 'unittest' package if running with Python 3
    
    Overall psud unit test coverage increases from 39% to 51%.
    
    Previous unit test coverage:
    
    ```
    ----------- coverage: platform linux, python 3.7.3-final-0 -----------
    Name           Stmts   Miss  Cover
    ----------------------------------
    scripts/psud     381    233    39%
    Coverage HTML written to dir htmlcov
    Coverage XML written to file coverage.xml
    ```
    
    Unit test coverage with this patch:
    
    ```
    ----------- coverage: platform linux, python 3.7.3-final-0 -----------
    Name           Stmts   Miss  Cover
    ----------------------------------
    scripts/psud     381    185    51%
    Coverage HTML written to dir htmlcov
    Coverage XML written to file coverage.xml
    ```
    jleveque authored Jan 22, 2021
    Configuration menu
    Copy the full SHA
    ad0a5ad View commit details
    Browse the repository at this point in the history
  2. [thermalctld] Report unit test coverage (sonic-net#141)

    Report Pytest unit test coverage for thermalctld.
    
    Current coverage:
    
    ```
    ----------- coverage: platform linux, python 3.7.3-final-0 -----------
    Name                  Stmts   Miss  Cover
    -----------------------------------------
    scripts/thermalctld     424    113    73%
    Coverage HTML written to dir htmlcov
    Coverage XML written to file coverage.xml
    ```
    
    - Also add check to import 'mock' from the 'unittest' package if running with Python 3
    jleveque authored Jan 22, 2021
    Configuration menu
    Copy the full SHA
    d7b9284 View commit details
    Browse the repository at this point in the history
  3. [ledd] Minor refactor; add unit tests (sonic-net#143)

    - Refactor ledd:
        - Remove useless try/catch from around imports
        - Move argument parsing out of `DaemonLedd.run()` method and into `main()` function, a more appropriate location
        - Fix LGTM alert for unreachable code
    
    - Add unit tests and report coverage:
        - Test passing good and bad command-line arguments to ledd process
    
    Unit test coverage with this patch:
    ```
    ----------- coverage: platform linux, python 3.7.3-final-0 -----------
    Name           Stmts   Miss  Cover
    ----------------------------------
    scripts/ledd      66     34    48%
    Coverage HTML written to dir htmlcov
    Coverage XML written to file coverage.xml
    ```
    jleveque authored Jan 22, 2021
    Configuration menu
    Copy the full SHA
    e72f6cd View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2021

  1. [pcied] Add PCIe AER stats collection (sonic-net#100)

    In pcied, added support to collect AER stats belonging to different severities for AER supported PCIe devices and update it in STATE_DB.
    
    The key used to represent a PCIE device for storing its AER stats in STATE_DB is of the format PCIE_DEVICE|<Bus>:<Dev>.<Fn>.
    For every device, AER stats will be stored as key, value pairs where key is of the format <severity>|<AER Error type> and the device ID will be stored with key id.
    
    HLD: sonic-net/SONiC#678, sonic-net/SONiC#720
    Depends on: sonic-net#144
    ArunSaravananBalachandran authored Jan 26, 2021
    Configuration menu
    Copy the full SHA
    1fcaa57 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2021

  1. Set up CI with Azure Pipelines

    [skip ci]
    lguohan committed Feb 2, 2021
    Configuration menu
    Copy the full SHA
    26bdc9e View commit details
    Browse the repository at this point in the history
  2. [ledd] Refactor to allow for more thorough unit testing; Increase uni…

    …t test coverage (sonic-net#147)
    
    - Refactor ledd to allow for more thorough unit testing
        - Remove infinite loop from `run()` method to allow unit testing of the method. Instead, call the `run()` method in an infinite loop in `main()`
    - Increase overall ledd unit test coverage from 48% to 93%.
    
    Previous unit test coverage:
    
    ```
    ----------- coverage: platform linux, python 3.7.3-final-0 -----------
    Name           Stmts   Miss  Cover
    ----------------------------------
    scripts/ledd      66     34    48%
    Coverage HTML written to dir htmlcov
    Coverage XML written to file coverage.xml
    ```
    
    Unit test coverage with this patch:
    
    ```
    ----------- coverage: platform linux, python 3.7.3-final-0 -----------
    Name           Stmts   Miss  Cover
    ----------------------------------
    scripts/ledd      72      5    93%
    Coverage HTML written to dir htmlcov
    Coverage XML written to file coverage.xml
    ```
    jleveque authored Feb 2, 2021
    Configuration menu
    Copy the full SHA
    8bf0fd1 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2021

  1. [ci] Test and build packages using Azure Pipelines (sonic-net#149)

    Configure Azure Pipelines to run unit tests on all packages, build all Python wheels and publish the test results, test coverage and resulting wheels.
    
    Note: Azure Pipelines currently has a limitation such that it does not properly support publishing multiple test coverage reports in the same pipeline. If you publish multiple test coverage reports in the same pipeline (which I am doing here), the summary and report is shown for the last task only. Any previously uploaded data is ignored. Hopefully Azure Pipelines will add support for multiple test coverage reports in the near future. See [here](https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-code-coverage-results?view=azure-devops#is-code-coverage-data-merged-when-multiple-files-are-provided-as-input-to-the-task-or-multiple-tasks-are-used-in-the-pipeline) for more info.
    jleveque authored Feb 5, 2021
    Configuration menu
    Copy the full SHA
    de60784 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2021

  1. [ci] Call pip2/3 using sudo (sonic-net#150)

    Call pip2/3 using sudo to ensure packages are installed globally.
    jleveque authored Feb 8, 2021
    Configuration menu
    Copy the full SHA
    9080fda View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2021

  1. [pcied] Remove unnecessary message and move the configuration path (s…

    …onic-net#144)
    
    [pcied] Remove unnecessary message and move the configuration path from plugin directory to platform directory
    
    This PR fixes sonic-net/sonic-buildimage#5819 and fixes sonic-net/sonic-buildimage#6437.
    
    Remove unnecessary repeated message
    Move the configuration path from plugin directory to platform directory
    sujinmkang authored Feb 9, 2021
    Configuration menu
    Copy the full SHA
    bd7830b View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2021

  1. [GitHub] Add pull request template (sonic-net#151)

    Add GitHub pull request template
    jleveque authored Feb 11, 2021
    Configuration menu
    Copy the full SHA
    d651e9b View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2021

  1. [ci]: download from sonic-buildimage.vs artifact (sonic-net#152)

    sonic-net/sonic-buildimage#6768 change the kvm artifact name from kvm to vs
    
    Signed-off-by: Guohan Lu <lguohan@gmail.com>
    lguohan authored Feb 12, 2021
    Configuration menu
    Copy the full SHA
    93cac0a View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2021

  1. [xcvrd] Store mux_cable telemetry data in State DB (sonic-net#148)

    * [xcvrd] adding mux_cable data for sonic-telemetry inside state db
    
    Summary:
    This PR provides the necessary infrastructure to initialize the mux_cable info and static tables and post them within state db
    as part of xcvrd. The data is posted every 60 secs and streaming telemetry can utilize this info. 
    Approach
    
    Added changes in the sonic_xcvrd directory of sonic-platform-daemons
    What is the motivation for this PR?
    
    To add the necessary infrastructure for Credo Y cable support for posting streaming telemetry data inside state-db
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Feb 18, 2021
    Configuration menu
    Copy the full SHA
    068bccc View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2021

  1. [psud] Refactor unit tests; increase unit test coverage (sonic-net#146)

    - Encapsulate all PsuChassisInfo test cases in a TestPsuChassisInfo class
    - Move TestPsuChassisInfo to its own file, test_PsuChassisInfo.py
    - Increase coverage of PsuChassisInfo class
    - Increase coverage of TestDaemonPsud class
    - In all test scripts, use `import psud` rather than `from psud import *` and reference everything using the `psud.` namespace. Also do the same with `mock`
    - Remove unnecessary try/except around import statements in psud
    - Add unit tests for signal_handler
    - Fix `TypeError: cannot concatenate 'str' and 'int' objects` in signal_handler
    
    Overall psud unit test coverage increases from 51% to 78%.
    jleveque authored Feb 19, 2021
    Configuration menu
    Copy the full SHA
    e179ffc View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2021

  1. [xcvrd] Make functions used for media setting python3 compatible (son…

    …ic-net#153)
    
    Make functions used for media setting python3 compatible
    ArunSaravananBalachandran authored Feb 20, 2021
    Configuration menu
    Copy the full SHA
    c3c1a59 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2021

  1. [xcvrd] Fix xcvrd crash on other port prefixes (sonic-net#123)

    Implement a better check for logical_port_name_to_physical_port_list function.
    
    Currently it will only accept names that start with "Ethernet". If we try to add other ports it will crash.
    
    In the future Arista will implement other port types. For example "Recirc0".
    
    Co-authored-by: Zhi Yuan Carl Zhao <zyzhao@arista.com>
    zzhiyuan and Zhi Yuan Carl Zhao authored Feb 23, 2021
    Configuration menu
    Copy the full SHA
    b9381a5 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2021

  1. [xcvrd] Save the dom_capability of transceiver into db (sonic-net#72)

    Add a field-value pair when it try to set the table inside "post_port_sfp_info_to_db" function
    kuanyu99 authored Feb 24, 2021
    Configuration menu
    Copy the full SHA
    47bcf90 View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2021

  1. [xcvrd] Fix crash on platforms which support media settings with Pyth…

    …on 3 (sonic-net#158)
    
    xcvrd would crash on platforms which support media settings with Python 3 because division would result in a float rather than an int. Fix using floor division.
    aravindmani-1 authored Mar 3, 2021
    Configuration menu
    Copy the full SHA
    32ec23c View commit details
    Browse the repository at this point in the history
  2. fix the muxcable state change notification received from other module…

    …s, omit the check inside hw_state table (sonic-net#159)
    
    This change essentially omits a look inside the state DB for HW_MUX_CABLE_TABLE and just directly goes to the muxcable
    eeprom to either toggle or remain Iin the same state as is requested from the incoming message from orchagent, and then write back to the DB
    
    Description
    This fix will help in debugging the initialization loop since now other modules will not be dependent on stale state present in
    HW_MUX_CABLE_TABLE.
    
    How Has This Been Tested?
    Tested on starlab testbed with integration of other modules
    
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Mar 3, 2021
    Configuration menu
    Copy the full SHA
    30d09be View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2021

  1. [xcvrd] Fix crash: If 'dom_capability' not in port_info_dict, insert …

    …'N/A' (sonic-net#162)
    
    Currently, some vendors are using custom transceiver info parsers which do not yet provide the `dom_capability` field in the results of `get_transceiver_info()`. However, PR sonic-net/sonic-platform-daemons#72 introduced storing this value to State DB under the assumption that it would always be present. On platforms where this value is not present, it would cause xcvrd to crash (see issue: sonic-net/sonic-buildimage#6978).
    
    This change will prevent a crash if it is not present, and will in turn save `'N/A'` as the `dom_capability` value in State DB.
    jleveque authored Mar 9, 2021
    Configuration menu
    Copy the full SHA
    e5165b7 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2021

  1. [syseepromd] Update warning message to be more informative (sonic-net…

    …#160)
    
    Update warning message to be more informative.
    
    Signed-off-by: liora <liora@nvidia.com>
    liorghub authored Mar 15, 2021
    Configuration menu
    Copy the full SHA
    70f4e7b View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2021

  1. [thermalctld] Refactor to allow for greater unit test coverage; Add m…

    …ore unit tests (sonic-net#157)
    
    - Refactor thermalctld to reduce the amount of code in infinite loops, thus allowing us better unit test coverage
    - Refactor mock_platform.py such that it inherits from sonic-platform-common in order to ensure it is aligned with the current API definitions (this introduces a test-time dependency on the sonic-platform-common package)
    - Increase pytest verbosity to prevent truncation of error messages
    
    - Miscellaneous cleanup:
        - Fixes to grammar
        - Remove unnecessary punctuation from log messages
    
    - Increase overall unit test unit test coverage from 73% to 93%
    jleveque authored Mar 18, 2021
    Configuration menu
    Copy the full SHA
    8509f43 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2021

  1. [thermalctld] Initialize fan led in thermalctld for the first run (so…

    …nic-net#167)
    
    Initialize fan led in thermalcltd for the first run. Add a flag "led_initialized" in FanStatus and set it as False on __init__ function. FanUpdater will use this flag to determine if fan led should be set even if no fan event detected.
    Junchao-Mellanox authored Mar 22, 2021
    Configuration menu
    Copy the full SHA
    cfa600f View commit details
    Browse the repository at this point in the history
  2. [xcvrd] change firmware information fields name inside MUX_CABLE_INFO…

    … table for Y cable (sonic-net#165)
    
    This PR fixes the naming convention for firmware related fields for Y cable.
    In particular all the fields are now named as tor_self and tor_peer in place of tor1 and tor 2
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    
    Description
    This PR fixes the naming convention for firmware related fields for Y cable.
    In particular all the fields are now named as tor_self and tor_peer in place of tor1 and tor 2
    
    Motivation and Context
    Required by telemetry team as part of their initial schema
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Mar 22, 2021
    Configuration menu
    Copy the full SHA
    260cf2d View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2021

  1. [psud] Increase unit test coverage; Refactor mock platform (sonic-net…

    …#154)
    
    - Refactor psud such that the `run()` method does not contain an infinite loop, thus allowing us to unit test it
    - Refactor mock_platform.py such that it inherits from sonic-platform-common in order to ensure it is aligned with the current API definitions (this introduces a test-time dependency on the sonic-platform-common package)
    - Eliminate the need to check for a `PSUD_UNIT_TESTING` environment variable in daemon code
    - Increase overall unit test unit test coverage from 78% to 97%
    jleveque authored Mar 29, 2021
    Configuration menu
    Copy the full SHA
    c5be3ca View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2021

  1. Bug fix: the fields that are not supported by vendor should be "N/A" …

    …in STATE_DB (sonic-net#168)
    
    - Initialize fields as "N/A" and set the field to "N/A" for those not supported by vendor API
    - Update set_voltage, set_temperature, treating "N/A" instead of None as invalid values
    - Update unit test cases accordingly
    
    Signed-off-by: Stephen Sun <stephens@nvidia.com>
    stephenxs authored Mar 30, 2021
    Configuration menu
    Copy the full SHA
    450b7d7 View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2021

  1. [xcvrd] Gracefully handle improper 'specification_compliance' field; …

    …also fix other potential bugs (sonic-net#169)
    
    #### Description
    
    Gracefully handle improper 'specification_compliance' field; also fix other potential bugs and adjust some style
    
    #### Motivation and Context
    The 'specification_compliance' field of transceiver info is expected to be a string representation of a dictionary. However, there is a chance, upon some kind of platform issue that a vendor's platform API returns something like 'N/A'. In this case, xcrvd would crash. Rather than crash, xcvrd should handle this gracefully and log a warning message instead.
    
    Also fixed a couple potential bugs where `default_dict` was being compared to `0`, when it should have been `len(default_dict)`
    
    Also rename some constants using uppercase naming convention.
    jleveque authored Apr 5, 2021
    Configuration menu
    Copy the full SHA
    7f01b2c View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2021

  1. [thermalctld] Fix 'NameError("name 'chassis' is not defined")' error …

    …in log (sonic-net#170)
    
    Changed the chassis definition to be a part of the class do the chassis will be found in run() function
    
    Without the change, an error appears in syslog:
    `ERR pmon#thermalctld: Caught exception while running thermal policy - NameError("name 'chassis' is not defined")`
    noaOrMlnx authored Apr 7, 2021
    Configuration menu
    Copy the full SHA
    0bd9f69 View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2021

  1. [syseepromd] Add unit tests; Refactor to allow for greater unit test …

    …coverage (sonic-net#156)
    
    - Refactor syseepromd to eliminate infinite loops to allow for increased unit test coverage
    - Refactor signal handler and ensure daemon always exits with non-zero exit code so that supervisor will restart it
    - Add unit tests
    
    Unit test coverage increases from 0% to 90%
    jleveque authored Apr 8, 2021
    Configuration menu
    Copy the full SHA
    5b6d9c0 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2021

  1. [thermalctld] No need exit thermalcltd when loading invalid policy fi…

    …le (sonic-net#172)
    
    Currently, when thermalctld loading an invalid policy file, it catches the exception and call sys.exit. However, there is a sub process created and sys.exit cause the daemon hang forever. Actually, it is not necessary to exit thermalctld here because:
    
    1. Other than running thermal policy, there is a sub process which monitoring thermal status. So even if there is an invalid policy file, thermal monitoring can still work.
    2. Even if we exit here, supervisord will restart thermalctld and it fall into the same exception again and again.
    Junchao-Mellanox authored Apr 9, 2021
    Configuration menu
    Copy the full SHA
    eff5c1c View commit details
    Browse the repository at this point in the history
  2. [voqinband]Support for inband port as regular port (sonic-net#145)

    Signed-off-by: vedganes <vedavinayagam.ganesan@nokia.com>
    
    Inband port is avaialable in PORT table. But regular port handlings are
    not applicable for Inband port. Changes in this PR are to avoid regular
    port handling on Inband port for ledd script.
    vganesan-nokia authored Apr 9, 2021
    Configuration menu
    Copy the full SHA
    be7f4e1 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2021

  1. [xcvrd] refactor Y-Cable firmware information to conform with all ven…

    …dors (sonic-net#171)
    
    This PR refactors the firmware information MUX_CABLE_INFO output to return the following fields for each target.
    
    {
    "version_active": "",
    "version_inactive": "",
    "version_next": "",
    }
    So by calling this for all the 3 MCU's TOR1, TOR2 and NIC we can get the below result.
    which would be stored in state db table MUX_CABLE_INFO
    
    {
    "version_nic_active": "0.6MS",
    "version_nic_inactive": "0.5MS",
    "version_nic_next": "0.6MS",
    "version_self_active": "0.5MS",
    "version_self_inactive": "0.6MS",
    "version_self_next": "0.6MS",
    "version_peer_active": "0.6MS",
    "version_peer_inactive": "0.6MS",
    "version_peer_next": "0.6MS",
    } 
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Apr 10, 2021
    Configuration menu
    Copy the full SHA
    c4d4790 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2021

  1. [muxcable] Fix Redis Selectable Processing (sonic-net#173)

    Selectable object can return multiple fields, however current code
    processes only the first field and wait till the next selectable
    is triggered. This PR consumes all fields that were returned by
    a selectable object. This results in reducing processing time from
    order of seconds to order of milliseconds.
    
    signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
    tahmed-dev authored Apr 16, 2021
    Configuration menu
    Copy the full SHA
    911601d View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2021

  1. [xcvrd] Enhance Media Settings (sonic-net#177)

    #### Description
    1. Currently in sonic, for 400G pre-emphasis settings is not programmed via common methodology. 
    We use Vendor Name + PN to program which would consume memory and never ending process as we need to add Vendor name + PN for every optic.
    2.  For 100G/40G optics, specification compliance is not displayed. Only for DAC, the specification compliance was displayed.
    
    #### Motivation and Context
    1. With this PR, we can program the pre-emphasis settings for both DAC,AOC and optics.
    QSFP_DD parser doesn't have specification compliance which was need to program pre-emphasis settings.
    The platform API code can be changed to return the type_of_media_interface for 400G media specification compliance, so that the type of media can be determined.
         https://github.com/Azure/sonic-platform-common/blob/a95834b65a9f3b17ab1ce4e1ba5d1a60102e4507/sonic_platform_base/sonic_sfp/sff8024.py#L104
    2. To address 100G/40G optic, introduced a new key "QSFP28 - *" / "QSFP+ - *" (type_abbrv_name followed by a hyphen) .
    The same key can be defined in vendor specific media_settings.json. 
    These changes doesn't modify the existing behavior but additionally addresses the above mentioned issues.
    Vendors can still add "Vendor_name + PN" in media_settings.json to program media settings if needed.
    aravindmani-1 authored Apr 28, 2021
    Configuration menu
    Copy the full SHA
    4be4306 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2021

  1. [xcvrd] Change the y_cable presence logic to use "mux_cable" table as…

    … identifier from Config DB (sonic-net#176)
    
    * [xcvrd] Change the y_cable presence logic to use "mux_cable" table as
    identfier from Config DB
    
    This PR changes the logic to use "mux_cable" table as identifier, and only those ports which have this table inside config DB and key pair of "state:auto/active" will be processed as having a Y-Cable port.
    The earlier logic was using the PORT table tag with a mux_cable:true key-value pair.
    
    Description
    change the logic to initiate Y-Cable logic
    
    Motivation and Context
    Required for changing the logic, so that this can be integrated with images which don't support "mux_cable" tag inside config DB
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored May 6, 2021
    Configuration menu
    Copy the full SHA
    cdabd09 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2021

  1. [xcvrd] Fix crash for QSFP DD media (sonic-net#181)

    Xcvrd crashes when pushing QSFP DD DOM info to state DB.
    
    #### Description
    **xcvrd crash log:**
         “May 6 05:12:37.446235 S1G2 ERR pmon#xcvrd[5292]: This functionality is currently not implemented for this platform”
    aravindmani-1 authored May 10, 2021
    Configuration menu
    Copy the full SHA
    665fcd9 View commit details
    Browse the repository at this point in the history
  2. [thermalctld] Enable stopping thermal manager (sonic-net#180)

    Make thermalctld exit as soon as possible. Depends on sonic-net#187
    
    During config reload flow, supervisord sends SIGTERM to thermalctld. However, if thermalctld cannot exit in 10 seconds, supervisord sends SITKILL to thermalctld. In this case, sub process of thermalctld might still stay in memory as a zombie process. This PR is aimed to fix this.
    Junchao-Mellanox authored May 10, 2021
    Configuration menu
    Copy the full SHA
    cc3803f View commit details
    Browse the repository at this point in the history

Commits on May 11, 2021

  1. [muxcable] Remove Xcvrd Sleep (sonic-net#174)

    When using redis select, xcvrd is sleeping for 100 msec which appears
    unnecessary after process all content of selectable objects.
    
    signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
    tahmed-dev authored May 11, 2021
    Configuration menu
    Copy the full SHA
    d0be634 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2021

  1. [psud] Add PSU Hardware Revision to Redis STATE_DB (sonic-net#179)

    Added "hardware revision" field to list of platform fields to sync to STATE_DB for the PSU. Also updated relevant unit tests. 
    
    Now that hardware revision exists as a platform 2.0 field for all devices, it is appropriate to synchronize this field to STATE_DB for PSUs as is done with all other fields. This will allow this field to be exposed to CLI tools through psushow in the future which reads state from STATE_DB.
    alexrallen authored May 12, 2021
    Configuration menu
    Copy the full SHA
    807b304 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2021

  1. [xcvrd] add support for logging mux_metrics events into state DB (son…

    …ic-net#185)
    
    * [xcvrd] add support for logging mux_metrics events into state DB
    
    Description
    This PR adds support for logging events for change requests received by xcvrd from swss into state DB.
    a typical log would look like this:
    1) "xcvrd_switch_standby_start"
    2) "2021-05-13 10:01:15.690835"
    3) "xcvrd_switch_standby_end"
    4) "2021-05-13 10:01:15.696051"
    
    where the key-value pairs signify the type of event requested out of
    active/standby/unknown and the timestamp associated with the event.
    
    Motivation and Context
    This is required for xcvrd to log the events which it receives in form of requests from swss or any other module into the DB. The timestamp will be useful for debugging the timeline of an event processing from a perspective of other modules as well as xcvrd itself.
    
    How Has This Been Tested?
    ran the changes on starlab testbed, by changing the file in the container.
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored May 17, 2021
    Configuration menu
    Copy the full SHA
    e60804c View commit details
    Browse the repository at this point in the history

Commits on May 18, 2021

  1. [chassisd] Add script to initialize chassis info in STATE_DB (sonic-n…

    …et#183)
    
    #### Description
    I added a new script `chassis_db_init` that uploads chassis hardware information such as serial number, model number and hardware revision to the STATE_DB under the CHASSIS_INFO table. 
    
    #### Motivation and Context
    I made this change in order to expose the chassis hardware information to SONiC user space and allow CLI utilities to access it in order to expose it to the user.
    alexrallen authored May 18, 2021
    Configuration menu
    Copy the full SHA
    1adf47b View commit details
    Browse the repository at this point in the history

Commits on May 21, 2021

  1. Mock path early so it will applied to sonic_py_common, mock more swss…

    …common classes (sonic-net#187)
    
    #### Description
    Existing test will mix true swsscommon package with the mocked one in sonic_py_common
    
    #### Motivation and Context
    This is blocking sonic-net/sonic-buildimage#7655
    
    #### How Has This Been Tested?
    Unit test
    qiluo-msft authored May 21, 2021
    Configuration menu
    Copy the full SHA
    9ba52a2 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2021

  1. Mock path early so it will applied to sonic_py_common, mock platform_…

    …chassis (sonic-net#188)
    
    #### Description
    Following sonic-net/sonic-platform-daemons#187 to fix the same issue with other packages
    
    #### Motivation and Context
    This is blocking sonic-net/sonic-buildimage#7655
    
    #### How Has This Been Tested?
    Unit test
    qiluo-msft authored May 24, 2021
    Configuration menu
    Copy the full SHA
    9297a29 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2021

  1. Replace swsssdk.SonicV2Connector with swsscommon implementation (soni…

    …c-net#191)
    
    swsssdk will be deprecated, and the python version of redis accessing classes will be replace by the same name classes in swsscommon, which are SWIG wrapped C++ code.
    qiluo-msft authored Jun 2, 2021
    Configuration menu
    Copy the full SHA
    bf60a27 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2021

  1. [CI] sonic-config-engine now depends on SONiC YANG packages (sonic-ne…

    …t#194)
    
    The Python 3 version of sonic-config-engine now depends on sonic-yang-mgmt and sonic-yang-models, so we now need to install them as part of continuous integration to get the CI working again
    jleveque authored Jun 16, 2021
    Configuration menu
    Copy the full SHA
    a6903c0 View commit details
    Browse the repository at this point in the history
  2. [xcvrd] Force cleanup of chassis global variable on deinit (sonic-net…

    …#193)
    
    - Description
    I added a del directive for the global platform_chassis object in xcvrd on deinit to ensure that the pointer is properly cleaned up such that the __del__() method is successfully called on the chassis object which closes its connection to SAI.
    
    - Motivation and Context
    On Mellanox platforms on 202012 we are seeing that in some cases xcvrd is maintaining the socket to the API past its deconstruction causing an error from SAI. This was traced by reproducing the issue and identifying that the pmon container was causing this issue where xcvrd is the only daemon within pmon that opens a SDK socket on Mellanox.
    
    Error in log...
    
    syncd#SDK: [SX_API_INTERNAL.ERR] Failed command read at communication channel: Connection reset by peer
    
    - How Has This Been Tested?
    Change was uploaded to xcvrd on running pmon container on a switch running the latest 202012 build. xcvrd was then restarted with supervisord and we verified that we could no longer reproduce the bug.
    alexrallen authored Jun 16, 2021
    Configuration menu
    Copy the full SHA
    eb8a223 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2021

  1. Refactor Pcied and add unittest (sonic-net#189)

    Description
    Refactor the pcied and add the unit test
    
    Motivation and Context
    Added unit test to increase the pmon unit test coverage.
    
    How Has This Been Tested?
    Build with unit test enabled and run manually on a dut to verify the pcied.
    sujinmkang authored Jun 17, 2021
    Configuration menu
    Copy the full SHA
    2fc05b2 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2021

  1. [xcvrd] Add bitmap support for SFP error event (sonic-net#184)

    Support SFP error bitmap.
    
    Currently, SONiC use a single value to represent SFP error, however, multiple SFP errors could exist at the same time. This PR is aimed to support it   
    
    Signed-off-by: Stephen Sun <stephens@nvidia.com>
    Junchao-Mellanox authored Jun 22, 2021
    Configuration menu
    Copy the full SHA
    53639de View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2021

  1. Collect asic info and store in CHASSIS_STATE_DB (sonic-net#175)

    Chassisd inside pmon queries asic information from platform modules and stores it into CHASSIS_STATE_DB of redis_chassis.
    
    The reason we keep information in CHASSIS_STATE_DB because it's accessible by swss containers.
    
    Asic information includes asic pci address, module name, and asic id in the module. For example, CHASSIS_STATE_DB will look like below:
    
    127.0.0.1:6379[6]> HGETALL "CHASSIS_ASIC_TABLE|ASIC0"
    1) "asic_pci_address"
    2) "0000:09:00.0"
    3) "module_name"
    4) "FABRIC-CARD0"
    5) "asic_id_in_module"
    6) "0"
    ngoc-do authored Jun 23, 2021
    Configuration menu
    Copy the full SHA
    b2c6102 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2021

  1. [xcvrd] add debug logs for y_cable change events/probes (sonic-net#195)

    This PR adds support for logging required in debugging events for change/probe requests received by xcvrd from swss and linkmgr into state DB.
    a typical log would look like this:
    
    Jun 17 05:55:39.302379 NOTICE pmon#xcvrd[33]: Y_CABLE_DEBUG: trying to enable/disable debug logs
    Jun 17 05:55:39.302379 NOTICE pmon#xcvrd[33]: Y_CABLE_DEBUG: received an event for port transition Ethernet4
    Jun 17 05:55:39.302575 NOTICE pmon#xcvrd[33]: Y_CABLE_DEBUG: xcvrd trying to transition port Ethernet4 from standby to active
    Jun 17 05:55:39.307872 NOTICE pmon#xcvrd[33]: Y_CABLE_DEBUG: Successful in toggling mux to ToR A for port 2
    
    where both probe events and change events are logged inside xcvrd.
    
    Motivation and Context
    This is required for xcvrd to log the events which it receives from other modules when we want to see the completion of events
    as to what triggered the event and at which stage it failed without restarting pmon/xcvrd
    
    
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jun 24, 2021
    Configuration menu
    Copy the full SHA
    2d2749a View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2021

  1. [ci] fix result color bar in the code coverage report (sonic-net#196)

    Signed-off-by: pettershao-ragilenetworks <pettershao@ragilenetworks.com>
    pettershao-ragilenetworks authored Jul 8, 2021
    Configuration menu
    Copy the full SHA
    3df6757 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2021

  1. [pcied] Fix pcied failure to load due to 'pcied NameError: name 'self…

    …' is not defined' (sonic-net#198)
    
    Fix sonic-net/sonic-buildimage#7993
    
    - Fixes wrong log line when Pcie module does not exists that causes the pcied daemon to enter FATAL state.
    - Change log level of line "Failed to load platform Pcie module" to notice since this is not an error flow, this is part of the normal loading flow we expect when a vendor didn't supply a Pcie class.
    DavidZagury authored Jul 13, 2021
    Configuration menu
    Copy the full SHA
    66e7817 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2021

  1. Introduce mgmtinit delay after transceiver module insertion (sonic-ne…

    …t#201)
    
    As per CMIS spec : http://www.qsfp-dd.com/wp-content/uploads/2021/05/CMIS5p0.pdf (see D.1.3 Software Configuration and Initialization) after module is inserted, delay of 2 seconds is required for MgmtInit to complete.
    
    Signed-off-by: Prince George <prgeor@microsoft.com>
    prgeor authored Jul 14, 2021
    Configuration menu
    Copy the full SHA
    03a4add View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2021

  1. Add str conversion for numeric xcvr info fields to xcvrd (sonic-net#200)

    Converted nominal_bit_rate and cable_length fields from the sfp transceiver info dict into str in post_port_sfp_info_to_db.
    
    The documentation for get_transceiver_info in SfpBase indicates that these field values should be integers. However, only string values can be passed into swsscommon.FieldValuePairs. Therefore, a string conversion is needed.
    andywongarista authored Jul 19, 2021
    Configuration menu
    Copy the full SHA
    53e1532 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2021

  1. [y-cable] fix for logging the xcvrd metrics before writing the state …

    …to the State-DB (sonic-net#208)
    
    fix for logging the xcvrd metrics before writing the state back to the
    STATE DB
    
    Description
    This PR fixes the logging for mux_metrics for writing anything to the state DB for a state transition. Basically previously xcvrd would first post the query result to the DB and only then update its own metric for state transition, but now we do the reverse.
    
    Motivation and Context
    Second change was motivated by the sequence of events which happen inside state transition for mux-metrics table. Previously orchagent reports finishing the transition before xcvrd which is not the case. Ideally xcvrd does the transition first followed by orchagent followed by linkmgr
    
    How Has This Been Tested?
    Ran the change on Arista7050cx3 testbed.
    
    Additional Information (Optional)
    
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jul 27, 2021
    Configuration menu
    Copy the full SHA
    4a32b5a View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2021

  1. [xrcvd]: Added unit test for sfp oir events (sonic-net#205)

    Signed-off-by: Prince George <prgeor@microsoft.com>
    prgeor authored Jul 31, 2021
    Configuration menu
    Copy the full SHA
    b880c48 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2021

  1. [CI] Sum up Azp unit test code coverage (sonic-net#209)

    #### Description
    1. Azp code coverage result is one of the six components by random. This PR summarized all six components test coverage.
    2. Use one container to improve time efficiency.
    3. Parameterize download artifacts.
    #### Motivation and Context
    Fix code coverage display error in azp.
    Build in multiple containers didn't improve time efficiency.
    #### How Has This Been Tested?
    Check code coverage result in Checks/azure pipeline
    liushilongbuaa authored Aug 4, 2021
    Configuration menu
    Copy the full SHA
    8b2227d View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2021

  1. [thermalctld] Use interval set in thermal policy if available (sonic-…

    …net#164)
    
    Description
    Update thermalctld to retrieve interval from thermal manager (which in turn loads an interval from thermal_policy.json) instead of using a constant.
    
    Motivation and Context
    sonic-net#178
    
    This will allow platform vendors to specify an alternate interval for running thermal policies, e.g. 15 seconds instead of the current 60.
    
    How Has This Been Tested?
    Verified that thermalctld runs without exiting.
    Also ran test_thermalctld.py
    andywongarista authored Aug 6, 2021
    Configuration menu
    Copy the full SHA
    f63fc94 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2021

  1. Configuration menu
    Copy the full SHA
    57e3d78 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2021

  1. [xcvrd] initial support for integrating vendor specfic class objects …

    …for calling Y-Cable API's inside xcvrd (sonic-net#197)
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    
    Description
    This PR integrates vendor specific class objects inside xcvrd for Y-Cable API's to be called.
    Detailed designed document can be found sonic-net/SONiC#757
    
    Motivation and Context
    Basically xcvrd now has an interface for Y-Cable to interact with PMON docker and HOST
    which can be uniform across all vendors. As part of this refactor, we will be moving towards a model where only xcvrd interacts with the cables/transceivers, and host-side processes will communicate with xcvrd rather than with the devices directly with Y-Cable.
    
    How Has This Been Tested?
    Ran the changes on Arista7050cx3 switch, making changes inside the container.
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Aug 25, 2021
    Configuration menu
    Copy the full SHA
    e038bc2 View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2021

  1. [Y-Cable] create unknown entries for mux_cable when there is a cable …

    …present but module definition is not present/invalid module
    
    Description
    This PR creates unknown entries for muxcable in case a cable is present in the port but is not one of the existing Y-Cable vendors. This is particularly a corner case where in indeed while muxcable initiation there is a cable which is not a True y-cable but a generic cable and we still want to see this entry be created as an unknown.
    
    Motivation and Context
    Improve the initiation logic for Y-Cable
    
    How Has This Been Tested?
    Ran the changes on the pmon container.
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Sep 1, 2021
    Configuration menu
    Copy the full SHA
    ef0e791 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2021

  1. Fix a bug in removing asics on not-online cards (sonic-net#203)

    Fix a bug coming from PR sonic-net#175 when asic is removed due to card getting offline (before it was online).
    ngoc-do authored Sep 14, 2021
    Configuration menu
    Copy the full SHA
    dfe737a View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2021

  1. Fix occassional test_sfp_insert_events failure (sonic-net#215)

    Due to rare timing issue test_sfp_insert_events failure can fail. Out of 100 iterations, the test failed on 82nd iteration.
    
    Signed-off-by: Prince George <prgeor@microsoft.com>
    prgeor authored Sep 16, 2021
    Configuration menu
    Copy the full SHA
    84386e6 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2021

  1. [xcvrd][y_cable] refactor xcvrd to listen to port probe without locks…

    …; fix the get_firmware_version API to sync with download_firmware (sonic-net#216)
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    
    Description
    This PR refactors the listening of port probes from linkmgr to xcvrd as so that xcvrd does not see timeout messages like these below
    
    Sep 27 22:24:37.490921 SONIC WARNING mux#linkmgrd: link_manager/LinkManagerStateMachine.cpp:815 handleMuxWaitTimeout: Ethernet120: xcvrd timed out responding to linkmgrd, current state: (P: Unknown, M: Wait, L: Down)
    
    Refactoring to a separate listener thread mode as well as removing the lock(safe because read/write transaction via eeprom for port probe) seems to handle this, and does not have the logs like this one above.
    as the read write eeprom also has a mutex lock in the platform api call, optoe implementation.
    https://github.com/Azure/sonic-linux-kernel/blob/889d76e36b3f012d3782a1c5e1587c32e4d1ed11/patch/driver-support-optoe.patch#L717
    
    Motivation and Context
    refactor xcvrd for listening to port probes, disable calling the get_firmware_api() while a download is in progress.
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Sep 29, 2021
    Configuration menu
    Copy the full SHA
    6e4cf6f View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2021

  1. Configuration menu
    Copy the full SHA
    65cdc63 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2021

  1. Increase unit test coverage for xcvrd.py (sonic-net#218)

    Increase unit test coverage for xcvrd.py
    Junchao-Mellanox authored Oct 15, 2021
    Configuration menu
    Copy the full SHA
    294995b View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2021

  1. [thermalctld] Update line card thermal sensor status to DB (sonic-net…

    …#211)
    
    Update line card thermal sensor status to DB, includes PSU thermal sensors and SFP thermal sensors on line card. Depends on sonic-net/sonic-buildimage#8422.
    
    #### Description
    
    In thermal update function, update PSU, SFP and direct thermal of line card
    
    #### Motivation and Context
    
    To support modular chassis
    
    #### How Has This Been Tested?
    
    1. Full platform regression, 100% passed
    2. Unit test passed
    Junchao-Mellanox authored Oct 18, 2021
    Configuration menu
    Copy the full SHA
    1565a23 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2021

  1. [y_cable] add support for manual/standby mode in xcvrd for muxcable; …

    …fix download firmware version retrieval logic while download firmware in progress (sonic-net#220)
    
    This PR supports manual/standby mode support for mux_cable config in addition to auto/active.
    currently xcvrd would not create entries for mux_cable if the config is manual, and this PR resolves that problem.
    Functionally xcvrd will remain as same if we configure it as active/auto/manual
    
    This PR also addresses the problem when there is download firmware operation in progress and streaming_telemetry/CLI
    needs to query the firmware version. In this case we check the status of download_firmware for the port and retrieve the last known value for it from the state DB.
    If the download firmware API has failed, we will retrieve the version for cable and just log an error.
    
    
    Description
    Needed for manual/standby config for muxcable operation
    
    Motivation and Context
    Required for manual/standby config for muxcable operation
    Also addresses the problem when there is download firmware operation in progress and ST thread/CLI
    needs to query the firmware version case. In this case we check the status of download_firmware and retrieve the last known value for it for the state DB.
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Oct 27, 2021
    Configuration menu
    Copy the full SHA
    ddb22b9 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2021

  1. Configuration menu
    Copy the full SHA
    1fd3d16 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2021

  1. Configuration menu
    Copy the full SHA
    7b95211 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2021

  1. [xcvrd] Fix Typo for initialization of post_sfp and deinit for xcvrd (s…

    …onic-net#224)
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Nov 17, 2021
    Configuration menu
    Copy the full SHA
    e53ff26 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2021

  1. Enable Diff Coverage for sonic-platform-daemons (sonic-net#225)

    Description
    Enable 50% Diff Coverage for sonic-platform-daemons PR build
    
    Motivation and Context
    Enhance the code quality
    sujinmkang authored Dec 1, 2021
    Configuration menu
    Copy the full SHA
    da3dbcc View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2021

  1. Clear all data from DB table when the daemon stops (sonic-net#228)

    Description
    Clear all data from DB table when the daemon stops
    
    Motivation and Context
    Clean up when the daemon stops
    
    How Has This Been Tested?
    Check Thermal and physical info data if they are cleared after stopping the thermalctld.
    sujinmkang authored Dec 2, 2021
    Configuration menu
    Copy the full SHA
    8bad10a View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2021

  1. Configuration menu
    Copy the full SHA
    59bc315 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2021

  1. Configuration menu
    Copy the full SHA
    2b0acfb View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2021

  1. [sonic-platform-daemons] fix dependency issue on py2 wheels by correc…

    …ting the path (sonic-net#234)
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    
    Description
    During a recent cleanup of py2 wheels the path where dependent wheels are installed has changed.
    This PR corrects that issue and gathers the dependency wheels from right path.
    
    Motivation and Context
    To make sonic-platform-daemons build pass
    
    How Has This Been Tested?
    pipelines need to pass
    vdahiya12 authored Dec 15, 2021
    Configuration menu
    Copy the full SHA
    e9ccd82 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2021

  1. [ledd] prevent led crash on recirc port event (sonic-net#232)

    Description
    Prevent ledd crash when an event on recirc port happens
    
    Motivation and Context
    A recirculation port is not a physical interface tied to a xcvr
    Calling the led change event on such a port could lead to a ledd crash
    
    How Has This Been Tested?
    This change was applied to running switch with its dependency sonic-net/sonic-buildimage#9471
    Verified that ledd runs without crashing
    Staphylo authored Dec 17, 2021
    Configuration menu
    Copy the full SHA
    7c363f5 View commit details
    Browse the repository at this point in the history

Commits on Dec 24, 2021

  1. [Y-Cable] Increased unit test coverage of y_cable_helper.py (sonic-ne…

    …t#229)
    
    Added unit tests for the following methods:
    
    y_cable_wrapper_get_transceiver_info
    y_cable_wrapper_get_presence
    y_cable_toggle_mux_torA
    y_cable_toggle_mux_torB
    format_mapping_identifier
    update_appdb_port_mux_cable_response_table
    update_table_mux_status_for_response_tbl
    update_tor_active_side
    read_y_cable_and_update_statedb_port_tbl
    delete_port_from_y_cable_table
    create_tables_and_insert_mux_unknown_entries
    check_identifier_presencead_update_mux_table_entry
    init_ports_status_for_y_cable
    change_ports_status_for_y_cable_change_event
    delete_ports_status_for_y_cable
    get_firmware_dict
    get_muxcable_info
    get_muxcable_static_info
    post_mux_info_to_db
    task_download_firmware_worker
    
    Motivation and Context
    The motivation for these changes stems from needing to increase the unit test coverage of the y_cable_helper methods to above 50%.
    
    How Has This Been Tested?
    This was tested by building and running the new unit tests and verifying that they contribute to and increase the code coverage as reflected in the xcvrd_xcvrd_utilities_y_cable_helper_py.html page.
    
    Co-authored-by: Ashwin Srinivasan <ashwin.srinivasan@microsoft.com>
    assrinivasan and assrinivasan authored Dec 24, 2021
    Configuration menu
    Copy the full SHA
    3e432e7 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2022

  1. [pmon][xcvrd]xcvrd process show backtrace on the internal port. (soni…

    …c-net#233)
    
    port_mapping class returns the port_mapping_data info incldue internal ports. Internal port doesn't have transceiver. It should not be in the list for the xcvrd.
    
    Signed-off-by: mlok <marty.lok@nokia.com>
    mlok-nokia authored Jan 7, 2022
    Configuration menu
    Copy the full SHA
    07542cb View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2022

  1. [psud] Fix PSU log issue (sonic-net#235)

    Description
    Set PSU status default to True
    Add PSU index to PsuStatus to help print the log with PSU id
    
    Motivation and Context
    Issue flow:
    1. PSU is in bad state (e.g. PSU is not present, PSU is powered off, PSU overheat and so on) psud startup
    2. There is no warning logs in syslog
    3. This PR is aimed to fix the issue
    
    How Has This Been Tested?
    1. Manual test
    2. Adjusted unit test
    Junchao-Mellanox authored Jan 17, 2022
    Configuration menu
    Copy the full SHA
    c4127c2 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2022

  1. [y_cable] refactor y_cable to a seperate logic and new daemon from xc…

    …vrd (sonic-net#219)
    
    * [xcvrd] suuport for integrating y cable within xcvrd
    
    This PR separates the logic of Y-Cable from xcvrd. Before this change we were utilizing xcvrd daemon to control all aspects of Y-Cable right from initialization to processing requests from other entities like orch,linkmgr.
    Now we would have another daemon ycabled which will serve this purpose.
    Logically everything still remains the same from the perspective of other daemons.
    it also take care aspects like init/delete daemon from Y-Cable perspective.
    
    dependent-startup                EXITED    Jan 18 05:40 AM
    
    xcvrd                            RUNNING   pid 33, uptime 20:02:58
    ycabled                          RUNNING   pid 218, uptime 0:22:12
    Motivation and Context
    Required for separating the logic of Y-Cable from xcvrd. This is to ensure that the daemon always works and responds to linkmgr to address its requests
    
    How Has This Been Tested?
    Built an image with the changes and ran dualtor specific tests on the change on a 7050cx3 testbed.
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jan 20, 2022
    Configuration menu
    Copy the full SHA
    94fa239 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2022

  1. [ycabled] increase UT coverage of ycabled daemon (sonic-net#238)

    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    
    Description
    This PR refactors some of the message handling for CLI transactions' by ycabled for muxcable
    Particularly these CLI commands handling is refactored
    
    show mux hwmode mux <port>
    show mux hwmode switchmode <port>
    config mux hwmode state <port>
    config mux hwmode setswitchmode <port>
    config mux firmware download/activate/rollback <port>
    show mux firmware version <port>
    With this PR all these notifications will be covered by Unit-Tests in our code
    
    Motivation and Context
    This PR is required to increase the code coverage of ycabled and attain a coverage of > 75%
    This PR also removes refactors some code blocks which were not covered by UT
    
    How Has This Been Tested?
    Ran the Unit-tests to the corresponding changes
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Feb 7, 2022
    Configuration menu
    Copy the full SHA
    c2e7393 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2022

  1. Configuration menu
    Copy the full SHA
    7195dcc View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2022

  1. Modular chassis: Psud set master led on first run (sonic-net#206)

    On first run, the PSU master-led on supervisor of modular-chassis is not set.
    
    Description
    The PSU master-led on modular chassis indicates the power-buget status. Similar to individual PSU leds that are set on first_run, the master-led also will be set to based on initial status (RED or GREEN with LED status ON).
    
    Motivation and Context
    Without the forced setting of first_run, the master-led status will default to per vendor default. In some cases, this could be amber blinking etc
    mprabhu-nokia authored Feb 11, 2022
    Configuration menu
    Copy the full SHA
    7d7c85e View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2022

  1. Configuration menu
    Copy the full SHA
    c092300 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2022

  1. Fix UT failed cause by change pycommon to use swsscommon (sonic-net#246)

    Fix UT failed cause by change sonic_py_common to use swss_common
    
    #### Description
        Fix UT failed cause by change sonic_py_common to use swss_common:
    
            In current UT, we implement swsscommon mock class under sonic-pcied/tests/mocked_libs/swsscommon and load these mock libs by add the mock path in front of real swsscommon lib path with following code:
    
                  # Add mocked_libs path so that the file under test can load mocked modules from there
                  mocked_libs_path = os.path.join(tests_path, "mocked_libs")
                  sys.path.insert(0, mocked_libs_path)
    
            However, because we change sonic_py_common to use swsscommon, so real version of swsscommon been load before we load mock lib. then the UT break with following error message:
                  
                  ______________ TestDaemonPcied.test_update_pcie_devices_status_db ______________
                  self = <tests.test_DaemonPcied.TestDaemonPcied object at 0x7f29542655d0>
                      @mock.patch('pcied.load_platform_pcieutil', mock.MagicMock())
                      def test_update_pcie_devices_status_db(self):
                   >       daemon_pcied = pcied.DaemonPcied(SYSLOG_IDENTIFIER)
                  tests/test_DaemonPcied.py:160: 
                  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
                  scripts/pcied:93: in __init__
                      self.device_table = swsscommon.Table(self.state_db, PCIE_DEVICE_TABLE_NAME)
                  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
                  self = <swsscommon.swsscommon.Table;  >
                  args = (<MagicMock name='mock()' id='139815470171344'>, 'PCIE_DEVICE')
                      def __init__(self, *args):
                   >       this = _swsscommon.new_Table(*args)
                   E       NotImplementedError: Wrong number or type of arguments for overloaded function 'new_Table'.
                   E         Possible C/C++ prototypes are:
                   E           swss::Table::Table(swss::DBConnector const *,std::string const &)
                   E           swss::Table::Table(swss::RedisPipeline *,std::string const &,bool)
    
    
    #### Motivation and Context
        pyswss will be deprecate, so sonic_py_common will changed to use swss_common.
        Some UT in this project failed because this change.
    
    #### How Has This Been Tested?
        Pass all UT and sonic-buildimage E2E test.
    
    #### Additional Information (Optional)
    liuh-80 authored Mar 17, 2022
    Configuration menu
    Copy the full SHA
    f09bd31 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2022

  1. [ycable] fix the logic to update cable_info values when ycable is not…

    … present; fix read side logic for ycable (sonic-net#249)
    
    Description
    This PR fixes the MUX_CABLE_INFO table insertion logic which was not done before this PR. If the muxcable is plugged in, with this change if the config DB states that it is a muxcable then the logic populates the MUX_CABLE_INFO with 'N/A' or
    'unknown' entries. This was not done before
    This PR also fixes the read_side logic, which if initialized with a -1 value would never be updated to the correct value, this PR makes sure that if the read_side is read correctly if cable not powered on/disconnected from server side, and the read_side is populated correctly in state DB. Before this change the read_side was not populated correctly if the cable was not powered from server side/disconnected.
    
    Motivation and Context
    Required for the logic of services looking for MUX_CABLE_INFO values which require this be populated without cable presence.
    read_side fix logic makes sure that if the cable is powered off/disconnected from server side then the cable driver works well in those cases
    
    How Has This Been Tested?
    Unit-Tests and tested in the lab
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Mar 29, 2022
    Configuration menu
    Copy the full SHA
    24fba04 View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2022

  1. Fix platform daemon chassisd to handle auto restart on fail (sonic-ne…

    …t#247)
    
    Description
    Add signal handlers correctly and fix clean up so that the auto restart works ok on signals.
    
    Motivation and Context
    Add signal handlers correctly and fix clean up so that the auto restart works ok on signals.
    
    How Has This Been Tested?
    Verified by running again chassis LC.
    judyjoseph authored Mar 31, 2022
    Configuration menu
    Copy the full SHA
    9ac12bf View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2022

  1. Fix checkReplyType failed issue via recreating xcvr_table_helper on f…

    …orking subprocess (sonic-net#255)
    
    * Fix message interleaving issue via recreating xcvr_table_helper on forking subprocess
    
    Signed-off-by: Stephen Sun <stephens@nvidia.com>
    
    * Address comments: change xcvr_table_helper to class member
    
    Signed-off-by: Stephen Sun <stephens@nvidia.com>
    
    * Fix a typo
    
    Signed-off-by: Stephen Sun <stephens@nvidia.com>
    stephenxs authored Apr 21, 2022
    Configuration menu
    Copy the full SHA
    e0f8a35 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2022

  1. Include changes from xcvr_api in transceiver_info table (sonic-net#253)

    * include changes from xcvr_api in transceiver_info table
    
    * include new items in test_xcvrd.py
    
    * resolving comments, add four items related to c-cmis, and support both non-cmis and cmis compliant modules
    
    Co-authored-by: Chuan Qin (QINCHUAN) <QINCHUAN@ame.gbl>
    qinchuanares and qinchuanares authored Apr 25, 2022
    Configuration menu
    Copy the full SHA
    ce217c0 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2022

  1. [ycabled] fix the posting for mux_cable_static_info per downlink when…

    … ycabled is spawned; synchronizing executing Telemetry API (sonic-net#257)
    
    
    This PR is meant to do two fixes.
    
    For the Y-cable if presence is missing, currently there is no provision for posting the MUX_CABLE_STATIC_INFO, this PR puts in that fix.
    
    ycabled now utilizes the MUX_CABLE_TABLE: to be notified/prepared to toggle the mux and blocks all ongoing i2c telemetry transactions which could be concurrently running. This PR utilizes a support for adding a mux_toggle_status variable inside the base class for mux_cable.
    Using this variable the Derived classes for mux_cable can check this and return in case of a mux_toggle_status is in progress.
    From the higher layer this allows ycabled to synchronize the calls and not let mux_cable toggle to go in conjunction with some of the Telemetry calls.
    
    also added a commented sub-routine to poll the mux direction after toggle
    dependent on [Credo][Ycable] changes for synchronizing executing Telemetry API's when mux toggle is inprogress sonic-platform-common#280
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    
    Description
    Motivation and Context
    How Has This Been Tested?
    Unit-tests as well as ran changes on Arista7050cx3 testbed
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored May 24, 2022
    Configuration menu
    Copy the full SHA
    2bcf936 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2022

  1. [ycabled] Fix some syntax warnings in ycabled (sonic-net#263)

    This PR fixes some syntax warnings for ycabled.
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    
    Description
    Motivation and Context
    remove some syntax warnings
    
    How Has This Been Tested?
    UT coverage would test the change
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored May 27, 2022
    Configuration menu
    Copy the full SHA
    6b8bf69 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2022

  1. grpc client implementation for active-active dualtor (sonic-net#248)

    This PR is to support the gRPC interaction with to the SoC/Nic-Simulator for link manager state machine ActiveActiveStateMachine to work if the port is configured as active-active cable type.
    It supports the RPC's support for SONiC by creating channels/stubs when a cable is pulled in as well as when the ycabled is initialized from supervisord. The logic to treat a cable/port as "active-active" comes from minigraph/config_db and then this PR has the logic to take care of serving RPC's as requested by other daemons.
    
    It does the RPC call when an appropriate request lands the ycabled as described below
    
    The following Tables are served by ycabled for gRPC RPC by listening to changes in app DB request from linkmgr/orchagent and corresponding results are written to state DB.
    
    HW_MUX_CABLE_TABLE
    
    HW_MUX_TABLE_TABLE_PEER
    
    This PR also adds logic to listening to the forwarding state command table and get the response back from gRPC and write to forwarding state response
    
    FORWARDING_STATE_COMMAND -> FORWARDING_STATE_RESPONSE
    for getting the forwarding state request/response using gRPC
    
    This PR also has logic for gRPC library build using build_ext extension. The proto definition is present in
    proto/proto_out/
    The setup.py changes make sure that gRPC libs are generated correctly.
    
    the corresponding gRPC libs are generated in proto_out directory in python packages directory and are imported by ycabled
    
    Motivation and Context
    DualToR active-active support for gRPC interface to support the state machine
    
    How Has This Been Tested?
    Unit-Tests and deploying changes on a DualToR testbed
    vdahiya12 authored May 31, 2022
    Configuration menu
    Copy the full SHA
    0d90023 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2022

  1. [sonic-ycabled] fix grpc logic for timeout,cli HWSTATUS value retriva…

    …l logic for active-active cable (sonic-net#264)
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    This PR adds some improvement logic to ycabled daemon
    
    correct the loopback IP's for active-active cable type for libra gRPC read_side establishment
    improves the code for timeout value injection for different RPC's for gRPC
    for cli HW_STATUS the daemon tries to use cached old value, if not present try to do RPC for getting ForwardingState with timeout of 0.1 ms
    Description
    Motivation and Context
    Required for gRPC logic improvement in few active-active scenario's
    
    How Has This Been Tested?
    UT and deploying the changes in actual testbed
    
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    ec84af4 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2022

  1. [ycabled] Fix the init values for active-active ports (sonic-net#266)

    * [ycabled] Fix the init values for active-active ports
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    
    Since linkmgr/orchagent relies on ycabled to populate the mux_cable entries in the HW_MUX_CABLE_TABLE, for the cable active-active type this is accomplished by putting an unknown value if gRPC is unavailable, otherwise a normal RPC is used to query this and the response active or standby is written is HW_MUX_CABLE_TABLE table with a timeout.
    This Fix accomplishes putting an unknown/active/standby to state key when ycabled starts
    
    Description
    Motivation and Context
    How Has This Been Tested?
    Unit-Tests and deploying the changes on testbed
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    df447b4 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2022

  1. [CMIS]Improved 400G link bring up sequence (sonic-net#254)

    * Improved 400G link bring up sequence
    
    * Event based handling
    
    * Remove unused functions
    
    * Force DP to remain in DpInitialized State state on admin shutdown
    
    * Added test case
    
    * Skip CMIS task manager based upon flag
    
    * Addressed review comments
    
    * Fix xcvrd crash
    
    * Fix test failure
    
    * Listen only to 'APPL_DB's admin_status
    
    * Fix typo
    prgeor authored Jun 28, 2022
    Configuration menu
    Copy the full SHA
    7c0be24 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2022

  1. [ycabled] add some retry logic for gRPC channel setup;fix no channel …

    …gRPC notification (sonic-net#269)
    
    This PR adds some retry logic for setting up channels for gRPC with a prolonged time period
    This PR also fixes the gRPC notification handling, when a request come for appl DB:HW_MUX_CABLE_TABLE ->
    state DB:HW_MUX_CABLE_TABLE, previously if the channel was not setup, the daemon does not give back a response, with this change this condition is properly handled.
    This PR also enhances the channel to keep a keepalive message between server/soc and ycabled when the connections are idle. This enhancement comes from https://github.com/grpc/grpc/blob/master/doc/keepalive.md this feature in gRPC
    
    Description
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jun 30, 2022
    Configuration menu
    Copy the full SHA
    1651050 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2022

  1. [ycabled][grpc] Fix some time interval,options for grpc keep alive to…

    … work (sonic-net#271)
    
    This PR is meant to fix gRPC keepalive timeout values. With this change and adding the options to server side, the pings start working for TCP connection for all gRPC channels. This PR is also meant to increase the time intervals between pings to 4 seconds for gRPC connections
    With this change the TCP connections are always persistent
    example:
    
    admin@sonic:~$ netstat | grep 50075
    tcp6       0      0 tmg.dtap.sphybrid:41828 vlan2003.mim-a75s:50075 ESTABLISHED
    tcp6       0      0 tmg.dtap.sphybrid:43912 192.168.0.3:50075       ESTABLISHED
    tcp6       0      0 tmg.dtap.sphybrid:43620 win-cfr7mesbc6v.c:50075 ESTABLISHED
    tcp6       0      0 192.168.0.1:37768       192.168.0.23:50075      ESTABLISHED
    tcp6       0      0 tmg.dtap.sphybrid:58776 win-cfr7mesbc6v.c:50075 ESTABLISHED
    tcp6       0      0 192.168.0.1:34634       192.168.0.21:50075      ESTABLISHED
    tcp6       0      0 tmg.dtap.sphybrid:47672 win-cfr7mesbc6v.c:50075 ESTABLISHED
    tcp6       0      0 192.168.0.1:42318       192.168.0.7:50075       ESTABLISHED
    tcp6       0      0 192.168.0.1:48792       co1speutlv104.phx:50075 ESTABLISHED
    tcp6       0      0 tmg.dtap.sphybrid:34794 dtap15.dtap.sphyb:50075 ESTABLISHED
    tcp6       0      0 192.168.0.1:56194       192.168.0.13:50075      ESTABLISHED
    tcp6       0      0 tmg.dtap.sphybrid:43548 win-cfr7mesbc6v.c:50075 ESTABLISHED
    
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jul 6, 2022
    Configuration menu
    Copy the full SHA
    e889625 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2022

  1. [ycabled] remove some redundant logging for active-active cable type (s…

    …onic-net#274)
    
    This change is required for stop posting MUX_CABLE_INFO entries into state DB for active-active cable_type since for these cables there is no i2c/eeprom or muxcable.
    This loop is independent of main loop, hence it needs to be changed separately
    
    Description
    Motivation and Context
    How Has This Been Tested?
    Unit-tests
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jul 18, 2022
    Configuration menu
    Copy the full SHA
    005ec30 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2022

  1. [ycabled] add secure channel support for grpc dualtor active-active c…

    …onnectivity (sonic-net#275)
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    This PR adds support for creating a secure channel for gRPC between SOC and SONiC.
    the certs and configurations are defined in config DB
    
    config': {
                'type': 'secure',
                'auth_level': 'server',
                'log_level': 'info'
            },
            'certs': {
                'client_crt': path',
                'client_key': 'path
                'ca_crt': 'path,
                'grpc_ssl_credential': 'target override'
            }
    Using this config parameter we can have secure/insecure as well as mutual/server level authentication between SoC and SONiC.
    This PR leverages the cert API's in gRPC lib and certs created to create a TLS based handshake if required to setup gRPC channel
    
    Description
    Motivation and Context
    Required for secure gRPC support between SONiC and SoC
    
    How Has This Been Tested?
    Unit-Tests and running the changes on the testbed
    vdahiya12 authored Jul 22, 2022
    Configuration menu
    Copy the full SHA
    e3b03d4 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2022

  1. Xcvrd changes to support 400G ZR configuration (sonic-net#270)

    * Xcvrd changes to support 400G ZR configuration
    
    * Fix test failures
    
    * Improve code coverage
    
    * Addressed review comments
    prgeor authored Aug 2, 2022
    Configuration menu
    Copy the full SHA
    cc56367 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2022

  1. [ycabled] add capability to enable/disable telemetry (sonic-net#279)

    This PR provides a capability to sonic-utilities CLI to enable/disable telemetry for ycabled.
    Basically there is a periodic loop for ycabled which posts telemetry data for that configured interval of time(currently 60 sec). This PR diables this data posting, and does not call platform API calls for ycable.
    This PR is required for the initiative of getting some failover/switchover not get interfered because of sonic-telemetry API calls.
    The CLI for enabling/disabling telemetry is
    config muxcable telemetry enable/disable
    
    Description
    Motivation and Context
    How Has This Been Tested?
    UT and deploying changes on Arista testbed
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Aug 9, 2022
    Configuration menu
    Copy the full SHA
    c7cbbb8 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2022

  1. add psu input voltage and current (#276)

    Add PSU input voltage, input current and max power to the PSU table in the STATE DB
    
    - Description
    psud would collect input voltage, input current and max power (capacity) of the PSU.
    till now, it collect the output voltage and current.
    
    - Motivation and Context
    more information about the PSU.
    
    - How Has This Been Tested?
    unit tests, manual testing.
    
    Signed-off-by: orfar1994 <orfar1994@gmail.com>
    orfar1994 authored Aug 10, 2022
    Configuration menu
    Copy the full SHA
    5f5fefd View commit details
    Browse the repository at this point in the history
  2. Correct the peer forwarding state table (sonic-net#281)

    Description
    Fixes: sonic-net/sonic-linkmgrd#101
    
    ycabled failed to toggle peer forwarding state for active-active ports.
    Use ConsumerStateTable to listen to HW_FORWARDING_STATE_PEER.
    
    Signed-off-by: Longxiang Lyu lolv@microsoft.com
    
    Motivation and Context
    As the description
    
    How Has This Been Tested?
    On a dualtor-mixed testbed, shutdown a port on upper ToR, verified the lower ToR could toggle the nic_simulator upper ToR forwarding state to standby.
    
    Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
    lolyu authored Aug 10, 2022
    Configuration menu
    Copy the full SHA
    c7b7543 View commit details
    Browse the repository at this point in the history
  3. [ycabled] remove some spurious logs (sonic-net#282)

    * [ycabled] remove some spurious logs
    
    For Ports which do not belong to active-active or active-standby type, we should not try to post muxcable telemetry information for them. This PR remove the warning message for such a posting.
    Also fixes the PR pipeline by changing the ConsumerTable to SubscriberStateTable
    
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Aug 10, 2022
    Configuration menu
    Copy the full SHA
    a1d7257 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2022

  1. [ycabled] enable telemetry for 'active-active'; fix gRPC portid order…

    …ing (sonic-net#284)
    
    * [ycabled] enable telemetry for 'active-active'; fix gRPC portid ordering
    
    This PR fixes the portID sent for gRPC probing to the SoC/NIC-Simulator, and defaults it to [0,1].
    This helps improve the logic and readibility of the logs as well for easier debug and response parsing is also improved
    This PR also enables sonic-telemetry logging for active-active cable type
    
    Description
    Motivation and Context
    How Has This Been Tested?
    running the changes on testbed and UT
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Aug 18, 2022
    Configuration menu
    Copy the full SHA
    7c0a326 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2022

  1. [ycabled] fix insert events from xcvrd;cleanup some mux toggle logic (s…

    …onic-net#287)
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    This PR intends to help fix the surplus amount of insert/delete events that ycabled gets it is first spawned, it fixes the logic where an insert event is only handled the way it is collected by xcvrd one time only.
    
    Previously there was a known issue for spurious insert/delete events captured by ycabled on config reload, this PR fixes it
    
    This PR also cleans up some mux toggle blocking other txns logic.
    
    Description
    Motivation and Context
    How Has This Been Tested?
    Unit-tests and deploying changes on Testbed
    
    Additional Information (Optional)
    vdahiya12 authored Sep 2, 2022
    Configuration menu
    Copy the full SHA
    ce3b6db View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2022

  1. [ycable] cleanup logic for creating grpc future ready (sonic-net#289)

    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    This PR attempts to remove this call
    channel_ready = grpc.channel_ready_future for the ycabled gRPC implementation. The reason to do this is incase of channel not being connected ycabled tries to reattempt the channel creation again with each RPC request from linkmgrd.
    This is not the right way to maintain the channels/stubs, and actually adds unrequired overhead for ycabled. This PR supports creating channel/stub in ycabled in correct manner.
    
    Description
    Motivation and Context
    Required to reduce CPU usage for ycabled
    
    How Has This Been Tested?
    Deploying the changes on Arista testbed and UT
    vdahiya12 authored Sep 7, 2022
    Configuration menu
    Copy the full SHA
    3acb171 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2022

  1. [Xcvrd] Soak duplicate events and process only updated interested eve…

    …nts (sonic-net#285)
    
    * Subscribe to CONFIG_DB instead of APPL_DB
    
    * Filter out events
    
    * Fix build
    
    * improve code coverage
    prgeor authored Sep 16, 2022
    Configuration menu
    Copy the full SHA
    b03cc74 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2022

  1. Configuration menu
    Copy the full SHA
    8ff5f37 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2022

  1. Install libyang to azure pipeline (sonic-net#292)

    #### Why I did it
    sonic-swss-common lib will add dependency to libyang soon, so need install libyang lib to prevent build and UT break.
    
    #### How I did it
    Modify azure pipeline to install libyang in azure pipeline steps.
    
    #### How to verify it
    Pass all UT.
    
    #### Which release branch to backport (provide reason below if selected)
    
    #### Description for the changelog
    Modify azure pipeline to install libyang in azure pipeline steps.
    
    #### Link to config_db schema for YANG module changes
    
    #### A picture of a cute animal (not mandatory but encouraged)
    liuh-80 authored Sep 21, 2022
    Configuration menu
    Copy the full SHA
    4b3b238 View commit details
    Browse the repository at this point in the history
  2. [ycabled] add notification for gRPC connection state transitions to I…

    …DLE/TRANSIENT_FAILURE (sonic-net#295)
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    For the cases where gRPC connectivity to server becomes IDLE/TRANSIENT_FAILURE, the ToR should periodically query/retry establish admin state and revert the Forwarding state back to active-active for both the T0's
    This PR tries to attain that via adding a transient failure message to APP DB when connectivity is lost, so each time connectivity state changes back to not desired state(IDLE/TRANSIENT_FAILURE) we log a message, and linkmgr will query again to get gRPC in sync
    
    Description
    Motivation and Context
    How Has This Been Tested?
    Unit-tests and deploying changes to testbed
    
    Additional Information (Optional)
    vdahiya12 authored Sep 21, 2022
    Configuration menu
    Copy the full SHA
    6522c46 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2022

  1. add support to execute new ycable API's, add datetime field to mux_in…

    …fo (sonic-net#297)
    
    This PR does two main things
    
    It adds the capability for SONiC CLI to call few API's like operationtime, healthcheck, queue_info, reset cause for it to be displayed via CLI
    It adds a datetime field inside MUX_CABLE_INFO helpful for tracking last update, and it removes some of the toggle synchronization logic for SONiC telemetry, since SONiC telemetry table MUX_CABLE_INFO is anyways disabled/enabled using CLI
    config muxcable telemetry enable/disable, it is redundant to have this logic embedded in ycabled and port_instance helper objects, which could be unneccessary
    Description
    Motivation and Context
    How Has This Been Tested?
    Putting the changes on Arista testbed and UT
    vdahiya12 authored Sep 23, 2022
    Configuration menu
    Copy the full SHA
    143422b View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2022

  1. Remove shell=True (sonic-net#300)

    Signed-off-by: maipbui <maibui@microsoft.com>
    
    Signed-off-by: maipbui <maibui@microsoft.com>
    maipbui authored Sep 27, 2022
    Configuration menu
    Copy the full SHA
    3622aac View commit details
    Browse the repository at this point in the history
  2. [ycabled] add support for getting grpc secerts via shared file (sonic…

    …-net#298)
    
    This PR adds support for adding the secrets to grpc client in active-active configuration via a shared file
    /etc/sonic/grpc_secrets.json.
    Using this file, secrets configuration in populated inside CONFIG_DB,
    absence of this file will assume insecure gRPC client.
    
    Description
    Motivation and Context
    How Has This Been Tested?
    testing with UT and putting the changes on Arista testbed
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    vdahiya12 authored Sep 27, 2022
    Configuration menu
    Copy the full SHA
    534f839 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2022

  1. [ycabled] add some exception catching logic to some vendor specific A…

    …PI's (sonic-net#301)
    
    This PR adds a try/catch block for some abstract muxcable API's. In particular the exception logic is added for all the API's where there is a possibility for exceptions to be passed by Vendor API's implementation, in this regard ycabled will have all abstract muxcable API's covered by exception logic with this PR.
    If the exception is caught it will be just logged and daemon will resume its normal operation.
    
    Description
    Motivation and Context
    How Has This Been Tested?
    Unit-tests and deploying changes on testbed
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Sep 29, 2022
    Configuration menu
    Copy the full SHA
    501abb2 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2022

  1. [ycabled] fix naming error for error condition for CLI handling (soni…

    …c-net#302)
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    This PR fixes a typo/error condition when read_side is not 1 or 2 or -1, for a case where NIC side is plugged into the ToR and a user configures a CLI for
    sudo config mux hwmode state active/standby <port>,
    in such a scenario we can trigger this
    xcvrd_config_hwmode_state_cmd_sts_tbl attribute error.
    
    Description
    Motivation and Context
    How Has This Been Tested?
    Unit-tests and loading the changes on Arista testbed
    vdahiya12 authored Oct 3, 2022
    Configuration menu
    Copy the full SHA
    23b6970 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2022

  1. Fix xcvrd to support 400G ZR optic (sonic-net#293)

    * Fix xcvrd to support 400G ZR/DR optics
    
    * Fix xcvrd to support 400G ZR/DR optics
    
    * Revert changes in DomInfoUpdateTask::on_port_config_change
    
    * Fix xcvrd test after modifying on_port_config_change
    
    * Call get_datapath_init_duration to get the init expiration time.
    
    * Address comments
    
    1. Clean up comments.
    2. Revert port breakout fix and corresponding test change.
    3. Check deinit duration for deinit case
    4. Check datapath init pending
    
    * 1. Revert changes in on_port_update_event
    2. check DpInitPending on module which supports CMIS 5.0
    3. Specify sec in return value
    
    * Add code coverage
    
    * Add log for DpInit/DpDeinit duration
    abohanyang authored Oct 20, 2022
    Configuration menu
    Copy the full SHA
    4ea12cf View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2022

  1. [ycabled] fix no port/state returned by grpc server (sonic-net#308)

    signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    This PR fixes and issue when gRPC listener acknowledges the request from ycabled but sends no ports/states in the response
    Example for such responses :
    
    Oct 19 21:38:32.643397 DEV NOTICE pmon#ycable[128076]: Set admin state RPC received response port Ethernet44 port ids = [] curr_read_side 0 read_side 1
    Oct 19 21:38:32.643515 DEV NOTICE pmon#ycable[128076]: Set admin state RPC received response port Ethernet44 state values = [] curr_read_side 0 read_side 1
    ycabled will write appropriate unknown/failure in such a case
    vdahiya12 authored Oct 25, 2022
    Configuration menu
    Copy the full SHA
    8a2dad9 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2022

  1. Added filtering logic to send filtered fields from DB event (sonic-ne…

    …t#307)
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Oct 27, 2022
    Configuration menu
    Copy the full SHA
    82fc7a6 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2022

  1. [ycabled] add support for detach mode in 'active-active' topology (so…

    …nic-net#309)
    
    This PR adds a support for taking detach mode into consideration as a valid CONFIG_DB state for muxcable.
    If 'detach' mode is configured it will be treated as a valid and appropriate RPC's will be serviced by ycabled.
    
    Description
    Motivation and Context
    How Has This Been Tested?
    UT and deploying changes on testbed
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Oct 28, 2022
    Configuration menu
    Copy the full SHA
    9ae551f View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2022

  1. Configuration menu
    Copy the full SHA
    510d330 View commit details
    Browse the repository at this point in the history
  2. [ycabled] move swsscommon API's from subroutines to call them exactly…

    … once per task_worker/thread (sonic-net#303)
    
    This PR attempts for ycabled to have all
    swsscommon.Table and daemon_base.db_connect
    as just a single call in the thread instance for all task_workers
    
    For example all swsscommon calls to open Tables are moved as class object varables, which are reused when needed instead of opening the Table again in subroutines.
    
    self.config_db[asic_id] = daemon_base.db_connect("CONFIG_DB", namespace)
    This would help in avoiding unforeseen redis-errors
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    
    Description
    Motivation and Context
    How Has This Been Tested?
    Deploying changes on testbed and UT
    vdahiya12 authored Nov 7, 2022
    Configuration menu
    Copy the full SHA
    905874d View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2022

  1. Configuration menu
    Copy the full SHA
    e8c5657 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2022

  1. [chassisd] update chassisd to write fabric and lc asics on sep erate …

    …table (sonic-net#311)
    
    Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
    
    Description
    The following changes are done in chassisd
    
    Change the ModuleUpdater init changed to include slot and supervisor as argument.
    Add logic to in ModuleUpdater to update the asic_info in CHASSIS_FABRIC_ASIC_INFO for the supervisor and CHASSIS_ASIC_TABLE for the linecard asics respectively.
    Add the linecard name is the key of the CHASSIS_ASIC_TABLE
    update the UT
    Motivation and Context
    Fixes sonic-net/sonic-buildimage#12575 and sonic-net/sonic-buildimage#12575
    
    How Has This Been Tested?
    Update the pmon on the supervisor and linecard and verify the CHASSIS_STATE_DB is update properly
    
    admin@str2-sonic-sup-1:~$ redis-cli -h redis_chassis.server -p 6380 -n 13 keys *ASIC*
     1) "CHASSIS_ASIC_TABLE|LINE-CARD4|asic0"
     2) "CHASSIS_FABRIC_ASIC_TABLE|asic1"
     3) "CHASSIS_FABRIC_ASIC_TABLE|asic8"
     4) "CHASSIS_FABRIC_ASIC_TABLE|asic10"
     5) "CHASSIS_ASIC_TABLE|LINE-CARD0|asic0"
     6) "CHASSIS_FABRIC_ASIC_TABLE|asic6"
     7) "CHASSIS_FABRIC_ASIC_TABLE|asic9"
     8) "CHASSIS_FABRIC_ASIC_TABLE|asic5"
     9) "CHASSIS_FABRIC_ASIC_TABLE|asic3"
    10) "CHASSIS_ASIC_TABLE|LINE-CARD3|asic0"
    11) "CHASSIS_FABRIC_ASIC_TABLE|asic2"
    12) "CHASSIS_ASIC_TABLE|LINE-CARD2|asic0"
    13) "CHASSIS_ASIC_TABLE|LINE-CARD2|asic1"
    14) "CHASSIS_FABRIC_ASIC_TABLE|asic11"
    15) "CHASSIS_FABRIC_ASIC_TABLE|asic0"
    16) "CHASSIS_FABRIC_ASIC_TABLE|asic4"
    17) "CHASSIS_FABRIC_ASIC_TABLE|asic7"
    admin@str2-sonic-sup-1:~$
    arlakshm authored Nov 15, 2022
    Configuration menu
    Copy the full SHA
    707a720 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2022

  1. Configuration menu
    Copy the full SHA
    ed818f8 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2022

  1. Configuration menu
    Copy the full SHA
    f784ad7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9b84b58 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. [ycabled] fix minor appl_db retrieving logic for update (sonic-net#319)

    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    This PR fixes the app DB access fix logic by updating the values causing some failures for ycabled's response for mux probe from linkmgrd.
    This PR essentially fixes that logic, calling the correct method to access the app DB
    self.appl_db -> self.table_helper.get_appl_db()
    
    Description
    Motivation and Context
    How Has This Been Tested?
    UT and deploying changes to kvm
    
    Additional Information (Optional)
    vdahiya12 authored Nov 30, 2022
    Configuration menu
    Copy the full SHA
    e474335 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2022

  1. Remove the argument that is causing the xcvrd to crash (sonic-net#318)

    - Description
    Fixed SfpStateUpdateTask to not crash during port_cfg dynamic add/del event
    
    - Motivation and Context
    During port breakout, the subprocess invoked by parent xcvrd is crashing indicated in the log
    
    - How Has This Been Tested?
    Apply breakout and check if the subprocess is not crashing
    
    Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
    vivekrnv authored Dec 1, 2022
    Configuration menu
    Copy the full SHA
    0573416 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2022

  1. Create TRANSCEIVER_DOM_THRESHOLD table in state DB (sonic-net#320)

    * Create TRANSCEIVER_DOM_THRESHOLD table in state DB
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Removed debug statement
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Fixed test failure
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Dec 6, 2022
    Configuration menu
    Copy the full SHA
    adcd69b View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2022

  1. Configuration menu
    Copy the full SHA
    56046dc View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2022

  1. Configuration menu
    Copy the full SHA
    9657a26 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2022

  1. Remove TODO comments which are no longer needed (sonic-net#325)

    Description
    Remove TODO comments which are no longer needed
    
    Motivation and Context
    Remove TODO comments which are no longer needed
    
    How Has This Been Tested?
    Only comment change
    Junchao-Mellanox authored Dec 13, 2022
    Configuration menu
    Copy the full SHA
    e119b69 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2023

  1. Configuration menu
    Copy the full SHA
    879d630 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2023

  1. Chassisd do an explicit stop of the config_manager (sonic-net#328)

    * Fix to explicit stop the config_manager
    * Add tests for chassisd run method.
    judyjoseph authored Jan 17, 2023
    Configuration menu
    Copy the full SHA
    753b550 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2023

  1. Xcvrd should restart if any child thread crashes (sonic-net#326)

    * Xcvrd should restart if any child thread crashes
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Resolved test_SfpStateUpdateTask_task_run_stop test failure
    
    * Added comment for raise_exception
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Added check for avoiding cmis_manager.start() if CMIS thread is supposed to be skipped. Also, moidified join function to handle accordingly. Added logs for showing names of threads spawned
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Jan 19, 2023
    Configuration menu
    Copy the full SHA
    2211b7e View commit details
    Browse the repository at this point in the history
  2. [Xcvrd]: Fix optics insertion/removal not detected (sonic-net#333)

    * [Xcvrd]: Fix optics insertion/removal not detected
    
    * log_info() -> log_notice()
    prgeor authored Jan 19, 2023
    Configuration menu
    Copy the full SHA
    a931d6c View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2023

  1. add data for telemtery enhancement for 'active-active' cable type (so…

    …nic-net#332)
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    This PR adds logic to add the following gRPC relevant telemetry schema fields in the state DB table
    MUX_CABLE_INFO
    
    1) "self_link_state"
    2) "up"
    3) "peer_link_state"
    4) "up"
    5) "self_oper_state"
    6) "up"
    7) "peer_oper_state"
    8) "up"
    9) "server_version"
    10) "1.0"
    11) "grpc_connection_status"
    12) "READY"
    13) "self_mux_direction"
    14) "active"
    15) "peer_mux_direction"
    16) "active"
    17) "peer_mux_direction_probe_count"
    18) "23"
    19) "mux_direction_probe_count"
    20) "23"
    21) "link_state_probe_count"
    22) "1"
    23) "peer_link_state_probe_count"
    24) "1"
    25) "operation_state_probe_count"
    26) "1"
    27) "peer_operation_state_probe_count"
    28)"1"
    This data will allow telemetry to check gRPC stats and version of the server and be able to raise alert if needed appropriatley.
    
    Description
    gPRC data for telemetry
    appropriate logic is added for handling the gRPC stats and RPC's are called and counted as appropriate
    
    Motivation and Context
    How Has This Been Tested?
    UT and putting the changes on the testbed
    vdahiya12 authored Jan 21, 2023
    Configuration menu
    Copy the full SHA
    906d198 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2023

  1. [ycabled] add more coverage to ycabled; add minor name change for ven…

    …dor API CLI return key-values pairs (sonic-net#338)
    
    The main motivation of this PR is improve coverage of ycabled.
    While fixing unit test cases found an improvement to the name key-values returned to CLI, changed those names for keys as well
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    
    Description
    Motivation and Context
    How Has This Been Tested?
    Unit-Tests and running the changes on testbed.
    
    Additional Information (Optional)
    vdahiya12 authored Feb 10, 2023
    Configuration menu
    Copy the full SHA
    f132d12 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2023

  1. Configuration menu
    Copy the full SHA
    05dd3bd View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2023

  1. [ycable] add changes for correcting telemetry values for 'active-acti…

    …ve' (sonic-net#341)
    
    * [ycable] add changes for correcting telemetry values for 'active-active'
    
    This change creates unknown, N/A values for active-standby cable types for active-active type cable.
    Since streaming telemetry today looks for both active-active and active-standby for posting values to State DB, this change introduces a one time posting of fields with 'pseudo-cable' type when channels are attempted to be created by ycabled.
    
    Description
    Motivation and Context
    How Has This Been Tested?
    UT and posting the changes on test device.
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Mar 7, 2023
    Configuration menu
    Copy the full SHA
    03374b2 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2023

  1. [Supervisor][fabric] Modify the deinit function not to remove CHASSIS…

    …_FABRIC_ASIC_TABLE when supervisorctl stop chassisd (sonic-net#340)
    
    Code changes are implemented in deinit function such that it does not remove entries in CHASSI_FABRIC_ASIC_TABLE when supervisorctl stop chassisd is triggered.
    prem-nokia authored Mar 16, 2023
    Configuration menu
    Copy the full SHA
    e815bdf View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2023

  1. [ci] Upgrade docker env to bullseye. (sonic-net#349)

    Description
    Upgrade docker env to bullseye.
    Upgrade .NET to 7.0 to match bullseye.
    liushilongbuaa authored Mar 23, 2023
    Configuration menu
    Copy the full SHA
    df1dd6f View commit details
    Browse the repository at this point in the history
  2. chassisd: Fix crash on exit on linecard (sonic-net#347)

    We try to access config_manager, even if it wasn't set. Unconditionally
    set it to resolve the issue.
    patrickmacarthur authored Mar 23, 2023
    Configuration menu
    Copy the full SHA
    11d438a View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2023

  1. Fix issue: Exception occured at SfpStateUpdateTask thread due to KeyE…

    …rror('status') (sonic-net#346)
    
    * Fix issue: Exception occured at SfpStateUpdateTask thread due to KeyError('status')
    
    * Remove unused code
    
    * Update xcvrd.py
    Junchao-Mellanox authored Mar 29, 2023
    Configuration menu
    Copy the full SHA
    3d9cca6 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2023

  1. Retrieve subport from CONFIG_DB to enable breakout support (sonic-net…

    …#342)
    
    Retrieve subport from CONFIG_DB to enable breakout support
    
    ---------
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Apr 4, 2023
    Configuration menu
    Copy the full SHA
    9f3a124 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2023

  1. Update xcvrd to use new STATE_DB FAST_REBOOT entry (sonic-net#335)

    Update xcvrd to check if fast-reboot is enabled according to the new value for FAST_REBOOT entry in STATE_DB.
    
    This PR should come along with the following PRs:
    sonic-net/sonic-utilities#2621
    sonic-net/sonic-buildimage#13484
    sonic-net/sonic-swss-common#742
    sonic-net/sonic-sairedis#1196
    
    This set of PRs solves the issue sonic-net/sonic-buildimage#13251
    
    Description
    Update xcvrd to check the updated form of fast-reboot entry in state-db as it was changed.
    
    Motivation and Context
    Introducing fast-reboot finalizer on top of warmboot-finalizer, fast-reboot entry in STATE_DB is now changed from "1"/None to "enable"/"disable".
    
    How Has This Been Tested?
    Existing tests, and fast-reboot.
    arfeigin authored Apr 10, 2023
    Configuration menu
    Copy the full SHA
    d1203ef View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2023

  1. [CMIS] Add power up duration for power up timeout (sonic-net#345)

    * [CMIS] Add power up duration for power up timeout
    
    Signed-off-by: chiourung_huang <chiourung_huang@edge-core.com>
    
    * modify function name after code review
    
    ---------
    
    Signed-off-by: chiourung_huang <chiourung_huang@edge-core.com>
    chiourung authored Apr 26, 2023
    Configuration menu
    Copy the full SHA
    95c7670 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2023

  1. PSUD-Delete or update CHASSIS_INFO table PSU/Modules data if added or… (

    sonic-net#351)
    
    * PSUD-Delete or update CHASSIS_INFO table PSU/Modules data if added or removed.
    
    Signed-off-by: prem-nokia <premnath.saravanan@nokia.com>
    
    * fix swsscommon.py hdel function.
    
    * implemented code optimization.
    
    Signed-off-by: premsara <premnath.saravanan@nokia.com>
    
    ---------
    
    Signed-off-by: prem-nokia <premnath.saravanan@nokia.com>
    Signed-off-by: premsara <premnath.saravanan@nokia.com>
    prem-nokia authored May 5, 2023
    Configuration menu
    Copy the full SHA
    f743d7c View commit details
    Browse the repository at this point in the history

Commits on May 12, 2023

  1. Use tx_disable_channel with media_lanes_mask (sonic-net#353)

    * Use tx_disable_channel with media_lanes_mask
    
    Invoke tx_disable_channel() api using the correct media_lanes_mask in case of subport shut/no shut operations
    rajann authored May 12, 2023
    Configuration menu
    Copy the full SHA
    1d79bb4 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2023

  1. [ycabled] refactor code for onboarding async client changes;refactor (s…

    …onic-net#355)
    
    This change onboards refactor of various redis DB opens in y_cable_table-helper.py file and is required to onboard y_cable_async_client PR sonic-net#327
    
    Basically it has changes for all the table to be now exclusively opened once per class instance .
    It also accommodates refactor for getting async channels open given the params to open it.
    
    Description
    Motivation and Context
    refactor ycabled
    
    How Has This Been Tested?
    UT and deploy changes on test DUT
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored May 23, 2023
    Configuration menu
    Copy the full SHA
    6202a95 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. add async notification support in active-active topo; refactor code f…

    …or ycable tasks for change events (sonic-net#327)
    
    Signed-off-by: vaibhav-dahiya vdahiya@microsoft.com
    This PR adds an enhancement to ycabled when if and whenever a notification arrives from SoC or server that it is going to be serviced. The notification can come at anytime and hence it must be listened to or awaited by the client at all times. For this we use asyncio lib and avail the async functionality in python.
    
    the added code defines a GracefulRestartClient class that can be used to send requests to a gRPC server for graceful restart. The class has three async methods: send_request, receive_response, and notify_graceful_restart_start.
    
    send_request method retrieves tor from request_queue, creates a request with the ToR, and sends it to the server using the stub's NotifyGracefulRestartStart method. It then reads the response from the server and prints the details of the response.
    
    receive_response method retrieves response from response_queue, prints/puts the the response in DB, sleeps for the period mentioned in the response, and then puts the tor of the response back in the request_queue
    
    We follow the existing ycabled pattern and instantiate the task_worker which contains all these tasks in a seperate thread
    
    Description
    Motivation and Context
    How Has This Been Tested?
    UT and using this server to validate
    vdahiya12 authored May 26, 2023
    Configuration menu
    Copy the full SHA
    d6b2a02 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2023

  1. [ycabled] fix bug for show mux status delayed response (sonic-net#364)

    This PR fixes a bug for show mux status CLI delay. In particular a subroutine is missing an argument which is invoked when
    show mux status CLI is invoked.
    
    This PR therefore fixes these exceptions, which includes a fix for insecure channel having a credential argument by removing it
    
    assignment
    Description
    Motivation and Context
    How Has This Been Tested?
    Running the changes on DUT and through unit-tests
    
    Signed-off-by: vaibhav dahiya <vdahiya@microsoft.com>
    vdahiya12 authored May 31, 2023
    Configuration menu
    Copy the full SHA
    4f9ea2d View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2023

  1. [xcvrd] Reduce vendor_key to vendor_name for media_settings lookup (s…

    …onic-net#366)
    
    Signed-off-by: Aman Singhal <amans@cisco.com>
    amnsinghal authored Jun 2, 2023
    Configuration menu
    Copy the full SHA
    8a1ea04 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2023

  1. [dualtor] Fix command show mux status (sonic-net#371)

    Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
    lolyu authored Jun 5, 2023
    Configuration menu
    Copy the full SHA
    b9d52d2 View commit details
    Browse the repository at this point in the history
  2. [ycabled] correct the wrong function call for 'config hwmode state' (s…

    …onic-net#372)
    
    This PR fixes the other sub routine by adding the param hw_mux_cable_tbl to
    handle_config_hwmode_state_cmd_arg_tbl_notification method, since this is called by wrong params
    
    How Has This Been Tested?
    UT and testing this on DUT
    vdahiya12 authored Jun 5, 2023
    Configuration menu
    Copy the full SHA
    37f0c36 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2023

  1. Add serial field to chassis module table (sonic-net#363)

    Add support for serial field to into STATE_DB CHASSIS_MODULE_TABLE
    amulyan7 authored Jun 7, 2023
    Configuration menu
    Copy the full SHA
    e98a850 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2023

  1. [ci] Migrate agent pool to self hosted pool (sonic-net#374)

    * [ci] Migrate agent pool to self hosted pool
    
    * fix
    liushilongbuaa authored Jun 8, 2023
    Configuration menu
    Copy the full SHA
    b56e534 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2023

  1. Separate periodic v/s fixed EEPROM reads between threads and optimize…

    … xcvrd boot-up time (sonic-net#360)
    
    * Separate periodic v/s fixed EEPROM reads between threads and optimize xcvrd boot-up time
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Jun 13, 2023
    Configuration menu
    Copy the full SHA
    55996c7 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2023

  1. [ycable] change logging level for stop main loop to NOTICE from ERR (s…

    …onic-net#376)
    
    Signed-off-by: vaibhav dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jun 14, 2023
    Configuration menu
    Copy the full SHA
    4e4f3cb View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2023

  1. add semgrep (sonic-net#379)

    **Why I did it**
    [Semgrep](https://github.com/returntocorp/semgrep) is a static analysis tool to find security vulnerabilities.
    When opening a PR or commtting to PR, Semgrep performs a diff-aware scanning, which scans changed files in PRs.
    When merging PR, Semgrep performs a full scan on master branch and report all findings.
    
    Ref: - [Supported Language](https://semgrep.dev/docs/supported-languages/#language-maturity) - [Semgrep Rules](https://registry.semgrep.dev/rule)
    
    **How I did it**
    Integrate Semgrep into this repository by committing a job configuration file
    maipbui authored Jun 19, 2023
    Configuration menu
    Copy the full SHA
    81048cd View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2023

  1. [PSU power threshold] Fix logic error: compare the system power with …

    …the PSU's power threshold (sonic-net#367)
    
    * Adjust the logic to check PSU power threshold
    
    Check the system power instead of PSU power against a single PSU's threshold
    
    Signed-off-by: Stephen Sun <stephens@nvidia.com>
    
    * Log only once instead of logging per PSU
    
    Signed-off-by: Stephen Sun <stephens@nvidia.com>
    
    ---------
    
    Signed-off-by: Stephen Sun <stephens@nvidia.com>
    stephenxs authored Jul 7, 2023
    Configuration menu
    Copy the full SHA
    66f981d View commit details
    Browse the repository at this point in the history
  2. [ycabled][active-active] no initialize Async Client, when no active-a…

    …ctive cable type; fix names for all ycabled threads (sonic-net#373)
    
    This PR intends to not start sonic-ycabled's Asynchronous client, when there is no active-active cable type.
    The Problem that we encounter is ycabled expects all threads to be working/running state all the time.
    Since there are no active-active cable_type Async client thread exits gracefully,
    but by design this needs to be working if added to monitor loop thread. So this PR fixes this problem by runnig the Async Client only if configuration is active-active for atleast a cable.
    
    This PR also has all the infrastructure changes UT for all Classes having infinite loops in ycabled, thus helping in picking up cases if changes break the code.
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jul 7, 2023
    Configuration menu
    Copy the full SHA
    63bd9d8 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2023

  1. Update active application selected code in transceiver_info table aft… (

    sonic-net#381)
    
    * Update active application selected code in transceiver_info table after CMIS config finished successfully
    
    * code rearrangement
    
    * add tests for post_port_active_apsel_to_db()
    
    * also update host_lane_count and media_lane_count
    MichaelWangSmci authored Jul 12, 2023
    Configuration menu
    Copy the full SHA
    432602a View commit details
    Browse the repository at this point in the history
  2. Added PCIe transaction check for all peripherals on the bus (sonic-ne…

    …t#331)
    
    * Added PCIe transaction check for all peripherals on the bus
    
    This is to determine if there are any unreachable devices on the PCIe bus.
    The gold list of PCI peripherals is a static file that varies depending on the platform. BDF information is parsed from this YAML file. Transcations are then carried out to determine the health of each peripheral.
    
    * Modified code to read pcie devices from the pre-configured YAML file
    Modified cmd to be executed to setpci (does pci transaction)
    Added exception handling
    
    * Formalized syslog error messages
    Added specific check for ASIC missing to differentiate from device mismatch
    Added yaml support
    
    * Made changes to the way setpci command is called per SA review comments
    
    * Added comments per prgeor review comments
    
    * Added relevant comments per prgeor review comments
    
    * Fixed a bug that was causing UnboundLocalError.
    
    * Added unit tests for the check_pcie_devices method
    assrinivasan authored Jul 12, 2023
    Configuration menu
    Copy the full SHA
    d73808c View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2023

  1. Fix index out of range in the error log of invalid media lane mask re…

    …ceived (sonic-net#386)
    
    Signed-off-by: Michael Wang <michaelwang@supermicro.com.tw>
    MichaelWangSmci authored Jul 14, 2023
    Configuration menu
    Copy the full SHA
    db6e340 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    94242c2 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2023

  1. Fixes for the issues uncovered by sonic-pcied unit tests (sonic-net#389)

    * Fixes for the following issues:
    
    	- Lack of getKeys() impl in mock swsscommon table class in sonic-pcied
    	- Fixed a 'set' bug in pcied that was uncovered by new code flows
    
    * Removed mocked table instances per prgeor review comments
    assrinivasan authored Jul 19, 2023
    Configuration menu
    Copy the full SHA
    76baca3 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2023

  1. Revert pcied enhancements (sonic-net#392)

    * Revert "Fixes for the issues uncovered by sonic-pcied unit tests (sonic-net#389)"
    
    This reverts commit 76baca3.
    
    * Revert "Added PCIe transaction check for all peripherals on the bus (sonic-net#331)"
    
    This reverts commit d73808c.
    
    * Fixes for the issues uncovered by sonic-pcied unit tests (sonic-net#389)
    
    * Fixes for the following issues:
    
    	- Lack of getKeys() impl in mock swsscommon table class in sonic-pcied
    	- Fixed a 'set' bug in pcied that was uncovered by new code flows
    
    * Removed mocked table instances per prgeor review comments
    assrinivasan authored Aug 8, 2023
    Configuration menu
    Copy the full SHA
    f3c2631 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2023

  1. Apply custom Si settings via CMIS: SONiC xcvrd platform daemon changes (

    sonic-net#385)
    
    * Optics SI settings changes for platform daemon
    AnoopKamath authored Aug 16, 2023
    Configuration menu
    Copy the full SHA
    816059b View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2023

  1. [ycable] Curb log messages in active-active by changing verbosity lev…

    …el; fix missing namespaces in delete event handle (sonic-net#391)
    
    * [ycabled][active-active] Correct the behavior when no active-active
    cable type
    
    Signed-off-by: vaibhav dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Aug 17, 2023
    Configuration menu
    Copy the full SHA
    82506ce View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2023

  1. [pmon][chassis][voq] Chassis DB cleanup when module is down (sonic-ne…

    …t#394)
    
    Description
    Following changes are done in this PR
    - In line card pmon:chassisd:
    - line card's hostname and number of asics is pushed to a new table CHASSIS_MODULE_TABLE in chassis state db in redis_chassis server. The hostname and number of asics are required to clean up chassis add db. 'hostname' and asic name are used to construct key for chassis app db entries.
    - In supervisor pomon:chassisd:
    - When midplane connectivity loss is deteced, error syslog is generated. No chassis app db clean up is done for midplane connectivity loss.
    - When a module goes down and if it is in down state for more than 30 minutes, chassis app db clean up is done for all the asics of the module that went down. As part of the clean up entries created by all the asics of the down module are deleted from the following tables in chassis app db in redis_chassis server in supervisor.
    (1) SYSTEM_NEIGH
    (2) SYSTEM_INTERFACE
    (3) SYSTEM_LAG_MEMBER_TABLE
    (4) SYSTEM_LAG_TABLE
    The LAG IDs used by the asics of the down module are also de-allocated from SYSTEM_LAG_ID_TABLE and SYSTEM_LAG_ID_SET.
    
    Motivation and Context
    In an operational system, if a line card is brought down the entries created by the down line card are still present in the chassis db and hence the corresponding voq system entries (such as system interface, systen neighbor and so on ) in all other line cards. These stale entries may affect the accuracy of the current entries. To fix this, we cleanup the chassis db for all asics of a given line card that is detected to be down for a long period of time.
    
    How Has This Been Tested?
    After the chassis is up with a line card
    (1) Pull out the line card. Notice the error log message indicating line card down. Re-insert the line card/Bring up the line card within 30 minutes and observe that the chassis db entries created by this line card are not cleaned.
    (2) Pull out the line card. Notice the erroe log message indicating line card down. After more than 30 minutes, observe that the chassis db does not have entries created by the removed line card.
    vganesan-nokia authored Sep 1, 2023
    Configuration menu
    Copy the full SHA
    c1c43f6 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2023

  1. PMON Voltage and Current Sensor Monitor (sonic-net#393)

    Sensormond daemon is introduced. It collects the voltage and current sensor information from the platform and populates in the StateDB. The sensor data is available to view using CLIs. Sensormond raises syslogs when the sensors report measurement outside the thresholds.
    
    sonic-net/SONiC#1394
    bmridul authored Sep 7, 2023
    Configuration menu
    Copy the full SHA
    b3d544f View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2023

  1. Remove commadn to install libhiredis deb file (sonic-net#398)

    libhiredis is now used as-is from the slave container, since we're not
    making any changes to this package. See also
    sonic-net/sonic-buildimage#15633.
    
    Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
    saiarcot895 authored Sep 13, 2023
    Configuration menu
    Copy the full SHA
    ce280c6 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2023

  1. [pmon]chassisd crash fix (sonic-net#396)

    This commit has fix for the chassisd crash reported by PR #16465
    Root cause:
        - In the line card pmon, while pushing the hostname to
        CHASSIS_HOST_TABLE in chassis state db, the slot id is also pushed.
        The slot id (self.my_slot) is not a string. Since the FieldValue
        construction function expects string values, the wrapper raises
        value TypeError exception and hence chassisd exited.
    Fix:
        - Fixed by hard converting self.my_slot to string while passing the
        value to the FieldValue data construction function.
    
    Signed-off-by: vedganes <veda.ganesan@nokia.com>
    Co-authored-by: gechiang <62408185+gechiang@users.noreply.github.com>
    Co-authored-by: abdosi <58047199+abdosi@users.noreply.github.com>
    3 people authored Sep 14, 2023
    Configuration menu
    Copy the full SHA
    3b969c3 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2023

  1. Update the code coverage rate to 80% (sonic-net#406)

    Description
    Update the code coverage rate to 80%
    xumia authored Nov 16, 2023
    Configuration menu
    Copy the full SHA
    55a6828 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2023

  1. Add dynamic sensor logic for fixed and psu presence/state checking in…

    … thermalctld (sonic-net#401)
    
    * add modular sensor logic even for fixed devices and presence/status checking for PSUs
    
    * test changes
    
    * fixing accidental removal of name
    
    * logic correction
    
    * isolating key error
    
    * psu runtime change
    
    * fixing whitespace addition
    
    * remove powergood check from thermalctld logic
    gregoryboudreau authored Nov 28, 2023
    Configuration menu
    Copy the full SHA
    e2d9f87 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2023

  1. Configuration menu
    Copy the full SHA
    502c0b6 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. 400ZR not linking up with latest SONiC master image (sonic-net#410)

    * 400ZR not linking up with latest SONiC master image
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * 400ZR not linking up with latest SONiC master image
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Added testcase to improve code coverage
    
    ---------
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Dec 7, 2023
    Configuration menu
    Copy the full SHA
    1c9b01d View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. Mark sub-port interfaces as invalid ports in xcvrd (sonic-net#412)

    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Dec 15, 2023
    Configuration menu
    Copy the full SHA
    b2b8905 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2023

  1. Support 800G ifname in xcvrd (sonic-net#416)

    * Support 800G iframe in xcvrd
    
    * Add code coverage
    AnoopKamath authored Dec 21, 2023
    Configuration menu
    Copy the full SHA
    b1e51c3 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. Unable to retrieve media settings with just Vendor name (sonic-net#419)

    * Unable to retrieve media settings with just Vendor name
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Added changes for the port media section
    
    ---------
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Jan 16, 2024
    Configuration menu
    Copy the full SHA
    d8977f3 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2024

  1. Configuration menu
    Copy the full SHA
    13c5049 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2024

  1. Move firmware version fields to TRANSCEIVER_FIRMWARE_INFO table (soni…

    …c-net#435)
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Feb 16, 2024
    Configuration menu
    Copy the full SHA
    f1511c2 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2024

  1. Enhance port_update_event logic to be thread-safe (sonic-net#430)

    * Enhance port_mapping to be multi-thread safe
    
    * Increase cov for handle_port_update_event test in test_xcvrd.py
    
    * Fix comment in test_xcvrd.py
    
    * Migrate to PortChangeObserver class to handle port update events
    
    * Rename port_mapping.py to port_event_helper.py
    
    * Remove unused import statement in port_event_helper.py
    
    * Resolve issue after update branch to latest master
    longhuan-cisco authored Feb 23, 2024
    Configuration menu
    Copy the full SHA
    9141305 View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. Configuration menu
    Copy the full SHA
    b9e6ba5 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2024

  1. Combine psu presence/status update with data update (sonic-net#424)

    When sysfs is simultaneously changing while psud updating, some data could be outdated immediately once read, so delay the psu presence and status updating to the final step, insure we get the latest info.
    
    Description
    PSU Model Serial HW Rev Voltage (V) Current (A) Power (W) Status LED
    PSU 1 N/A N/A N/A 12.00 N/A N/A OK green
    PSU 2 XXXXXXX XXXXXXXX A3 12.01 16.25 194.75 OK green
    
    The status should be NOTOK as the psu had been turned off and other fields had became N/A as expected.
    
    Motivation and Context
    The failure flow are showing below:
    
        psu_db_update(self.psu_tbl, self.num_psus) // here we read and update the old data of psu status. 
        self.update_psu_data() // now psu status had been changed to NOTOK, but we won’t read it until next psu update cycle , other filed becomes N/A as expected.
    How Has This Been Tested?
    platform_tests/api/test_psu.py
    
    Signed-off-by: Yuanzhe, Liu <yualiu@nvidia.com>
    yuazhe authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    55b5805 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2024

  1. Enable periodic polling of TRANSCEIVER_FIRMWARE_INFO table in DomInfo…

    …UpdateTask (sonic-net#443)
    
    * Enable periodic polling of TRANSCEIVER_FIRMWARE_INFO table in DomInfoUpdateTask
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Addressed testcase failure
    
    * Renamed dom_status to dom_polling
    
    ---------
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Mar 6, 2024
    Configuration menu
    Copy the full SHA
    8829614 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2024

  1. Configuration menu
    Copy the full SHA
    a591c8a View commit details
    Browse the repository at this point in the history
  2. Add deterministic link bring-up feature for SFF compliant modules (so…

    …nic-net#383)
    
    * SFF manager for handling QSFP+/QSFP28 transceiver modules
    longhuan-cisco authored Mar 7, 2024
    Configuration menu
    Copy the full SHA
    8a5ca2b View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2024

  1. [ycabled] Fix insert delete events for ycabled OIR by subscribing to …

    …TRANSCEIVER_INFO instead of TRANSCEIVER_STATUS table (sonic-net#442)
    
    * [ycabled] Fix insert delete events for ycabled OIR by subscribing to
    TRANSCEIVER_INFO
    
    
    Signed-off-by: Vaibhav Dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Mar 13, 2024
    Configuration menu
    Copy the full SHA
    04b0f88 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2024

  1. Added support for file system based sensors implementation. (sonic-ne…

    …t#438)
    
    * Added support for file system based sensors implementation.
    
    * Fixed UT
    
    * Fixed UT coverage
    bmridul authored Mar 20, 2024
    Configuration menu
    Copy the full SHA
    d513eca View commit details
    Browse the repository at this point in the history
  2. Disable periodic polling of port in DomInfoUpdateTask thread during C…

    …MIS init (sonic-net#449)
    
    * Disable periodic polling of port in DomInfoUpdateTask thread during CMIS init
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Replaced sharing of cmis_state from instance to a field in TRANSCEIVER_STATUS table
    
    * Improved code coverage
    
    * Moved update_port_transceiver_status_table_sw_cmis_state to CmisManagerTask class
    
    * Initializing cmis_state to CMIS_STATE_UNKNOWN while spawning CmisManagerTask
    
    ---------
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Mar 20, 2024
    Configuration menu
    Copy the full SHA
    2770fd2 View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2024

  1. [warm/fast-reboot] Retain TRANSCEIVER_INFO/STATUS tables on deinit (s…

    …onic-net#454)
    
    * [warmboot] Retain TRANSCEIVER_INFO/STATUS tables on deinit
    
    Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
    
    * add UT
    
    Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
    
    * Update IT
    
    Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
    
    ---------
    
    Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
    stepanblyschak authored Apr 5, 2024
    Configuration menu
    Copy the full SHA
    d0fd1e1 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2024

  1. Fix intermittent build failure for test_SfpStateUpdateTask_task_run_s…

    …top (sonic-net#461)
    
    * Fix intermittent built failure for test_SfpStateUpdateTask_task_run_stop
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Modified polling to forever
    
    ---------
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Apr 9, 2024
    Configuration menu
    Copy the full SHA
    b5f838d View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2024

  1. [xcvrd] Ignore processing ports that are not front-panel (sonic-net#455)

    Ignore processing the front panel ports in xcvrd. This include ports with suffixes other than Ethernet and ports that have role field set to any value other than Ext.
    
    Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
    vivekrnv authored Apr 17, 2024
    Configuration menu
    Copy the full SHA
    805c76a View commit details
    Browse the repository at this point in the history
  2. Support to get MEDIA_SETTING and OPTICS_SI from both platform folder …

    …and HWSKU folder (sonic-net#456)
    
    * support to get MEDIA_SETTING and OPTICS_SI from both platform folder and HWSKU folder
    
    * Add unit test cases
    
    Signed-off-by: Kebo Liu <kebol@nvidia.com>
    
    * fix unit test failure
    
    Signed-off-by: Kebo Liu <kebol@nvidia.com>
    
    ---------
    
    Signed-off-by: Kebo Liu <kebol@nvidia.com>
    keboliu authored Apr 17, 2024
    Configuration menu
    Copy the full SHA
    25e22cd View commit details
    Browse the repository at this point in the history
  3. [chassis][linecard] Fix Module LINECARD<> went off-line message for e…

    …mpty slot issue (sonic-net#462)
    
    * [chassis][linecard] Fix Module LINECARD<> went off-line message for empty slot issue
    
    Signed-off-by: mlok <marty.lok@nokia.com>
    
    * Define/use get_module_current_status()
    
    ---------
    
    Signed-off-by: mlok <marty.lok@nokia.com>
    Co-authored-by: Arvindsrinivasan Lakshmi Narasimhan <55814491+arlakshm@users.noreply.github.com>
    mlok-nokia and arlakshm authored Apr 17, 2024
    Configuration menu
    Copy the full SHA
    0f61e15 View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2024

  1. [PSUd]Update predefined position_in_parent and parent_name of PSU onl…

    …y once (sonic-net#452)
    
    The values of position_in_parent and parent_name for PSU will remain unchanged.
    Consequently, update the predefined position_in_parent and parent_name of the PSU only once.
    PJHsieh authored Apr 21, 2024
    Configuration menu
    Copy the full SHA
    4533780 View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2024

  1. [Xcvrd] Skip to get dom/threshold/pm for flat memory (sonic-net#458)

    * [Xcvrd] Skip to get dom/threshold/pm for flat memory
    
    Signed-off-by: chiourung_huang <chiourung_huang@edge-core.com>
    
    * Add test case
    
    ---------
    
    Signed-off-by: chiourung_huang <chiourung_huang@edge-core.com>
    chiourung authored Apr 22, 2024
    Configuration menu
    Copy the full SHA
    759862e View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2024

  1. Adding frequency grid validation for ZR optics (sonic-net#466)

    * Update test_xcvrd.py
    
    Added test case for frequency config validation for ZR optics
    
    * Update xcvrd.py
    
    Added change to call validation routine for laser frequency grid check.
    
    * Added 100Ghz grid check
    
    * Addresses indentation xcvrd.py
    
    * Updated xcvrd.py with proper return enum values
    
    * Updated test cases for coverage
    
    * Update for code optimisation
    
    * Added frequency and grid information is failure cases
    
    * renamed the function to validate_frequency_and_grid
    balram-csco authored Apr 29, 2024
    Configuration menu
    Copy the full SHA
    6655396 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. Handling exceptions in CMIS SM to prevent xcvrd crash (sonic-net#483)

    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored May 1, 2024
    Configuration menu
    Copy the full SHA
    eb91cb7 View commit details
    Browse the repository at this point in the history
  2. [xcvrd] Fix issue: logical_port_name is not defined (sonic-net#482)

    * [xcvrd] Fix issue: logical_port_name is not defined
    
    * Add UT
    
    ---------
    
    Co-authored-by: Prince George <45705344+prgeor@users.noreply.github.com>
    Junchao-Mellanox and prgeor authored May 1, 2024
    Configuration menu
    Copy the full SHA
    7e18648 View commit details
    Browse the repository at this point in the history
  3. [ycabled] [active-standby] add changes for correcting telemetry value…

    …s for 'active-standby' when the cable is present but vendor name and part number is not recognized (sonic-net#478)
    
    * [ycabled] [active-standby] add changes for correcting telemetry values
    for 'active-standby' when the cable is present but vendor name and part
    number is not recognized
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    
    * add tests
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    
    ---------
    
    Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
    vdahiya12 authored May 1, 2024
    Configuration menu
    Copy the full SHA
    9d0c550 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2024

  1. [chassis][midplane] Modify the chassisd to log expected/unexpected mi…

    …dplane connectivity messages (sonic-net#480)
    
    * [chassis][midplane] Modify the chassisd to log expected/unexpected midplane connectivity messages
    
    Add mechanism to get the linecard_reboot_timeout value from platform_env.conf file.
    This provides capabilitiy to different platform can have a different timeout value
    
    * Add UT test linecard reboot
    
    ---------
    
    Signed-off-by: mlok <marty.lok@nokia.com>
    mlok-nokia authored May 15, 2024
    Configuration menu
    Copy the full SHA
    88bf8ec View commit details
    Browse the repository at this point in the history

Commits on May 17, 2024

  1. CMIS 'ConfigSuccess" failure while changing default ApSel code for 80…

    …0G DR8/FR8 modules (sonic-net#459)
    
    * Update xcvrd.py
    
    Reset AppSel value for all lanes when setting non default app value
    
    * update reset_app_code mock test
    
    * Update mock test for reset_app_code
    
    * Add new api to reset app code
    
    * Fix build failures and add return type
    
    * Rename apis
    
    * Address review comments
    
    rename APIs
    
    * remove decommission api from xcvrd
    
    * Update xcvrd.py
    
    * Update test_xcvrd.py
    
    * Update test_xcvrd.py
    
    * Update test_xcvrd.py
    
    * Update test_xcvrd.py
    
    * Add mock test to capture fail case
    
    * Address review comments
    AnoopKamath authored May 17, 2024
    Configuration menu
    Copy the full SHA
    9ffce20 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. Update for the procedures for insertion/hot swap of Switch Fabric Mod…

    …ule (SFM) by using "config chassis modules shutdown/startup" commands (sonic-net#491)
    
    * Update for the procedures for insertion/hot swap of Switch Fabric Module(SFM) by using "config chassis modules shutdown/startup" commands
    JunhongMao authored May 29, 2024
    Configuration menu
    Copy the full SHA
    28302d4 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. Implementation of a Monitoring Daemon for storage devices in SONiC sw…

    …itches (sonic-net#433)
    
    * Initial commit of ssdmond
    assrinivasan authored May 31, 2024
    Configuration menu
    Copy the full SHA
    f41ecca View commit details
    Browse the repository at this point in the history
  2. Fix for #19116 [xcvrd] typo "log_notifce" results in port oper down (s…

    …onic-net#493)
    
    * Update xcvrd.py
    
    * Update test_xcvrd.py
    AnoopKamath authored May 31, 2024
    Configuration menu
    Copy the full SHA
    76cf1dc View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. [CMIS] Skip re-init flow for SW-controlled ports in case of fastboot (s…

    …onic-net#497)
    
    * [CMIS] Skip re-init flow for SW-controlled ports in case of fastboot
    
    Signed-off-by: vadymhlushko-mlnx <vadymh@nvidia.com>
    
    * Change the log message
    
    Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
    
    ---------
    
    Signed-off-by: vadymhlushko-mlnx <vadymh@nvidia.com>
    Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
    Co-authored-by: vadymhlushko-mlnx <vadymh@nvidia.com>
    stepanblyschak and vadymhlushko-mlnx authored Jun 10, 2024
    Configuration menu
    Copy the full SHA
    efb4dbd View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. Configuration menu
    Copy the full SHA
    6694d3b View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. Configuration menu
    Copy the full SHA
    b145f32 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. [xcvrd] Modify to support regular expression when parsing the key in …

    …media_settings.json (sonic-net#471)
    
    * [xcvrd] Modify to support regular expression when parsing the key in media_settings.json
    
    * fix unit test error
    
    * add unit test for getting media settings value with regular expression
    
    * define get_media_settings()
    
    * apply the suggestion for if condition
    DennisChiuEC authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    74881e1 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. Initialize application specific fields as 'N/A' in TRANSCEIVER_INFO t…

    …able (sonic-net#511)
    
    * Initialize application specific fields as 'N/A' in TRANSCEIVER_INFO table
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Changed a debug log to warning
    
    * Modified log_error to log_warning
    
    * Added comment for updating DB after xcvrd restart
    
    ---------
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Jul 16, 2024
    Configuration menu
    Copy the full SHA
    bc936a4 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. [ycabled][active-active] Fix in gRPC channel callback logic by creati…

    …ng swsscommon table within the context (sonic-net#509)
    
    * [ycabled][active-active] Fix in gRPC channel callback logic by creating
    swsscommon table within the context
    
    Signed-off-by: Vaibhav Dahiya <vdahiya@microsoft.com>
    
    * fix UT
    
    Signed-off-by: Vaibhav Dahiya <vdahiya@microsoft.com>
    
    * add more tests
    
    Signed-off-by: Vaibhav Dahiya <vdahiya@microsoft.com>
    
    * typo
    
    Signed-off-by: Vaibhav Dahiya <vdahiya@microsoft.com>
    
    * add port
    
    Signed-off-by: Vaibhav Dahiya <vdahiya@microsoft.com>
    
    * add logging
    
    Signed-off-by: Vaibhav Dahiya <vdahiya@microsoft.com>
    
    * add tests
    
    Signed-off-by: Vaibhav Dahiya <vdahiya@microsoft.com>
    
    ---------
    
    Signed-off-by: Vaibhav Dahiya <vdahiya@microsoft.com>
    vdahiya12 authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    8c89f6b View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. [xcvrd] Fix xcvrd crash for RJ45 cable type (#513)

    Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
    vivekrnv authored Jul 23, 2024
    Configuration menu
    Copy the full SHA
    d6a4635 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. Remove redundant xcvr_table_helper init during CmisManagerTask init (…

    …#521)
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Jul 24, 2024
    Configuration menu
    Copy the full SHA
    bf865c6 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. [chassis][pmon][chassid] Enhance the chassid module on-line or off-li…

    …ne log messages with physical slot number (#530)
    
    * [chassis][pmon][chassid] Enhance the chassid module on-line or off-line with physical slot num
    
    ---------
    
    Signed-off-by: mlok <marty.lok@nokia.com>
    mlok-nokia authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    b3189e3 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. [PMON][psud] Fix the repeated NOTICE log message on Chassis platform …

    …(#529)
    
    * [PMON][psud] Fix the repeated NOTICE log message on Chassis platform
    
    Signed-off-by: mlok <marty.lok@nokia.com>
    
    * Fix the Unit test
    
    ---------
    
    Signed-off-by: mlok <marty.lok@nokia.com>
    mlok-nokia authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    f581c06 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. [xcvrd] Add logs to improve debugging in xcvrd (#539)

    * [xcvrd] Add logs to improve debugging in xcvrd
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Fixed unit-test failure
    
    * Improved code coverage
    
    * Changed warning to notice
    
    ---------
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    2c39785 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. Improve parsing of media-settings.json for non-CMIS and breakout port…

    …s (#533)
    
    * Enhance media_settings_parser for 100G xcvr and DPB etc
    
    * Revert space change
    
    * Cover corner cases
    
    * Change log message level
    
    * Fix docstring and update name of get_speed_lane_count_and_subport
    
    * Address comment
    
    * Change to re.fullmatch for lane_speed key
    longhuan-cisco authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    604e454 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. Xcvrd crash and restart should not cause link flap on platforms needi…

    …ng custom NPU SI settings (#541)
    
    * Xcvrd crash and restart should not cause link flap on platforms needing custom SI settings
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    
    * Improved code coverage
    
    ---------
    
    Signed-off-by: Mihir Patel <patelmi@microsoft.com>
    mihirpat1 authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    ca812b0 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2024

  1. Configuration menu
    Copy the full SHA
    dbdee66 View commit details
    Browse the repository at this point in the history