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
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
Michael Lange
033618c46e
Safestr the annotation style property
2020-08-05 12:02:22 -07:00
Michael Lange
ebdb0c4101
Conditionally show the scaling timeline or accordion
2020-08-05 12:02:22 -07:00
Michael Lange
4c4e2e505f
Unit test coverage for the ScaleEventsChart data domain logic
2020-08-05 12:02:22 -07:00
Michael Lange
792fa64101
Integration tests for the ScaleEventsChart component
2020-08-05 12:02:22 -07:00
Michael Lange
39583e0ce1
Force mock error scale events to be annotations
2020-08-05 12:02:22 -07:00
Michael Lange
09f6bca470
New ScaleEventsChart component
...
Displays all scale events in the form of an annotated line chart. When
annotations are clicked, the timestamp, message, and meta propeties for
the event are displayed below the chart.
2020-08-05 12:02:22 -07:00
Michael Lange
21f3b7dfcc
Add activeAnnotation property to line-chart
2020-08-05 12:02:22 -07:00
Michael Lange
2903d1f504
Stagger line chart annotations when they are too close
2020-08-05 12:02:22 -07:00
Michael Lange
b332e186b2
Add curve options to line chart
2020-08-05 12:02:22 -07:00
Michael Lange
a891e907f5
Test coverage for line chart annotations
2020-08-05 12:02:22 -07:00
Michael Lange
24b6aeb746
Story for line chart annotations
2020-08-05 12:02:22 -07:00
Michael Lange
8445e22faf
Add annotations to the line chart component
2020-08-05 12:02:22 -07:00
Michael Lange
299f2b6453
Make the default time series date format for line chart more useful
2020-08-05 12:02:21 -07:00
Buck Doyle
c2ce0a1dec
Add linting for acceptance accessibility audits ( #8570 )
...
This makes use of the PR I recently had merged to eslint-plugin-ember-a11y-testing
to add linting that ensures an accessibility audit is called at least once per acceptance
test file. When I have added linting for component tests, it can apply there too.
I added exclusions for the filesystem browser tests, which are covered by behaviors/fs
and for the search test which will involve significant overrides to Ember Power Select
default templates.
2020-07-30 12:40:05 -05:00
Michael Lange
7e5cfa216e
Use the correct Message property instead of Reason in scale POST request
...
Also use a more informative default message (one that includes the new
count)
2020-07-30 08:43:15 -07:00
Michael Lange
868509de5f
Merge pull request #8563 from hashicorp/b-ui/missing-job-distribution-chart-texture
...
UI: Restore striped texture used in the job distribution bar
2020-07-30 08:20:48 -07:00
Buck Doyle
7596cfd5e7
Change job search navigation to use id ( #8560 )
...
This fixes #8548 . It was a significant oversight to use the
name instead of the id!
2020-07-30 09:10:08 -05:00
Michael Lange
5dfa8f6350
Remove now superfluous svg-patterns.js component file
2020-07-29 22:55:16 -07:00
Michael Lange
8a78999019
Move the svg-patterns template into the component dir
2020-07-29 22:54:30 -07:00
Michael Lange
4d2f322e10
Add a tooltip to explain the count change icons
2020-07-29 19:30:00 -07:00
Michael Lange
b0f2a9f51d
Fix scale and summary adapters to correct live reloading
2020-07-29 19:26:32 -07:00
Michael Lange
602b6771ba
Assert that the scale up/down indicator is not shown when the count is null
2020-07-29 19:26:32 -07:00
Michael Lange
13af67ac80
Integration tests for the scale-events-accordion component
2020-07-29 19:26:32 -07:00
Michael Lange
69795e8b7d
Refactor scale events into their own component
2020-07-29 19:26:32 -07:00
Michael Lange
4b7f431981
Acceptance tests for scaling events
2020-07-29 19:07:24 -07:00
Michael Lange
8a995a0db8
Make scale event properties more conditional and serialized correctly
2020-07-29 19:07:24 -07:00
Michael Lange
203f7e06b8
Present scaling events on the job task group page
2020-07-29 19:07:24 -07:00
Michael Lange
d92ade8c54
Load and watch the job scale endpoint on the task group page
2020-07-29 19:07:24 -07:00
Michael Lange
8eabff06d5
Finish modeling behaviors within job scale events
2020-07-29 19:07:24 -07:00
Michael Lange
35054459c2
New fluid height modifier for the json viewer
2020-07-29 19:07:24 -07:00
Michael Lange
b61d23feee
Refactor job summary adapter to use the namespace ID base class
2020-07-29 19:07:24 -07:00
Michael Lange
765077eb03
Model job scaling and events in Mirage
2020-07-29 19:07:24 -07:00