Commit graph

1217 commits

Author SHA1 Message Date
Michael Lange d83be97d78 Don't use Ember.get in conjunction with dynamic strings in the job-plan serializer 2018-12-13 07:53:37 -08:00
Michael Lange 5902842d6b Don't use Ember.get in conjunction with dynamic strings in the allocation serializer 2018-12-13 07:53:37 -08:00
Michael Lange 7b466f9f60 Don't use Ember.get in conjunction with dynamic strings in the node serializer 2018-12-13 07:53:37 -08:00
Michael Lange 13b7434eca Don't use Ember.get in conjunction with dynamic strings in the deployment serializer 2018-12-13 07:53:37 -08:00
Michael Lange a00544e302 Don't use Ember.get in conjunction with dynamic strings in the job-summary serializer 2018-12-13 07:53:37 -08:00
Michael Lange b5c11b4e43 Don't use Ember.get in conjunction with dynamic strings in the evaluation serializer 2018-12-13 07:53:37 -08:00
Michael Lange 7d76b6a59f Test coverage for resource graph empty states 2018-12-13 07:53:17 -08:00
Michael Lange 6f2e5d49f0 Test coverage for allocation rows 2018-12-13 07:53:17 -08:00
Michael Lange 76a9d7ad7c Conditionally show the utilization graphs on the allocation and task detail pages 2018-12-13 07:53:17 -08:00
Michael Lange 71a06a6b7f Conditionally show utilization metrics on alloc and task rows 2018-12-13 07:53:17 -08:00
Michael Lange 0005b1fca2 Task isRunning is based on both the task state and the allocation state 2018-12-13 07:53:17 -08:00
Michael Lange 076ae5046b Model isRunning based on the client status of the allocation 2018-12-13 07:53:17 -08:00
Michael Lange 3b044816ac Always create a running allocation when testing task state 2018-12-13 07:39:16 -08:00
Michael Lange 795ea7eade Grow the default 0 to 1 bounds to the domain of the data when necessary 2018-12-05 22:07:44 -08:00
Michael Lange fd35d37f43
Merge pull request #4860 from hashicorp/b-ui-allocation-detail-empty-state
UI: Allocation detail empty state
2018-11-19 12:43:39 -08:00
Michael Lange 796967c58d Add an empty state to the allocation detail task list 2018-11-19 12:18:14 -08:00
Michael Lange b252ede5b6
Merge pull request #4850 from hashicorp/f-ui-links-on-error-pages
UI: Escape hatch links on error pages
2018-11-19 12:17:36 -08: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 ec21bab24d
Merge pull request #4833 from hashicorp/b-ui-gracefully-handle-stat-errors
UI: Gracefully handle stat errors
2018-11-09 14:35:48 -08:00
Michael Lange 7c9c099bf0 Add missing module dependencies to the node adapter tests 2018-11-09 14:25:32 -08:00
Michael Lange cf93e1a40c Get error messages closer to Structure designs 2018-11-09 13:23:44 -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 f3110f978e Test coverage for error page escape hatch links 2018-11-07 16:19:45 -08:00
Michael Lange 177a998b1d Add escape hatch links to the error page 2018-11-07 16:09:23 -08:00
Michael Lange 738efdfb04 Fix a bug where with-watchers wasn't bubbling the willTransition event
The impact was the application error was no longer being nulled out,
causing the application error to continue to be shown after
transitioning.

This never happened in apps since it's not possible to transition away
from the error screen.
2018-11-07 16:08:26 -08:00
Michael Lange 777d693632 Add support for link in error containers 2018-11-07 16:08:05 -08:00
Michael Lange ab06a22954
Merge pull request #4841 from hashicorp/f-ui-error-handling-on-all-pages
UI: Error handling on all pages
2018-11-07 11:16:06 -08:00
Michael Lange 46fd35c84c
Merge pull request #4801 from hashicorp/b-ui-proper-task-group-breadcrumb
UI: Proper task group breadcrumb on the allocation pages
2018-11-06 16:41:46 -08:00
Michael Lange dbb9662dbe Make your tests orders of magnitude faster with One Neat Trick™ 2018-11-06 16:17:21 -08:00
Michael Lange 80ab0f56cf Test coverage for frame misses 2018-11-06 16:17:21 -08:00
Michael Lange 19abb7b605 Clean up the remaining routes 2018-11-05 16:33:33 -08:00
Michael Lange d4c6a698c3 Handle the job 404 error case on the other job sub pages 2018-11-05 16:06:08 -08:00
Michael Lange af24546644 Handle the job 404 error case in versions 2018-11-05 15:42:04 -08:00
Michael Lange 2925285f00 Handle the job 404 case in the job definition route 2018-11-05 15:20:31 -08:00
Michael Lange 8ef22a06fe Handle the job 404 case in task group routes 2018-11-02 19:25:50 -07:00
Michael Lange 964c93e07f Guard against the element already being destroyed
Since DOM code is in a run.next, it's possible that between the DOM
code being queued and running the element is destroyed. So the DOM
code needs to guard against this using the isDestroyed API.
2018-11-02 17:08:02 -07: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 3d7d7310a1 Gracefully handle response errors in stat trackers
1. Check if the response is a 4xx/5xx
2. If it is, skip the append step and track a frame miss
3. If enough frame misses occur in a row, treat it as a pause

