Skip to content

Commit

Permalink
Merge branch 'master' into spilkey/fan_tolerance
Browse files Browse the repository at this point in the history
  • Loading branch information
spilkey-cisco authored Jul 6, 2023
2 parents c0d4fcc + 10af810 commit 093c69f
Show file tree
Hide file tree
Showing 4 changed files with 122 additions and 121 deletions.
22 changes: 22 additions & 0 deletions .github/workflows/semgrep.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Semgrep

on:
pull_request: {}
push:
branches:
- master
- '201[7-9][0-1][0-9]'
- '202[0-9][0-1][0-9]'

jobs:
semgrep:
if: github.repository_owner == 'sonic-net'
name: Semgrep
runs-on: ubuntu-latest
container:
image: returntocorp/semgrep
steps:
- uses: actions/checkout@v3
- run: semgrep ci
env:
SEMGREP_RULES: p/default
6 changes: 3 additions & 3 deletions sonic_platform_base/sonic_ssd/ssd_generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ def parse_innodisk_info(self):
if self.vendor_ssd_info:
self.health = self._parse_re('Health:\s*(.+?)%', self.vendor_ssd_info)
self.temperature = self._parse_re('Temperature\s*\[\s*(.+?)\]', self.vendor_ssd_info)

if self.health == NOT_AVAILABLE:
health_raw = self.parse_id_number(INNODISK_HEALTH_ID)
if health_raw == NOT_AVAILABLE:
Expand All @@ -150,10 +150,10 @@ def parse_virtium_info(self):
pass
else:
try:
self.health = float(self._parse_re('Remaining_Life_Left\s*\d*\s*(\d+?)\s+', self.vendor_ssd_info))
self.health = float(self._parse_re('Remaining_Life_Left\s*\d*\s*\d*\s*(\d+?)\s+', self.vendor_ssd_info))
except ValueError:
pass

def fetch_vendor_ssd_info(self, diskdev, model):
self.vendor_ssd_info = self._execute_shell(self.vendor_ssd_utility[model]["utility"].format(diskdev))

