Commit Graph

69 Commits

Author SHA1 Message Date
Jai
c180c8d463 fix broken link to task-group in Recent Allocation table in jobs.job.index (#12765)
* chore:  run prettier on hbs files

* ui:  ensure to pass a real job object to task-group link

* chore:  add changelog entry

* chore: prettify template

* ui:  template helper for formatting jobId in LinkTo component

* ui:  handle async relationship

* ui:  pass in job id to model arg instead of job model

* update test for serialized namespace

* ui:  defend against null  in tests

* ui:  prettified template added whitespace

* ui:  rollback ember-data to 3.24 because watcher return undefined on abort

* ui: use format-job-helper instead of job model via alloc

* ui: fix whitespace in template caused by prettier using template helper

* ui: update test for new namespace

* ui: revert prettier change

Co-authored-by: Luiz Aoqui <luiz@hashicorp.com>
2022-04-28 14:02:15 -04:00
Phil Renaud
cabe05705c [ui] Disconnected Clients: "Unknown" allocations in the UI (#12544)
* Unknown status for allocations accounted for

* Canary string removed

* Test cleanup

* Generate unknown in mirage

* aacidentally oovervoowled

* Update ui/app/components/allocation-status-bar.js

Co-authored-by: Derek Strickland <1111455+DerekStrickland@users.noreply.github.com>

* Disconnected state on job status in client

* Renaming Disconnected to Unknown in the job-status-in-client

* Unknown accounted for on job rows filtering and testsfix

* Adding lostAllocs as a computed dependency

* Unknown client status within acceptance test

* Swatches updated and PR comments addressed

* Unknown and disconnected added to test fixtures

Co-authored-by: Derek Strickland <1111455+DerekStrickland@users.noreply.github.com>
2022-04-22 11:25:02 -04:00
Jai Bhagat
2032813bb6 ui: apply new qunit linting rules to tests
Async tests should use  in integrations tests.
Acceptance tests are using Mirage and can't use
since we can't know the number of assertions.
2022-01-20 10:01:35 -05:00
Jai Bhagat
8c600acb35 ui: prettify js files 2022-01-20 09:54:56 -05:00
Jai Bhagat
d0f8322786 ui: fix auto-fixable linting errors 2022-01-20 09:46:45 -05:00
Jai Bhagat
1a2914b9fe fix: test specs should expect to receive breadcrumb titles 2021-12-21 07:47:06 -05:00
Luiz Aoqui
648b71c96a ui: display empty message in the client details page if there are no allocations to show 2021-12-17 18:49:47 -05:00
Luiz Aoqui
6112620590 ui: fix client details page alloc status filter and replace task group with namespace and job 2021-12-17 18:49:42 -05:00
Luiz Aoqui
f729ba5df4 ui: persist node drain settings (#11368) 2021-10-22 10:51:31 -04:00
Buck Doyle
911b613693 ui: Change global search to use fuzzy search API (#10412)
This updates the UI to use the new fuzzy search API. It’s a drop-in
replacement so the / shortcut to jump to search is preserved, and
results can be cycled through and chosen via arrow keys and the
enter key.

It doesn’t use everything returned by the API:
* deployments and evaluations: these match by id, doesn’t seem like
  people would know those or benefit from quick navigation to them
* namespaces: doesn’t seem useful as they currently function
* scaling policies
* tasks: the response doesn’t include an allocation id, which means they
  can’t be navigated to in the UI without an additional query
* CSI volumes: aren’t actually returned by the API

Since there’s no API to check the server configuration and know whether
the feature has been disabled, this adds another query in
route:application#beforeModel that acts as feature detection: if the
attempt to query fails (500), the global search field is hidden.

Upon having added another query on load, I realised that beforeModel was
being triggered any time service:router#transitionTo was being called,
which happens upon navigating to a search result, for instance, because
of refreshModel being present on the region query parameter. This PR
adds a check for transition.queryParamsOnly and skips rerunning the
onload queries (token permissions check, license check, fuzzy search
feature detection).

Implementation notes:

* there are changes to unrelated tests to ignore the on-load feature
  detection query
* some lifecycle-related guards against undefined were required to
  address failures when navigating to an allocation
* the minimum search length of 2 characters is hard-coded as there’s
  currently no way to determine min_term_length in the UI
2021-04-28 13:31:05 -05:00
Michael Lange
a019587de5 Use common helpers and utils for formatting hertz 2021-03-31 09:29:14 -07:00
Michael Lange
f82fe6b875 Format all bytes using helpers, even the ones that are already MiBs 2021-03-31 09:29:02 -07:00
Buck Doyle
e28cb14494 Change down to highest-priority composite status (#9927)
As pointed out by Nick Ethier, if a node was ineligible before
it went down, downness should be displayed, not ineligibility.
2021-02-01 12:00:34 -06:00
Buck Doyle
2211ec777b Move breadcrumbs objects into shared layout object (#9576)
Various page objects had breadcrumbs and breadcrumbFor within them, this
moves those to the existing Layout page object that contains shared page objects.
2020-12-10 11:51:22 -06:00
Michael Lange
faaf697c9e Migrate to the new resources properties for allocs and nodes 2020-10-15 02:54:16 -07:00
Buck Doyle
5eddb14a33 Add component accessibility auditing and fixes (#8679)
This continues #8455 by adding accessibility audits to component integration
tests and fixing associated errors. It adds audits to existing tests rather than
adding separate ones to facilitate auditing the various permutations a
component’s rendering can go through.

It also adds linting to ensure audits happen in component tests. This
necessitated consolidating test files that were scattered.
2020-08-25 10:56:02 -05:00
Buck Doyle
9d190a643e Add acceptance test accessibility auditing and fixes (#8455)
This introduces ember-a11y-testing to acceptance tests via a helper
wrapper that allows us to globally ignore rules that we can address
separately. It also adds fixes for the aXe rules that were failing.
2020-07-28 12:59:14 -05:00
Michael Lange
62d859a552 Fix latent race condition in client detail test
Adding this settled makes this test pass now that Ember Data is using
fetch instead of jquery. The test was presumably always incorrect but
never flaked.
2020-05-21 10:35:40 -07:00
Michael Lange
6024b9c1b6 Correct a test and a dependent key 2020-02-14 16:44:28 -08:00
Michael Lange
0733c1e86e Test coverage for change in resource rows 2020-02-13 17:11:30 -08:00
Michael Lange
961691248b Test coverage for the host volumes table 2020-02-13 17:11:25 -08:00
Michael Lange
234b7efee8 Acceptance test for disabled node write controls 2020-01-31 09:41:37 -08:00
Michael Lange
b9b6cda5b4 Update client detail test given change to the compositeStatus property 2020-01-23 16:34:38 -08:00
Michael Lange
deb2b310f6 Remove superfluous information from the client details ribbon 2020-01-23 16:34:36 -08:00
Michael Lange
93eaaab77e New test coverage for the drain capabilities 2020-01-23 16:34:34 -08:00
Michael Lange
b11c82caaf Update existing tests 2020-01-23 16:34:33 -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
fabcf7c1a9 Fix flapping status light test (#6852)
I unintentionally introduced a flapping test in #6817. The
draining status of the node will be randomly chosen and
that flag takes precedence over eligibility. This forces
the draining flag to be false rather than random so the
test should no longer flap.

See here for an example failure:
https://circleci.com/gh/hashicorp/nomad/26368
2019-12-13 09:02:02 -06:00
Buck Doyle
83d92251c5 UI: Fix client sorting (#6817)
There are two changes here, and some caveats/commentary:

1. The “State“ table column was actually sorting only by status. The state was not an actual property, just something calculated in each client row, as a product of status, isEligible, and isDraining. This PR adds isDraining as a component of compositeState so it can be used for sorting.

2. The Sortable mixin declares dependent keys that cause the sort to be live-updating, but only if the members of the array change, such as if a new client is added, but not if any of the sortable properties change. This PR adds a SortableFactory function that generates a mixin whose listSorted computed property includes dependent keys for the sortable properties, so the table will live-update if any of the sortable properties change, not just the array members. There’s a warning if you use SortableFactory without dependent keys and via the original Sortable interface, so we can eventually migrate away from it.
2019-12-12 13:06:54 -06:00
Buck Doyle
7fcfdab316 UI: Update Mirage to 1.1.2 (#6166) 2019-09-26 13:47:07 -05:00
Buck Doyle
87d716ed0b UI: Add page titles (#5924)
This uses ember-page-title to add dynamic page titles throughout the
route hierarchy. When there’s more than one region, the current
current region is added before the final entry of “- Nomad”.
2019-07-17 15:02:58 -05:00
Michael Lange
f88c4d7648 Fixed flaky client-detail test
Since one allocation is preempted, the alloc factory creates a new alloc
that wasn't guaranteed to be running. When it is the first alloc row in
the table, then the alloc row detail test fails because non-running
allocs don't have metrics. The fix was to manually update all the alloc
clientStatuses.
2019-05-09 10:26:55 -07:00
Michael Lange
d092723f89 Test coverage for preemption on the client detail page 2019-04-22 16:40:10 -07:00
Michael Lange
a4ef45379e Fix page object issues with acceptance tests that couldn't be codemodded 2019-04-10 14:54:33 -07:00
Michael Lange
06e7338269 Use mirage test hooks 2019-04-10 14:54:31 -07:00
Michael Lange
9cc9fa84f2 Fix a bunch of snowflake situations the codemod missed 2019-04-10 14:54:31 -07:00
Michael Lange
0a6e84ebf4 Ember test-helpers codemod 2019-04-10 14:54:31 -07:00
Michael Lange
90278bff04 Ember QUnit Codemod 2019-04-10 14:54:30 -07:00
Michael Lange
cc1b83c980 Update tests that check time and date formatting 2019-02-01 09:19:28 -08:00
Michael Lange
25a29cb4ee Conditionally show utilization metrics on alloc and task rows 2018-12-13 07:53:17 -08:00
Michael Lange
866f650de8 Acceptance test coverage for all the pages with resource utilization graphs 2018-09-19 16:33:51 -07:00
Michael Lange
a0148600a6 Refactor allocations page as a component 2018-08-06 11:02:21 -07:00
Michael Lange
137fbccb3d Remove the name column and add a created column to allocation rows 2018-08-06 10:59:35 -07:00
Michael Lange
5ed4b3482a Eslint cleanup 2018-07-11 12:35:39 -07:00
Michael Lange
c5eed97afc Use PageObject for client detail tests 2018-07-10 18:13:50 -07:00
Michael Lange
954d1283e1 Update tests to match new test selectors 2018-07-06 11:12:12 -07:00
Michael Lange
313b5bc8a8 Acceptance test for jobs from different namespaces on a single client 2018-07-06 10:50:22 -07:00
Michael Lange
03aee6f270 Acceptance testing for node drain information 2018-05-30 11:27:21 -07:00
Michael Lange
37a235c2af Acceptance tests for node driver and node events 2018-05-25 10:15:24 -07:00
Michael Schurter
8da7335c16 non-Existent -> nonexistent
Reverting from #3963

https://www.merriam-webster.com/dictionary/existent
2018-03-12 11:59:33 -07:00