Skip to content

Impossibile to use command "BGP Route" with Huawei NetEngine 8000 #315

Description

@devilofhell87

Deployment Type

Docker

Version

v2.0.4

Steps to Reproduce

  1. Select "BGP Route"
  2. Insert 1.1.1.1
  3. Press the glass

Expected Behavior

display bgp routing-table 1.1.1.1

BGP local router ID : 185.58.5.4
Local AS number : 51333
Paths: 9 available, 1 best, 1 select, 0 best-external, 0 add-path
BGP routing table entry information of 1.1.1.0/24:
From: 217.29.66.167 (188.114.100.7)
Route Duration: 0d00h03m01s
Direct Out-interface: Eth-Trunk0
Original nexthop: 217.29.66.167
Qos information : 0x0
Community: <13335:10039>, <13335:19020>, <13335:20050>, <13335:20500>, <13335:20530>
AS-path 13335, origin igp, MED 300, localpref 200, pref-val 0, valid, external, best, select, pre 170, validation valid
Aggregator: AS 13335, Aggregator ID 10.34.13.188
Advertised to such 3 peers:
194.36.73.122
194.36.73.126
194.36.75.148

BGP routing table entry information of 1.1.1.0/24:
From: 185.1.114.25 (188.114.100.1)
Route Duration: 0d00h03m03s
Direct Out-interface: Virtual-Ethernet0/1/1.1007
Original nexthop: 185.1.114.25
Qos information : 0x0
Community: <13335:10039>, <13335:19020>, <13335:20050>, <13335:20500>, <13335:20530>
AS-path 13335, origin igp, MED 400, localpref 200, pref-val 0, valid, external, pre 170, validation valid, not preferred for MED
Aggregator: AS 13335, Aggregator ID 10.34.13.188
Not advertised to any peer yet

BGP routing table entry information of 1.1.1.0/24:
From: 193.239.117.114 (141.101.65.1)
Route Duration: 0d00h03m01s
Direct Out-interface: 25GE0/5/24.1892
Original nexthop: 193.239.117.114
Qos information : 0x0
Community: <13335:10020>, <13335:19020>, <13335:20050>, <13335:20500>, <13335:20530>
AS-path 13335, origin igp, MED 500, localpref 200, pref-val 0, valid, external, pre 170, validation valid, not preferred for MED
Aggregator: AS 13335, Aggregator ID 10.34.6.80
Not advertised to any peer yet

BGP routing table entry information of 1.1.1.0/24:
From: 193.239.119.101 (141.101.65.28)
Route Duration: 0d00h03m01s
Direct Out-interface: 25GE0/5/24.1892
Original nexthop: 193.239.119.101
Qos information : 0x0
Community: <13335:10020>, <13335:19020>, <13335:20050>, <13335:20500>, <13335:20530>
AS-path 13335, origin igp, MED 500, localpref 200, pref-val 0, valid, external, pre 170, validation valid, not preferred for router ID
Aggregator: AS 13335, Aggregator ID 10.34.6.80
Not advertised to any peer yet

BGP routing table entry information of 1.1.1.0/24:
From: 193.239.118.138 (162.158.84.1)
Route Duration: 0d00h03m01s
Direct Out-interface: 25GE0/5/24.1892
Original nexthop: 193.239.118.138
Qos information : 0x0
Community: <13335:10071>, <13335:19020>, <13335:20050>, <13335:20500>, <13335:20530>
AS-path 13335, origin igp, MED 500, localpref 200, pref-val 0, valid, external, pre 170, validation valid, not preferred for router ID
Aggregator: AS 13335, Aggregator ID 10.34.26.60
Not advertised to any peer yet

BGP routing table entry information of 1.1.1.0/24:
From: 193.239.117.14 (162.158.84.56)
Route Duration: 0d00h03m01s
Direct Out-interface: 25GE0/5/24.1892
Original nexthop: 193.239.117.14
Qos information : 0x0
Community: <13335:10071>, <13335:19020>, <13335:20050>, <13335:20500>, <13335:20530>
AS-path 13335, origin igp, MED 500, localpref 200, pref-val 0, valid, external, pre 170, validation valid, not preferred for router ID
Aggregator: AS 13335, Aggregator ID 10.34.26.60
Not advertised to any peer yet

