Commit graph

132 commits

Author SHA1 Message Date
Buck Doyle 1cca7abcab
Add Ember ESLint plugin (#8134)
This is extracted from #8094, where I have run into some snags. Since
these ESLint fixes aren’t actually connected to the Ember 3.16 update
but involve changes to many files, we might as well address them
separately. Where possible I fixed the problems but in cases where
a fix seemed too involved, I added per-line or -file exceptions.
2020-06-09 16:03:28 -05: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 e1f3086ba3 Don't double query params for findQuery 2020-05-21 10:35:40 -07:00
Michael Lange de73b9539d Replace XHRToken with AbortController 2020-05-21 10:35:39 -07:00
Michael Lange d5e8c1ca8c Force the use of fetch despite jquery still being integrated 2020-05-21 10:35:39 -07:00
Michael Lange b8cbc34675 Make the Plugin adapter extend Watchable 2020-05-14 14:37:07 -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
Michael Lange 1dd1298626 New test coverage for the drain capabilities 2020-01-23 16:34:34 -08:00
Michael Lange b162fa8a28 Update drain methods to properly wrap DrainSpec params 2020-01-23 16:34:09 -08:00
Michael Lange dae33efa1d drain and forceDrain adapter methods 2020-01-23 16:34:09 -08:00
Michael Lange aad8536949 Implement eligibility toggling in the data layer 2020-01-23 16:34:07 -08:00
Buck Doyle 9b2fb14e51
UI: Update Ember to 3.12 LTS (#6419)
This is mostly deprecation fixes and blueprint changes. There
are some dependency updates too; the changes to Ember
Basic Dropdown necessitated changing it to angle bracket
component invocation. The conversion of the rest of the
templates will happen separately.
2019-10-15 13:32:58 -05:00
Buck Doyle 9a3a6c3f62
UI: Update to Ember 3.8 LTS (#5968) 2019-10-08 13:44:19 -05:00
Michael Lange 836e7426b8 Encode characters in file paths to ensure proper URIs 2019-08-14 12:54:11 -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 8d31474fdc Support task restarting in the allocation adapter 2019-05-21 09:24:17 -07:00
Michael Lange a00bc8befc Allocation methods for stopping and restarting 2019-05-21 09:24:16 -07:00
Michael Lange 96a1a5e812 Move addToPath to its own util 2019-05-20 11:52:47 -07:00
Michael Lange 084c4cc95f Standardize on Abort over Cancel 2019-05-20 11:08:16 -07:00
Michael Lange c9220cb929 Replace the adapter cancellation methods with a cancellation token system 2019-05-20 10:29:22 -07:00
Michael Lange 4736803a24 ES5 getters codemod 2019-04-10 14:54:36 -07:00
Michael Lange 33da5ed14f
Merge pull request #4600 from hashicorp/f-ui-job-writes
UI: Job Writes
2018-08-30 10:41:14 -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 c4cb0229d6 Support the promote deployment api action 2018-08-24 16:41:47 -07:00
Michael Lange 715e2ac82a Simplify the data control flow around job.plan() 2018-08-23 15:40:42 -07:00
Michael Lange 902ec3e734 fixup-adapter 2018-08-21 16:43:30 -07:00
Michael Lange 05a3238c37 Support job update in the adapter 2018-08-21 16:39:47 -07:00
Michael Lange 33499658a4 Use the same urlForFindRecord logic for urlForUpdateRecord 2018-08-21 16:38:35 -07:00
Michael Lange 9cab82146c Show the scheduler dry-run output on the plan page 2018-08-20 16:44:37 -07:00
Michael Lange 8ed04e64fe Specialized No Leader error page 2018-08-20 14:11:50 -07:00
Michael Lange e1e3d2c34d Run job UI and API workflows 2018-08-14 18:26:26 -07:00
Michael Lange 4d656c7a31 Parse and Plan API and UI workflows 2018-08-14 17:29:51 -07:00
Michael Lange 68142b3a82 Specify the request type for token self
Without this, the data (query params) get json stringified
2018-08-09 18:22:39 -07:00
Michael Lange 3180e57138 Only deal with the region param (in the app and in api calls) when necessary 2018-08-09 18:22:39 -07:00
Michael Lange 786811b84a Sidestep a transpilation bug.
Default params don't make it into arguments which were being splatted
into the call to super.
2018-08-09 18:22:38 -07:00
Michael Lange 0a3a83fe1d Add the region qp to every api request 2018-08-09 18:22:37 -07:00
Michael Lange 6e00633d77 Update all the awkward browserify imports to plain ol' es6 imports 2018-07-06 13:38:57 -07:00
Michael Lange 8c1849fafe Don't put namespace logic in the catch-all buildQuery method 2018-07-05 12:29:29 -07:00
Michael Lange 651ae19d25 Remove unused findAllocations method in both job and node
This was replaced with a relationship at some point.
2018-07-05 11:25:38 -07:00
Michael Lange 90a5d3ef03 Remove unused job adapter method 2018-07-05 11:25:38 -07:00
Michael Lange 1078a99948 Refactor the job xhrKey to use super 2018-05-25 09:15:45 -07:00
Michael Lange 15bc387ce2 XHR keys need to include the method as well
The URL alone doesn't guarantee uniqueness
2018-05-25 09:13:11 -07:00
Michael Lange c7639237ba Add new model action for stopping a job 2018-04-19 14:22:04 -07:00
Michael Lange 2ed5b61358 Repeat the relationship unlinking pattern in the serializer
It also culls for findAll requests, so it too needs to be
careful about leaving garbage around.
2018-04-06 18:07:57 -07:00
Michael Lange 72cba3b036 Unlink record relationships before unloaded them from the store
When simply unloading a record, references to the record are
maintained by the internal relationship state of related models.
This causes refetching and duplicate models local to that relationship
state.
2018-04-06 17:50:40 -07:00
Michael Lange 78f7d57359 Never respond with an empty object from the adapter
In production builds only, this will slip into the local store
as a record with no ID, which makes for all sorts of bad news.
2018-04-05 16:50:37 -07:00
Michael Lange 7d5615794d
Merge pull request #4081 from hashicorp/b-ui-service-breadcrumbs
UI: Service job breadcrumbs + errant open connections
2018-03-29 15:08:14 -07:00
Michael Lange a226021a05 Track multiple xhrs per URL rather than overriding
It was possible for a url to be overridden then canceled, leaving the
open connection open and forgotten about.
2018-03-29 14:40:57 -07:00
Michael Lange 7bab2a1f23 Check for a case-sensitive or lowercase header value 2018-03-28 16:10:09 -07:00
Michael Lange 1413ed1a44 Never duplicate query params, always include query params
A couple more edge cases related to watching URLs with query params
2018-03-22 20:14:36 -07:00
Michael Lange ca98d6b0c8 Allow child adapters specify special xhr keys
This is necessary for the namespace query param
2018-03-22 20:14:36 -07:00
Michael Lange e4e70825d0 Guard against undefined properties in cancel requests 2018-03-20 16:41:19 -07:00
Michael Lange e4d2b52748 Treat job-summary like a typical relationship rather than a custom link
This way ED doesn't eagerly fetch the job summary even when it's already
in the store due to the jobs list endpoint
2018-03-20 16:41:18 -07:00
Michael Lange 5363f32d33 Watch the allocation on the allocation and task pages 2018-03-05 09:32:04 -08:00
Michael Lange a79c0aa853 Move jobs polling from jobs to jobs.index
It's only necessary for the list view, not the entire route hierarchy
2018-03-05 09:32:04 -08:00
Michael Lange 053cf6d4f1 Cancel a watch request before making an identical one 2018-03-05 09:32:04 -08:00
Michael Lange 0750f353a8 Go through the expected normalization paths when watching relationships 2018-03-05 09:32:03 -08:00
Michael Lange 2e825a8d22 Watch nodes and allocs on the nodes list page 2018-03-05 09:32:03 -08:00
Michael Lange 4b581dc04d Address headers and ID bugs 2018-03-02 16:28:39 -08:00
Michael Lange 80c8db559b Tests for watching and canceling requests 2018-03-02 16:21:37 -08:00
Michael Lange 553c69cc32 Fix existing tests 2018-03-02 16:21:36 -08:00
Michael Lange 01a83b5bee Track xhrs in the watchable adapter and expose cancellation methods 2018-03-02 16:21:36 -08:00
Michael Lange d5424fec57 Remove stale records from the store for findHasMany requests 2018-03-02 16:21:35 -08:00
Michael Lange 5f10940c92 Blocking query support for findAll requests 2018-03-02 16:21:35 -08:00
Michael Lange 55f90cf7f7 Prototype watching resources
- Service to manage X-Nomad-Index values
- Adapter method for reloading relationships with additional params
- Pattern for watching models and model relationships using EC
2018-03-02 16:21:34 -08:00
Michael Lange e7796ccaee Refactor job summary to a relationship
Now that blocking queries are going to be in play, We can no longer
pretend the two requests are one, since they have independent nomad
indices.
2018-03-02 16:21:13 -08:00
Michael Lange abcfda9911 Add ability to force a periodic job launch 2018-02-06 10:53:51 -08:00
Michael Lange 1107798da6 Use the new ember modules imports
Generated with a codemode:
https://github.com/ember-cli/ember-modules-codemod
2018-01-17 09:02:04 -08:00
Michael Lange fce7440f34 Stop gracefully handling findAll 403s in the adapter 2017-10-24 16:40:27 -07:00
Michael Lange afcfba0910 Treat namespace and job name as a composite primary key 2017-10-23 17:42:36 -07:00
Michael Lange 19572cfb0f Allow 501s on namespaces because they are necessary for job IDs 2017-10-23 17:42:35 -07:00
Michael Lange 8958d1a480 All job requests need to be made with the namespace query param 2017-10-23 17:42:35 -07:00
Michael Lange 40748c8923 Never return null for adapter headers
Ember Data checks strictly against undefined:
https://github.com/emberjs/data/blob/master/addon/adapters/rest.js#L1128
2017-10-19 10:10:01 -07:00
Michael Lange 85f66ffa94 Use /acl/token/self instead of /acl/token/:accessor_id 2017-10-16 13:27:52 -07:00
Michael Lange 040e3fec10 Data modeling for tokens and policies 2017-10-16 13:27:51 -07:00
Michael Lange 4a35f3c5a5 Handle 403s gracefully
- When a list 403s, treat it as if it were empty
- When a single resource 403s, redirect to an application error page
  that has a backdoor link to the tokens page
2017-10-12 17:40:49 -07:00
Michael Lange 61b988fbb8 Gracefully handle the 501 case
Enterprise endpoints return a 501 in the open source build. 5xx
errors throw by default, so handle this one since it's expected
for things such as namespaces.
2017-10-11 14:06:46 -07:00
Michael Lange 2340504da8 Replace simple dropdown namespace switcher with ember-power-select 2017-10-11 13:45:03 -07:00
Michael Lange ef55cb910f Make namespace a relationship of job 2017-10-11 13:45:03 -07:00
Michael Lange b3312ac429 Consider the namespace query param as required for findAll 2017-10-11 13:45:03 -07:00
Michael Lange 0cc2c4267e Always reload all jobs
Ember tries to be clever by showing cached jobs instead of a loading spinner
in the event that a user starts on nodes, loads a couple jobs through
allocation relationships, then visits jobs.
2017-10-03 17:17:45 -07:00
Alex Dadgar e5ec915ac3 sync 2017-09-19 10:08:23 -05:00