Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Tim Weippert
    @tweippert
    Hmm ... it seems the agent is using /root/hyperglass/config.yaml and not /etc/hyperglass-agent/config.yaml ... if i move my config to /root/hyperglass-agent/config.yaml it works ...
    I struggle also with the SSL Part and a local PKI, the upload always states it is a self signed certificate ... maybe you had a hint for me?
    Tim Meusel
    @bastelfreak
    helllo people
    can someone explain to me the difference between juniper and juniper_junosfor the nos attribute in the devices.yaml?
    I am running a virtual MX from juniper. It runs junos so I assumed juniper_junos is correct. but if I use that I get hyperglass.exceptions.ConfigError: "juniper_junos" is used on a device, but no command profile for "juniper_junos" is defined.
    Tim Meusel
    @bastelfreak
    If I use just junos, I can see that hyperglass sends the correct command to the VMX but fails to parse the xml response
    Tim Weippert
    @tweippert
    The parsing for bird version 1 seems also not working, frr looks quite good.
    Tim Meusel
    @bastelfreak
    ah crap. I've some hundred bird 1.6.8 instances I wanted to connect :(
    Matt Love
    @checktheroads
    I believe I have some local changes pending some tests that will fix BIRD 1 parsing - I remember finding some issues as well. Regarding Juniper, there’s supposed to be some logic that basically makes either work, but it sounds like that’s not working. I’ll check on that. Can you send me the raw XML output of the command so I can see where the parsing is breaking?
    Tim Meusel
    @bastelfreak
    yes! will raise an issue for that
    Tim Meusel
    @bastelfreak
    I created checktheroads/hyperglass#83 . I hope the sanitized xml output is still helpful
    Tim Meusel
    @bastelfreak
    hey people. If anybody cares: I started a puppet module to automatically provision hyperglass: https://github.com/voxpupuli/puppet-hyperglass . It currently works and has tests for CentOS 7. I plan to integrate support for other operating systems and the hyperglass agent as well
    Tim Weippert
    @tweippert

    I believe I have some local changes pending some tests that will fix BIRD 1 parsing - I remember finding some issues as well. Regarding Juniper, there’s supposed to be some logic that basically makes either work, but it sounds like that’s not working. I’ll check on that. Can you send me the raw XML output of the command so I can see where the parsing is breaking?

    Sounds good,if you need someone to test the bird 1 parsing, just let me know.

    Tim Meusel
    @bastelfreak
    hey!
    • The puppet module now has support to provision the hyperglass-agent
    • Does hyperglass has any sort of health check for the agents? I want to write some serverspec tests to ensure automated provisioning of both tools works and they can communicate
    Matt Love
    @checktheroads
    That's awesome! It does not currently, however, after implementing RPyC in a side project I'm strongly considering migrating hyperglass-agent away from restful communication towards rpc-based communication. If I do, there would absolutely be health checking.
    Tim Meusel
    @bastelfreak
    ah good to know!
    Ross Tajvar
    @forkwhilefork
    I just upgraded hyperglass after not using it for a while and when I try to run a query I get "cr2_lga6 is an invalid Location." The router's name is "cr1.lga6".
    if I change the name to "cr1_lga6" it works
    Ross Tajvar
    @forkwhilefork
    now I'm trying to add a different device (that only supports telnet at the moment) and getting this "hyperglass.exceptions.UnsupportedDevice: "cisco_xr_telnet" is not supported."
    per the docs I'm supposed to just append "_telnet" to the end of the NOS
    João Lyma
    @lyma
    Can someone explain to me the difference between juniper and juniper_junosfor the nos attribute in the devices.yaml?
    MX480 runs junos so I assumed juniper_junos is correct. but if I use that I get hyperglass.exceptions.ConfigError: "juniper_junos" is used on a device, but no command profile for "juniper_junos" is defined.
    Matt Love
    @checktheroads
    There’s no difference. I thought I wrote a thing to accept either, but I’ll have to check on that. You can just use juniper
    Andrew Gee
    @andrewmgee
    Anyone come across the error "An unexpected error has occurred." after submitting a query? with debug mode on, nothing in the logs after " Started hyperglass 1.0.0-beta.76 .....". Was using caddy reverse proxy, but disabled it and connected directly to the 8001 port. Same results, and no log output. No login attempts either to connect to the router (from the routers logs)
    Matt Love
    @checktheroads
    Where are you checking for logs? There may be more in the log file (/tmp/hyperglass.log) than stdout. If you see absolutely nothing in the logs, my guess would be there’s an issue communicating from frontend to backend. Can you share the log file and your hyperglass.yaml ?
    Andrew Gee
    @andrewmgee

    @checktheroads yes, logs didn't capture anything past "started hyperglass"

    #####################################################################
    #                                                                   #
    #  hyperglass logs for February 08, 2021 beginning at 18:21:22 UTC  #
    #                                                                   #
    #####################################################################
    
    [DEBUG] 20210208 10:21:22 | hyperglass.log:118 | enable_file_logging → Logging to /var/log/hyperglass.log enabled
    [DEBUG] 20210208 10:21:22 | hyperglass.api:256 | <module> → API Docs config: {'openapi': '3.0.2', 'info': {'title': 'CloudSingularity Looking Glass API Documentation', 'version': '1.0.0-beta.76', 'x-logo': {'u>
    [INFO] 20210208 10:21:22 | hyperglass.main:121 | on_starting → Python 3.8.5 detected (3.6 required)
    [DEBUG] 20210208 10:21:22 | hyperglass.main:78 | check_redis_instance → Redis is running at: localhost:6379
    [DEBUG] 20210208 10:21:22 | hyperglass.util.frontend:79 | read_package_json → package.json:
    {'name': 'ui', 'version': '1.0.0', 'description': 'UI for hyperglass, the modern network looking glass', 'author': 'Matt Love', 'license': 'BSD-3-Clause-Clear', 'private': True, 'scripts': {'lint': 'eslint . ->
    [DEBUG] 20210208 10:21:22 | hyperglass.util.frontend:310 | build_frontend → node_modules is already initialized
    [DEBUG] 20210208 10:21:23 | hyperglass.util.frontend:332 | build_frontend → Generated 21 favicons
    [DEBUG] 20210208 10:21:23 | hyperglass.util.frontend:348 | build_frontend → Previous Build ID: ad98a1d3c7f2d7a3f43687dff443e5e3a2e3264760c2305a5a7a104ab7739623
    [DEBUG] 20210208 10:21:23 | hyperglass.util.frontend:352 | build_frontend → UI parameters unchanged since last build, skipping UI build...
    [SUCCESS] 20210208 10:21:23 | hyperglass.main:133 | on_starting → Started hyperglass 1.0.0-beta.76 on http://0.0.0.0:8001 with 1 workers

    hyperglass.yaml

    debug: true
    developer_mode: false
    primary_asn: 394256
    org_name: "Tech Futures"
    site_title: "CloudSingularity Looking Glass"
    site_description: "{org_name} Network Looking Glass"
    site_keywords: [hyperglass, looking glass, routing, bgp]
    request_timeout: 30
    listen_address: "0.0.0.0"
    listen_port: 8001
    google_analytics: 123456
    
    logging:
      directory: /var/log
      format: text
      max_size: 50MB
    
    web:
      logo:
        dark: /etc/hyperglass/images/cloudsingularity-light.svg
        light: /etc/hyperglass/images/cloudsingularity-dark.svg
        favicon: /etc/hyperglass/images/TF_Logo_100x100.svg
        height: null
        width: "100%"
      opengraph:
        image: /etc/hyperglass/images/cloudsingularity.png
      text:
        subtitle: AS394256
        title: cloudsingularity
        title_mode: logo_subtitle
      theme:
        default_color_mode: dark
        colors:
          black: "#121212"
          blue: "#314cb6"
          cyan: "#118ab2"
          danger: "#d84b4b"
          error: "#ff6b35"
          gray: "#c1c7cc"
          green: "#35b246"
          orange: "#ff6b35"
          pink: "#f2607d"
          primary: "#118ab2"
          purple: "#8d30b5"
          red: "#d84b4b"
          secondary: "#314cb6"
          success: "#35b246"
          teal: "#35b299"
          warning: "#edae49"
          white: "#f7f7f7"
          yellow: "#edae49"
        fonts:
          body: Nunito
          mono: Fira Code
    maartenbollen
    @maartenbollen
    Evening, I've installed hyperglass but cant get the basics to work: http://77.95.96.228/
    when trying to query i get: "An unexpected error has occurred.", nothing in the logs while debugging is on, developer mode is on too so you can verify the config
    oh i think it was just posted above by @andrewmgee :D
    Matt Love
    @checktheroads
    Screen Shot 2021-02-08 at 4.13.01 PM.png
    For @maartenbollen at least, I see this in the browser console when I try a query. @andrewmgee , do you see the same?
    can one of you share your devices.yaml as well, and scrub out any passwords?
    Andrew Gee
    @andrewmgee
    image.png
    Matt Love
    @checktheroads
    Looking through the minified JS, I'd say either the VRF, Network, or Device is missing a display_name property, just hard to tell which.
    Andrew Gee
    @andrewmgee
    i see this in browser console
    devices.yaml
    credentials:
      - &credential1
        username: lg1
        password: password
        key: /keyhere
    vrfs:
      - &master
        name: master
        display_name: Master
        ipv4:
          access_list: &default_ipv4_acl
                - network: 10.0.0.0/8
                  action: deny
                  ge: 8
                  le: 32
                - network: 0.0.0.0/0
                  action: permit
        ipv6:
          access_list: &default_ipv6_acl
                - network: ::/0
                  action: permit
                  le: 64 # Only allow /64 or smaller prefixes
    
    routers:
    - name: router1
      address: 10.10.10.10
      network:
        name: cloudsingularity
        display_name: AS394256
      credential: *credential1
      display_name: Router
      port: 22
      nos: juniper_junos
      vrfs:
        - <<: *master
          ipv4:
            source_address: 123.123.123.123
            access_list: *default_ipv4_acl
          ipv6:
            source_address: 123.123.123.123
            access_list: *default_ipv6_acl
    Matt Love
    @checktheroads
    This is supposed to get caught by config validation, I believe, but your default VRF needs to be named default. YOu can set the display_name to whatever you want, but it must be name: default
    That may be the issue, may not. But it's definitely going to be AN issue
    Andrew Gee
    @andrewmgee
    oh, gotcha. i thought was suppose to match what it was called in the nos. will give that a try. thanks!
    Matt Love
    @checktheroads
    Nope - the reason is that there has to be a way to figure out which VRF does NOT require a vrf statement. Otherwise, how do we know whether or not to add table master.inet.0 to the end or not? I don't really like this requirement, but it was the best I could come up with at the time. I need to take another swing at finding some other way to designate a default VRF
    Andrew Gee
    @andrewmgee
    @checktheroads thanks, I can confirm that did work! Next thing, not sure if I did something wrong, when using ssh keys I get "Unexpected Token F In JSON At Position 2". password auth to the routers work, so must be something wrong only when attempting ssh auth. log just shows timeout error
    i'll add the ssh key does manually work when just running it from the server manually, ie ssh lg@routerip -i keyfile
    Matt Love
    @checktheroads
    You get that in the UI or the log?
    Andrew Gee
    @andrewmgee
    UI. log just shows hyperglass.exceptions:40 | __init__ → [DANGER] Error connecting to Router: Request timed out.
    maartenbollen
    @maartenbollen
    @checktheroads https://bpa.st/MUWQ
    will try with vrf name: default
    maartenbollen
    @maartenbollen
    that did the trick
    maartenbollen
    @maartenbollen
    @checktheroads okay, but how about this. I dont have anything in inet.0 but need to get info out of the vrf INTERNET.inet.0
    as i dont need any info from the default vrf
    Matt Love
    @checktheroads
    @maartenbollen - sorry, I’m terrible at checking Gitter 🤦‍♂️ - currently, this is required. You’d need to add a VRF with the name default and a 2nd VRF with the name INTERNET, and the UI will show both. This was originally the only way I could come up with to solve the problem of needing to know which VRF was the “default”/global routing table (so we didn’t append a VRF statement to the command when not needed). However, I believe I’ve come up with a better way, I just need to work on it. I’ve already got an issue open for this, I’m planning on working on it next.
    Authakarn
    @Authakarn
    Hi, I got an error when trying to perform build-ui
    "Error building UI: Can't setFont(Times-Roman) missing the T1 files?
    Originally <class 'TypeError'>: makeT1Font() argument 2 must be str, not None"
    I tried to install that font as required but it doesn't work.
    How can I fix it
    Matt Love
    @checktheroads
    Wow, I’ve never seen that error before. Does this only happen if you have the font set in hyperglass.yaml?