1
0
mirror of https://github.com/checktheroads/hyperglass synced 2024-05-11 05:55:08 +00:00

prettier fixes

This commit is contained in:
checktheroads
2021-01-03 23:52:41 -07:00
parent 6ffbf95abd
commit feb6870a24
8 changed files with 81 additions and 18 deletions

View File

@@ -14,13 +14,17 @@ If the answer to any of these questions is "no", your feature request will most
-->
# Feature Description
<!-- Describe the solution or change you would like. -->
### Is your feature request related to a problem? Please describe.
<!-- If yes, a clear and concise description of what the problem is. -->
# Environment & Use Case
<!-- Describe your use case for hyperglass, the environment on which it runs, the predominant network device type, and any other relevant details. -->
# Additional Context
<!-- Add any other context or screenshots about the feature request here. -->

View File

@@ -8,15 +8,19 @@ assignees: checktheroads
<!-- Please provide a general summary of the issue in the Title. -->
# Bug Description
<!-- A clear and concise description of the bug. -->
# Expected behavior
<!-- A clear and concise description of what you expected to happen. -->
# Steps to Reproduce
<!-- Provide steps necessary to reproduce this issue. -->
## Local Configurations
<!-- If possible, please a link to a live example and the relevant sections of your hyperglass.yaml, commands.yaml, or devices.yaml in a code block. -->
```
@@ -24,6 +28,7 @@ assignees: checktheroads
```
## Logs
<!-- If an error occurred, please paste the relevant error message(s) in the below code block. -->
```
@@ -31,11 +36,13 @@ assignees: checktheroads
```
# Possible Solution
<!-- If you think you know what would fix this, please share your ideas. -->
# Environment
## Server
<!-- Please paste the output from `hyperglass system-info` below: (available in 1.0.0-beta.52+) -->
<!-- If, for some reason, that doesn't work, please include the following:
@@ -45,11 +52,12 @@ assignees: checktheroads
-->
## Client
- OS & Version: <!-- (e.g. Windows 10, macOS 10.15, Ubuntu Linux 18.04) -->
- Browser: <!-- (e.g. Chrome, Safari, Firefox, etc.) -->
- OS & Version: <!-- (e.g. Windows 10, macOS 10.15, Ubuntu Linux 18.04) -->
- Browser: <!-- (e.g. Chrome, Safari, Firefox, etc.) -->
### Smartphone Details (if applicable)
- Device: <!-- (e.g. iPhone, Samsung) -->
- OS: <!-- (e.g. iOS 13.1, Android 11) -->
- Browser: <!-- (e.g. Safari, Chrome) -->
- Device: <!-- (e.g. iPhone, Samsung) -->
- OS: <!-- (e.g. iOS 13.1, Android 11) -->
- Browser: <!-- (e.g. Safari, Chrome) -->

View File

@@ -3,13 +3,17 @@
<!-- Provide a general summary of your changes in the Title. -->
# Description
<!-- Describe your changes in detail -->
# Related Issues
<!-- Link to any related open issues -->
# Motivation and Context
<!-- Why is this change required? What problem does it solve? -->
# Tests
<!-- Please describe in detail how you tested your changes, including your testing environment (OS, Python version, etc). -->

View File

@@ -47,4 +47,4 @@ jobs:
run: poetry run flake8 hyperglass
- name: Run hyperglass
run: '.tests/ga-backend-app.sh'
run: ".tests/ga-backend-app.sh"

View File

@@ -15,4 +15,4 @@ jobs:
uses: actions/checkout@v2
- name: Run hyperglass
run: 'sudo bash ./install.sh'
run: "sudo bash ./install.sh"

View File

