Skip to content

Commit

Permalink
merge v1.0.0-beta.76
Browse files Browse the repository at this point in the history
V1.0.0 beta.76
  • Loading branch information
thatmattlove authored Feb 6, 2021
2 parents 2db21eb + f15fb4d commit b34c6e1
Show file tree
Hide file tree
Showing 18 changed files with 345 additions and 124 deletions.
78 changes: 46 additions & 32 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,27 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 1.0.0-beta75 - 2021-01-28
## 1.0.0-beta.76 - 2021-02-06

**NOTICE**: *[hyperglass-agent](https://github.com/checktheroads/hyperglass-agent) will be deprecated soon. Use `frr_ssh` or `bird_ssh` for SSH connectivity in the meantime.*

### Added
- FRR & BIRD may now be accessed via standard SSH using the `frr_ssh` and `bird_ssh` NOS. [See the docs](https://hyperglass.io/docs/platforms#caveats) for important caveats.

### Changed
- `port` in `devices.yaml` now defaults to 22 if not specified.

### Fixed
- AS Path graph view now uses [dagre](https://github.com/dagrejs/dagre) to properly arrange each AS.
- Added timeout argument to `hyperglass start --build` - fixes issue where running a UI build in this way failed due to a missing timeout argument error.

## 1.0.0-beta.75 - 2021-01-28

### Changed
- Default UI build timeout is now 180 seconds.
- The hyperglass `build-ui` CLI command now accepts a `--timeout` argument to override the UI build timeout.

## 1.0.0-beta74 - 2021-01-25
## 1.0.0-beta.74 - 2021-01-25

### Changed
- The Scrapli driver no longer specifically ignores the system's SSH config file.
Expand All @@ -20,7 +34,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- [#109](https://github.com/checktheroads/hyperglass/issues/109): Remove the custom error page, because it doesn't work and doesn't really add much.

## 1.0.0-beta73 - 2021-01-18
## 1.0.0-beta.73 - 2021-01-18

### Added
- [#106](https://github.com/checktheroads/hyperglass/issues/106): Add built-in support for Nokia SR OS (thanks @paunadeu!).
Expand All @@ -32,7 +46,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- [#107](https://github.com/checktheroads/hyperglass/issues/107): Fix footer menu styling so it doesn't overflow the viewport, especially on mobile.

## 1.0.0-beta72 - 2021-01-16
## 1.0.0-beta.72 - 2021-01-16

### Fixed
- [#104](https://github.com/checktheroads/hyperglass/issues/104): Handle the usage of `juniper_junos` as a NOS. `juniper_junos` will now automatically be mapped to `juniper`.
Expand All @@ -41,15 +55,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- **BREAKING**: The installer no longer generates a Systemd service file. While this was likely convenient for most, it introduced significant complexity and caused most installations using `~/hyperglass` as the app path to fail, with no clear way to resolve it. Further, while Systemd is arguably the most common, it is not the *only* process manager available. As such, the docs will be updated with a Systemd example, much like the current reverse proxy documentation.

## 1.0.0-beta71 - 2021-01-10
## 1.0.0-beta.71 - 2021-01-10

### Added
- Added Google Analytics Support. Use the `google_analytics` field for the tracking ID in `hyperglass.yaml`.

### Changed
- Minor frontend code improvements.

## 1.0.0-beta70 - 2021-01-05
## 1.0.0-beta.70 - 2021-01-05

### Fixed

Expand All @@ -58,7 +72,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Query results now automatically cancel when each result panel unmounts (e.g. when one clicks the back button).

## 1.0.0-beta69 - 2021-01-03
## 1.0.0-beta.69 - 2021-01-03

### Fixed

Expand All @@ -69,14 +83,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Setup no longer adds example files

## 1.0.0-beta67 - 2021-01-02
## 1.0.0-beta.67 - 2021-01-02

### Fixed

- Fix handling of `web.theme.default_color_mode`. Starting in 1.0.0-beta.65, it was completely ignored and used the library's default of `light`. Now, it's handled properly.
- Fix table output layout issues, particularly on mobile.

## 1.0.0-beta66 - 2021-01-02
## 1.0.0-beta.66 - 2021-01-02

### Fixed

Expand All @@ -87,7 +101,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- `web.theme.colors.black` and `web.theme.colors.white` are now `web.theme.colors.dark` and `web.theme.colors.light respectively`

## 1.0.0-beta65 - 2021-01-01
## 1.0.0-beta.65 - 2021-01-01

### Added

Expand All @@ -102,7 +116,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `web.text.title` and `web.text.subtitle` now carry a 32 character limit for simpler styling.
- Various UI layout, styling improvements, and stability improvements.

## 1.0.0-beta63 - 2020-10-18
## 1.0.0-beta.63 - 2020-10-18

### Added

Expand All @@ -112,13 +126,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Fix an issue causing hyperglass custom exceptions to not be properly raised, which caused more generic error messages in the UI/API.

## 1.0.0-beta62 - 2020-10-17
## 1.0.0-beta.62 - 2020-10-17

### Fixed

- Fix an issue causing exceptions not to be logged to the log file (but logged to stdout).

## 1.0.0-beta61 - 2020-10-11
## 1.0.0-beta.61 - 2020-10-11

### POTENTIALLY BREAKING CHANGE

Expand All @@ -132,7 +146,7 @@ When hyperglass starts up, it will check to see if `~/hyperglass` or `/etc/hyper

- [#81](https://github.com/checktheroads/hyperglass/issues/81): Add support for SSH key authentication. See [the docs](https://hyperglass.io/docs/adding-devices#credential) for more details.

## 1.0.0-beta60 - 2020-10-10
## 1.0.0-beta.60 - 2020-10-10

### Fixed

Expand All @@ -154,7 +168,7 @@ This would correspond with the following stanza in the Redis configuration file:
requirepass examplepassword
```

## 1.0.0-beta59 - 2020-10-05
## 1.0.0-beta.59 - 2020-10-05

### Added

Expand All @@ -166,7 +180,7 @@ requirepass examplepassword
- Improve output parsing scalability - parsers can now be defined on a per-NOS basis regardless of whether or not structured-data is used.
- Restructure model locations & importing to remove some complexities.

## 1.0.0-beta58 - 2020-09-28
## 1.0.0-beta.58 - 2020-09-28

### Changed

Expand All @@ -183,7 +197,7 @@ requirepass examplepassword
- [#77](https://github.com/checktheroads/hyperglass/issues/77): Allow dashes in FQDN validation pattern.
- [#83](https://github.com/checktheroads/hyperglass/issues/83): Fix lack of support for `protocol-nh` field in Juniper XML BGP table.

## 1.0.0-beta57 - 2020-07-30
## 1.0.0-beta.57 - 2020-07-30

### BREAKING CHANGE

Expand All @@ -201,7 +215,7 @@ $ hyperglass-agent send-certificate
- Refactored device, query, proxy models to no longer scrub unsupported characters from the device name for the purposes of Python class attribute accessing.
- Updated hyperglass-agent docs.

## 1.0.0-beta56 - 2020-07-28
## 1.0.0-beta.56 - 2020-07-28

### Changed

Expand All @@ -212,19 +226,19 @@ $ hyperglass-agent send-certificate

- [#56](https://github.com/checktheroads/hyperglass/issues/56): Fix a silent Redis connection error if the Redis server was anything other than `localhost`, preventing hyperglass from starting.

## 1.0.0-beta55 - 2020-07-27
## 1.0.0-beta.55 - 2020-07-27

### Changed

- Removed JS favicon build process in favor of native Python implementation ([favicons](https://github/checktheroads/favicons))

## 1.0.0-beta54 - 2020-07-25
## 1.0.0-beta.54 - 2020-07-25

### Fixed

- Queries to hyperglass-agent devices failed due to the error `AttributeError: 'AgentConnection' object has no attribute 'collect'`

## 1.0.0-beta53 - 2020-07-23
## 1.0.0-beta.53 - 2020-07-23

### Added

Expand All @@ -240,7 +254,7 @@ $ hyperglass-agent send-certificate

- UI: Error messages couldn't be copied with the copy button

## 1.0.0-beta52 - 2020-07-19
## 1.0.0-beta.52 - 2020-07-19

### Added

Expand All @@ -264,7 +278,7 @@ $ hyperglass-agent send-certificate
- Improve command customization docs.
- [#61](https://github.com/checktheroads/hyperglass/issues/61): Fixed copy output for table data. Output is now a bulleted list of parsed data.

## 1.0.0-beta51 - 2020-07-13
## 1.0.0-beta.51 - 2020-07-13

### Changed

Expand All @@ -276,7 +290,7 @@ $ hyperglass-agent send-certificate
- [#54](https://github.com/checktheroads/hyperglass/issues/54): A Junos parsing error caused routes with no communities to raise an error.
- Pre-validated config files are no longer logged on startup unless debugging is enabled.

## 1.0.0-beta50 - 2020-07-12
## 1.0.0-beta.50 - 2020-07-12

### Added

Expand All @@ -296,7 +310,7 @@ $ hyperglass-agent send-certificate
- [#54](https://github.com/checktheroads/hyperglass/issues/54): A Junos structured/table output parsing error caused routes with multiple next-hops to raise an error.
- RPKI validation no longer occurs twice (once on serialization of the output, once on validation of the API response).

## 1.0.0-beta49 - 2020-07-05
## 1.0.0-beta.49 - 2020-07-05

### Changed

Expand All @@ -308,7 +322,7 @@ $ hyperglass-agent send-certificate

- Route lookups for private (RFC 1918) addresses failed due to an unnecessary lookup to [bgp.tools](https://bgp.tools)

## 1.0.0-beta48 - 2020-07-04
## 1.0.0-beta.48 - 2020-07-04

### Added

Expand All @@ -320,7 +334,7 @@ $ hyperglass-agent send-certificate
- When copying the opengraph image, the copied image was not deleted.
- Default traceroute help link now _actually_ points to the new docs site.

## 1.0.0-beta47 - 2020-07-04
## 1.0.0-beta.47 - 2020-07-04

### Added

Expand All @@ -341,13 +355,13 @@ $ hyperglass-agent send-certificate
- Generated favicon manifest files now go to the correct directory.
- Various docs site fixes

## 1.0.0-beta46 - 2020-06-28
## 1.0.0-beta.46 - 2020-06-28

### Added

- Support for hyperglass-agent [0.1.5](https://github.com/checktheroads/hyperglass-agent)

## 1.0.0-beta45 - 2020-06-27
## 1.0.0-beta.45 - 2020-06-27

### Changed

Expand All @@ -358,7 +372,7 @@ $ hyperglass-agent send-certificate
- Webhook construction bugs that caused webhooks not to send
- Empty response handling for table output

## 1.0.0-beta44 - 2020-06-26
## 1.0.0-beta.44 - 2020-06-26

### Added

Expand All @@ -368,13 +382,13 @@ $ hyperglass-agent send-certificate

- If webhooks were enabled, a hung test connection to RIPEStat would cause the query to time out

## 1.0.0-beta43 - 2020-06-22
## 1.0.0-beta.43 - 2020-06-22

### Fixed

- Logo path handling in UI

## 1.0.0-beta42 - 2020-06-21
## 1.0.0-beta.42 - 2020-06-21

### Added

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/adding-devices.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ routers:
| <R/> `address` | String | Device management hostname or IP address. |
| <R/> `network` | String | [Network Configuration](#network) |
| <R/> `display_name` | String | Device's user-facing name. |
| <R/> `port` | Integer | TCP port used to connect to the device. |
| <R/> `port` | Integer | TCP port used to connect to the device. `22` by default. |
| <R/> `nos` | String | Network Operating System. <MiniNote>Must be a <Link to="platforms">supported platform</Link>.</MiniNote> |
| `structured_output` | Boolean | Disabled output parsing to structured data. |
| <R/>`credential` | | [Device Credential Configuration](#credential) |
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/commands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ hyperglass comes with built in support for the following platforms:
- Huawei VRP
- VyOS

:::warning VyOS & VRFs
:::caution VyOS & VRFs
As of `vyos-1.3-rolling-202007050117` which is the latest release VyOS has been tested with hyperglass, VyOS does not support BGP or other dynamic routing protocols in a VRF. As such, the default BGP commands for VyOS **omit the VRF from the command**.
:::

Expand Down
24 changes: 22 additions & 2 deletions docs/docs/platforms.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,12 @@ description: Platforms supported by hyperglass

The following platforms use [hyperglass-agent](agent/installation.mdx) for connection handling. When configuring the `nos` property of a device, use the value in the **Key** column.

:::caution hyperglass agent is being deprecated
While hyperglass-agent was a cool idea, maintaining the two codebases and protocol sets has proven cumbersome, with very little benefit. As of **v1.0.0-beta.76**, `frr_ssh` and `bird_ssh` are available for use as replacements.
:::

| Name | Key |
| --------- | ------ |
| :-------- | :----- |
| BIRD | `bird` |
| FRRouting | `frr` |

Expand All @@ -21,7 +25,7 @@ The following platforms use [hyperglass-agent](agent/installation.mdx) for conne
The following platforms use [Netmiko](https://github.com/ktbyers/netmiko) or [Scrapli](https://github.com/carlmontanari/scrapli) for connection handling. When configuring the `nos` property of a device, use the value in the **Key** column.

| Name | Key |
| ------------------------- | --------------------- |
| :------------------------ | :-------------------- |
| A10 | `a10` |
| Accedian | `accedian` |
| Alcatel AOS | `alcatel_aos` |
Expand All @@ -31,6 +35,7 @@ The following platforms use [Netmiko](https://github.com/ktbyers/netmiko) or [Sc
| Aruba | `aruba_os` |
| Avaya ERS | `avaya_ers` |
| Avaya VSP | `avaya_vsp` |
| BIRD | `bird_ssh` |
| Calix B6 | `calix_b6` |
| Check Point GAiA | `checkpoint_gaia` |
| Ciena SAOS | `ciena_saos` |
Expand Down Expand Up @@ -65,6 +70,7 @@ The following platforms use [Netmiko](https://github.com/ktbyers/netmiko) or [Sc
| F5 Linux | `f5_linux` |
| Flex VNF | `flexvnf` |
| Fortinet | `fortinet` |
| FRRouting | `frr_ssh` |
| Generic Terminal Server | `generic_termserver` |
| HPE/3COM Comware | `hp_comware` |
| HPE ProCurve | `hp_procurve` |
Expand Down Expand Up @@ -97,3 +103,17 @@ The following platforms use [Netmiko](https://github.com/ktbyers/netmiko) or [Sc
| Ubuiquiti EdgeSwitch | `ubiquiti_edgeswitch` |
| Vyatta VyOS | `vyatta_vyos` |
| VyOS | `vyos` |

## Caveats

### BIRD

If using BIRD, more specifically [`bird_ssh`](platforms.mdx), you'll more than likely need to provide hyperglass with credentials that have root privileges. This is because, to my knowledge, the socket `birdc` uses is created by root. Therefore, if hyperglass runs the `birdc` commands as an unprivileged user, they will fail with a permissions error.

### FRRouting

The user account you provide hyperglass in the `credential` field needs to be a member of the `frrvty` group. See [the FRR docs](http://docs.frrouting.org/en/latest/vtysh.html) for more detail.

### VyOS

As of `vyos-1.3-rolling-202007050117` which is the latest release VyOS has been tested with hyperglass, VyOS does not support BGP or other dynamic routing protocols in a VRF. As such, the default BGP commands for VyOS **omit the VRF from the command**.
2 changes: 1 addition & 1 deletion hyperglass/cli/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ def start(build, direct, workers): # noqa: C901
try:

if build:
build_complete = build_ui()
build_complete = build_ui(timeout=180)

if build_complete and not direct:
start(**kwargs)
Expand Down
4 changes: 3 additions & 1 deletion hyperglass/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from datetime import datetime

__name__ = "hyperglass"
__version__ = "1.0.0-beta.75"
__version__ = "1.0.0-beta.76"
__author__ = "Matt Love"
__copyright__ = f"Copyright {datetime.now().year} Matthew Love"
__license__ = "BSD 3-Clause Clear License"
Expand Down Expand Up @@ -74,12 +74,14 @@

DRIVER_MAP = {
"arista_eos": "scrapli",
"bird_ssh": "scrapli",
"cisco_ios": "scrapli",
"cisco_xe": "scrapli",
"cisco_xr": "scrapli",
"cisco_nxos": "scrapli",
"juniper": "scrapli",
"tnsr": "scrapli",
"frr_ssh": "scrapli",
"frr": "hyperglass_agent",
"bird": "hyperglass_agent",
}
Loading

0 comments on commit b34c6e1

Please sign in to comment.