Expand Down
159 changes: 69 additions & 90 deletions sonic_platform_base/sonic_xcvr/api/public/c_cmis.py
Original file line number Diff line number Diff line change
Expand Up @@ -361,21 +361,15 @@ def get_transceiver_bulk_status(self):
trans_dom['bias_yp'] = self.vdm_dict['Modulator Bias Y_Phase [%]'][1][0]
trans_dom['cd_shortlink'] = self.vdm_dict['CD high granularity, short link [ps/nm]'][1][0]
trans_dom['cd_longlink'] = self.vdm_dict['CD low granularity, long link [ps/nm]'][1][0]
except KeyError:
pass
trans_dom['dgd'] = self.vdm_dict['DGD [ps]'][1][0]
try:
trans_dom['dgd'] = self.vdm_dict['DGD [ps]'][1][0]
trans_dom['sopmd'] = self.vdm_dict['SOPMD [ps^2]'][1][0]
except KeyError:
pass
trans_dom['soproc'] = self.vdm_dict['SOP ROC [krad/s]'][1][0]
trans_dom['pdl'] = self.vdm_dict['PDL [dB]'][1][0]
trans_dom['osnr'] = self.vdm_dict['OSNR [dB]'][1][0]
trans_dom['esnr'] = self.vdm_dict['eSNR [dB]'][1][0]
trans_dom['cfo'] = self.vdm_dict['CFO [MHz]'][1][0]
trans_dom['tx_curr_power'] = self.vdm_dict['Tx Power [dBm]'][1][0]
trans_dom['rx_tot_power'] = self.vdm_dict['Rx Total Power [dBm]'][1][0]
try:
trans_dom['soproc'] = self.vdm_dict['SOP ROC [krad/s]'][1][0]
trans_dom['pdl'] = self.vdm_dict['PDL [dB]'][1][0]
trans_dom['osnr'] = self.vdm_dict['OSNR [dB]'][1][0]
trans_dom['esnr'] = self.vdm_dict['eSNR [dB]'][1][0]
trans_dom['cfo'] = self.vdm_dict['CFO [MHz]'][1][0]
trans_dom['tx_curr_power'] = self.vdm_dict['Tx Power [dBm]'][1][0]
trans_dom['rx_tot_power'] = self.vdm_dict['Rx Total Power [dBm]'][1][0]
trans_dom['rx_sig_power'] = self.vdm_dict['Rx Signal Power [dBm]'][1][0]
except KeyError:
pass
Expand Down Expand Up @@ -529,44 +523,38 @@ def get_transceiver_threshold_info(self):
trans_dom_th['cdlonglowalarm'] = self.vdm_dict['CD low granularity, long link [ps/nm]'][1][2]
trans_dom_th['cdlonghighwarning'] = self.vdm_dict['CD low granularity, long link [ps/nm]'][1][3]
trans_dom_th['cdlonglowwarning'] = self.vdm_dict['CD low granularity, long link [ps/nm]'][1][4]
except KeyError:
pass
trans_dom_th['dgdhighalarm'] = self.vdm_dict['DGD [ps]'][1][1]
trans_dom_th['dgdlowalarm'] = self.vdm_dict['DGD [ps]'][1][2]
trans_dom_th['dgdhighwarning'] = self.vdm_dict['DGD [ps]'][1][3]
trans_dom_th['dgdlowwarning'] = self.vdm_dict['DGD [ps]'][1][4]
try:
trans_dom_th['dgdhighalarm'] = self.vdm_dict['DGD [ps]'][1][1]
trans_dom_th['dgdlowalarm'] = self.vdm_dict['DGD [ps]'][1][2]
trans_dom_th['dgdhighwarning'] = self.vdm_dict['DGD [ps]'][1][3]
trans_dom_th['dgdlowwarning'] = self.vdm_dict['DGD [ps]'][1][4]
trans_dom_th['sopmdhighalarm'] = self.vdm_dict['SOPMD [ps^2]'][1][1]
trans_dom_th['sopmdlowalarm'] = self.vdm_dict['SOPMD [ps^2]'][1][2]
trans_dom_th['sopmdhighwarning'] = self.vdm_dict['SOPMD [ps^2]'][1][3]
trans_dom_th['sopmdlowwarning'] = self.vdm_dict['SOPMD [ps^2]'][1][4]
except KeyError:
pass
trans_dom_th['pdlhighalarm'] = self.vdm_dict['PDL [dB]'][1][1]
trans_dom_th['pdllowalarm'] = self.vdm_dict['PDL [dB]'][1][2]
trans_dom_th['pdlhighwarning'] = self.vdm_dict['PDL [dB]'][1][3]
trans_dom_th['pdllowwarning'] = self.vdm_dict['PDL [dB]'][1][4]
trans_dom_th['osnrhighalarm'] = self.vdm_dict['OSNR [dB]'][1][1]
trans_dom_th['osnrlowalarm'] = self.vdm_dict['OSNR [dB]'][1][2]
trans_dom_th['osnrhighwarning'] = self.vdm_dict['OSNR [dB]'][1][3]
trans_dom_th['osnrlowwarning'] = self.vdm_dict['OSNR [dB]'][1][4]
trans_dom_th['esnrhighalarm'] = self.vdm_dict['eSNR [dB]'][1][1]
trans_dom_th['esnrlowalarm'] = self.vdm_dict['eSNR [dB]'][1][2]
trans_dom_th['esnrhighwarning'] = self.vdm_dict['eSNR [dB]'][1][3]
trans_dom_th['esnrlowwarning'] = self.vdm_dict['eSNR [dB]'][1][4]
trans_dom_th['cfohighalarm'] = self.vdm_dict['CFO [MHz]'][1][1]
trans_dom_th['cfolowalarm'] = self.vdm_dict['CFO [MHz]'][1][2]
trans_dom_th['cfohighwarning'] = self.vdm_dict['CFO [MHz]'][1][3]
trans_dom_th['cfolowwarning'] = self.vdm_dict['CFO [MHz]'][1][4]
trans_dom_th['txcurrpowerhighalarm'] = self.vdm_dict['Tx Power [dBm]'][1][1]
trans_dom_th['txcurrpowerlowalarm'] = self.vdm_dict['Tx Power [dBm]'][1][2]
trans_dom_th['txcurrpowerhighwarning'] = self.vdm_dict['Tx Power [dBm]'][1][3]
trans_dom_th['txcurrpowerlowwarning'] = self.vdm_dict['Tx Power [dBm]'][1][4]
trans_dom_th['rxtotpowerhighalarm'] = self.vdm_dict['Rx Total Power [dBm]'][1][1]
trans_dom_th['rxtotpowerlowalarm'] = self.vdm_dict['Rx Total Power [dBm]'][1][2]
trans_dom_th['rxtotpowerhighwarning'] = self.vdm_dict['Rx Total Power [dBm]'][1][3]
trans_dom_th['rxtotpowerlowwarning'] = self.vdm_dict['Rx Total Power [dBm]'][1][4]
try:
trans_dom_th['pdlhighalarm'] = self.vdm_dict['PDL [dB]'][1][1]
trans_dom_th['pdllowalarm'] = self.vdm_dict['PDL [dB]'][1][2]
trans_dom_th['pdlhighwarning'] = self.vdm_dict['PDL [dB]'][1][3]
trans_dom_th['pdllowwarning'] = self.vdm_dict['PDL [dB]'][1][4]
trans_dom_th['osnrhighalarm'] = self.vdm_dict['OSNR [dB]'][1][1]
trans_dom_th['osnrlowalarm'] = self.vdm_dict['OSNR [dB]'][1][2]
trans_dom_th['osnrhighwarning'] = self.vdm_dict['OSNR [dB]'][1][3]
trans_dom_th['osnrlowwarning'] = self.vdm_dict['OSNR [dB]'][1][4]
trans_dom_th['esnrhighalarm'] = self.vdm_dict['eSNR [dB]'][1][1]
trans_dom_th['esnrlowalarm'] = self.vdm_dict['eSNR [dB]'][1][2]
trans_dom_th['esnrhighwarning'] = self.vdm_dict['eSNR [dB]'][1][3]
trans_dom_th['esnrlowwarning'] = self.vdm_dict['eSNR [dB]'][1][4]
trans_dom_th['cfohighalarm'] = self.vdm_dict['CFO [MHz]'][1][1]
trans_dom_th['cfolowalarm'] = self.vdm_dict['CFO [MHz]'][1][2]
trans_dom_th['cfohighwarning'] = self.vdm_dict['CFO [MHz]'][1][3]
trans_dom_th['cfolowwarning'] = self.vdm_dict['CFO [MHz]'][1][4]
trans_dom_th['txcurrpowerhighalarm'] = self.vdm_dict['Tx Power [dBm]'][1][1]
trans_dom_th['txcurrpowerlowalarm'] = self.vdm_dict['Tx Power [dBm]'][1][2]
trans_dom_th['txcurrpowerhighwarning'] = self.vdm_dict['Tx Power [dBm]'][1][3]
trans_dom_th['txcurrpowerlowwarning'] = self.vdm_dict['Tx Power [dBm]'][1][4]
trans_dom_th['rxtotpowerhighalarm'] = self.vdm_dict['Rx Total Power [dBm]'][1][1]
trans_dom_th['rxtotpowerlowalarm'] = self.vdm_dict['Rx Total Power [dBm]'][1][2]
trans_dom_th['rxtotpowerhighwarning'] = self.vdm_dict['Rx Total Power [dBm]'][1][3]
trans_dom_th['rxtotpowerlowwarning'] = self.vdm_dict['Rx Total Power [dBm]'][1][4]
trans_dom_th['rxsigpowerhighalarm'] = self.vdm_dict['Rx Signal Power [dBm]'][1][1]
trans_dom_th['rxsigpowerlowalarm'] = self.vdm_dict['Rx Signal Power [dBm]'][1][2]
trans_dom_th['rxsigpowerhighwarning'] = self.vdm_dict['Rx Signal Power [dBm]'][1][3]
Expand Down Expand Up @@ -784,61 +772,52 @@ def get_transceiver_status(self):
trans_status['biasyplowalarm_flag'] = self.vdm_dict['Modulator Bias Y_Phase [%]'][1][6]
trans_status['biasyphighwarning_flag'] = self.vdm_dict['Modulator Bias Y_Phase [%]'][1][7]
trans_status['biasyplowwarning_flag'] = self.vdm_dict['Modulator Bias Y_Phase [%]'][1][8]
except KeyError:
pass
trans_status['cdshorthighalarm_flag'] = self.vdm_dict['CD high granularity, short link [ps/nm]'][1][5]
trans_status['cdshortlowalarm_flag'] = self.vdm_dict['CD high granularity, short link [ps/nm]'][1][6]
trans_status['cdshorthighwarning_flag'] = self.vdm_dict['CD high granularity, short link [ps/nm]'][1][7]
trans_status['cdshortlowwarning_flag'] = self.vdm_dict['CD high granularity, short link [ps/nm]'][1][8]
try:
trans_status['cdshorthighalarm_flag'] = self.vdm_dict['CD high granularity, short link [ps/nm]'][1][5]
trans_status['cdshortlowalarm_flag'] = self.vdm_dict['CD high granularity, short link [ps/nm]'][1][6]
trans_status['cdshorthighwarning_flag'] = self.vdm_dict['CD high granularity, short link [ps/nm]'][1][7]
trans_status['cdshortlowwarning_flag'] = self.vdm_dict['CD high granularity, short link [ps/nm]'][1][8]
trans_status['cdlonghighalarm_flag'] = self.vdm_dict['CD low granularity, long link [ps/nm]'][1][5]
trans_status['cdlonglowalarm_flag'] = self.vdm_dict['CD low granularity, long link [ps/nm]'][1][6]
trans_status['cdlonghighwarning_flag'] = self.vdm_dict['CD low granularity, long link [ps/nm]'][1][7]
trans_status['cdlonglowwarning_flag'] = self.vdm_dict['CD low granularity, long link [ps/nm]'][1][8]
except KeyError:
pass
trans_status['dgdhighalarm_flag'] = self.vdm_dict['DGD [ps]'][1][5]
trans_status['dgdlowalarm_flag'] = self.vdm_dict['DGD [ps]'][1][6]
trans_status['dgdhighwarning_flag'] = self.vdm_dict['DGD [ps]'][1][7]
trans_status['dgdlowwarning_flag'] = self.vdm_dict['DGD [ps]'][1][8]
try:
trans_status['dgdhighalarm_flag'] = self.vdm_dict['DGD [ps]'][1][5]
trans_status['dgdlowalarm_flag'] = self.vdm_dict['DGD [ps]'][1][6]
trans_status['dgdhighwarning_flag'] = self.vdm_dict['DGD [ps]'][1][7]
trans_status['dgdlowwarning_flag'] = self.vdm_dict['DGD [ps]'][1][8]
trans_status['sopmdhighalarm_flag'] = self.vdm_dict['SOPMD [ps^2]'][1][5]
trans_status['sopmdlowalarm_flag'] = self.vdm_dict['SOPMD [ps^2]'][1][6]
trans_status['sopmdhighwarning_flag'] = self.vdm_dict['SOPMD [ps^2]'][1][7]
trans_status['sopmdlowwarning_flag'] = self.vdm_dict['SOPMD [ps^2]'][1][8]
except KeyError:
pass
trans_status['pdlhighalarm_flag'] = self.vdm_dict['PDL [dB]'][1][5]
trans_status['pdllowalarm_flag'] = self.vdm_dict['PDL [dB]'][1][6]
trans_status['pdlhighwarning_flag'] = self.vdm_dict['PDL [dB]'][1][7]
trans_status['pdllowwarning_flag'] = self.vdm_dict['PDL [dB]'][1][8]
trans_status['osnrhighalarm_flag'] = self.vdm_dict['OSNR [dB]'][1][5]
trans_status['osnrlowalarm_flag'] = self.vdm_dict['OSNR [dB]'][1][6]
trans_status['osnrhighwarning_flag'] = self.vdm_dict['OSNR [dB]'][1][7]
trans_status['osnrlowwarning_flag'] = self.vdm_dict['OSNR [dB]'][1][8]
trans_status['esnrhighalarm_flag'] = self.vdm_dict['eSNR [dB]'][1][5]
trans_status['esnrlowalarm_flag'] = self.vdm_dict['eSNR [dB]'][1][6]
trans_status['esnrhighwarning_flag'] = self.vdm_dict['eSNR [dB]'][1][7]
trans_status['esnrlowwarning_flag'] = self.vdm_dict['eSNR [dB]'][1][8]
trans_status['cfohighalarm_flag'] = self.vdm_dict['CFO [MHz]'][1][5]
trans_status['cfolowalarm_flag'] = self.vdm_dict['CFO [MHz]'][1][6]
trans_status['cfohighwarning_flag'] = self.vdm_dict['CFO [MHz]'][1][7]
trans_status['cfolowwarning_flag'] = self.vdm_dict['CFO [MHz]'][1][8]
trans_status['txcurrpowerhighalarm_flag'] = self.vdm_dict['Tx Power [dBm]'][1][5]
trans_status['txcurrpowerlowalarm_flag'] = self.vdm_dict['Tx Power [dBm]'][1][6]
trans_status['txcurrpowerhighwarning_flag'] = self.vdm_dict['Tx Power [dBm]'][1][7]
trans_status['txcurrpowerlowwarning_flag'] = self.vdm_dict['Tx Power [dBm]'][1][8]
trans_status['rxtotpowerhighalarm_flag'] = self.vdm_dict['Rx Total Power [dBm]'][1][5]
trans_status['rxtotpowerlowalarm_flag'] = self.vdm_dict['Rx Total Power [dBm]'][1][6]
trans_status['rxtotpowerhighwarning_flag'] = self.vdm_dict['Rx Total Power [dBm]'][1][7]
trans_status['rxtotpowerlowwarning_flag'] = self.vdm_dict['Rx Total Power [dBm]'][1][8]
try:
trans_status['pdlhighalarm_flag'] = self.vdm_dict['PDL [dB]'][1][5]
trans_status['pdllowalarm_flag'] = self.vdm_dict['PDL [dB]'][1][6]
trans_status['pdlhighwarning_flag'] = self.vdm_dict['PDL [dB]'][1][7]
trans_status['pdllowwarning_flag'] = self.vdm_dict['PDL [dB]'][1][8]
trans_status['osnrhighalarm_flag'] = self.vdm_dict['OSNR [dB]'][1][5]
trans_status['osnrlowalarm_flag'] = self.vdm_dict['OSNR [dB]'][1][6]
trans_status['osnrhighwarning_flag'] = self.vdm_dict['OSNR [dB]'][1][7]
trans_status['osnrlowwarning_flag'] = self.vdm_dict['OSNR [dB]'][1][8]
trans_status['esnrhighalarm_flag'] = self.vdm_dict['eSNR [dB]'][1][5]
trans_status['esnrlowalarm_flag'] = self.vdm_dict['eSNR [dB]'][1][6]
trans_status['esnrhighwarning_flag'] = self.vdm_dict['eSNR [dB]'][1][7]
trans_status['esnrlowwarning_flag'] = self.vdm_dict['eSNR [dB]'][1][8]
trans_status['cfohighalarm_flag'] = self.vdm_dict['CFO [MHz]'][1][5]
trans_status['cfolowalarm_flag'] = self.vdm_dict['CFO [MHz]'][1][6]
trans_status['cfohighwarning_flag'] = self.vdm_dict['CFO [MHz]'][1][7]
trans_status['cfolowwarning_flag'] = self.vdm_dict['CFO [MHz]'][1][8]
trans_status['txcurrpowerhighalarm_flag'] = self.vdm_dict['Tx Power [dBm]'][1][5]
trans_status['txcurrpowerlowalarm_flag'] = self.vdm_dict['Tx Power [dBm]'][1][6]
trans_status['txcurrpowerhighwarning_flag'] = self.vdm_dict['Tx Power [dBm]'][1][7]
trans_status['txcurrpowerlowwarning_flag'] = self.vdm_dict['Tx Power [dBm]'][1][8]
trans_status['rxtotpowerhighalarm_flag'] = self.vdm_dict['Rx Total Power [dBm]'][1][5]
trans_status['rxtotpowerlowalarm_flag'] = self.vdm_dict['Rx Total Power [dBm]'][1][6]
trans_status['rxtotpowerhighwarning_flag'] = self.vdm_dict['Rx Total Power [dBm]'][1][7]
trans_status['rxtotpowerlowwarning_flag'] = self.vdm_dict['Rx Total Power [dBm]'][1][8]
trans_status['rxsigpowerhighalarm_flag'] = self.vdm_dict['Rx Signal Power [dBm]'][1][5]
trans_status['rxsigpowerlowalarm_flag'] = self.vdm_dict['Rx Signal Power [dBm]'][1][6]
trans_status['rxsigpowerhighwarning_flag'] = self.vdm_dict['Rx Signal Power [dBm]'][1][7]
trans_status['rxsigpowerlowwarning_flag'] = self.vdm_dict['Rx Signal Power [dBm]'][1][8]
except KeyError:
helper_logger.log_debug('Rx Signal Power [dBm] not present in VDM')
helper_logger.log_debug('fields not present in VDM')
return trans_status

def get_transceiver_pm(self):
Expand Down
Loading

0 comments on commit 093c69f

Please sign in to comment.