Michael Lange
e0157759a8
Redo column widths on the topology page.
...
Now the info panel has a fixed width and the TopoViz will display as a
single column if the TopoViz column is too narrow for two columns.
2020-10-23 14:17:03 -07:00
Michael Lange
7f2fba9b23
Reset inline styles on flex-masonry elements when columns is set to 1
2020-10-23 14:17:03 -07:00
Michael Lange
38a4a027aa
Truncate text in the topo viz info panel
2020-10-23 14:17:03 -07:00
Michael Lange
17403815ab
Highlight starting allocations with a blue tint
2020-10-23 14:17:03 -07:00
Michael Lange
8947fd547b
Limit the topo viz to only pending and running allocs
...
Failed allocs immediately vacate their allocated resources which results
in inaccurate distributions of allocations on a client.
2020-10-23 14:17:03 -07:00
Buck Doyle
8aacab513b
Add logged Faker seed when none is set in tests ( #9140 )
...
This will hopefully make it easier to reproduce test failures
that happen intermittently, especially in CI.
2020-10-22 13:45:51 -05:00
Buck Doyle
c8caa810e9
Remove logo spin for prefers-reduced-motion ( #9128 )
...
Spinning is one of the triggers mentioned on this page:
https://webkit.org/blog/7551/responsive-design-for-motion/
Thanks to @fivetanley for mentioning that this exists.
2020-10-20 11:52:15 -05:00
Buck Doyle
70a0253f0d
Update loading spinner to be logo-based ( #9106 )
...
Thanks to @mikehobi, whose work here this is adapted from:
https://icons8.com/cssload/en/3d-loaders
2020-10-15 16:05:58 -05:00
Michael Lange
5c34e94529
Typo
2020-10-15 11:45:59 -07:00
Michael Lange
329fecac6d
Work around Safari's lack of text transform support
2020-10-15 11:45:59 -07:00
Michael Lange
2309baf080
Factor out the common sum aggregator used in the topology controller
2020-10-15 11:45:59 -07:00
Michael Lange
f3300bcbf0
Remove the scenarios I didn't need/didn't get to
2020-10-15 11:45:59 -07:00
Michael Lange
56bf526778
Describe the glimmer-factory better including the motive
2020-10-15 11:45:59 -07:00
Michael Lange
41df088abe
Reset the standard environment values
2020-10-15 11:45:59 -07:00
Michael Lange
649873745f
Treat legend term pairs as single wrapping elements
2020-10-15 10:30:34 -07:00
Michael Lange
97510a8397
Some light topology acceptance tests
2020-10-15 03:06:51 -07:00
Michael Lange
a2b57c15eb
Unit and integration tests for TopoViz component
2020-10-15 02:54:16 -07:00
Michael Lange
c8ea019629
Test coverage for TopoViz::Datacenter
2020-10-15 02:54:16 -07:00
Michael Lange
8b96667a61
Remove temp reloading of nodes in the TopoViz component
2020-10-15 02:54:16 -07:00
Michael Lange
4f537c8511
Update scenarios to use new resources code
2020-10-15 02:54:16 -07:00
Michael Lange
9fc33a1f9b
Adjust topo viz controller to new resource code
2020-10-15 02:54:16 -07:00
Michael Lange
f918987d51
Unit test for for GiB in format-bytes
2020-10-15 02:54:16 -07:00
Michael Lange
3c39895168
Update topo viz code to use new alloc/node resources pattern
2020-10-15 02:54:16 -07:00
Michael Lange
64fc738733
Migrate to the new resources properties for allocs and nodes
2020-10-15 02:54:16 -07:00
Michael Lange
b2b7d5e19e
Test coverage for TopoViz::Node
2020-10-15 02:54:16 -07:00
Michael Lange
78b1efc531
FlexMasonry integration tests
2020-10-15 02:54:15 -07:00
Michael Lange
e21a2a03b2
More information about clients in the info panel
2020-10-15 02:54:15 -07:00
Michael Lange
ba8675ae87
Filter total alloc count by only scheduled allocs
2020-10-15 02:54:15 -07:00
Michael Lange
d9ac6a63c6
Add icons to denote draining or ineligibility of clients
2020-10-15 02:54:15 -07:00
Michael Lange
7477f32012
Label empty clients in the topo viz chart
2020-10-15 02:54:15 -07:00
Michael Lange
f3aed88a10
Improved curves for allocation associations
2020-10-15 02:54:15 -07:00
Michael Lange
ef12488d1c
Fix a re-render bug with flexmasonry
2020-10-15 02:54:15 -07:00
Michael Lange
066502d408
Make the topo viz denser when there are >50 nodes
...
By hiding node details and making nodes interactive instead, we can pack
more allocations on a screen.
2020-10-15 02:54:15 -07:00
Michael Lange
6e55d8a6eb
Conditionally use the FlexMasonry layout for datacenters within TopoViz
2020-10-15 02:54:15 -07:00
Michael Lange
1602d72789
Apply FlexMasonry to the TopoViz component
2020-10-15 02:54:15 -07:00
Michael Lange
f27895c4c8
New FlexMasonry component implements a masonry layout using flexbox
2020-10-15 02:54:15 -07:00
Michael Lange
d9083fdde6
Second attempt at a masonry layout
2020-10-15 02:54:15 -07:00
Michael Lange
99746a24ac
A better loading screen for the topo viz while nodes load
2020-10-15 02:54:14 -07:00
Michael Lange
6d99f96425
Connect the memory and cpu rectangles
2020-10-15 02:54:14 -07:00
Michael Lange
0ab6b31cab
Refactor topo viz to do as much computation upfront & use faster data structures
...
Now all data loading happens in the TopoViz component as well as
computation of resource proportions.
Allocation selection state is also managed centrally uses a dedicated
structure indexed by group key (job id and task group name). This way
allocations don't need to be scanned at the node level, which is O(n) at
the best (assuming no ember overhead on recomputes).
2020-10-15 02:54:14 -07:00
Michael Lange
7d75421a75
Make the alloc select render path more efficient by not needlessly recomputing data
2020-10-15 02:54:14 -07:00
Michael Lange
872ca3dd5c
Add more variety to the node heights
2020-10-15 02:54:14 -07:00
Michael Lange
4c155b5da4
CSS Grid based masonry layout
...
TBH, it's buggy and I don't like it.
2020-10-15 02:54:14 -07:00
Michael Lange
5b55f3c740
Medium scale topo scenario
2020-10-15 02:54:14 -07:00
Michael Lange
fb1deb5c40
Updated alloc and cluster details on topo page
2020-10-15 02:54:14 -07:00
Michael Lange
24d0481889
Guard against undefined denominators
2020-10-15 02:54:14 -07:00
Michael Lange
5bc4d1f1d5
Associate sibling allocations by drawing lines
2020-10-15 02:54:14 -07:00
Michael Lange
e4907dc647
Super rough allocation details, needs some style love
2020-10-15 02:54:14 -07:00
Michael Lange
cab4e618fc
Add cluster details to the topology page
2020-10-15 02:54:13 -07:00
Michael Lange
87a902db0c
Touch up topo viz interactions
2020-10-15 02:54:13 -07:00
Michael Lange
831d27efd6
Fleshing out the first prototype of the topology visualization
2020-10-15 02:54:13 -07:00
Michael Lange
49736aed46
Tweak topo scenario
2020-10-15 02:54:13 -07:00
Michael Lange
000c00e920
Start click interaction for topo viz allocs
2020-10-15 02:54:13 -07:00
Michael Lange
78ae8fd78b
Fix factory bug that made it so pending allocs had no resources
2020-10-15 02:54:13 -07:00
Michael Lange
b347141e0c
Prototype of the topo viz
...
- Plot all datacenters
- For each datacenter, plot all nodes
- For each node, plot all allocations by memory and cpu
- For empty nodes, highlight the emptiness
- When hovering over allocations, give them visual focus
2020-10-15 02:54:13 -07:00
Michael Lange
fcf8adb76e
Quick window resize modifier
2020-10-15 02:54:13 -07:00
Michael Lange
640f1b6716
Add ember modifiers addon
2020-10-15 02:54:13 -07:00
Michael Lange
2a067d646d
Scaffold topo viz components
2020-10-15 02:54:13 -07:00
Michael Lange
f0a096119f
Small cluster example scenario for the topo viz
2020-10-15 02:54:13 -07:00
Michael Lange
1cb1ac89d7
Scaffold a new topology page
2020-10-15 02:54:12 -07:00
Jamie Finnigan
f968f435ac
Fix robots.txt to disallow indexing of all paths
2020-10-14 12:45:04 -07:00
Buck Doyle
517bc3c17b
Change htmlSafe prototype calls to imports ( #9075 )
2020-10-13 11:50:28 -05:00
Vyacheslav Morov
911b3b7f57
"View Raw File" download using JS instead simple link
...
Use fetch API to download file so we can:
- send Token in headers
- assign filename to download
2020-10-13 02:19:15 +03:00
Michael Lange
7604597041
Acceptance test coverage for the submit time sorting on the periodic and parameterized detail pages
2020-09-19 12:37:38 -07:00
Michael Lange
862137da06
Test coverage for page select and submit time on periodic page
2020-09-19 12:37:38 -07:00
Michael Lange
1a42742d40
Update job launches table to use the page size select pattern
2020-09-18 18:27:48 -07:00
Michael Lange
cb7da746b5
Sort periodic and parameterized job detail pages by most recently submitted
2020-09-18 18:03:23 -07:00
Michael Lange
9ecb25632d
Add job submit time to the job children list
2020-09-18 17:58:15 -07:00
dependabot[bot]
8aca3372de
build(deps): bump websocket-extensions from 0.1.3 to 0.1.4 in /ui ( #8128 )
...
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node ) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases )
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md )
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-17 11:48:07 -05:00
dependabot[bot]
0f9006b35f
build(deps): bump elliptic from 6.5.0 to 6.5.3 in /ui ( #8564 )
...
Bumps [elliptic](https://github.com/indutny/elliptic ) from 6.5.0 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases )
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.0...v6.5.3 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-17 11:46:23 -05:00
Buck Doyle
5f5090384b
Change compared page object to match by name ( #8915 )
...
I believe this test became flaky after #8833 , you can see
an example failure here:
https://app.circleci.com/pipelines/github/hashicorp/nomad/11809/workflows/0dc3c8f4-187c-44af-8bdb-6f010d653081/jobs/100848
The goal here is not to assert that the first task group in the
server database matches the first row displayed, but before
#8833 it could be assumed that they did match. This
changes to find the row corresponding to the first server
task group instead of assuming it’ll be first.
2020-09-17 11:08:47 -05:00
dependabot[bot]
fb37b4b3d5
build(deps): bump markdown-to-jsx from 6.10.3 to 6.11.4 in /ui ( #8826 )
...
Bumps [markdown-to-jsx](https://github.com/probablyup/markdown-to-jsx ) from 6.10.3 to 6.11.4.
- [Release notes](https://github.com/probablyup/markdown-to-jsx/releases )
- [Commits](https://github.com/probablyup/markdown-to-jsx/compare/6.10.3...6.11.4 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-17 08:46:45 -05:00
Buck Doyle
7ea8dcc799
Add handling for allocation-less exec URL ( #8856 )
...
This closes #8769 . This new-window-opening code is not possible
to properly exercise within Ember’s testing facilities 😞
2020-09-15 14:48:29 -05:00
Michael Lange
252fa69ce6
Sort keys when converting objects to arrays for stable model fragments
2020-09-04 19:44:21 -07:00
Michael Lange
0f2fd905d8
Derive allocation Resources property from TaskResources
2020-09-04 13:46:50 -07:00
Michael Lange
edd904c1c4
Allow for custom resource requirements for jobs that are recognized by allocations
...
The job factory will now accept an array of resourceSpecs that is a shorthand
notation for memory, cpu, disk, and iops requirements.
These specs get passed down to task groups. The task group factory will
split the resource requirements near evenly (there is variance
threshold) across all expected tasks.
Allocations then construct task-resource objects based on the resources
from the matching task.
2020-09-04 13:46:49 -07:00
Michael Lange
f9864930ce
Parameterize generateResources to enable property overrides
2020-09-04 13:46:35 -07:00
Michael Lange
fc31f80880
Temporarily remove poststop from the UI
...
Since poststart and poststop are shipping separately, we can't ship them
both in the UI at the same time.
2020-08-31 19:32:38 -07:00
Buck Doyle
90e0374926
Merge branch 'f-ui/poststart-poststop' of github.com:hashicorp/nomad into f-ui/poststart-poststop
2020-08-28 10:18:45 -05:00
Buck Doyle
7ed43b0332
Merge branch 'master' into f-ui/poststart-poststop
2020-08-28 10:15:18 -05:00
Buck Doyle
eadb91e734
Add exec heartbeat keepalive ( #8759 )
...
This closes #8727 , thanks to @jfcantu for the suggestion.
The CLI implementation of exec already has a 10-second
heartbeat so this mirrors that:
https://github.com/hashicorp/nomad/blob/v0.12.3/api/allocations.go#L161-L173
2020-08-28 10:13:33 -05:00
Michael Lange
25bb975749
Clean up erroneous and redundant mirage things
2020-08-27 17:58:24 -07:00
Buck Doyle
b06700bb63
Fix tragique formatting
2020-08-27 09:38:34 -05:00
Buck Doyle
6447e61078
Remove prestart tasks table
...
My suggestion is that this table isn’t sufficiently useful to
keep around with the combinatoric explosion of other lifecycle
phases. The logic was that someone might wonder “why isn’t my
main task starting?” and this table would show that the prestart
tasks hadn’t yet completed. One might wonder the same about
any task that has prerequisites, so should a poststart task have
a table that shows main tasks? And so on.
Since the route hierarchy guarantees that one has already passed
through a template that shows the lifecycle chart before one
can reach the template where this table is displayed, I believe
this table is redundant. It also conveys information in a more
abstract way than the chart, which is dense and more easily
understood, to me.
2020-08-26 09:58:44 -05:00
Buck Doyle
de3504a738
Add poststart and poststop lifecycle phases
2020-08-26 09:55:42 -05:00
Buck Doyle
29de8f4f76
Add component accessibility auditing and fixes ( #8679 )
...
This continues #8455 by adding accessibility audits to component integration
tests and fixing associated errors. It adds audits to existing tests rather than
adding separate ones to facilitate auditing the various permutations a
component’s rendering can go through.
It also adds linting to ensure audits happen in component tests. This
necessitated consolidating test files that were scattered.
2020-08-25 10:56:02 -05:00
Michael Lange
114909c5e8
Always show the scaling events accordion
2020-08-24 10:34:34 -07:00
Buck Doyle
4394c5b9ff
Add common serialiser abstractions ( #8634 )
...
This extracts some common API-idiosyncracy-handling patterns from model serialisers into properties that are processed by the application serialiser:
* arrayNullOverrides converts a null property value to an empty array
* mapToArray converts a map to an array of maps, using the original map keys as Name properties on the array maps
* separateNanos splits nanosecond-containing timestamps into millisecond timestamps and separate nanosecond properties
2020-08-20 12:14:49 -05:00
Nick Ethier
3cd5f46613
Update UI to use new allocated ports fields ( #8631 )
...
* nomad: canonicalize alloc shared resources to populate ports
* ui: network ports
* ui: remove unused task network references and update tests with new shared ports model
* ui: lint
* ui: revert auto formatting
* ui: remove unused page objects
* structs: remove unrelated test from bad conflict resolution
* ui: formatting
2020-08-20 11:07:13 -04:00
Buck Doyle
2f022a6a5e
Add missing server shutdown ( #8677 )
...
This removes repeated instances of this warning from test logs:
You created a second Pretender instance while there was already one running.
2020-08-17 08:17:29 -05:00
Michael Lange
6ca01a9df4
Merge pull request #8594 from hashicorp/b-ui/task-group-scale-guard
...
UI: Add guard against null scale events collection
2020-08-11 15:33:16 -07:00
Michael Lange
3227b3c342
Merge pull request #8593 from hashicorp/f-ui/scaling-events-chart
...
UI: Task group scaling timeline
2020-08-07 10:35:00 -07:00
Michael Lange
286e56ed82
Make eq-by helper resilient to a lack of prop since handlebars doesn't short-circuit evaluation
2020-08-06 17:59:26 -07:00
Michael Lange
476002d727
Key the annotations each loop by annotationKey for stable dom nodes
2020-08-06 17:58:43 -07:00
Michael Lange
a04d4f2d76
Add integration test for line-chart annotation staggering
2020-08-06 17:37:09 -07:00
Michael Lange
59d98b80ca
Add missing word "two" to test name
...
Co-authored-by: Buck Doyle <buck@hashicorp.com>
2020-08-06 15:43:29 -07:00
Buck Doyle
67f8d95917
Add override for null events collection
...
This removes some errors in the console if there are no
autoscaling events.
2020-08-06 07:51:56 -05:00
Buck Doyle
9074d33f28
UI: Add truncation of rendered search results ( #8571 )
...
This closes #8549 . Thanks to @optiz0r for the bug report. Having
the global search attempt to render every returned result is
obviously a mistake!
2020-08-05 15:58:44 -05:00
Michael Lange
3b59b52bca
Compare scale events by their UID instead of reference equality
2020-08-05 12:02:23 -07:00
Michael Lange
ecaee67ff1
Use the correct gray for the info details
2020-08-05 12:02:22 -07:00