Commit Graph

158 Commits

Author SHA1 Message Date
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
d55c3ca809 Derive allocation Resources property from TaskResources 2020-09-04 13:46:50 -07:00
Michael Lange
b46955f9e1 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
9bcf8c8d3d Parameterize generateResources to enable property overrides 2020-09-04 13:46:35 -07:00
Michael Lange
f8a505ea2f 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
766c2dce80 Merge branch 'master' into f-ui/poststart-poststop 2020-08-28 10:15:18 -05:00
Michael Lange
c7da3d377d Clean up erroneous and redundant mirage things 2020-08-27 17:58:24 -07:00
Buck Doyle
14bfb9a53c Add poststart and poststop lifecycle phases 2020-08-26 09:55:42 -05:00
Nick Ethier
2be03bc0d9 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
Michael Lange
2a88541fa2 Force mock error scale events to be annotations 2020-08-05 12:02:22 -07:00
Michael Lange
cc44bc41e5 Acceptance tests for scaling events 2020-07-29 19:07:24 -07:00
Michael Lange
9008694ab7 Make scale event properties more conditional and serialized correctly 2020-07-29 19:07:24 -07:00
Michael Lange
5f2dee8225 Model job scaling and events in Mirage 2020-07-29 19:07:24 -07:00
Michael Lange
1913c5f60f Merge pull request #8218 from hashicorp/b-ui/plugin-allocation-healthy-flakiness
UI: Add cycling to factory healthy flags
2020-06-19 14:39:47 -07:00
Buck Doyle
5772ea210c Add cycling to factory healthy flags
This is meant to address the plugin test failure seen here:
https://app.circleci.com/pipelines/github/hashicorp/nomad/10015/workflows/ace5d615-db03-4cfc-86b2-31e9e00473ec/jobs/77014/tests