BGP routing table entry information of 1.1.1.0/24:
From: 185.58.5.6 (185.58.5.6)
Route Duration: 0d18h24m04s
Relay IP Nexthop: 172.31.0.34
Relay IP Out-Interface: Virtual-Ethernet0/1/1.1002
Original nexthop: 185.58.5.6
Qos information : 0x0
Community: <13335:10126>, <13335:19020>, <13335:20050>, <13335:20500>, <13335:20530>, <17152:0>
Ext-Community: Origin As Validation <0x4300:0:0>
AS-path 13335, origin igp, MED 500, localpref 200, pref-val 0, valid, internal, pre 170, validation valid, IGP cost 1, not preferred for peer type
Aggregator: AS 13335, Aggregator ID 172.68.196.1
Not advertised to any peer yet

BGP routing table entry information of 1.1.1.0/24:
From: 195.22.192.169 (195.22.208.228)
Route Duration: 0d00h03m01s
Direct Out-interface: 25GE0/5/22
Original nexthop: 195.22.192.169
Qos information : 0x0
Community: <6762:1>, <6762:30>, <6762:40>, <6762:13900>
AS-path 6762 13335, origin igp, MED 300, localpref 100, pref-val 0, valid, external, pre 170, validation valid, not preferred for Local_Pref
Aggregator: AS 13335, Aggregator ID 10.34.13.188
Not advertised to any peer yet

BGP routing table entry information of 1.1.1.0/24:
From: 149.14.133.249 (154.26.32.151)
Route Duration: 0d00h03m03s
Direct Out-interface: GigabitEthernet0/5/4
Original nexthop: 149.14.133.249
Qos information : 0x0
Community: <174:21101>, <174:22009>
AS-path 174 13335, origin igp, MED 500, localpref 100, pref-val 0, valid, external, pre 170, validation valid, not preferred for MED
Aggregator: AS 13335, Aggregator ID 10.34.13.188
Not advertised to any peer yet

Observed Behavior

Error 500

Configuration

org_name: Arcolink Telecomunicazioni S.r.l.
plugins: []
primary_asn: 51333
request_timeout: 90
site_description: "{org_name} Network Looking Glass"
site_title: Looking Glass AS51333
cache:
    timeout: 120
    show_text: no
structured:
    rpki:
        mode: router
web:
  logo:
    dark: /etc/hyperglass/svg/LogoArcolinkBandiera-Bianco.svg
    #favicon: /Users/ml/dev/hyperglass/hyperglass/images/hyperglass-icon.svg
    favicon: /etc/hyperglass/svg/LogoArcolinkColore.svg
    height: null
    light: /etc/hyperglass/svg/LogoArcolinkBandiera-Colore.svg
    width: 60%
  links:
    - title: Website
      url: https://www.arcolink.it
      side: right
      order: 5
    - title: PeeringDB
      #url: https://{primary_asn}.peeringdb.com/
      url: https://www.peeringdb.com/net/25003
      side: left
      order: 2
  menus:
    - title: Help
      content: /etc/hyperglass/help.md
      order: 0
      side: left
      title: Help
    - title: Terms & Conditions
      content: /etc/hyperglass/terms-and-conditions.md
      side: right

Devices

devices:
  - name: Milano, IT
    address: 185.58.5.4
    credential:
      username: *******
      password: *******
    platform: huawei
    attrs:
      source4: 185.58.5.4
      source6: 2A02:6120::4

Logs