A "pause" is when a null data frame is added, which shows up as a
gap in line charts.
2018-11-01 22:08:57 -07:00
Michael Lange 36fed0919d Move jsonWithDefault to a util 2018-11-01 22:07:58 -07:00
Michael Lange 00ba1412b8
Merge pull request #4829 from hashicorp/f-ui-build-perf
UI: build time performance improvements
2018-11-01 15:04:30 -07:00
Michael Lange f4813d49ba Remove unused bourbon dependency 2018-11-01 14:37:39 -07:00
Michael Lange be77e3d981 Speed up builds by cutting corners given config and env 2018-11-01 14:19:22 -07:00
Michael Lange 7cd8179637 Test coverage for breadcrumb qp change 2018-10-31 13:27:35 -07:00
Michael Lange 0a4242eb13 Provide the namespace query param to the task group link 2018-10-31 12:50:39 -07:00
Michael Lange b2acd381f9 Test coverage for resetPagination 2018-10-30 14:17:23 -07:00
Michael Lange c6afcb4499 Add the resetPagination hook to search boxes across the app 2018-10-30 10:52:54 -07:00
Michael Lange 571e5c35c3 Add a resetPagination method to the searchable mixin
Searchable can be used without pagination, but reseting pagination
is more a function of search than pagination insofar as if you
add search to a page, you are also going to want automatic pagination
resetting.
2018-10-30 10:51:31 -07:00
Michael Lange a82c9d4d6f Add onChange hook to the search-box component 2018-10-30 10:50:24 -07:00
Michael Lange 42432bbb52
Merge pull request #4727 from hashicorp/f-ui-improved-stats-charts
UI: Improved stats charts
2018-10-17 10:55:54 -07:00
Michael Lange aeea4076b7
Merge pull request #4718 from hashicorp/f-ui-a11y-line-chart
UI: Add some simple accessibility labels for line charts
2018-10-17 09:43:27 -07:00
Michael Lange 340f3f12d4 Add more documentation to the format-duration util 2018-10-17 08:10:16 -07:00
Michael Lange 154dc49205 Be consistent with "time series" instead of "time-series" 2018-10-17 07:37:45 -07:00
Michael Lange 1be400d18e Add role="tooltip" to tooltips throughout the app 2018-10-17 07:17:24 -07:00
Michael Lange ca631ee217 Override the a11y title and description for the stats time series chart
Since this is a use case specific chart, we can use use case specific
language in our labels.
2018-09-27 12:55:52 -07:00
Michael Lange cdb1831ceb Add a11y features to the line-chart component
- Treat it as an image
- Add a title and a description
- Hide the axes, just in case
2018-09-27 12:55:52 -07:00
Michael Lange 866b74be19 Add a longForm option to format-duration 2018-09-27 12:55:17 -07:00
Michael Lange 4a98bf989f Make the global logo link to the jobs page (home page) 2018-09-26 11:19:24 -07:00
Michael Lange ea87417d4f Add utilization stats to the task rows on allocation detail 2018-09-26 10:59:26 -07:00
Michael Lange 5736b71f00 Remove no longer used allocation-stats class 2018-09-26 10:59:26 -07:00
Michael Lange 9b90683e6b Use the StatsTracker method of getting alloc stats in alloc row 2018-09-26 10:59:26 -07:00
Michael Lange c694fcb0ba Update stat tracker unit tests 2018-09-19 19:30:18 -07:00
Michael Lange 09497b20b8 Acceptance test coverage for all the pages with resource utilization graphs 2018-09-19 16:33:51 -07:00
Michael Lange f86347bc62 Always return valid dates for timestamps 2018-09-19 16:33:18 -07:00
Michael Lange da06b48aaf Handle the empty data cases 2018-09-19 16:32:53 -07:00
Michael Lange 46936b6091 Unit tests for the stats trackers service 2018-09-19 15:33:29 -07:00
Michael Lange 18b18da49f Integration tests for the primary-metric component 2018-09-19 14:15:32 -07:00
Michael Lange c93f6506dc Add cancelation support to stats trackers 2018-09-17 16:59:09 -07:00
Michael Lange bc5dbe2fb7 Gap support for line charts 2018-09-17 16:58:56 -07:00
Michael Lange 8900d5c138 Add request throttling to the abstract stats tracker
This is the best of three options

1. Users of stats trackers control polling (old method)
2. Stat tracker is stateful and has start/stop methods (like logging)
3. Stat trackers blindly throttle requests

This is the best option because it means N number of concurrent users of
a stats tracker can request polling without inundating the tracker with
redundant frames (or the network with redundant requests), but they also
don't have to coordinate amongst themselves to determine what state a
tracker should be in.
2018-09-17 15:58:28 -07:00
Michael Lange ae161d75bc Use the new stats tracker service to get stats trackers in primary metric 2018-09-17 15:57:58 -07:00
Michael Lange bc3a76da04 Clean up old controller code 2018-09-17 15:57:23 -07:00
Michael Lange fcf22fdbc4 New LRUMap dep 2018-09-17 15:55:48 -07:00
Michael Lange b7169596c1 New service to manage stats trackers
This solves two problems:

1. redundant trackers making redundant requests
2. trackers being obliterated as soon as the primary metric component
   is destroyed

