thatmattlove / hyperglass

hyperglass is the network looking glass that tries to make the internet better.
https://hyperglass.dev
BSD 3-Clause Clear License
645 stars 102 forks source link

Cached BGP Route AS Path Visualization not loading #267

Closed mattpenn20 closed 4 months ago

mattpenn20 commented 4 months ago

Deployment Type

Docker

Version

v2.0.3

Steps to Reproduce

  1. With caching enabled, do a BGP Route query on a specific target ex. 1.1.1.1 (tested on a juniper)
  2. Viewing AS Path here is not necessary, doesn't effect outcome.
  3. During the caching duration window, do the exact same BGP route query on target
  4. View AS Path

Expected Behavior

The AS path view window should show and load the same as it does using a new non-cached target

Observed Behavior

The AS path view window opens, but loads endlessly, never showing the visualized AS path

Configuration

org_name: ~
plugins: []
primary_asn: ~
request_timeout: 90
site_description: INSERT HERE
site_title: Looking Glass
logging:
    syslog:
        host: x.x.x.x
        port: 514
web:
    location_display_mode: dropdown
    logo:
        light: /etc/hyperglass/company-logo.svg
        dark: /etc/hyperglass/company-logo.svg
        favicon: /etc/hyperglass/company-icon.svg
        width: 100%
    theme:
        default_color_mode: light

Devices

devices:
  - name: ~
    address: ~
    credential:
      username: ~
      password: ~
    platform: mikrotik
    attrs:
      source4: ~
      source6: ~
    directives:
        - builtins: [bgp_route, traceroute, ping]
  - name: Juniper Device
    address: ~
    credential:
      username: ~
      password: ~
    platform: juniper
    attrs:
      source4: ~
      source6: ~
    directives:
        - builtins: [bgp_route, traceroute, ping]

Logs

[20240628 00:18:41] Checking target membership {'target': '1.1.1.1/32', 'network': '0.0.0.0/0'}
[20240628 00:18:41] Target membership verified {'target': '1.1.1.1/32', 'network': '0.0.0.0/0'}
[20240628 00:18:41] Target is in range {'target': '1.1.1.1/32', 'range': '0-32'}
[20240628 00:18:41] Validation passed {'query': Query(query_location='(DEVICE NAME)', query_target=['1.1.1.1'], query_type='__hyperglass_juniper_bgp_route_table__')}
[20240628 00:18:41] Starting query execution {'query': Query(query_location='(DEVICE NAME)', query_target=['1.1.1.1'], query_type='__hyperglass_juniper_bgp_route_table__')}
[20240628 00:18:41] Cache miss {'query': Query(query_location='(DEVICE NAME)', query_target=['1.1.1.1'], query_type='__hyperglass_juniper_bgp_route_table__'), 'cache_key': 'hyperglass.query.078f75c0ebb9b06387deed99c084e0379ae49e886448ab113c2d394ea44b5870'}
[20240628 00:18:41] Constructing query {'type': '__hyperglass_juniper_bgp_route_table__', 'target': ['1.1.1.1']}
[20240628 00:18:41] Constructed query {'type': '__hyperglass_juniper_bgp_route_table__', 'target': ['1.1.1.1'], 'constructed_query': ['show route protocol bgp table inet.0 1.1.1.1 best detail | display xml']}
[20240628 00:18:41] Connecting to device {'device': 'Juniper Device', 'address': 'None:None', 'proxy': None}
~~~~~~~~~~~~Response Here~~~~~~~~~~~~~~~~~~~
[20240628 00:18:43] Runtime: 2.1123 seconds {'query': Query(query_location='Juniper Device', query_target=['1.1.1.1'], query_type='__hyperglass_juniper_bgp_route_table__')}
[20240628 00:18:43] Response cached {'query': Query(query_location='Juniper Device', query_target=['1.1.1.1'], query_type='__hyperglass_juniper_bgp_route_table__'), 'cache_timeout': 120}
[20240628 00:18:43] Execution completed {'query': Query(query_location='Juniper Device', query_target=['1.1.1.1'], query_type='__hyperglass_juniper_bgp_route_table__')}