[DEBUG] 20250123 08:07:58 |111 | membership → Checking target membership {'target': '1.1.1.1/32', 'network': '0.0.0.0/0'}
[DEBUG] 20250123 08:07:58 |116 | membership → Target membership verified {'target': '1.1.1.1/32', 'network': '0.0.0.0/0'}
[DEBUG] 20250123 08:07:58 |123 | in_range → Target is in range {'target': '1.1.1.1/32', 'range': '0-32'}
[DEBUG] 20250123 08:07:58 |107 | validate_query_target → Validation passed {'query': Query(query_location='milano_it', query_target=['1.1.1.1'], query_type='__hyperglass_huawei_bgp_route__')}
[INFO] 20250123 08:07:58 |79 | query → Starting query execution {'query': Query(query_location='milano_it', query_target=['1.1.1.1'], query_type='__hyperglass_huawei_bgp_route__')}
[DEBUG] 20250123 08:07:58 |97 | query → Cache miss {'query': Query(query_location='milano_it', query_target=['1.1.1.1'], query_type='__hyperglass_huawei_bgp_route__'), 'cache_key': 'hyperglass.query.64ffc1138ad2f9436611c5d976a6591b48f562d16e67eb8ab4d3c958291c8455'}
[DEBUG] 20250123 08:07:58 |51 | execute →  {'query': Query(query_location='milano_it', query_target=['1.1.1.1'], query_type='__hyperglass_huawei_bgp_route__'), 'device': 'milano_it'}
[DEBUG] 20250123 08:07:58 |46 | __init__ → Constructing query {'type': '__hyperglass_huawei_bgp_route__', 'target': ['1.1.1.1']}
[DEBUG] 20250123 08:07:58 |129 | queries → Constructed query {'type': '__hyperglass_huawei_bgp_route__', 'target': ['1.1.1.1'], 'constructed_query': ['display bgp routing-table 1.1.1.1']}
[DEBUG] 20250123 08:07:58 |51 | collect → Connecting to device {'device': 'Milano, IT', 'address': 'None:None', 'proxy': None}
[CRITICAL] 20250123 08:08:09 |48 | default_handler → Error {'method': 'POST', 'path': '/api/query', 'detail': "\nPattern not detected: '<M4\\\\-bg\\\\-mi\\\\.net\\\\.arcolink\\\\.it>' in output.\n\nThings you might try to fix this:\n1. Explicitly set your pattern using the expect_string argument.\n2. Increase the read_timeout to a larger value.\n\nYou can also look at the Netmiko session_log or debug log for more information.\n\n"}
ERROR - 2025-01-23 08:08:09,073 - litestar - config - Uncaught exception (connection_type=http, path=/api/query):
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/litestar/middleware/_internal/exceptions/middleware.py", line 159, in __call__
    await self.app(scope, receive, capture_response_started)
  File "/usr/local/lib/python3.12/site-packages/litestar/routes/http.py", line 81, in handle
    response = await self._get_response_for_request(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/litestar/routes/http.py", line 133, in _get_response_for_request
    return await self._call_handler_function(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/litestar/routes/http.py", line 153, in _call_handler_function
    response_data, cleanup_group = await self._get_response_data(
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/litestar/routes/http.py", line 193, in _get_response_data
    else await route_handler.fn(**parsed_kwargs)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hyperglass/hyperglass/api/routes.py", line 111, in query
    output = await execute(data)
             ^^^^^^^^^^^^^^^^^^^
  File "/opt/hyperglass/hyperglass/execution/main.py", line 67, in execute
    response = await driver.collect()
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hyperglass/hyperglass/execution/drivers/ssh_netmiko.py", line 92, in collect
    raw = nm_connect_direct.send_command(query, **send_args)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/netmiko/utilities.py", line 592, in wrapper_decorator
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/netmiko/base_connection.py", line 1721, in send_command
    raise ReadTimeout(msg)
netmiko.exceptions.ReadTimeout: 
Pattern not detected: '<M4\\-bg\\-mi\\.net\\.arcolink\\.it>' in output.

Things you might try to fix this:
1. Explicitly set your pattern using the expect_string argument.
2. Increase the read_timeout to a larger value.

You can also look at the Netmiko session_log or debug log for more information.


[INFO] 20250123 08:08:09 |1762 | callHandlers → 172.20.0.1:40032 - "POST /api/query HTTP/1.1" 500 {}

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions