Commit Graph

1566 Commits

Author SHA1 Message Date
Michael Lange
47cb6c43bb Merge pull request #9166 from mobiltracker/master
Display class in client details
2020-10-26 10:54:14 -07:00
Michael Lange
f69e3a1e2b Merge pull request #9167 from hashicorp/f-ui/topo-viz-refinements
UI: topo viz refinements
2020-10-26 10:51:31 -07:00
Michael Lange
607aac440a Merge pull request #9172 from hashicorp/b-ui/logs-for-fails
UI: Always show the file browser for allocations and tasks.
2020-10-26 10:36:18 -07:00
fqborges
e9ae4406cc Display class in client details 2020-10-26 11:29:19 -03:00
Michael Lange
8d8f9aaa28 Show the nomad agent version of the agent the UI is served from 2020-10-25 23:52:06 -07:00
Michael Lange
05f3bf2d09 Always show the file browser for allocations and tasks.
Before, we'd show a helpful error message when a task isn't running
instead of erroring in a generic way. Turns out when an alloc is
terminal but reachable, the filesystem is left behind so we were hiding
it.

Now it is always shown and in the event that something errors, it'll
either be generic, or--more commonly--a 404 of the allocation.
2020-10-25 22:24:56 -07:00
Michael Lange
b87b4257ae Make alloc association lines conditional on alloc count relative to node count 2020-10-23 15:16:31 -07:00
Michael Lange
9c7bee8a01 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
2385baae80 Reset inline styles on flex-masonry elements when columns is set to 1 2020-10-23 14:17:03 -07:00
Michael Lange
6d8192c065 Truncate text in the topo viz info panel 2020-10-23 14:17:03 -07:00
Michael Lange
d6d2bca48f Highlight starting allocations with a blue tint 2020-10-23 14:17:03 -07:00
Michael Lange
9e87f6a409 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
5237c11817 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
7c7b1131f0 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
69605fc3d4 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
8f94a989d9 Typo 2020-10-15 11:45:59 -07:00
Michael Lange
214ce4a3d2 Work around Safari's lack of text transform support 2020-10-15 11:45:59 -07:00
Michael Lange
0d920ae761 Factor out the common sum aggregator used in the topology controller 2020-10-15 11:45:59 -07:00
Michael Lange
2cf4b5de46 Remove the scenarios I didn't need/didn't get to 2020-10-15 11:45:59 -07:00
Michael Lange
223011e1b4 Describe the glimmer-factory better including the motive 2020-10-15 11:45:59 -07:00
Michael Lange
e540312c67 Reset the standard environment values 2020-10-15 11:45:59 -07:00
Michael Lange
229fa293d0 Treat legend term pairs as single wrapping elements 2020-10-15 10:30:34 -07:00
Michael Lange
b5809d46fe Some light topology acceptance tests 2020-10-15 03:06:51 -07:00
Michael Lange
13415df25c Unit and integration tests for TopoViz component 2020-10-15 02:54:16 -07:00
Michael Lange
3a48dbfb40 Test coverage for TopoViz::Datacenter 2020-10-15 02:54:16 -07:00
Michael Lange
9390d24890 Remove temp reloading of nodes in the TopoViz component 2020-10-15 02:54:16 -07:00
Michael Lange
a5ea84d957 Update scenarios to use new resources code 2020-10-15 02:54:16 -07:00
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