It introduces a new problem where visiting more and more node and
allocation pages adds to an ever-growing list of trackers that can
assume lots of memory, but it solves the problem by using a
least-recently-used cache to limit the number of trackers tracked.
2018-09-17 15:53:59 -07:00
Michael Lange b675919c76 Add resource utilization graphs to the task index page 2018-09-14 10:21:48 -07:00
Michael Lange dace559442 Add resource utilization graphs to the allocation index page 2018-09-14 10:21:28 -07:00
Michael Lange 636d0c92fc Use the appropriate methods and types in the stat trackers 2018-09-14 10:21:01 -07:00
Michael Lange 80fefcf369 Style the primary-metric pattern 2018-09-14 10:20:33 -07:00
Michael Lange 379b17acbd Handle the length = 0 and length = 1 cases for activeDatum 2018-09-14 10:19:35 -07:00
Michael Lange 6a94ebc5fb Use the prototype instead of "private" property backups 2018-09-14 09:38:17 -07:00
Michael Lange a2db921c1f Make rollingArray work with mutable array extension methods 2018-09-14 08:57:26 -07:00
Michael Lange 01429a9b78 Remove old stat tracking code from the client page
In favor of the new primary-metric components
2018-09-13 17:01:24 -07:00
Michael Lange 10b9017d84 Use the new primary-metric component on the client detail page 2018-09-13 17:01:24 -07:00
Michael Lange 768f67e336 New primary-metric component
It encapsulates all the tracker, polling, and markup for this style
of metric.
2018-09-13 17:01:24 -07:00
Michael Lange 54efa8ddd5 Full markup for time series metrics 2018-09-13 17:01:24 -07:00
Michael Lange 93cf97a47b Add stat charts to the client page 2018-09-13 17:01:24 -07:00
Michael Lange b6382fe7dc Use percent for the y-axis binding 2018-09-13 17:01:24 -07:00
Michael Lange 7e431e8876 Use addObject to get kvo behaviors 2018-09-13 17:01:24 -07:00
Michael Lange 4a2b9cc153
Merge pull request #4661 from hashicorp/f-ui-line-chart
UI: line chart
2018-09-13 16:59:20 -07:00
Michael Lange 105d4aea79 Unit test coverage for the stats-time-series chart 2018-09-13 16:45:56 -07:00
Michael Lange 659e19303c Unit test coverage for the line chart component 2018-09-13 16:45:56 -07:00
Michael Lange 63b89904f3 Split the line-chart and stats-time-series freestyle entries 2018-09-13 16:45:56 -07:00
Michael Lange 569ba3c48a Updates to the styleguide 2018-09-13 16:45:56 -07:00
Michael Lange f2bab4591d Use "global" gradients via a clipping mask and a rect w/100% height 2018-09-13 16:45:54 -07:00
Michael Lange 05c7706487 Avoid race conditions around showing and hiding the line chart tooltip 2018-09-13 16:45:13 -07:00
Michael Lange 9008c48cd1 Stats time series
A use-case specific line-chart for showing utilization metrics by
percent
2018-09-13 16:45:13 -07:00
Michael Lange 7a8a4c32f4 Make the tooltip animation snappier for line charts
When data is coming in live, the tooltip can get bogged down by updates
causing the tooltip to never make it under the mouse, which looks like
either lag or a bug.
2018-09-13 16:45:13 -07:00
Michael Lange 46cceb2daa Don't round numbers when the domain is between 0 and 1 2018-09-13 16:45:13 -07:00
Michael Lange a74e6648b9 Styleguide entry for the line chart component 2018-09-13 16:45:13 -07:00
Michael Lange d516daf83e New line chart component 2018-09-13 16:45:08 -07:00
Michael Lange f15e3ba0c2 Test coverage for NodeStatsTracker 2018-09-11 16:27:06 -07:00
Michael Lange a97e0bcc5e Add support for non-list tooltips in charts 2018-09-07 09:57:54 -07:00
Michael Lange 2711abc3ce Add chart color swatches based on css colors 2018-09-07 09:57:33 -07:00
Michael Lange 1530eed9f7 Bring in new d3 dependencies 2018-09-07 09:55:39 -07:00
Michael Lange fbfc5ecb16 Example usage of the NodeStatsTracker 2018-08-31 14:39:23 -07:00
Michael Lange 680ac6c9b0 A StatsTracker for client-level statistics 2018-08-31 14:39:23 -07:00
Michael Lange 3d761b7347 Unit Tests for AllocationStatsTracker 2018-08-31 14:39:22 -07:00
Michael Lange 416de6c32a Unit tests for RollingArray 2018-08-31 14:39:22 -07:00
Michael Lange f5fa5101b4 Example of usage of the AllocationsStatsTracker 2018-08-31 14:39:22 -07:00
Michael Lange da4852a6cd An implementation of StatsTracker for allocations
It accumulates CPU and Memory usage for the allocation as a whole as well
as by task.
2018-08-31 14:39:22 -07:00
Michael Lange e1e89ce92f An abstract class for capturing nomad stats
It follows the form of poll -> json parse -> append,
Where append is defined in subclasses to add data from the new frame
to long-lived rolling arrays of data.
2018-08-31 14:39:22 -07:00
Michael Lange 0c35f189e9 An array subclass that enforces a maxLength
The maxLength is enforced by removing elements from the head of the
list.
2018-08-31 14:39:22 -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 ebe0e97b1a
Merge pull request #4615 from hashicorp/f-ui-restart-stopped-job
UI: Restart stopped job
2018-08-30 09:49: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 62e9cf268b Test coverage for the promote canary feature 2018-08-30 09:38:29 -07:00
Michael Lange 182e020835 Fix the flickering issue with start/stop job
When the server doesn't respond immediately, there is a visible window
of time between the action being submitted and the blocking query coming
back with the new job status.
2018-08-28 11:27:00 -07:00
Michael Lange 37acc77c9c Add a confirmation loading state to the two-step-button component 2018-08-28 11:27:00 -07:00
Michael Lange c8492682e1 Switch stop/run job actions to EC tasks 2018-08-28 11:27:00 -07:00
Michael Lange 18d5efce1e Test coverage for the Start Job behavior 2018-08-28 11:27:00 -07:00
Michael Lange a4d951a757 Add Start Job action on the job overview page for when a job is dead 2018-08-28 11:27:00 -07:00
Michael Lange 0142f97069 Update the info message about token storage 2018-08-28 10:05:36 -07:00
Michael Lange 0eb5e61e36 Switch token storage to localStorage from sessionStorage 2018-08-28 10:05:15 -07:00
Michael Lange bcbeac7f35 Change the latest deployment component to include a Promote Canary button
Before it would say the deployment required promotion, now it has a
button that triggers the promotion.
2018-08-24 16:41:47 -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 0fb7fea825 Acceptance tests for the edit behaviors on the job definition page 2018-08-23 10:26:20 -07:00
Michael Lange 4484c28e07 Rewrite the job run acceptance tests to be about routing 2018-08-23 09:00:47 -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 e60b16a7e0 Since registerHelper doesn't work in integration tests a new way is needed
This exports a function that returns the pertinent function when given a
container. This way it works in registerHelper and in integration tests
beforeEach hooks
2018-08-22 17:34:25 -07:00
Michael Lange 1f40ab5da5 Introduce job editing to the job definition page 2018-08-21 16:46:24 -07:00
Michael Lange 3ca2237b29 Support cancellation of editing in the job-editor 2018-08-21 16:45:53 -07:00
Michael Lange 772731ccd4 Fix bug where scrolling wasn't using the document
Instead it was using the page-layout is-right div
2018-08-21 16:44:59 -07:00
Michael Lange ed763ad14f Handle update job in the model 2018-08-21 16:44:31 -07:00
Michael Lange a7cd7b39d6 fixup-job-editor 2018-08-21 16:43:46 -07:00
Michael Lange 902ec3e734 fixup-adapter 2018-08-21 16:43:30 -07:00
Michael Lange 527b5d5e97 Support different contexts for the job editor 2018-08-21 16:41:05 -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 cd6d4e41e5 Fix multiple highlight bug in the distribution-bar component
Caused by the re-indexing that occurs to remove zero-value bars.
2018-08-21 16:37:36 -07:00
Michael Lange c81ba192dc Fix a blocking queries bug
The lowest valid blocking query index is 1, but the API will return 0 if
there has yet to be an index set (no response). This in conjunction with
that 0 being stored as a string made the "fallback to 1" guard not work.
2018-08-21 13:47:01 -07:00
Michael Lange b3c2538c68 Move the bulk of the new job page into a new job editor component 2018-08-21 12:07:45 -07:00
Michael Lange 55fca36bea New job edit page 2018-08-21 12:06:43 -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 063021081d Fixed bug that prevented non verbose job diffs from printing changed leaf nodes 2018-08-20 16:44:37 -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 ee074e9ef5 Don't use the verbose diff for job run plan 2018-08-17 18:32:59 -07:00
Michael Lange 74248bc3f6 Spiff up the form buttons with type and disabled attributes 2018-08-17 18:20:15 -07:00
Michael Lange 2e35687a1d Acceptance tests for job run page 2018-08-16 17:22:58 -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 1d3bf6bdea New Page Object component for common error formatting 2018-08-16 10:57:56 -07:00
Michael Lange e634a98102 New PageObject helper for getting and setting CodeMirror values 2018-08-16 10:57:13 -07:00
Michael Lange 9fb8964c00 New test helper for getting the underlying CodeMirror instance from a dom selector 2018-08-16 10:56:37 -07:00
Michael Lange a96c4508d6 Acceptance test for the jobs list page 2018-08-15 17:12:18 -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 f06da96c90 Move the Diff property read out of the template 2018-08-15 16:58:54 -07:00
Michael Lange da46817289 Error messages for job submit 2018-08-15 15:18:38 -07:00
Michael Lange e1e3d2c34d Run job UI and API workflows 2018-08-14 18:26:26 -07:00
Michael Lange 87cbf1ddbe Remove unused solarized theme configuration 2018-08-14 17:37:44 -07:00
Michael Lange de4caacb6d Fix no allocations error message layout for the recent allocations component 2018-08-14 17:37:15 -07:00
Michael Lange 4d656c7a31 Parse and Plan API and UI workflows 2018-08-14 17:29:51 -07:00
Michael Lange b0939bde07 Add breadcrumb to the run job page 2018-08-14 13:06:26 -07:00
Michael Lange c85c2a2932 New job run page and navigation to get there. 2018-08-14 12:54:54 -07:00
Michael Lange fe9d0b8704 New layout helper for associating two elements vertically
By default, blocks have a margin of 1.5em to create a consistent
vertical rhythm. However, sometimes elements need to be associated with
the element above them. In this cases, the gap between elements needs to
be tighter. There are many ways to do this, but this approach asks the
latter content to be marked as associative. The implication is that the
association is with the previous block.
2018-08-14 12:47:28 -07:00
Michael Lange 1cc7aba5d2 Enforce a min-height for the code editor component 2018-08-14 12:46:55 -07:00
Michael Lange f41f814b49 Remove the old json viewer 2018-08-13 17:04:15 -07:00
Michael Lange dd9202769a Delete the removed "depth" aspect of json viewer from the styleguide 2018-08-13 17:04:14 -07:00
Michael Lange c5b54393d0 Theme CodeMirror
Borrowed heavily from Vault
2018-08-13 17:04:14 -07:00
Michael Lange 0746501bc8 Use ivy-codemirror in the JSON Viewer component 2018-08-13 17:04:14 -07:00
Michael Lange 2b4bab875d Introduce ivy-codemirror 2018-08-13 17:03:20 -07:00
Michael Lange 5ccf21fc5d List the new region mirage env var in the environment file 2018-08-13 16:18:53 -07:00
Michael Lange 8ca806f8f8 Use the model hook and setupController hook instead of afterModel
This is a more idiomatic way to handle the QP resetting in the
application controller.
2018-08-13 16:18:06 -07:00
Michael Lange 104e5196a6 Acceptance tests for the region switcher 2018-08-10 12:52:05 -07:00
Michael Lange 3d89cb503b Unit test coverage for adding the region param to requests 2018-08-09 20:27:54 -07:00
Michael Lange 94d321ef4f Properly model regions in Mirage 2018-08-09 19:57:21 -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 9f3a37f1c2 Simplify the control flow around changing namespaces and regions
The UI will no longer try to redirect to the appropriate namespace or
region if one is found in localStorage. Instead, it will assume that
the lack of query param means the default namespaces or region is
desired.
2018-08-09 18:22:39 -07:00
Michael Lange 8631fecc37 Update tests to handle region switching 2018-08-09 18:22:39 -07:00
Michael Lange 6e2bb48fd5 Handle errors when getting regions or the default regions
This protects against volatility in the server and, more commonly, ACLs
returning forbidden responses.
2018-08-09 18:22:39 -07:00
Michael Lange 3534b09977 Address an issue with certain dependent keys 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 c4c79c7a1f Get the server's region (aka default region) from the API
The default region shouldn't be used as a qp since no qp means the same
thing.
2018-08-09 18:22:38 -07:00
Michael Lange 0cfeba49d7 Add the region qp to all requests made through the token service 2018-08-09 18:22:38 -07:00
Michael Lange d61fd9ef48 The application route doesn't need to fetch namespaces 2018-08-09 18:22:38 -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 ad70fb9cc3 Repeat the new namespace pattern for region 2018-08-09 18:22:38 -07:00
Michael Lange 93f41278b1 Clear up the data flow for namespaces
This is incredibly tricky with query params, since there is a bundle of
timing issues, lifecycle issues, missing features, and all around
gotchas with query params.

