-
Notifications
You must be signed in to change notification settings - Fork 121
Modify sysDescription file location #12
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
could you reopen another one? |
joyas-joseph
added a commit
to joyas-joseph/sonic-snmpagent
that referenced
this pull request
May 6, 2020
May 5 21:35:16.852142 sonic ERR snmp#snmp-subagent [sonic_ax_impl] ERROR: Uncaught exception in sonic_ax_impl.main#012Traceback (most recent call last):sonic-net#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/main.py", line 70, in main#012 event_loop.run_until_complete(agent.run_in_event_loop())sonic-net#12 File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete#012 return future.result()sonic-net#12 File "/usr/local/lib/python3.7/dist-packages/ax_interface/agent.py", line 37, in run_in_event_loop#012 background_task = self.mib_table.start_background_tasks(self.oid_updaters_enabled)sonic-net#12 File "/usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 276, in start_background_tasks#012 task = event._loop.create_task(fut)sonic-net#12 File "/usr/lib/python3.7/asyncio/base_events.py", line 405, in create_task#012 task = tasks.Task(coro, loop=self)#012TypeError: a coroutine was expected, got <Task pending coro=<MIBUpdater.start() running at /usr/local/lib/python3.7/dist-packages/ax_interface/mib.py:34> cb=[MIBTable._done_background_task_callback() at /usr/local/lib/python3.7/dist-packages/ax_interface/mib.py:263]> We really do not need to wrap the future within a task. This also addresses the issue where the subagent would not exit on SIGTERM. Signed-off-by: Joyas Joseph <[email protected]>
qiluo-msft
pushed a commit
that referenced
this pull request
May 6, 2020
May 5 21:35:16.852142 sonic ERR snmp#snmp-subagent [sonic_ax_impl] ERROR: Uncaught exception in sonic_ax_impl.main#012Traceback (most recent call last):#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/main.py", line 70, in main#012 event_loop.run_until_complete(agent.run_in_event_loop())#12 File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete#012 return future.result()#12 File "/usr/local/lib/python3.7/dist-packages/ax_interface/agent.py", line 37, in run_in_event_loop#012 background_task = self.mib_table.start_background_tasks(self.oid_updaters_enabled)#12 File "/usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 276, in start_background_tasks#012 task = event._loop.create_task(fut)#12 File "/usr/lib/python3.7/asyncio/base_events.py", line 405, in create_task#012 task = tasks.Task(coro, loop=self)#012TypeError: a coroutine was expected, got <Task pending coro=<MIBUpdater.start() running at /usr/local/lib/python3.7/dist-packages/ax_interface/mib.py:34> cb=[MIBTable._done_background_task_callback() at /usr/local/lib/python3.7/dist-packages/ax_interface/mib.py:263]> We really do not need to wrap the future within a task. This also addresses the issue where the subagent would not exit on SIGTERM.
stepanblyschak
added a commit
to stepanblyschak/sonic-snmpagent
that referenced
this pull request
Oct 9, 2020
Fix for the following error in syslog: Oct 9 10:07:21.427210 mts-sonic-dut ERR snmp#snmp-subagent [ax_interface] ERROR: MIBUpdater.start() caught an unexpected exception during update_data()#012Traceback (most recent call last):sonic-net#12 File "/usr/local/lib/python3.7/dist-packa ges/ax_interface/mib.py", line 43, in start#012 self.update_data()sonic-net#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ietf/rfc1213.py", line 245, in update_data#012 self.update_rif_counters()sonic-net#12 File "/usr/local /lib/python3.7/dist-packages/sonic_ax_impl/mibs/ietf/rfc1213.py", line 271, in update_rif_counters#012 for sai_id in rif_sai_ids}sonic-net#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ietf/rfc1213.py", line 271, in <dic tcomp>sonic-net#12 for sai_id in rif_sai_ids}sonic-net#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/__init__.py", line 627, in dbs_get_all#012 ns_result = db_conn.get_all(db_name, _hash, *args, **tmp_kwargs)sonic-net#12 File "/usr/ local/lib/python3.7/dist-packages/swsssdk/dbconnector.py", line 295, in get_all#012 return self.dbintf.get_all(db_name, _hash, *args, **kwargs)sonic-net#12 File "/usr/local/lib/python3.7/dist-packages/swsssdk/interface.py", line 38, in wrapp ed#012 ret_data = f(inst, db_name, *args, **kwargs)sonic-net#12 File "/usr/local/lib/python3.7/dist-packages/swsssdk/interface.py", line 314, in get_all#012 raise UnavailableDataError(message, _hash)#012swsssdk.exceptions.UnavailableDataE rror: Key 'b'COUNTERS:oid:0x60000000005d3'' unavailable in database 'COUNTERS_DB' Signed-off-by: Stepan Blyshchak <[email protected]>
qiluo-msft
pushed a commit
that referenced
this pull request
Jan 28, 2021
**- What I did** A 'key not found' exception will be raised in bgp4.py if the state for a given neighbor is not found in STATE_DB. ``` ERR snmp#snmp-subagent [ax_interface] ERROR: MIBUpdater.start() caught an unexpected exception during update_data() #012Traceback (most recent call last): #12 File "/usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 43, in start #12 self.update_data()#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/vendor/cisco/bgp4.py", line 42, in update_data #12 state = neigh_info['state'] #12 File "/usr/lib/python3/dist-packages/swsscommon/swsscommon.py", line 345, in __getitem__ #12 return _swsscommon.FieldValueMap___getitem__(self, key) #012IndexError: key not found ``` It is becaues an empty ```dict``` is returned by ```get_all``` when nothing is found for the given key. So check for ```None``` can't detect the error. **- How I did it** This commit addressed the issue by checking the key ```state```. **- How to verify it** Verified on A7260. No exception is observed after the update. **- Description for the changelog** This PR fix exception caused by non existing key.
qiluo-msft
pushed a commit
that referenced
this pull request
Mar 11, 2022
**- What I did** A KeyError exception raised in rfc1213.py if LAG port don't have L3 interface ```` Oct 25 14:10:29.864852 sonic ERR snmp#snmp-subagent [ax_interface] ERROR: SubtreeMIBEntry.__call__() caught an unexpected exception during _callable_.__call__() #012Traceback (most recent call last): #12 File "/usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 194, in __call__ #12 return self._callable_.__call__(sub_id, *self._callable_args) #12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ietf/rfc1213.py", line 413, in get_counter #12 sai_lag_rif_id = self.port_rif_map[sai_lag_id]#012KeyError: '20000000007c2' ```` **- How I did it** Checked if sai_lag_id is contained in port_rif_map **- How to verify it** Build docker-snmp. No exception is observed.
qiluo-msft
pushed a commit
that referenced
this pull request
Apr 4, 2022
**- Why I did** An exception on LLDPLocalSystemDataUpdater instance is seen when the LOC_CHASSIS_TABLE does not have either lldp_loc_sys_cap_supported or lldp_loc_sys_cap_enabled fields. Although this does not affect an functionality, the exception log can be avoided. ``` tgn-sonic-n1-l1 ERR snmp#snmp-subagent [ax_interface] ERROR: MIBUpdater.start() caught an unexpected exception during update_data()#012Traceback (most recent call last):#12 File " /usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 37, in start#012 self.reinit_data ()#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ieee802_1ab.py", line 129, in reinit_data#012 self.loc_chassis_data['lldp_loc_sys_cap_supported'] = parse_sys_capability(self.loc _chassis_data['lldp_loc_sys_cap_supported'])#012KeyError: 'lldp_loc_sys_cap_supported' ```
qiluo-msft
pushed a commit
that referenced
this pull request
Apr 7, 2022
**- Why I did** An exception on LLDPLocalSystemDataUpdater instance is seen when the LOC_CHASSIS_TABLE does not have either lldp_loc_sys_cap_supported or lldp_loc_sys_cap_enabled fields. Although this does not affect an functionality, the exception log can be avoided. ``` tgn-sonic-n1-l1 ERR snmp#snmp-subagent [ax_interface] ERROR: MIBUpdater.start() caught an unexpected exception during update_data()#012Traceback (most recent call last):#12 File " /usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 37, in start#012 self.reinit_data ()#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ieee802_1ab.py", line 129, in reinit_data#012 self.loc_chassis_data['lldp_loc_sys_cap_supported'] = parse_sys_capability(self.loc _chassis_data['lldp_loc_sys_cap_supported'])#012KeyError: 'lldp_loc_sys_cap_supported' ```
judyjoseph
pushed a commit
that referenced
this pull request
Apr 11, 2022
**- Why I did** An exception on LLDPLocalSystemDataUpdater instance is seen when the LOC_CHASSIS_TABLE does not have either lldp_loc_sys_cap_supported or lldp_loc_sys_cap_enabled fields. Although this does not affect an functionality, the exception log can be avoided. ``` tgn-sonic-n1-l1 ERR snmp#snmp-subagent [ax_interface] ERROR: MIBUpdater.start() caught an unexpected exception during update_data()#012Traceback (most recent call last):#12 File " /usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 37, in start#012 self.reinit_data ()#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ieee802_1ab.py", line 129, in reinit_data#012 self.loc_chassis_data['lldp_loc_sys_cap_supported'] = parse_sys_capability(self.loc _chassis_data['lldp_loc_sys_cap_supported'])#012KeyError: 'lldp_loc_sys_cap_supported' ```
SuvarnaMeenakshi
added a commit
that referenced
this pull request
Apr 13, 2022
…present (#252) - What I did cherrypick of: #246 fixes sonic-net/sonic-buildimage#9996 Handle error seen on system where vlan interface map is not present. This change requires: sonic-net/sonic-py-swsssdk#117 On chassis platform, on supervisor there are not ports available in config_db. So, there is no vlan interface map in counters db, which causes this error in syslog: ERROR: MIBUpdater.start() caught an unexpected exception during update_data()#012Traceback (most recent call last):#12 File "/usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 37, in start#012 self.reinit_data()#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ietf/rfc1213.py", line 233, in reinit_data#012 self.vlan_oid_name_map = Namespace.get_sync_d_from_all_namespace(mibs.init_sync_d_vlan_tables, self.db_conn)#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/__init__.py", line 649, in get_sync_d_from_all_namespace#012 ns_tuple = per_namespace_func(db_conn)#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/__init__.py", line 339, in init_sync_d_vlan_tables#012 vlan_name_map = port_util.get_vlan_interface_oid_map(db_conn)#12 File "/usr/local/lib/python3.7/dist-packages/swsssdk/port_util.py", line 167, in get_vlan_interface_oid_map#012 rif_name_map = db.get_all('COUNTERS_DB', 'COUNTERS_RIF_NAME_MAP', blocking=True)#12 File "/usr/lib/python3/dist-packages/swsscommon/swsscommon.py", line 1751, in get_all#012 return dict(super(SonicV2Connector, self).get_all(db_name, _hash, blocking))#12 File "/usr/lib/python3/dist-packages/swsscommon/swsscommon.py", line 1708, in get_all#012 return _swsscommon.SonicV2Connector_Native_get_all(self, db_name, _hash, blocking)#012RuntimeError: Key '{COUNTERS_RIF_NAME_MAP}' unavailable in database '{COUNTERS_DB}' - How I did it Return empty dict if vlan interface map is not present in DB. - How to verify it With this fix, no error in syslog message. Able to execute other MIB queries on supervisor. UT passes.
lukasstockner
pushed a commit
to genesiscloud/sonic-snmpagent
that referenced
this pull request
Jun 13, 2022
**- What I did** A KeyError exception raised in rfc1213.py if LAG port don't have L3 interface ```` Oct 25 14:10:29.864852 sonic ERR snmp#snmp-subagent [ax_interface] ERROR: SubtreeMIBEntry.__call__() caught an unexpected exception during _callable_.__call__() #012Traceback (most recent call last): sonic-net#12 File "/usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 194, in __call__ sonic-net#12 return self._callable_.__call__(sub_id, *self._callable_args) sonic-net#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ietf/rfc1213.py", line 413, in get_counter sonic-net#12 sai_lag_rif_id = self.port_rif_map[sai_lag_id]#012KeyError: '20000000007c2' ```` **- How I did it** Checked if sai_lag_id is contained in port_rif_map **- How to verify it** Build docker-snmp. No exception is observed.
qiluo-msft
pushed a commit
that referenced
this pull request
Mar 29, 2023
… support for RFC2863 (#279)" (#280) Reverts #279 seeing the below error after PR 279. This is causing failure of getting InterfacesMIB data: docker exec -ti snmp snmpwalk -v2c -c msft 127.0.0.1 1.3.6.1.2.1.2.2.1.1 iso.3.6.1.2.1.2.2.1.1 = No Such Instance currently exists at this OID ERR snmp#snmp-subagent [ax_interface] ERROR: MIBUpdater.start() caught an unexpected exception during update_data()#012Traceback (most recent call last):#12 File "/usr/local/lib/python3.7/dist-packages/ax_interface/mib.py", line 43, in start#012 self.update_data()#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ietf/rfc1213.py", line 255, in update_data#012 self.aggregate_counters()#12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ietf/rfc1213.py", line 371, in aggregate_counters#012 self.rif_counters[rif_sai_id][rif_counter_name]#012KeyError: 'SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS'
liuh-80
added a commit
that referenced
this pull request
Oct 30, 2023
Improve MIBUpdater to re-connect DBConnector when re-init data. #### Work item tracking Microsoft ADO (number only): 24705208 **- What I did** Fix when redis restart, some MIBUpdater's db connection will broken and keeps report error to syslog issue. There will be following message repeat in syslog: ``` #12 File "/usr/local/lib/python3.7/dist-packages/sonic_ax_impl/mibs/ietf/rfc2737.py", line 674, in _update_per_namespace_data# #12 msg = pubsub.get_message()# #12 File "/usr/lib/python3/dist-packages/swsscommon/swsscommon.py", line 1626, in get_message# #12 return _swsscommon.PubSub_get_message(self, timeout)# #012RuntimeError: RedisError: Failed to select, err=3: errstr=Server closed the connection ``` **- How I did it** Re-connect DBConnector in every MIBUpdater's reinit_data method. **- How to verify it** Pass all UT Manually test with following steps: 1. in database container kill redis server. 2. start redis in database container later: service redis-server start 2. check syslog, confirm following log exist but now new log few minutes later after mibs re-init: sudo cat /var/log/syslog | grep rfc2737.py | grep PubSub_get_message Sep 22 03:30:17.223944 vlab-01 ERR snmp#snmp-subagent [ax_interface] ERROR: MIBUpdater.start() caught an unexpected exception during update_data()#012Traceback (most recent call last):#12 File "/usr/local/lib/python3.9/dist-packages/ax_interface/mib.py", line 43, in start#012 self.update_data()#12 File "/usr/local/lib/python3.9/dist-packages/sonic_ax_impl/mibs/ietf/rfc2737.py", line 326, in update_data#012 updater.update_data(i, self.statedb[i])#12 File "/usr/local/lib/python3.9/dist-packages/sonic_ax_impl/mibs/ietf/rfc2737.py", line 666, in update_data#012 self._update_per_namespace_data(self.pub_sub_dict[db_index])#12 File "/usr/local/lib/python3.9/dist-packages/sonic_ax_impl/mibs/ietf/rfc2737.py", line 675, in _update_per_namespace_data#012 msg = pubsub.get_message()#12 File "/usr/lib/python3/dist-packages/swsscommon/swsscommon.py", line 1996, in get_message#012 return _swsscommon.PubSub_get_message(self, timeout, interrupt_on_signal)#012RuntimeError: RedisError: Failed to select, err=3: errstr=Server closed the connection **- Description for the changelog** Improve MIBUpdater to re-connect DBConnector when re-init data.
SuvarnaMeenakshi
added a commit
that referenced
this pull request
Mar 4, 2025
…_DB (#341) **- What I did** Fix to handle error seen: ``` snmp-subagent [ax_interface] ERROR: SubtreeMIBEntry.__call__() caught an unexpected exception during _callable_.__call__()#012Traceback (most recent call last):#12 File "/usr/local/lib/python3.9/dist-packages/ax_interface/mib.py", line 194, in __call__#012 return self._callable_.__call__(sub_id, *self._callable_args)#12 File "/usr/local/lib/python3.9/dist-packages/sonic_ax_impl/mibs/vendor/cisco/ciscoPfcExtMIB.py", line 248, in indications_per_priority#012 counter_value += self._get_counter(mibs.get_index_from_str(lag_member), counter_name)#012TypeError: unsupported operand type(s) for += ``` Above error log occurs when the services restarted, swss/syncd due to some crash/reboot/config reload, this will also cause snmp service to restart. During this time, it can happen that all interface COUNTERS are not yet available in COUNTERS_DB for a short period. At this point, if a SNMP query is made to retrieve interface/PFC counters, then this error syslog will show up until the COUNTERS_DB data is populated with counters for all interfaces. MSFT ADO 26506804 **- How I did it** Avoid adding up counters if _get_counter returns None. **- How to verify it** Before FIX: send a continuous query to get pfc counters for any of the configured port-channel interface: watch -n 1 snmpwalk -v2c -c <comm> <ip> 1.3.6.1.4.1.9.9.813.1.2.1.3.1103 on the device, execute config reload and we should see the error log on the device: After fix, perform same snmpwalk as above, SNMP ERR log will not be seen.
SuvarnaMeenakshi
added a commit
that referenced
this pull request
May 1, 2025
…n COUNTERS_DB (#351) - What I did Fix to handle error seen: ERR snmp#snmp-subagent [ax_interface] ERROR: SubtreeMIBEntry.__call__() caught an unexpected exception during _callable_.__call__()#012Traceback (most recent call last):#12 File "/usr/local/lib/python3.11/dist-packages/ax_interface/mib.py", line 248, in __call__#012 return self._callable_.__call__(sub_id, *self._callable_args)#12 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#12 File "/usr/local/lib/python3.11/dist-packages/sonic_ax_impl/mibs/ietf/rfc1213.py", line 414, in get_counter#012 counter_value += self._get_counter(mibs.get_index_from_str(lag_member), table_name)#012TypeError: unsupported operand type(s) for +=: 'int' and 'NoneType' Above error can be seen if certain COUNTER is not supported in COUNTERS_DB. The counters present in DbTables is collected and returned in rfc1213 MIB implementation. Certain platform might not support all of these counters and can lead to the above exception. - How I did it Added logic to handle scenario where _get_counters returns None for any port-channel member interface. - How to verify it Added unit-test. Verified on platform where "SAI_PORT_STAT_IF_OUT_QLEN" is not available. Before fix: docker exec -it snmp snmpwalk -v2c -c <comm> <IP> 1.3.6.1.2.1.2.2.1.21 WARNING snmp#snmp-subagent [sonic_ax_impl] WARNING: SyncD 'COUNTERS_DB' missing attribute ''SAI_PORT_STAT_IF_OUT_QLEN''. ERR snmp#snmp-subagent [ax_interface] ERROR: SubtreeMIBEntry.__call__() caught an unexpected exception during _callable_.__call__()#012Traceback (most recent call last):#12 File "/usr/local/lib/python3.11/dist-packages/ax_interface/mib.py", line 248, in __call__#012 return self._callable_.__call__(sub_id, *self._callable_args)#12 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#12 File "/usr/local/lib/python3.11/dist-packages/sonic_ax_impl/mibs/ietf/rfc1213.py", line 414, in get_counter#012 counter_value += self._get_counter(mibs.get_index_from_str(lag_member), table_name)#012TypeError: unsupported operand type(s) for +=: 'int' and 'NoneType' After fix: docker exec -it snmp snmpwalk -v2c -c <comm> <IP> 1.3.6.1.2.1.2.2.1.21 WARNING snmp#snmp-subagent [sonic_ax_impl] WARNING: SyncD 'COUNTERS_DB' missing attribute ''SAI_PORT_STAT_IF_OUT_QLEN''.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Use a snmp-specific location instead of historical shared location