Commit Graph

1390 Commits

Author SHA1 Message Date
Buck Doyle
08691407eb Remove non-classic use of this.set (#8242)
This will fix a linting error introduced in 068ad06.
2020-06-22 13:23:28 -05:00
Buck Doyle
068ad06a94 Add linting for classic decorator (#8182)
This completes an installation step I missed when making #8144 and
marks classes that are using the EmberObject APIs as classic.
2020-06-22 10:48:53 -05:00
Michael Lange
b941519352 Fix flaky task-group-row test. (#8221)
Sometimes a job would be created with a running deployment which made
the increment button disabled.

While I was finding the root cause, I also changed the waitUntil pattern
to match the StepperInput technique which is more resilient to code
changes.
2020-06-20 09:48:32 -05: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
6dfca71b3b Add a key to the alloc table on the task group detail page
Adding keys tells Ember to rerender matching entries instead of
destroying and recreating.

Without this key, every time the allocation collection changes, every
allocation row gets destroyed and recreated.

This happens a lot, since each allocation needs to be reloaded which
dirties the collection.

Since allocation rows fetch stats on init, each of these many many
renders results in a stats request.

By using key and rerendering matching records, this all goes away. Since
the rows aren't being destroyed and recreated, the init stats request
isn't being made overnumerously.
2020-06-19 11:27:57 -07:00
Buck Doyle
62abb11bab Add phase 1 of global search (#8175)
This introduces a DataCaches service so recently-updated collections don’t need
to be requeried within a minute, or based on the current route. It only searches
jobs and nodes. There are known bugs that will be addressed in upcoming PRs.
2020-06-19 13:05:28 -05:00
Michael Lange
c70ea9765f Remove superfluous property from the StepperInput page object 2020-06-19 10:21:39 -07:00
Michael Lange
61042e0ecf Acceptance tests for task group scaling 2020-06-18 23:23:03 -07:00
Michael Lange
72161b06f7 Watch the latest deployment relationship to disable the stepper appropriately 2020-06-18 23:23:03 -07:00
Michael Lange
eb901b59b0 Wire up the scale action on the task group page 2020-06-18 23:23:03 -07:00
Michael Lange
2227f24474 Integrate the stepper input with the task group page 2020-06-18 22:32:56 -07:00
Michael Lange
110f491c98 Test coverage for the StepperInput 2020-06-18 22:08:29 -07:00
Michael Lange
6bde0e522a Style the StepperInput component 2020-06-18 22:08:28 -07:00
Michael Lange
140f9f6800 Add count StepperInput to the task group page 2020-06-18 22:08:28 -07:00
Michael Lange
ed6395899f StepperInput story 2020-06-18 22:08:28 -07:00
Michael Lange
2b88651fca Barebones StepperInput component 2020-06-18 22:08:28 -07:00
Michael Lange
0b0be1b63b Slow the debounce time. 2020-06-18 22:08:28 -07:00
Michael Lange
469b107a64 Test coverage for the task group row scale actions 2020-06-18 22:08:28 -07:00
Michael Lange
1182203559 Disable scale buttons when a deployment is running or ACL forbids it 2020-06-18 22:08:28 -07:00
Michael Lange
7fec4d8bc5 Add canScale ability for jobs 2020-06-18 22:08:28 -07:00
Michael Lange
a1f1079cfd Mirage updates for task group scaling and scaling post endpoint 2020-06-18 22:08:28 -07:00
Michael Lange
9a344e468e Wire up the +/- buttons in task group rows to the job scale action 2020-06-18 22:08:28 -07:00
Michael Lange
149dcdacb4 New scale action for jobs (and a convenience task group method) 2020-06-18 22:08:27 -07:00
Michael Lange
856743983e Create new AbortController with each tick of the ec task loops
This was a disturbing discovery. Requests in watch loops would recycle
AbortControllers meaning once any request was aborted, all requests
forever after were skipped. I noticed it with deployments and job
summary on the job detail page.

I suspect this regression occurred when jQuery was removed. This needs
test coverage still to make sure it doesn't happen again.
2020-06-18 22:08:27 -07:00
Michael Lange
3768a63712 Make sure buttons in a button bar have a very visible focus state 2020-06-18 22:08:27 -07:00
Michael Lange
ed6c414745 Add the elements of the manual scaling actions to the task-group-row component 2020-06-18 22:08:27 -07:00
Michael Lange
2e1adbc83e Add the min/max and policy y/n of a task group to the details ribbon 2020-06-18 22:08:27 -07:00
Michael Lange
6b57adc013 Prevent inline definition key/value pairs from breaking the key and value onto separate lines 2020-06-18 22:08:27 -07:00
Michael Lange
461980d927 Additional button-bar treatments for use in a table row 2020-06-18 22:08:27 -07:00
Michael Lange
158f7764be Extend button-bar support to buttons 2020-06-18 22:08:27 -07:00
Michael Lange
0137f8d02a When an icon is intended as text, it shouldn't have pointer events
This prevents the svg from being a target in click events.
2020-06-18 22:08:27 -07:00
Michael Lange
4e7b844422 New xsmall button size 2020-06-18 22:08:27 -07:00
Michael Lange
e28efc6afc LazyClick should also get interrupted by buttons 2020-06-18 22:08:26 -07:00
Michael Lange
29ff3f9c8c Model the scaling properties of a task group as a fragment 2020-06-18 22:08:26 -07:00
Michael Lange
34e8e1f183 Code review feedback 2020-06-17 14:56:16 -07:00
Michael Lange
619aea8dbb Guard the request animation frame with the existing requestFrame flag 2020-06-17 14:50:55 -07:00
Michael Lange
5bb3c434d8 Select all shortcut support for the streaming file component 2020-06-16 12:51:52 -07:00
Michael Lange
a0c6cc2dfd Server monitor page 2020-06-16 10:23:36 -07:00
Michael Lange
53027ba6ac Test coverage for new features of the server detail page 2020-06-16 10:23:36 -07:00
Michael Lange
718575742e Redesign the server detail page to be inline with everything else 2020-06-16 10:23:36 -07:00
Michael Lange
9294a7a7f2 Add nested monitor route to servers/server 2020-06-16 10:23:36 -07:00
Michael Lange
9e5cd53fd6 Refactor the servers/server pages to match the subnav style of nested pages 2020-06-16 10:23:36 -07:00
Michael Lange
a0fce0331a Show a helpful forbidden message when monitor access is not authorized 2020-06-16 10:23:36 -07:00
Michael Lange
c3b4999a91 New component version of the forbidden-message partial 2020-06-16 10:23:36 -07:00
Michael Lange
a4a8c9e167 Ability for agent:read 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
Michael Lange
f896a622d8 Test coverage for the AgentMonitor component 2020-06-16 10:23:36 -07:00
Michael Lange
2c85e69300 Temporary helpers for ember-power-select
These are based on the source code for selectChoose. I would have liked
to have used selectChoose, but the implementation has two await
settled()s in it which prevented me from writing the tests I needed to
write.

These new extension helpers separate selectChoose into two pieces so
logic can be placed between the two async actions.
2020-06-16 10:23:36 -07:00
Michael Lange
88e7e7ea66 Preserve the log when switching log levels on monitor 2020-06-16 10:23:36 -07:00