This solution has no observers and no instances of the system service
being set from the jobs controller.

The upside to this is no observers, much easier to follow logic, no more
dependent key chain reactions.
2018-08-09 18:22:38 -07:00
Michael Lange 35250117cf Account for the service:system dependency due to region 2018-08-09 18:22:38 -07:00
Michael Lange 85fe4459d0 Remove the gutter menu from the allocations page 2018-08-09 18:22:38 -07:00
Michael Lange a9aa730d2c Never show the menu divider for the first menu item 2018-08-09 18:22:38 -07:00
Michael Lange 2b93a76fa7 Line breadcrumbs up flush with section content 2018-08-09 18:22:38 -07:00
Michael Lange 04b9d80dc0 Make the dropdown ever so slightly off-white 2018-08-09 18:22:38 -07:00
Michael Lange 32d05509ca Move the region switcher out of the secondary nav and into the gutter when the gutter is collapsed 2018-08-09 18:22:37 -07:00
Michael Lange 148495e853 Add region switcher to the global header 2018-08-09 18:22:37 -07:00
Michael Lange 2877b6b351 Only show the region switcher when there are multiple regions 2018-08-09 18:22:37 -07:00
Michael Lange b889c8091e Fetch regions and namespaces in the application route 2018-08-09 18:22:37 -07:00
Michael Lange a430baba4f Harden up the system service for the event of store unloading 2018-08-09 18:22:37 -07:00
Michael Lange fd0d889a38 Reset the system service when unloading the store 2018-08-09 18:22:37 -07:00
Michael Lange 0a3a83fe1d Add the region qp to every api request 2018-08-09 18:22:37 -07:00
Michael Lange 9a9cc35bd0 Styles for the region switcher 2018-08-09 18:22:37 -07:00
Michael Lange 2bb770361b Add three-way region property (query param, service, localStorage) 2018-08-09 18:22:37 -07:00
Michael Lange ebd5123b77 Bare minimum Mirage support for regions 2018-08-09 18:22:37 -07:00
Michael Lange 85ab69cf4e Align the hamburger menu and ensure that it's full area is clickable 2018-08-06 11:21:54 -07:00
Michael Lange 805147947b Remove extra whitespace 2018-08-06 11:21:54 -07:00
Michael Lange 86bafe66cf Make the hamburger menu look more traditional 2018-08-06 11:21:54 -07:00
Michael Lange b9fa9a98bc Test coverage for gutter menu interactions 2018-08-06 11:21:54 -07:00
Michael Lange aec990e41d Make it "feel" mobile with a backdrop that closes the gutter menu on tap 2018-08-06 11:21:54 -07:00
Michael Lange 97220ae5fb Visual treatment for the collapsed gutter menu 2018-08-06 11:21:54 -07:00
Michael Lange cada7d3f70 Treat the nomad logo and the hamburger menu as their own css components 2018-08-06 11:21:53 -07:00
Michael Lange ed4dcbe061 Refactor navbar markup 2018-08-06 11:21:53 -07:00
Michael Lange f2f8c28a91 Style the hamburber menu icon 2018-08-06 11:21:53 -07:00
Michael Lange 737805272a Add open/close functionality to the gutter-menu when it's collapsed 2018-08-06 11:21:53 -07:00
Michael Lange 3f75208f6b Hide the gutter menu at low width resolutions 2018-08-06 11:21:53 -07:00
Michael Lange 3671350fe0 Undo the responsive styles that come with bulma 2018-08-06 11:21:53 -07:00
Michael Lange 54b838d934 Keep the search box around when a search yields no results 2018-08-06 11:02:22 -07:00
Michael Lange 5042896fab Test coverage for the jobs/:job/allocations page 2018-08-06 11:02:22 -07:00
Michael Lange e774163360 Tests for the recent allocations table 2018-08-06 11:02:21 -07:00
Michael Lange 9dcaafa0de Refactor allocations page as a component 2018-08-06 11:02:21 -07:00
Michael Lange 4cc17c7292 Add object spread 2018-08-06 11:02:21 -07:00
Michael Lange 50794a7626 Treat filtering on an async relationship as async 2018-08-06 11:02:21 -07:00
Michael Lange 40826b2b88 Watch allocations on the job index page
Since there are no recent allocations, those alloc need to be watched
2018-08-06 11:02:21 -07:00
Michael Lange 6889a7305d Don't use the boxed-section pattern on pages with one section 2018-08-06 11:01:27 -07:00
Michael Lange e377de0356 Add search to the allocations page 2018-08-06 11:00:24 -07:00
Michael Lange 8eca16774e Link to the allocations page from the recent allocations table 2018-08-06 11:00:23 -07:00
Michael Lange 30b0c9b262 Use the correct allocation row context in various places 2018-08-06 11:00:23 -07:00
Michael Lange 15da9f8250 Use the new taskGroup context for allocation row 2018-08-06 10:59:35 -07:00
Michael Lange f6a3008d08 New dedicated allocations page for jobs 2018-08-06 10:59:35 -07:00
Michael Lange 0ac91ff15b Add recent allocations to relevant job overview pages 2018-08-06 10:59:35 -07:00
Michael Lange 1f639260ad Make sure memory and cpu bars have a consistent size 2018-08-06 10:59:35 -07:00
Michael Lange de80f65efe Remove the name column and add a created column to allocation rows 2018-08-06 10:59:35 -07:00
Michael Lange 578403b193 Add createTime to the allocation model 2018-08-06 10:53:13 -07:00
Michael Lange f0ab8a231f
Merge pull request #4533 from hashicorp/f-ui-refactor-page-chrome
UI: Refactor page chrome
2018-08-06 10:50:03 -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 c0966f7cc1 Give the running-deployment component a more appropriate name 2018-07-30 15:31:31 -07:00
Michael Lange 4a2b2fd4f5 Make running-deployment always show the latest deployment 2018-07-30 15:31:31 -07:00
Michael Lange feebea1167 Correctly model the latestDeployment relationship and the inverse 2018-07-30 15:24:31 -07:00
Michael Lange 60a4e3de7a Support the /job/:id/deployment endpoint in mirage 2018-07-30 15:24:31 -07:00
Michael Lange 0e7b8dc7d2 Get the latest deployment for a job by using the appropriate API 2018-07-30 15:24:31 -07:00
Michael Lange 9c9bedf53d Use page-layout for job routes 2018-07-30 13:13:52 -07:00
Michael Lange c5388d69cf Use page-layout for allocations routes 2018-07-30 13:13:52 -07:00
Michael Lange 548ec2cf54 Use page-layout for clients routes 2018-07-30 13:13:52 -07:00
Michael Lange 653947d012 Use page-layout for servers routes 2018-07-30 13:13:52 -07:00
Michael Lange 6d189e48e1 Use page-layout for the settings routes 2018-07-30 13:13:52 -07:00
Michael Lange 6da20ef717 New page-layout component that contains both the header and the gutter menu 2018-07-30 13:13:52 -07:00
Michael Lange 393b39d259 Remove all references to onNamespaceChange 2018-07-30 13:13:52 -07:00
Michael Lange 4e22c1018f Redo onNamespaceChange to use the router 2018-07-30 13:13:52 -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 0d6881c4ff Update deployment test to reflect new progress-by column 2018-07-17 13:28:29 -07:00
Michael Lange 56a7e644ec Show deployment deadlines everywhere 2018-07-17 11:07:22 -07:00
Michael Lange 9413c719a6
Merge pull request #4507 from hashicorp/b-ui-dist-bar-corners
UI: Fix the missing pixels issue with distribution-bar
2018-07-13 11:04:29 -07:00
Michael Lange 591ddaa93e Test coverage for summary toggle 2018-07-13 10:26:46 -07:00
Michael Lange 77a9e844a1 Make job alloc/children summary collapsable (and persist the choice in localStorage) 2018-07-13 10:26:46 -07:00
Michael Lange c1bc54878d Add an option to start expanded and an onToggle action to list-accordion 2018-07-13 10:26:46 -07:00
Michael Lange 72f4f213d9 Compute the correct number of pixels to shave off of bar width 2018-07-13 10:26:01 -07:00
Michael Lange 79725168b8 Create a single-bar example of distribution-bar in the styleguide 2018-07-13 10:26:01 -07:00
Michael Lange e3b020e201 Fix a bug where the wrong index could be used when some bars had no value 2018-07-13 10:26:01 -07:00
Michael Lange 8154d68b95 Consistently use PageObjects now that they all exist 2018-07-11 12:42:43 -07:00
Michael Lange f74694b0a0 Eslint cleanup 2018-07-11 12:35:39 -07:00
Michael Lange 79cbc4066f Use PageObject for task logs tests 2018-07-11 12:31:37 -07:00
Michael Lange c1a4b68fee Use PageObject for task detail tests 2018-07-11 12:21:26 -07:00
Michael Lange 686ae57310 Use PageObject for namespace tests 2018-07-11 11:59:20 -07:00
Michael Lange 69667ead86 Use PageObjects for application error tests 2018-07-11 11:41:34 -07:00
Michael Lange 5a4de18401 Use PageObject for allocation detail tests 2018-07-11 11:27:23 -07:00
Michael Lange 3fa288f852 Use PageObject for task group detail tests 2018-07-11 10:36:33 -07:00
Michael Lange 266850b3f8 Use PageObject for job versions tests 2018-07-11 09:49:44 -07:00
Michael Lange 2d9aeae23c Use PageObject for job evaluations tests 2018-07-11 09:37:58 -07:00
Michael Lange 9b8f33013d Fix job subnav 2018-07-11 09:34:22 -07:00
Michael Lange 71287286ef Update breadcrumbs on job evaluations 2018-07-11 09:28:19 -07:00
Michael Lange 538eaad27b Use PageObject for job deployments 2018-07-11 09:14:10 -07:00
Michael Lange 2013cd7bb7 Use PageObject for job definition tests 2018-07-10 19:33:22 -07:00
Michael Lange 6611e2b2d6 Adds missing test for evaluations tab 2018-07-10 19:28:54 -07:00
Michael Lange 22f472066a Use PageObjects for job detail tests 2018-07-10 19:20:02 -07:00
Michael Lange 0d45f6f842 Use PageObject for jobs list tests 2018-07-10 18:42:19 -07:00
Michael Lange 87de789994 Use PageObject for client detail tests 2018-07-10 18:13:50 -07:00
Michael Lange 54907f13e8 Use PageObject for clients list tests 2018-07-10 11:29:00 -07:00
Michael Lange 7aae717374 Use PageObject for tokens test 2018-07-10 11:29:00 -07:00
Michael Lange ba934bd60b Fix bad line-endings due to generator 2018-07-10 11:29:00 -07:00
Michael Lange 41b36a623f Use PageObject for server-detail tests 2018-07-10 11:29:00 -07:00
Michael Lange 559ddf4b2b Guard against URI encoding 2018-07-10 11:29:00 -07:00
Michael Lange a873e8f1eb Use PageObject for servers-list tests 2018-07-10 11:28:59 -07:00
Michael Lange 32f1e06eb6 Rename nodes-list-test to clients-list-test to reflect its new state 2018-07-10 11:28:59 -07:00
Michael Lange 06b29f915b Move servers list tests to their own file 2018-07-10 11:28:59 -07:00
Michael Lange 25d1bc2d6a Add the ember-cli-page-object dependency 2018-07-10 11:28:59 -07:00
Michael Lange 38b4d30272
Merge pull request #4458 from hashicorp/f-ui-refactor-breadcrumbs
UI: Refactor breadcrumbs
2018-07-10 11:01:28 -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 9e07ba28df Migrate and add test coverage for evaluations page 2018-07-06 17:15:59 -07:00
Michael Lange c6e2f1c12e Remove old evaluations component tests 2018-07-06 17:07:40 -07:00
Michael Lange fa00dc0748 Remove evaluations from the job overview page 2018-07-06 16:53:13 -07:00
Michael Lange ab54187480 Adds sorting to evaluations 2018-07-06 16:50:41 -07:00
Michael Lange bbb923ea89 Initial evaluations page 2018-07-06 16:41:09 -07:00
Michael Lange a526eab044
Merge pull request #4468 from hashicorp/f-ui-styleguide-progress
UI: Fill out the styleguide
2018-07-06 16:03:41 -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 ff5a4ae6df Switch ember-browserify out for ember-auto-import 2018-07-06 13:38:37 -07:00
Michael Lange 2e55afd8ff Integration tests for the breadcrumbs component 2018-07-06 11:12:12 -07:00
Michael Lange 8a9cd74cce Unit tests for the breadcrumbs service 2018-07-06 11:12:12 -07:00
Michael Lange dc1d31eec8 Move the global-header up the route hierarchy
Now that breadcrumbs are a zero config component, the corresponding
template can be moved up to parent routes.
2018-07-06 11:12:12 -07:00
Michael Lange a045db8ce4 Update tests to match new test selectors 2018-07-06 11:12:12 -07:00
Michael Lange 43d9a94c96 Remove all references to breadcrumbs outside of routes 2018-07-06 11:12:12 -07:00
Michael Lange b5b632068d Use the new breadcrumb pattern on tasks 2018-07-06 11:12:11 -07:00
Michael Lange de89051438 Use the new breadcrumbs pattern for allocations 2018-07-06 11:12:11 -07:00
Michael Lange 3bda577de7 Apply new breadcrumbs pattern to task groups 2018-07-06 11:12:11 -07:00
Michael Lange a4ff0c1040 Support namespaces in job breadcrumbs 2018-07-06 11:12:11 -07:00
Michael Lange 0cb0e5e78b Use the new breadcrumbs pattern in all job templates 2018-07-06 11:12:11 -07:00
Michael Lange 438d0ce768 Use the new breadcrumbs pattern on the clients loading page 2018-07-06 11:12:11 -07:00
Michael Lange f0ecc7d9c8 Add breadcrumbs to jobs routes 2018-07-06 11:12:11 -07:00
Michael Lange f255b50f25 Recompute breadcrumbs when a model changes but the current route does not
Example: parent job to child job navigation
2018-07-06 11:12:11 -07:00
Michael Lange 1fb26c0b91 Support promise proxies as breadcrumbs 2018-07-06 11:12:11 -07:00
Michael Lange 9bc1d0e4f4 Apply new breadcrumbs pattern to servers and clients 2018-07-06 11:12:11 -07:00
Michael Lange 865105734e New breadcrumb service and component for describing breadcrumbs in routes
Works by segmenting the currentRouteName from the router service
and walking over each route in the current hierarchy to collect crumbs.
2018-07-06 11:12:10 -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 82e0fdbd27 A test to assert the bug 2018-07-05 13:49:27 -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 479d4700d6 Add an env var to toggle blockingQueries support
Mostly helpful when working with mirage
2018-07-05 11:18:09 -07:00
Michael Lange bd43a5df87 Filter out styleguide components from production builds 2018-07-03 17:37:49 -07:00
Michael Lange aef3da0b4e Add ember-cli-funnel dependency 2018-07-03 17:37:29 -07:00
Michael Lange a72362a8bd Styleguide entry for two-step button 2018-07-03 15:24:26 -07:00
Michael Lange 0046c72b27 Styleguide entry for alerts 2018-07-03 14:50:10 -07:00
Michael Lange b854168654 Styleguide entries for accordion 2018-07-03 14:30:40 -07:00
Michael Lange 6859fc9487 Outline new components 2018-07-03 13:57:09 -07:00
Michael Lange 43c118dfa7 Styleguide entry for Progress Bar 2018-07-03 13:54:00 -07:00
Michael Lange 5ced0f70b9 Styleguide entry for Table, Configuration 2018-07-03 13:06:39 -07:00
Michael Lange 1b2a253cbb Styleguide entry for tables 2018-07-03 12:30:34 -07:00
Michael Lange 4ed8957a3e Styleguide entry for Search Box 2018-07-02 17:37:38 -07:00
Michael Lange b47665da34 Styleguide entry for Page Title 2018-07-02 17:19:39 -07:00
Michael Lange c009a7565e Styleguide entry for Page Tabs 2018-07-02 16:36:26 -07:00
Michael Lange 6ab589b17c Styleguide entry for metrics 2018-07-02 16:19:01 -07:00
Michael Lange 2d7a3d9139 Styleguide entry for Log Stream 2018-07-02 15:33:37 -07:00
Michael Lange e6ecab0c27 Styleguide entry for the JSON Viewer 2018-06-30 11:31:17 -07:00
Michael Lange d9725470f0 Styleguide entry for Inline definitions 2018-06-30 01:10:36 -07:00
Michael Lange b529b471f3 Styleguide entry for header 2018-06-30 00:18:14 -07:00
Michael Lange 33c430daa9 Styleguide entry to the gutter menu 2018-06-29 23:36:40 -07:00
Michael Lange 2db7544f85 Styleguide entry for the timeline component 2018-06-29 18:33:23 -07:00
Michael Lange ac89f346d4 Dropdown entry to the styleguide 2018-06-29 14:21:33 -07:00
Michael Lange 15de710759 Styleguide entry for the diff-viewer 2018-06-29 13:34:01 -07:00
Michael Lange 9d75c5192a
Merge pull request #4416 from hashicorp/b-ui-flaky-alloc-detail-test
UI: Actually ensure that the allocation relies on an unhealthy driver
2018-06-15 11:30:10 -07:00
Michael Lange f2163568c9 Actually ensure that the allocation relies on an unhealthy driver 2018-06-13 16:33:47 -07:00
Michael Lange c86183154b Remove hacky code that worked around an Ember Data bug
The bug is fixed in 2.18, so this can be written in the normal
less surprising way.
2018-06-13 15:05:18 -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 780e9a18a5 Style tasks on the alloc index page like other tables of things 2018-06-07 11:31:06 -07:00
Michael Lange ef2e49e82d
Merge pull request #4388 from hashicorp/f-ui-show-deployment-deadline
UI: Show deployment deadline for each task group in the running deployment
2018-06-07 08:55:53 -07:00
Michael Lange 73881a388c Show the progress deadline for task groups in a running deployment 2018-06-06 17:35:18 -07:00
Michael Lange 37a8fb2af2 Add new property to factory 2018-06-06 17:34:50 -07:00
Michael Lange ee093ffc16 Make task rows clickable.
Right now they are the only tables where the entire row isn't a
click-target to drill into the detail page.
2018-06-06 14:50:28 -07:00
Michael Lange bd9d2c50d8 Remove test for removed behavior 2018-06-04 16:40:55 -07:00
Michael Lange 8b364c1e27 Use the network ip as the task address instead of the node ip 2018-06-04 15:34:16 -07:00
Michael Lange 1fd5035d9e
Merge pull request #4353 from hashicorp/f-ui-node-drain
UI: Node drain and eligibility
2018-05-30 14:40:21 -07:00
Michael Lange e472d918cf Account for the 0 case in format-duration 2018-05-30 14:30:45 -07:00
Michael Lange b6f2b82fad
Merge pull request #4335 from hashicorp/b-ui-safari-log-streaming
UI: Use polling instead of streaming for following logs in Safari
2018-05-30 11:36:03 -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 a06f6b27f2 Display node drain strategy information on the client detail page 2018-05-30 11:27:21 -07:00
Michael Lange cdbca8dcd2 Duration formatting utility
The cloest Moment.js has is "homanize" which isn't precise enough.
2018-05-30 11:27:21 -07:00
Michael Lange f0b54dd81b Color-code node drain and eligibility in the full client list
This makes it easier to scan for interesting nodes
2018-05-30 11:27:21 -07:00
Michael Lange 3ac8f7abeb Add drain and eligibility to the client details strip 2018-05-30 11:27:21 -07:00
Michael Lange 1303606f99 Add ineligibility to the status light 2018-05-30 11:27:21 -07:00
Michael Lange ffb48d6f53 Update the clients list table to include drain and eligibility
This makes it match the CLI node status output
2018-05-30 11:27:20 -07:00
Michael Lange 078d921dc4 Data modeling for node drain and scheduling eligibility 2018-05-30 11:27:20 -07:00
Michael Lange 52e6c1e551
Merge pull request #4319 from hashicorp/b-ui-errant-acl-error
UI: XHR keys need to include the method as well
2018-05-25 12:24:17 -07:00
Michael Lange a23fefdd50
Merge pull request #4339 from hashicorp/ui-change-stop-button-style
UI: Switch the stop button style to look mildly dangerous
2018-05-25 12:18:16 -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 7a601c39d3 Switch the stop button to be mildly dangerous 2018-05-25 11:56:32 -07:00
Michael Lange 4afc81a37d Tag node events with the driver when available 2018-05-25 11:48:49 -07:00
Michael Lange 09d5e4be5d New badge modifiers 2018-05-25 11:48:18 -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 5f9632bee8 Acceptance tests for node driver and node events 2018-05-25 10:15:24 -07:00
Michael Lange 536c013928 Disable visibility behaviors when testing
It results in surprise behaviors.
2018-05-25 10:15:24 -07:00
Michael Lange 3f781743e4 NodeEvent and NodeDriver modeling in Mirage 2018-05-25 10:15:24 -07:00
Michael Lange 9598a18bc1 Add driver warning to allocation rows 2018-05-25 10:15:24 -07:00
Michael Lange 54afbfe281 Fix narrow table column padding 2018-05-25 10:15:24 -07:00
Michael Lange 1ad3e546ee Show a warning on task rows on the alloc detail page
The warning shows up when the task's driver is unhealthy on the node
the task is running on.
2018-05-25 10:15:24 -07:00
Michael Lange 6dd0840553 Spread the driver health love throughout job models 2018-05-25 10:15:23 -07:00
Michael Lange 1058ac4ac0 Add driver status accordion section to the client detail page 2018-05-25 10:15:23 -07:00
Michael Lange 524ec8633a New accordion component
Follows the same style as the table and pagination components.
2018-05-25 10:15:23 -07:00
Michael Lange 00d97f6c6a Show a warning icon on client node rows that have unhealthy drivers 2018-05-25 10:15:23 -07:00
Michael Lange 446e26ea07 Add a node events section to the node detail page 2018-05-25 10:15:22 -07:00
Michael Lange baab8af975 Show driver summary on the client detail page 2018-05-25 10:15:22 -07:00
Michael Lange d6ebf77b08 Data modeling for node events and node drivers 2018-05-25 10:15:22 -07:00
Michael Lange 4d9859103f Remove stale dev code
This was used to get around direct requests to clients. The UI will
now automatically route through the server.
2018-05-25 10:14:36 -07:00
Michael Lange 1078a99948 Refactor the job xhrKey to use super 2018-05-25 09:15:45 -07:00
Michael Lange 9c6b060de9 Add a test to assert that canceling GETs can't instead cancel DELETEs 2018-05-25 09:13:18 -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 a3cb84c6ac The stream logger should not be supported in Safari
Not until the bugs around https are worked out.
2018-05-24 18:16:43 -07:00
Michael Lange 8cb96550c6 The poll logger needs to handle empty frames. 2018-05-24 18:16:42 -07:00
Michael Lange 861690482f Remodel task-group-deployment-summary to property use PlacedCanaries 2018-05-23 13:12:52 -07:00
Michael Lange 152311f6fb
Merge pull request #4254 from hashicorp/f-ui-ss-restart-tracking
UI: Server-side reschedule tracking
2018-05-10 16:17:02 -07:00
Michael Lange 4774a16bcd
Merge pull request #4201 from hashicorp/f-ui-fuzzy-job-search
UI: fuzzy and tokenized job search
2018-05-05 09:56:15 -07:00
Michael Lange b5bcab3f52 Clean up computed property by inverting early return 2018-05-04 20:38:55 -07:00
Michael Lange feec8aa5e7 Integration tests for the various reschedule events timeline permutations 2018-05-04 19:36:55 -07:00
Michael Lange 4178c2066a Turn reschedule events timeline into a component for isolated testing 2018-05-04 19:36:55 -07:00
Michael Lange d6d7a90c99 Acceptance tests for allocation rescheduling 2018-05-04 19:36:54 -07:00
Michael Lange d59802aa6e Mirage modeling for rescheduling 2018-05-04 19:36:54 -07:00
Michael Lange 077ee297c0 Reschedule events timeline for the alloc detail page 2018-05-04 19:36:54 -07:00
Michael Lange 825d7c4512 Add WaitUntil and followUpEvaluation 2018-05-04 19:36:54 -07:00
Michael Lange 940a5325c7 New reschedule-event-row component
Intended to be used in a timeline view.
2018-05-04 19:36:54 -07:00
Michael Lange 46fc0cedc3 Add rescheduled icon to allocation row 2018-05-04 19:36:54 -07:00
Michael Lange 927caa441e Refactor allocation-row 2018-05-04 19:36:54 -07:00
Michael Lange 97db138ce8 Add follow up eval relationship to allocation 2018-05-04 19:36:54 -07:00
Michael Lange c2d860955f Add shortId properties to reschedule events model 2018-05-04 19:36:54 -07:00
Michael Lange d66ecd3402 New is-narrow modifier for slim table cells
Useful for actions, icons, and checkboxes
2018-05-04 19:36:54 -07:00
Michael Lange 3ff8a38972 New is-hollow modifer for boxed-sections
An open layout that makes its contents feel less cramped. Useful for
large visualizations.
2018-05-04 19:36:54 -07:00
Michael Lange 2cea40a894 New is-faded modifier for icons
For when the icon should be less prominent than the content around it
2018-05-04 19:36:54 -07:00
Michael Lange ca172e1fc2 Modeling alloc reschedule events 2018-05-04 19:36:54 -07:00
Michael Lange a5be5ea6e1 New icon for showing history/paper trail
layers.svg from Open Iconic
2018-05-04 19:36:54 -07:00
Alex Dadgar 43192cefae generated files 2018-04-26 16:28:58 -07:00
Michael Lange 0c1c66776b
Merge pull request #4195 from hashicorp/b-ui-retry-stats-requests
UI: Retry stats requests
2018-04-24 14:13:34 -07:00
Michael Lange 603da9b4ea Test coverage for the changes to the searchable mixin 2018-04-23 16:49:04 -07:00
Michael Lange 50b0892c14 Trim whitespace on the search term
Trailing whitespace messes with tokenization
2018-04-23 16:49:04 -07:00
Michael Lange e0a0dbae9f Add tokenization to fuse search options 2018-04-23 14:58:01 -07:00
Michael Lange 0fb407baec Show how many jobs exist but are being hidden by the serach term 2018-04-23 14:58:01 -07:00
Michael Lange 47f4630607 Apply new search features to the job index page 2018-04-23 14:58:01 -07:00
Michael Lange 854c1665e0 Add optional fuzzy search support to the searchable mixin
This time around fuzzy, exact, and regex can all be toggled.
Additionally, each search type gets its own set of keys to search
for. This means fuzzy search can only look at name while regex and
exact match will still look at ID.
2018-04-23 14:58:01 -07:00
Michael Lange 8e410c01fb Bring fuse.js back 2018-04-23 14:58:01 -07:00
Michael Lange 71ca73c19b Test coverage for alloc stats retrying 2018-04-20 18:11:32 -07:00
Michael Lange d7daf86067 Move resource generation helper to a common place 2018-04-20 18:10:41 -07:00
Michael Lange eca7bf5ea2 Keep polling for alloc stats when a request fails 2018-04-20 16:50:54 -07:00
Michael Lange ff11ca7dbe Add button type to the two-step-button buttons 2018-04-20 10:11:21 -07:00
Michael Lange e180e8d74a Move job-page helpers and repeat stop tests on the service type 2018-04-19 14:22:05 -07:00
Michael Lange 1f3f26b30d Refactor periodic job tests 2018-04-19 14:22:04 -07:00
Michael Lange 82ca110cd0 New tests for stop job action 2018-04-19 14:22:04 -07:00
Michael Lange f0cf931c7b Refactor job-page components to use common title and error parts 2018-04-19 14:22:04 -07:00
Michael Lange cf7d5543c3 New errorMessage format 2018-04-19 14:22:04 -07:00
Michael Lange ccd3a91362 Common error component for job pages 2018-04-19 14:22:04 -07:00
Michael Lange 60938b6eb6 Move common title parts into a part component 2018-04-19 14:22:04 -07:00
Michael Lange bb61fda409 Test coverage for the two-step-button component 2018-04-19 14:22:04 -07:00
Michael Lange f83eb25c14 New two-step-button
For performing an action that requires confirmation
2018-04-19 14:22:04 -07:00
Michael Lange c7639237ba Add new model action for stopping a job 2018-04-19 14:22:04 -07:00
Michael Lange b3c3548ccd Track requests in test mode
This is now necessary in mirage 0.4
2018-04-17 10:28:59 -07:00
Michael Lange 9331a02e67 Upgrade ember-cli-mirage 2018-04-17 10:28:58 -07:00
Michael Lange 5223a3f816 Don't read properties off of null objects
Somehow this controller code runs sometimes when the existing jobs
are dematerializing. This makes this.get('model') and array of null
2018-04-17 10:28:58 -07:00
Michael Lange 1f300eb4fb Make sure jobs and task groups have no spaces
Faker hacker nouns can sometimes be two words.
2018-04-17 10:28:58 -07:00
Michael Lange 9d60c9db9a Defer showing alloc addresses until the node is loaded
The URLs for addresses are meaningless until the node http addr
is available.
2018-04-10 09:31:35 -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 f473d72ceb Remove an extraneous component of the service job page 2018-04-02 18:19:17 -07:00
Alex Dadgar af81349dbe Generated files 2018-03-30 16:14:40 -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 db4b81a348
Merge pull request #4067 from hashicorp/ui-upgrade-ember
UI: Upgrade Ember to LTS + fix job summary issues
2018-03-29 12:43:54 -06:00
Michael Lange b23bc70bce Add missing js class for System that extends AbstractJobPage 2018-03-28 16:46:35 -07:00
Michael Lange 7bab2a1f23 Check for a case-sensitive or lowercase header value 2018-03-28 16:10:09 -07:00
Michael Lange bff7230642 Remove now unnecessary summary fallback
Ember Data 2.18 fixed the underlying bug
2018-03-28 15:20:02 -07:00
Michael Lange b7d833a5e0 Correctly watch the job summary on the task group page
It changed from being a relationship to a model
2018-03-28 15:12:27 -07:00
Michael Lange e192d0a69d Upgrade to Ember 2.18 2018-03-28 14:57:03 -07:00
Michael Lange 6967fc2c11 Make the job<->job-summary relationship reflective
The job summary needed a JobID
2018-03-28 14:56:15 -07:00