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
7ed43b0332
Merge branch 'master' into f-ui/poststart-poststop
2020-08-28 10:15:18 -05:00
Michael Lange
25bb975749
Clean up erroneous and redundant mirage things
2020-08-27 17:58:24 -07:00
Buck Doyle
de3504a738
Add poststart and poststop lifecycle phases
2020-08-26 09:55:42 -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
Michael Lange
39583e0ce1
Force mock error scale events to be annotations
2020-08-05 12:02:22 -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
765077eb03
Model job scaling and events in Mirage
2020-07-29 19:07:24 -07:00
Michael Lange
ac056b14db
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
0dd9ffdab3
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
689dd92aa8
Mirage updates for task group scaling and scaling post endpoint
2020-06-18 22:08:28 -07:00
Michael Lange
c62db754a3
Server monitor page
2020-06-16 10:23:36 -07:00
Michael Lange
c080def72e
Test coverage for the client monitor page
2020-06-16 10:23:36 -07:00
Buck Doyle
9c0f85d7b6
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
388bb138c2
Always lower case headers now
2020-05-21 10:35:40 -07:00
Michael Lange
22cc9bec74
Work around a mirage bug
2020-05-18 17:23:55 -07:00
Michael Lange
eabac917f1
Test coverage for the node-only change to the list view
2020-05-18 15:30:00 -07:00
Michael Lange
ee2d1eeb39
Introduce shallow to plugin factories to speed up tests
2020-05-07 17:29:42 -07:00
Michael Lange
11a42b6075
Acceptance test for PluginDetail
2020-05-06 17:36:45 -07:00
Michael Lange
517db723cd
Sort allocations on the plugin detail page
2020-05-06 17:21:49 -07:00
Michael Lange
210f6cdb00
Update storage controller mirage code to accommodate EDMF's lack of relationships
2020-05-06 17:21:46 -07:00
Michael Lange
ffcaef6b22
Model out the rest of the CSI Plugin properties
2020-05-06 17:21:44 -07:00
Michael Lange
034eeb1ddb
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
91b97e0170
Stabilize job and allocation job versions in fixtures
2020-05-01 14:29:24 -07:00
Jasmine Dahilig
a9004faa11
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
e8e41c5757
Acceptance tests for the volumes list page
2020-04-03 19:28:12 -07:00
Michael Lange
59427662d0
Handle namespaces in the mirage handler for volumes
2020-04-03 19:28:10 -07:00
Michael Lange
01341530e7
Add a volume facet to the clients list page
2020-03-30 17:33:44 -07:00
Michael Lange
1bd6a69067
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
674da96a59
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
44a961f4f8
Test coverage for the task detail volumes table
2020-02-13 17:11:35 -08:00
Michael Lange
895d74c503
Test coverage for change in resource rows
2020-02-13 17:11:30 -08:00
Michael Lange
c0f1aff963
Fix flaky host volumes test
2020-02-13 17:11:28 -08:00
Michael Lange
18cf59b22f
Test coverage for the host volumes table
2020-02-13 17:11:25 -08:00
Michael Lange
0f41bfafad
Update existing tests
2020-01-23 16:34:33 -08:00
Michael Lange
bfa34d5273
Update the underlying node model when toggling eligibility in mirage
2020-01-23 16:34:12 -08:00
Michael Lange
85066eee07
Mock the drain endpoint
2020-01-23 16:34:08 -08:00
Michael Lange
94955c8b08
Mock the eligibility endpoint in mirage
2020-01-23 16:34:06 -08:00
Buck Doyle
66ab14144a
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
5da134d074
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
75aa2e36ee
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
8950626c55
UI: Update Mirage to 1.1.2 ( #6166 )
2019-09-26 13:47:07 -05:00
Mahmood Ali
16f7a3f31b
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
b5e5798e54
UI: add Consul Connect features ( #6108 )
2019-09-04 09:39:56 -05:00
Buck Doyle
49b9dd5b9b
UI: Add creation time to evaluations table ( #6050 )
2019-08-22 08:11:24 -05:00
Michael Lange
74c9b1ac60
Merge pull request #5871 from hashicorp/f-ui/alloc-fs
...
UI: Allocation file system explorer
2019-08-20 10:18:23 -07:00
Michael Lange
1e620953e4
Remove the temporary allocationFileExplorer mirage scenario
2019-08-20 09:40:49 -07:00
Buck Doyle
ed652051d4
Add ability to control Mirage logging via query ( #6105 )
...
This lets us turn Mirage logging on without editing any
files, which makes it easier to switch between branches.
2019-08-20 08:36:08 -05:00
Michael Lange
836e7426b8
Encode characters in file paths to ensure proper URIs
2019-08-14 12:54:11 -07:00
Michael Lange
8cb6a20f8f
Include all client fs endpoints in the hosts block
2019-08-07 17:34:41 -07:00
Michael Lange
02c9ab1582
Add additional troublesome characters to the alloc-file name factory
2019-08-07 15:29:57 -07:00
Michael Lange
e84604fcdb
Update factory-based fs tests to sort properly
2019-07-31 01:41:00 -07:00
Michael Lange
6f519c9037
Add file mocks to every mirage scenario
2019-07-30 17:25:50 -07:00
Michael Lange
e347d76c24
Refactor existing fs tests to use new mirage factories
2019-07-30 17:25:46 -07:00
Michael Lange
6325c78b1e
cat, stream, and readat mocks for alloc fs
2019-07-30 17:25:44 -07:00
Michael Lange
e6d1314254
Use the alloc file factory for the fs stat and fs ls end points
2019-07-30 17:25:43 -07:00
Michael Lange
c8977c18ba
Mirage factory for file system fixtures
2019-07-30 17:25:42 -07:00
Buck Doyle
595eb480ba
UI: Add allocation directory rendering ( #5873 )
...
This lets users navigate the allocation filesystem. It doesn’t
support viewing actual files yet.
2019-07-02 16:42:38 -05:00
Michael Lange
af6daf34d2
Give the allTheThings scenario a better name
2019-06-19 17:18:43 -07:00
Michael Lange
6201003f3f
New Mirage scenario for puppeteer script to use
2019-06-19 17:18:40 -07:00
Michael Lange
8d31474fdc
Support task restarting in the allocation adapter
2019-05-21 09:24:17 -07:00
Michael Lange
000bfce30f
Add preemption properties to Mirage allocation factory
2019-04-22 16:40:07 -07:00
Michael Lange
6988dc1b5c
Introduce the concept of 'shallow' job models in Mirage
2019-04-11 20:08:09 -07:00
Michael Lange
243adeb165
Reduce the number of task groups and task events that are made
2019-04-11 18:15:35 -07:00
Michael Lange
fa90590462
Update everything to work with the mirage backwards incompat
2019-04-10 14:54:37 -07:00
Michael Lange
b6b2fd2114
Address the copy/copyable deprecation
2019-04-10 14:54:35 -07:00
Michael Lange
4464c473e5
Add nodeClass to the node model
2019-04-10 10:34:10 -05:00
Michael Lange
aa0cbadb30
Improve mirage modeling of allocations
...
Pending allocations never have tasks
2018-11-09 17:11:47 -08:00
Michael Lange
4e21366714
Merge pull request #4852 from hashicorp/b-ui-dispatched-job-page
...
UI: Show the correct template for dispatched jobs
2018-11-09 14:36:35 -08:00
Michael Lange
8e18903996
Show the correct template for parameterized job children
2018-11-07 21:04:27 -08:00
Michael Lange
5057574c69
Correctly mark parameterized children as parameterized: true
2018-11-07 17:07:40 -08:00
Michael Lange
174dc02025
Improve client stat simulation and add a chance for requests to error
2018-11-01 22:11:56 -07:00
Michael Lange
f86347bc62
Always return valid dates for timestamps
2018-09-19 16:33:18 -07:00
Michael Lange
f15e3ba0c2
Test coverage for NodeStatsTracker
2018-09-11 16:27:06 -07:00
Michael Lange
3c2e7b7dd3
Merge pull request #4616 from hashicorp/f-ui-promote-canary
...
UI: Promote canary
2018-08-30 09:48:31 -07:00
Michael Lange
62e9cf268b
Test coverage for the promote canary feature
2018-08-30 09:38:29 -07:00
Michael Lange
b5b4a979f9
Test coverage for the job-editor component
...
Most of this was ported over from the existing job run acceptance tests
2018-08-23 09:00:14 -07:00
Michael Lange
3cee992a97
Test coverage for scheduler dry-run addition to the plan page
2018-08-20 16:44:37 -07:00
Michael Lange
f53fb08144
Rework job parse mirage request to get the job ID out of the payload
2018-08-16 17:22:22 -07:00
Michael Lange
75124fdc9e
Use the job name as the job id
...
This has bit me more than once. It's best just to make Mirage consistent
with the API even if it currently means indeterminate job ids
2018-08-15 17:00:08 -07:00
Michael Lange
2239e3c8d7
Support parse, plan, and run endpoints in mirage
2018-08-15 16:59:42 -07:00
Michael Lange
104e5196a6
Acceptance tests for the region switcher
2018-08-10 12:52:05 -07:00
Michael Lange
94d321ef4f
Properly model regions in Mirage
2018-08-09 19:57:21 -07:00
Michael Lange
ebd5123b77
Bare minimum Mirage support for regions
2018-08-09 18:22:37 -07:00
Michael Lange
578403b193
Add createTime to the allocation model
2018-08-06 10:53:13 -07:00
Michael Lange
dad24eef86
Test coverage for the expanded feature set of the latest-deployment component
2018-07-30 15:31:31 -07:00
Michael Lange
60a4e3de7a
Support the /job/:id/deployment endpoint in mirage
2018-07-30 15:24:31 -07:00
Michael Lange
ab54583878
Use the JobID as the Version ID for mirage job versions
2018-07-27 16:32:43 -07:00
Michael Lange
22f5bedd58
Codify common mirage scenarios and make it easy to switch between
2018-07-10 10:06:11 -07:00
Michael Lange
686061cc9a
Acceptance test for jobs from different namespaces on a single client
2018-07-06 10:50:22 -07:00
Michael Lange
b9d590349e
Dasherize task names in factory
...
This is to avoid test failures due to url encoding mismatches
2018-06-13 15:04:31 -07:00
Michael Lange
37a8fb2af2
Add new property to factory
2018-06-06 17:34:50 -07:00
Michael Lange
5eac0a53f6
New traits for node states
2018-05-30 11:27:21 -07:00
Michael Lange
65edf31ec9
Acceptance testing for node drain information
2018-05-30 11:27:21 -07:00
Michael Lange
65d696f038
Merge pull request #4294 from hashicorp/f-ui-driver-health-checking
...
UI: Driver health checking
2018-05-25 12:00:11 -07:00
Michael Lange
8b09108f9c
Display driver attributes without the superfluous driver and driver name section
2018-05-25 10:15:25 -07:00
Michael Lange
3f781743e4
NodeEvent and NodeDriver modeling in Mirage
2018-05-25 10:15:24 -07:00