I believe the problem was that on rare occasions, the set
of mock storage controllers and nodes were all unhealthy,
so the facet test had no rows to iterate through. Since
there are always three of each, this guarantees some
healthy ones will be present.
2020-06-19 15:43:32 -05:00
Michael Lange
a1f1079cfd Mirage updates for task group scaling and scaling post endpoint 2020-06-18 22:08:28 -07:00
Michael Lange
a0c6cc2dfd Server monitor page 2020-06-16 10:23:36 -07:00
Michael Lange
d0a0ffd27d Test coverage for the client monitor page 2020-06-16 10:23:36 -07:00
Buck Doyle
06baadd01e UI: add filesystem browsing for allocations (#7951)
This partially addresses #7799.

Task state filesystems are contained within a subdirectory of their
parent allocation, so almost everything that existed for browsing task
state filesystems was applicable to browsing allocations, just without
the task name prepended to the path. I aimed to push this differential
handling into as few contained places as possible.

The tests also have significant overlap, so this includes an extracted
behavior to run the same tests for allocations and task states.
2020-06-01 08:15:59 -05:00
Michael Lange
3872b0be23 Always lower case headers now 2020-05-21 10:35:40 -07:00
Michael Lange
cb5cea646c Work around a mirage bug 2020-05-18 17:23:55 -07:00
Michael Lange
3da88c6925 Test coverage for the node-only change to the list view 2020-05-18 15:30:00 -07:00
Michael Lange
79327c9d96 Introduce shallow to plugin factories to speed up tests 2020-05-07 17:29:42 -07:00
Michael Lange
877cadffc9 Acceptance test for PluginDetail 2020-05-06 17:36:45 -07:00
Michael Lange
9632aace74 Sort allocations on the plugin detail page 2020-05-06 17:21:49 -07:00
Michael Lange
0dd5882c75 Update storage controller mirage code to accommodate EDMF's lack of relationships 2020-05-06 17:21:46 -07:00
Michael Lange
5d3438193a Model out the rest of the CSI Plugin properties 2020-05-06 17:21:44 -07:00
Michael Lange
d9aaaa0107 Merge pull request #7855 from hashicorp/b-ui/alloc-wrong-reserved-resources
UI: Make allocation reference own task group instead of job's task group when job versions don't match
2020-05-06 10:08:37 -07:00
Michael Lange
113cd4c6ef Stabilize job and allocation job versions in fixtures 2020-05-01 14:29:24 -07:00
Jasmine Dahilig
c10ac6394f UI: Add representations for task lifecycles (#7659)
This adds details about task lifecycles to allocations, task groups,
and tasks. It includes a live-updating timeline-like chart on allocations.
2020-04-30 08:15:19 -05:00
Michael Lange
283e112d96 Acceptance tests for the volumes list page 2020-04-03 19:28:12 -07:00
Michael Lange
cb655b4959 Handle namespaces in the mirage handler for volumes 2020-04-03 19:28:10 -07:00
Michael Lange
0f07f4cc40 Add a volume facet to the clients list page 2020-03-30 17:33:44 -07:00
Michael Lange
508404ccba UI: Support for CSI (#7446)
Closes #7197 #7199

Note: Test coverage is limited to adapter and serializer unit tests. All
acceptance tests have been stubbed and all features have been manually
tested end-to-end.

This represents Phase 1 of #6993 which is the core workflow of CSI in
the UI. It includes a couple new pages for viewing all external volumes
as well as the allocations associated with each. It also updates
existing volume related views on job and allocation pages to handle both
Host Volumes and CSI Volumes.
2020-03-25 07:51:26 -05:00
Buck Doyle
27df92a967 UI: add exec terminal (#6697)
This connects Xterm.js to a Nomad exec websocket so people
can interact on clients via live sessions. There are buttons on
job, allocation, task group, and task detail pages that open a
popup that lets them edit their shell command and start a
session.

More is to come, as recorded in issues.
2020-03-24 18:22:16 -05:00
Michael Lange
31945880e7 Test coverage for the task detail volumes table 2020-02-13 17:11:35 -08:00
Michael Lange
0733c1e86e Test coverage for change in resource rows 2020-02-13 17:11:30 -08:00
Michael Lange
787dedcd5c Fix flaky host volumes test 2020-02-13 17:11:28 -08:00
Michael Lange
961691248b Test coverage for the host volumes table 2020-02-13 17:11:25 -08:00
Michael Lange
b11c82caaf Update existing tests 2020-01-23 16:34:33 -08:00
Michael Lange
44904ba3f1 Update the underlying node model when toggling eligibility in mirage 2020-01-23 16:34:12 -08:00
Michael Lange
1cbbba038c Mock the drain endpoint 2020-01-23 16:34:08 -08:00
Michael Lange
a43d1084b1 Mock the eligibility endpoint in mirage 2020-01-23 16:34:06 -08:00
Buck Doyle
3adb3cd1fe ui: Change Run Job availability based on ACLs (#5944)
This builds on API changes in #6017 and #6021 to conditionally turn off the
“Run Job” button based on the current token’s capabilities, or the capabilities
of the anonymous policy if no token is present.

If you try to visit the job-run route directly, it redirects to the job list.
2020-01-20 14:57:01 -06:00
Buck Doyle
550e1b1a1e UI: Change Mirage data to be stable in development (#6389)
This sets a default-but-query-configurable Faker seed in development,
via faker-seed. It also changes uses of Math.random to use Faker’s
randomness so auto-generated data remains stable in development.
2019-10-03 09:13:08 -05:00
Buck Doyle
a37d45223a UI: Change factories to be more dynamic (#6387)
I noticed while working on #6166 that some of the factory properties
that used Faker’s randomisation features are using their output
rather than a function that would call the randomiser. This means that
the randomisation happens once and the value is used for every model
generated by the factory. This wraps the randomiser calls in functions
so different models can have different values.
2019-09-30 09:44:22 -05:00
Buck Doyle
7fcfdab316 UI: Update Mirage to 1.1.2 (#6166) 2019-09-26 13:47:07 -05:00
Mahmood Ali
d966a2fe9e ui: protect against nil services
Protect against case where an alloc has no services and avoid
dereferencing null.

Here, we ensure that the model and test serializers mimic the API by
having nil TaskGroup.Services instead of an empty array.
2019-09-16 16:50:30 -04:00
Buck Doyle
dfb88cc787 UI: add Consul Connect features (#6108) 2019-09-04 09:39:56 -05:00
Buck Doyle
2364fb2da1 UI: Add creation time to evaluations table (#6050) 2019-08-22 08:11:24 -05:00