Commit Graph

1539 Commits

Author SHA1 Message Date
Michael Lange
f9dccf9c7b Adjust topo viz controller to new resource code 2020-10-15 02:54:16 -07:00
Michael Lange
334f72c633 Unit test for for GiB in format-bytes 2020-10-15 02:54:16 -07:00
Michael Lange
b185d09f31 Update topo viz code to use new alloc/node resources pattern 2020-10-15 02:54:16 -07:00
Michael Lange
faaf697c9e Migrate to the new resources properties for allocs and nodes 2020-10-15 02:54:16 -07:00
Michael Lange
84f88ecf7e Test coverage for TopoViz::Node 2020-10-15 02:54:16 -07:00
Michael Lange
611b0b3e00 FlexMasonry integration tests 2020-10-15 02:54:15 -07:00
Michael Lange
639b3ffa70 More information about clients in the info panel 2020-10-15 02:54:15 -07:00
Michael Lange
90dbab198a Filter total alloc count by only scheduled allocs 2020-10-15 02:54:15 -07:00
Michael Lange
927343f36a Add icons to denote draining or ineligibility of clients 2020-10-15 02:54:15 -07:00
Michael Lange
de9124eea4 Label empty clients in the topo viz chart 2020-10-15 02:54:15 -07:00
Michael Lange
bb68a14cbc Improved curves for allocation associations 2020-10-15 02:54:15 -07:00
Michael Lange
a4c8ce4ee0 Fix a re-render bug with flexmasonry 2020-10-15 02:54:15 -07:00
Michael Lange
f5f964b7bf 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
4e81ab8d3f Conditionally use the FlexMasonry layout for datacenters within TopoViz 2020-10-15 02:54:15 -07:00
Michael Lange
c5e84749ad Apply FlexMasonry to the TopoViz component 2020-10-15 02:54:15 -07:00
Michael Lange
c152ccb945 New FlexMasonry component implements a masonry layout using flexbox 2020-10-15 02:54:15 -07:00
Michael Lange
a9e29178bb Second attempt at a masonry layout 2020-10-15 02:54:15 -07:00
Michael Lange
be2d0fc201 A better loading screen for the topo viz while nodes load 2020-10-15 02:54:14 -07:00
Michael Lange
37cc9b7275 Connect the memory and cpu rectangles 2020-10-15 02:54:14 -07:00
Michael Lange
d13c065bbd 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
9991dc63bb Make the alloc select render path more efficient by not needlessly recomputing data 2020-10-15 02:54:14 -07:00
Michael Lange
e9626ceb82 Add more variety to the node heights 2020-10-15 02:54:14 -07:00
Michael Lange
2704c3e4b8 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
98dd2586b7 Medium scale topo scenario 2020-10-15 02:54:14 -07:00
Michael Lange
3cd464d03c Updated alloc and cluster details on topo page 2020-10-15 02:54:14 -07:00
Michael Lange
290f7d8fb4 Guard against undefined denominators 2020-10-15 02:54:14 -07:00
Michael Lange
f56f631676 Associate sibling allocations by drawing lines 2020-10-15 02:54:14 -07:00
Michael Lange
f5c3d0e0a7 Super rough allocation details, needs some style love 2020-10-15 02:54:14 -07:00
Michael Lange
c2b7f7c073 Add cluster details to the topology page 2020-10-15 02:54:13 -07:00
Michael Lange
0b3a78b9ef Touch up topo viz interactions 2020-10-15 02:54:13 -07:00
Michael Lange
36df145da5 Fleshing out the first prototype of the topology visualization 2020-10-15 02:54:13 -07:00
Michael Lange
606910f365 Tweak topo scenario 2020-10-15 02:54:13 -07:00
Michael Lange
b3ddd1f897 Start click interaction for topo viz allocs 2020-10-15 02:54:13 -07:00
Michael Lange
7cf3b74236 Fix factory bug that made it so pending allocs had no resources 2020-10-15 02:54:13 -07:00
Michael Lange
773404a47f 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
a003a8a987 Quick window resize modifier 2020-10-15 02:54:13 -07:00
Michael Lange
b6867ef4ad Add ember modifiers addon 2020-10-15 02:54:13 -07:00
Michael Lange
6d9f59f87d Scaffold topo viz components 2020-10-15 02:54:13 -07:00
Michael Lange
1e9e2a1c8b Small cluster example scenario for the topo viz 2020-10-15 02:54:13 -07:00
Michael Lange
753bfbf1e7 Scaffold a new topology page 2020-10-15 02:54:12 -07:00
Jamie Finnigan
ad74eef9a6 Fix robots.txt to disallow indexing of all paths 2020-10-14 12:45:04 -07:00
Buck Doyle
74c14dfe55 Change htmlSafe prototype calls to imports (#9075) 2020-10-13 11:50:28 -05:00
Michael Lange
ccf022ec8b 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
204d726435 Test coverage for page select and submit time on periodic page 2020-09-19 12:37:38 -07:00
Michael Lange
7477e972f8 Update job launches table to use the page size select pattern 2020-09-18 18:27:48 -07:00
Michael Lange
ec5b2c9f43 Sort periodic and parameterized job detail pages by most recently submitted 2020-09-18 18:03:23 -07:00
Michael Lange
bf1c879447 Add job submit time to the job children list 2020-09-18 17:58:15 -07:00
dependabot[bot]
0c5bb85b1c 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]
14c680e760 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
627c73a84a 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