@@ -8,36 +8,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## 1.0.0-beta69 - 2021-01-03
### Fixed
- Fix Safari browser-specific issues
- Setup no longer fails when `commands.yaml` doesn't exist, even though it isn't needed.
### Changed
- Setup no longer adds example files
## 1.0.0-beta67 - 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
### Fixed
- Fixed Safari browser-specific issues
- Fixed mobile layout issues
### Changed
- `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
### Added
- [#72](https://github.com/checktheroads/hyperglass/issues/72): *EXPERIMENTAL* BGP map support for devices supporting structured output (Juniper Junos, currently).
- [#72](https://github.com/checktheroads/hyperglass/issues/72): _EXPERIMENTAL_ BGP map support for devices supporting structured output (Juniper Junos, currently).
### Fixed
- Fix an issue causing Juniper Junos BGP output parsing to fail if the XML output contains a banner.
### Changed
- `web.text.title` and `web.text.subtitle` now carry a 32 character limit for simpler styling.
- Various UI layout, styling improvements, and stability improvements.
@@ -60,20 +68,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## 1.0.0-beta61 - 2020-10-11
### POTENTIALLY BREAKING CHANGE
When hyperglass starts up, it will check to see if `~/hyperglass` or `/etc/hyperglass/` exists. Previously, it would silently choose the first one found, even if both exist. Now, if both exist, an exception is raised with instruction to delete one of them. If your system has both directories, hyperglass may not start up normally after you upgrade.
### Fixed
- Fix a DNS resolution issue which caused Debian systems to be unable to resolve the hostnames of any devices. This was due to differences in how the Python socket module works on Debian vs other distros (even Ubuntu).
### Added
- [#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
### Fixed
- [#90](https://github.com/checktheroads/hyperglass/issues/90): Fix a typing error that caused ping & traceroute queries to fail for certain devices.
### Added
- [#82](https://github.com/checktheroads/hyperglass/issues/82): Add support for Redis password authentication. Authentication can be configured in the following manner:
```yaml
@@ -91,16 +104,19 @@ requirepass examplepassword
## 1.0.0-beta59 - 2020-10-05
### Added
- Native Mikrotik support.
- `hyperglass clear-cache` command for easy manual clearing of the Redis cache.
### Changed
- 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
### Changed
- [#79](https://github.com/checktheroads/hyperglass/issues/79): Run the UI build on startup & clarify docs.
- Removed all f-strings from log messages.
- Migrate icon library to [@meronex/icons](https://github.com/meronex/meronex-icons) for better tree-shaking.
@@ -108,15 +124,16 @@ requirepass examplepassword
- Fix file logging format
### Fixed
- [#74](https://github.com/checktheroads/hyperglass/issues/74): Fix UI build failures caused by `.alias.js`.
- [#75](https://github.com/checktheroads/hyperglass/issues/75): Fix whitespace stripping of query target.
- [#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
### BREAKING CHANGE
If you use [hyperglass-agent](https://github.com/checktheroads/hyperglass-agent), you must upgrade your version of hyperglass-agent to 0.1.6 or later. If using hyperglass-agent with SSL, this release will require you to re-generate & re-send your SSL certificates to hyperglass:
```console
@@ -125,57 +142,68 @@ $ hyperglass-agent send-certificate
```
### Changed
- Verify a device's address is either an IPv4 or IPv6 address, or a resolvable hostname.
- Devices using hyperglass-agent (FRR, BIRD) no longer need to use a DNS-resolvable hostname in the `address:` field, as long as the certificate has been generated by hyperglass-agent, and the proper IP addresses were selected during the prompts to generate the certificate. *If using your own certificate and you want to connect to hyperglass-agent via an IP address instead of a hostname, you need to ensure the IP address of hyperglass-agent is listed as a Subject Alternative Name in the certificate extensions.*
- Devices using hyperglass-agent (FRR, BIRD) no longer need to use a DNS-resolvable hostname in the `address:` field, as long as the certificate has been generated by hyperglass-agent, and the proper IP addresses were selected during the prompts to generate the certificate. _If using your own certificate and you want to connect to hyperglass-agent via an IP address instead of a hostname, you need to ensure the IP address of hyperglass-agent is listed as a Subject Alternative Name in the certificate extensions._
- 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
### Changed
- Improved Gunicorn address formatting.
- Improved Redis connection error handling.
### Fixed
- [#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
### Changed
- Removed JS favicon build process in favor of native Python implementation ([favicons](https://github/checktheroads/favicons))
## 1.0.0-beta54 - 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
### Added
- **BREAKING CHANGE**: [Scrapli](https://github.com/carlmontanari/scrapli) is now used for SSH connectivity to Cisco IOS, Cisco IOS-XE, Cisco IOS-XR, Cisco NX-OS Juniper Junos, and Arista EOS, which should improve the speed at which output is gathered from devices. _As of this release, Cisco IOS/IOS-XE and Juniper Junos have been directly tested and worked without issue. However, if you discover any anomalies with any of these operating systems, please [open an issue](https://github.com/checktheroads/hyperglass/issues)._
### Changed
- Refactor of SSH & HTTPS command execution to enable pluggable underlying driver capabilities.
- Remove `aiofile` dependency by removing unnecessary asyncio file operations in the UI build process.
- Added `scrapli[asyncssh]` dependency for Scrapli driver support.
### Fixed
- UI: Error messages couldn't be copied with the copy button
## 1.0.0-beta52 - 2020-07-19
### Added
- API route `/api/info`, which displays general system information such as the name of the organization and version of hyperglass.
- API docs configuration parameters for the `/api/info` route.
- [#63](https://github.com/checktheroads/hyperglass/issues/63): Minimum RAM requirements.
- `hyperglass system-info` CLI command to gather system CPU, Memory, Disk, Python Version, hyperglass Version, & OS info. _Note: this information is only gathered if you run the command, and even then, is printed to the console and not otherwise shared or exported_.
### Changed
- Updated docs dependencies.
- Improved YAML alias & anchor docs.
- [#55](https://github.com/checktheroads/hyperglass/issues/55): Removed YAML alias & anchors from default examples to avoid confusion.
### Fixed
- API docs logo URL now displays correctly.
- [#62](https://github.com/checktheroads/hyperglass/issues/62): Added `epel-release` to CentOS installation instructions.
- [#59](https://github.com/checktheroads/hyperglass/issues/59): Fixed copy output for Juniper devices on non-table output query types.
@@ -186,21 +214,24 @@ $ hyperglass-agent send-certificate
## 1.0.0-beta51 - 2020-07-13
### Changed
- Improved config import process & error handling.
- Improved logging initialization so that noisy logs aren't generated on startup unless debugging is enabled.
### Fixed
- [#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
### Added
- Synchronous API for Redis caching.
- New `redis-py` dependency for synchronous Redis communication.
### Changed
- Improved cache type conversion when reading cached data.
- External data via [bgp.tools](https://bgp.tools) is now gathered via their bulk mode API.
- External data via [bgp.tools](https://bgp.tools) is now cached via Redis to reduce external traffic and improve performance.
@@ -208,42 +239,50 @@ $ hyperglass-agent send-certificate
- Update Python dependencies.
### Fixed
- [#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
### Changed
- Update UI dependencies
- Removed react-textfit in favor of responsive font sizes and line breaking
- Refactor & clean up React components
### Fixed
- 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
### Added
- New NOS: **VyOS**. [See docs for important caveats](https://hyperglass.io/docs/commands).
### Fixed
- UI: If the logo `width` parameter was set to ~ 50% and the `title_mode` was set to `logo_subtitle`, the subtitle would appear next to the logo instead of underneath.
- When copying the opengraph image, the copied image was not deleted.
- Default traceroute help link now *actually* points to the new docs site.
- Default traceroute help link now _actually_ points to the new docs site.
## 1.0.0-beta47 - 2020-07-04
### Added
- Opengraph images are now automatically generated in the correct format from any valid image file.
- Better color mode toggle icons (they now match [hyperglass.io](https://hyperglass.io)).
### Changed
- Improved SEO & Accessibility for UI.
- Default traceroute help link now points to new docs site.
- Slightly different default black & white colors (they now match [hyperglass.io](https://hyperglass.io)).
- Various docs site improvements
### Fixed
- Remove `platform.linux_distribution()` which was removed in Python 3.8
- Width of page is no longer askew when `logo_subtitle` is set as the `title_mode`
- Generated favicon manifest files now go to the correct directory.
@@ -252,34 +291,42 @@ $ hyperglass-agent send-certificate
## 1.0.0-beta46 - 2020-06-28
### Added
- Support for hyperglass-agent [0.1.5](https://github.com/checktheroads/hyperglass-agent)
## 1.0.0-beta45 - 2020-06-27
### Changed
- Removed RIPEStat for external data gathering, switched to [bgp.tools](https://bgp.tools)
### Fixed
- Webhook construction bugs that caused webhooks not to send
- Empty response handling for table output
## 1.0.0-beta44 - 2020-06-26
### Added
- Support for Microsoft Teams webhook
### Fixed
- If webhooks were enabled, a hung test connection to RIPEStat would cause the query to time out
## 1.0.0-beta43 - 2020-06-22
### Fixed
- Logo path handling in UI
## 1.0.0-beta42 - 2020-06-21
### Added
- Automatic favicon generation
### Changed
- **BREAKING CHANGE**: The `logo` section now requires the full path for logo files. See [the docs](https://hyperglass.io/docs/ui/logo) for details.

View File

@@ -5,10 +5,10 @@ Because I've been solo-maintaining and building hyperglass since around April 20
- **Pristine code quality**
- [Black](https://github.com/python/black) formatting for Python
- Strict adherence to ESLint/Prettier configs for Javascript/React
- *ZERO* linting errors
- Linting exceptions only used when there is *no other way*, and should be accompanied with comments about why there is no other way.
- _ZERO_ linting errors
- Linting exceptions only used when there is _no other way_, and should be accompanied with comments about why there is no other way.
- **No hard-coding**
- Anything visible to the end-user *must* be customizable by the administrator. If it's not, or can't be, leave code or PR comments as to why.
- Anything visible to the end-user _must_ be customizable by the administrator. If it's not, or can't be, leave code or PR comments as to why.
- This includes things like timeouts, error messages, etc.
- **Mobile & Accessible**
- All UI element must be available on both desktop and mobile devices