Commit graph

1142 commits

Author SHA1 Message Date
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
Michael Lange dbf4b6c242 Clear out the localStorage namespace when it's no longer valid
In the event that a namespace in localStorage is not found in the
response for /namespaces, clear the localStorage value and assume
the default namespace.
2018-03-28 14:55:07 -07:00
Michael Lange 679831e96b Don't allow the alloc status table cell to word-wrap at the swatch 2018-03-28 14:51:54 -07:00
Michael Lange 84141e9d1f Read the task event message from the DisplayMessage prop 2018-03-28 12:52:02 -07:00
Michael Lange 4c34a04151 Work around the dreaded broken relationship ED bug
Summary can unlink from a job when loaded in the wrong order. This
guarantees that the summary is bound to the job detail view by
falling back to the summary in the store.
2018-03-22 20:14:37 -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 d85673d7c6 Always use the job plain id and job namespace in job links 2018-03-22 20:14:36 -07:00
Michael Lange fb17a758da Poll for allocation stats 2018-03-22 14:34:57 -07:00
Michael Lange 6bf139d094 Refactor the way allocation stats are fetched
No longer treat it as a property for relationship, just ephemeral
data that can be fetched on demand.
2018-03-22 14:34:13 -07:00
Michael Lange 729365507f
Merge pull request #4017 from hashicorp/b-ui-error-message-for-force
Show an error message when forcing a periodic launch is forbidden
2018-03-22 11:17:14 -07:00
Michael Lange 6ac170d721
Merge pull request #4026 from hashicorp/b-ui-use-native-fetch-in-prod
UI: Use native fetch in production when available
2018-03-22 11:16:37 -07:00
Michael Lange d455b3cdd3 mirageEnabled alone doesn't capture whether or not mirage is enabled
Add an isProduction condition to ensure native fetch is used when
possible.
2018-03-21 22:09:10 -07:00
Michael Lange fc5c4ff093 The initial index value should be 1, not 0 2018-03-21 13:28:56 -07:00
Michael Lange 8541579722 Show an error message when forcing a periodic launch is forbidden
This will happen when ACLs allow for reading jobs but not submitting.
2018-03-21 12:12:17 -07:00
Michael Lange 810c5c3f7c Perioidic and Parameterized jobs need to watch /jobs for child updates 2018-03-20 16:41:53 -07:00
Michael Lange 39bf9a4e78 Always provide arguments instead of models to job links
This invoked the model hook, which will load the model and
redirect correctly based on permissions
2018-03-20 16:41:19 -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 a5a5923e30 Job row should denote when a parent job has no children 2018-03-20 16:41:18 -07:00
Michael Lange 3affa48def Alias the right property 2018-03-20 16:41:18 -07:00
Michael Lange 8e9fe5df01 Deployments should only be watched when the job type supports deployments 2018-03-20 16:23:03 -07:00
Michael Schurter 86ccdb9115 Fix generating static assets
Broke due to a change in go-bindata-assetfs
2018-03-19 15:52:38 -07:00
Michael Lange 31a30f5805
Merge pull request #3989 from hashicorp/f-ui-read-job-summary-from-list-view
UI: Read job summary from Jobs.List
2018-03-16 12:37:05 -07:00
Michael Lange 23cfbb9c27 Ensure the task group is present whenever an allocation row is rendered 2018-03-15 14:03:14 -07:00
Michael Lange c8b3e91d4a Update job row to no longer watch job-summary or reload the job
Now that job summary is pushed into the store from the list request
and the task group count is derived from the summary, the detailed
job information is no longer needed for a job row.
2018-03-15 10:48:37 -07:00
Michael Lange ab69c2806c Use the job-summary information available from the jobs list 2018-03-15 10:28:34 -07:00
Michael Lange d6fd741e16 Read task name off of the state rather than the task
It's possible for the task (derived from the job API response)
is nil, or has a nil name field.

Using the task state instead ensures a name every time.
2018-03-14 16:39:42 -07:00
Michael Lange 5dc9dbb0ea Update tests to reflect new breadcrumbs 2018-03-13 16:36:26 -07:00
Michael Lange 5c1c0db1c3 Make task page breadcrumbs extend the allocation breadcrumbs 2018-03-13 16:36:26 -07:00
Michael Lange 53ee4d72a5 Make allocation pages extend the job breadcrumb trail 2018-03-13 16:36:26 -07:00
Michael Lange d9287d1f40 Fix a bug where job links didn't always include the namespace QP 2018-03-13 16:34:01 -07:00
Michael Lange 0d9b94ab10 QueryParams primitive ported with a helper
This QueryParams object is defined in Ember source, but it isn't
public, which means there is no out of the box way to construct
the query params arg for LinkTo in JavaScript
2018-03-13 16:34:01 -07:00
Michael Lange 7768e14380 Correctly wire up job relationships 2018-03-13 16:34:01 -07:00
Michael Schurter 7dd7fbcda2 non-Existent -> nonexistent
Reverting from #3963

https://www.merriam-webster.com/dictionary/existent
2018-03-12 11:59:33 -07:00
Josh Soref 026f885087 spelling: rolling 2018-03-11 18:52:29 +00:00
Josh Soref 7f6e4012a0 spelling: existent 2018-03-11 18:30:37 +00:00
Josh Soref e0169c6a53 spelling: exhausted 2018-03-11 18:05:21 +00:00
Josh Soref ce22b18754 spelling: details 2018-03-11 17:54:56 +00:00
Josh Soref 7248de4e26 spelling: breadcrumb 2018-03-11 17:44:27 +00:00
Josh Soref 4708460e8f spelling: appropriate 2018-03-11 17:39:47 +00:00
Michael Lange 23e7a7924f Only show the placement failures section if there is a blocked eval 2018-03-08 14:14:55 -08:00
Michael Lange 29f1d9948e
Merge pull request #3936 from hashicorp/f-ui-polling
UI: Live updating views
2018-03-08 13:27:02 -08:00
Michael Lange 04681d5622 Better define mixin contracts 2018-03-08 11:15:43 -08:00
Michael Lange 24c8690cb0 Fix a bug where namespace filter is incorrect for the jobs list 2018-03-08 10:40:31 -08:00
Michael Lange 0cfa36d839 Don't let aborted requests redirect to error 2018-03-08 10:40:31 -08:00
Michael Lange 314f1ea436 Change from the setupController hook to the new startWatchers hook 2018-03-08 10:40:31 -08:00
Michael Lange 98d425fdcf Toggle polling in components when switching away from the tab 2018-03-08 10:40:31 -08:00
Michael Lange 145b153889 Wire up the job summary 2018-03-08 10:40:31 -08:00
Michael Lange 50f67d8ee6 New mixins for managing tab visibility effects 2018-03-08 10:40:31 -08:00
Michael Lange 86f73320a2 Patch tests 2018-03-05 09:32:05 -08:00
Michael Lange 2282f3243a Use willTransition instead of deactivate to cancel requests
deactivate happens _after_ the new route's model hook, which
results in the possibility of canceling new requests right
after they are made rather than existing open connections
2018-03-05 09:32:05 -08:00
Michael Lange 83df67a8ab Watch node and related allocations on the client detail page 2018-03-05 09:32:04 -08:00
Michael Lange e54cf51460 Move node watching to the index page
It doesn't need to impact the entire route hierarchy
2018-03-05 09:32:04 -08:00
Michael Lange 5363f32d33 Watch the allocation on the allocation and task pages 2018-03-05 09:32:04 -08:00
Michael Lange c201d3ae8f Watch job, job-summary, and job-allocs on the task group page 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 b1125c1a1f Add polling to the deployments page 2018-03-05 09:32:04 -08:00
Michael Lange 8b0ad9f2fb Move job watchers to job.index
They are only for the overview page, not the whole 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 2b6f07c4c3 Watch job versions 2018-03-05 09:32:03 -08:00
Michael Lange c883280661 Fix preexisting bugs that only surfaced once live updating started 2018-03-05 09:32:03 -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 bbe646b131 Set slices after merging the selection 2018-03-02 16:21:37 -08:00
Michael Lange 7c27d1486b Json viewer isn't side effect free, so use a copy 2018-03-02 16:21:37 -08:00
Michael Lange 2d0a3a15ad Add tests for findHasMany store culling 2018-03-02 16:21:37 -08:00
Michael Lange 762a82702a Add tests for findAll store culling 2018-03-02 16:21:37 -08:00
Michael Lange 80c8db559b Tests for watching and canceling requests 2018-03-02 16:21:37 -08:00
Michael Lange 788d410d6b Watchable request helper for Mirage 2018-03-02 16:21:37 -08:00
Michael Lange 553c69cc32 Fix existing tests 2018-03-02 16:21:36 -08:00
Michael Lange 2634b36044 Generalized solution for removing records in the local store
When the findAll response from the server no longer has them.
2018-03-02 16:21:36 -08:00
Michael Lange 1ab5b8b3e4 Cancel watch tasks when appropriate 2018-03-02 16:21:36 -08:00
Michael Lange 962c763aa6 Watch properties cancel long poll requests 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 5a21a5ddbf Watch for summary changes in job-row 2018-03-02 16:21:35 -08:00
Michael Lange 1f7f78823e Watch all records on the jobs list page 2018-03-02 16:21:35 -08:00
Michael Lange 34872543f9 Remove records from the store when they are no longer in array responses
Ember Data doesn't do this by default, instead opting to be as
non-destructive as possible. However, this is desired behavior.
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 87e32af4ea Make the throttle time configurable 2018-03-02 16:21:35 -08:00
Michael Lange 6b1fab696e Add a watchAll computed property macro 2018-03-02 16:21:34 -08:00
Michael Lange d51da0fa62 Fix distribution-bar bugs found with live data
- Key data using datum label
  (when something goes from number, to zero, to number again)
- Retain active and inactive classes across data updates
2018-03-02 16:21:34 -08:00
Michael Lange 8566a8cd25 Move watch tasks into a utils file 2018-03-02 16:21:34 -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 bace0fedef Re-render chart whenever data changes 2018-03-02 16:21:13 -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 a18771278f
Merge pull request #3908 from hashicorp/f-ui-route-client-requests-through-server
UI: Take advantage of client request tunneling
2018-03-02 15:58:27 -08:00
Michael Lange a503fbe73c In the event the server also times out, show an error message 2018-02-27 13:38:31 -08:00
Michael Lange 16daba97e1 Cleanup following review 2018-02-26 16:35:41 -08:00
Michael Lange dc72ac2bc7 Fallback to using the nomad server for log streaming
Only when the client isn't accessible
2018-02-26 12:23:47 -08:00
Michael Lange 470b8131bd Get client stats through the server agent 2018-02-26 12:23:47 -08:00
Michael Lange 2fcd9b3cb6 Refactor node meta table
- Use existing serializer and components
- Add acceptance test
- Add empty state
2018-02-06 18:56:49 -08:00
Or Tzabary cb1193b9a5 Meta params table in Client view 2018-02-06 18:04:57 -08:00
Michael Lange 6d46d81bd9 Always shutdown the mirage server 2018-02-06 10:53:53 -08:00
Michael Lange 2563e04a6d Inject system so namespace shows up on job detail components 2018-02-06 10:53:53 -08:00
Michael Lange 9f9597c50c Integration test for periodic job force launch 2018-02-06 10:53:53 -08:00
Michael Lange d3ea4557a3 New module-for-job for acceptance testing job detail differences 2018-02-06 10:53:53 -08:00
Michael Lange b87f65abfc Tests for the task groups job page part 2018-02-06 10:53:53 -08:00
Michael Lange f864fb3f2a Tests for the summary job page part 2018-02-06 10:53:53 -08:00
Michael Lange 1b98738a28 Tests for the placement failures job part 2018-02-06 10:53:53 -08:00
Michael Lange 345a954291 Running deployment job page part tests 2018-02-06 10:53:52 -08:00
Michael Lange 395448602f Job part evaluations test 2018-02-06 10:53:52 -08:00
Michael Lange d932c79b24 Job part children tests 2018-02-06 10:53:52 -08:00
Michael Lange 3d9ed6e57e Integration tests for the body job part 2018-02-06 10:53:52 -08:00
Michael Lange d8aafcfc7c Update job factory to use traits for specifying job type 2018-02-06 10:53:52 -08:00
Michael Lange 40c8149520 Trim the parent job prefix off the child job names when displaying them 2018-02-06 10:53:52 -08:00
Michael Lange 1f5e9998e9 State periodic or parameterized as the job type when applicable 2018-02-06 10:53:52 -08:00
Michael Lange 64b99276ca Clean up force launch button 2018-02-06 10:53:51 -08:00
Michael Lange 09eeb49786 Differentiate between no search matches and no allocs on task group page 2018-02-06 10:53:51 -08:00
Michael Lange abcfda9911 Add ability to force a periodic job launch 2018-02-06 10:53:51 -08:00
Michael Lange 732c61baf9 For now, the system job is identical to the service job 2018-02-06 10:53:51 -08:00
Michael Lange a820ea7b13 Payload details for the parameterized child job detail page 2018-02-06 10:53:51 -08:00
Michael Lange aa1b9674e8 Elastic mode for cli window component 2018-02-06 10:53:51 -08:00
Michael Lange 89a19fbe38 Breadcrumbs for the periodic child job page 2018-02-06 10:53:50 -08:00
Michael Lange 4f8a59a56c Bring payload in from the job api response 2018-02-06 10:53:50 -08:00
Michael Lange 0d4a245f7c Paginated and sortable table for job launches/children jobs 2018-02-06 10:53:50 -08:00
Michael Lange 995d07efc2 New job page components for parent jobs and batch jobs 2018-02-06 10:53:50 -08:00
Michael Lange 0e173f5da5 Fleshing out job page parts and differences 2018-02-06 10:53:50 -08:00
Michael Lange 6492611e39 Recreate the service job detail page using job part components 2018-02-06 10:53:50 -08:00
Michael Lange 25d9004d3a Deconstruct the existing job detail page into common parts
This is to later compose job detail page variations
2018-02-06 10:53:49 -08:00
Michael Lange 1845ccd456 Handle the difference between parameterized on single and list responses 2018-02-05 20:13:58 -08:00
Michael Lange a4deea08af Computed a template type for a job
This is a composite of scheduler type, batch variations, and children v.
template
2018-02-05 20:13:58 -08:00
Michael Lange 26c76e67f7 Fix lint-staged paths
Paths now start from package.json location, not project root.
2018-02-05 20:13:58 -08:00
Michael Lange 67cee01f11 Use the children summary instead of alloc summary when applicable 2018-02-05 20:13:58 -08:00
Michael Lange d8bd9dec77 Specialized children-status-bar variant of the allocation-status-bar 2018-02-05 20:13:58 -08:00
Michael Lange c3fe28219b Model the parent/child relationship in jobs 2018-02-05 20:13:58 -08:00
Michael Lange 633c9599dc Filter child jobs out of the root jobs list 2018-02-05 20:13:58 -08:00
Michael Lange b5c7c5f3ce
Merge pull request #3777 from johncowen/f-ui-api-task-events-messages
UI: Make task-events use the `message` from the API rather than hardcoded
2018-02-05 18:36:41 -08:00
John Cowen 98bd72a44e Remove vaultError, failedSibling and messagePassthru
1. `vaultError` and `failedSibling` are safe to remove see
https://github.com/hashicorp/nomad/blob/64e9cf9/nomad/structs/structs.go#L3979-L3986
2018-01-26 13:37:20 +00:00
John Cowen c7c465fb78 Make task-events use the message from the API rather than hardcoded
The api has changed to send through a message for task-events. Use that
instead of rendering a message from within js dependent on the task
event type
2018-01-19 15:38:57 +00:00
John Cowen abaae90be7 Address PR feedback
1. Extra whitespace
2. Remove redundant code
3. Remove redundant markup from test
4. placement-failure should be used as an inline component
5. Prefer `assign` polyfill
6. Use new `@ember' org style imports
2018-01-19 13:59:19 +00:00
John Cowen 56890fbc6b Add more assertions for basic message checking 2018-01-19 13:59:19 +00:00
John Cowen 9b0715ac44 Add in data-test attrs to hook into, decide on test case granularity 2018-01-19 13:59:19 +00:00
John Cowen c88d75555e Pluralize test name for consistency (for filtering), inc test 2018-01-19 13:59:19 +00:00
John Cowen 1f9a2064c6 Move cleanWhitespace to utils, readd data-test attribute for PF's
1. cleanWhitespace > /test/utils/clean-whitespace.js
2. Missd the data-test attribute for placement failures in previous
conflict
2018-01-19 13:59:19 +00:00
John Cowen 7865038c6e Move placement failures to a component, begin separate integration tests
1. Simple move of placement-failures template code to a component
2. Start adding integration tests - hit `inc` surprise
2018-01-19 13:59:19 +00:00
Michael Schurter 9fcda9c5aa Make example service name make sense
Switch from global-redis-check for the example job's service name to
redis-cache. The former name is really confusing and someone finally
called us out on it:

https://groups.google.com/d/msg/nomad-tool/3RTh6CyYkWk/vEe_Sj7lAAAJ

Also specifically mention that the `service.name` parameter is what is
advertised in Consul.
2018-01-17 14:08:30 -08:00
Michael Lange 59fd26d5e3 Use Node 8 2018-01-17 09:04:01 -08:00
Michael Lange 20eebaeda1 Add breadcrumbs to the styleguide 2018-01-17 09:04:01 -08:00
Michael Lange 79ebf291e8 Reorganize the styleguide using components for sections 2018-01-17 09:04:01 -08:00
Michael Lange c9ae29682c Add boxed-section component to the styleguide 2018-01-17 09:04:00 -08:00
Michael Lange d2a26a6745 Add basic elements to the styleguide 2018-01-17 09:04:00 -08:00
Michael Lange a0b2433f42 Add jumbo distribution bar to the styleguide 2018-01-17 09:04:00 -08:00
Michael Lange 5e02fc49b3 Move distribution bar styleguide material to a component 2018-01-17 09:04:00 -08:00
Michael Lange 124d8de8d8 Move button styleguide material to a component 2018-01-17 09:04:00 -08:00
Michael Lange 6a258b20d6 Fix syntax highlighting in the styleguide 2018-01-17 09:04:00 -08:00
Michael Lange 1cb8aeeba8 Fix a class name bug in the distribution bar 2018-01-17 09:04:00 -08:00
Michael Lange c9837ec9f6 A new place to put styles only the styleguide uses 2018-01-17 09:04:00 -08:00
Michael Lange 512ff08c8a Update the ember-freestyle dep 2018-01-17 09:04:00 -08:00
Michael Lange c408b4ecc4 Run prettier on all files
Since prettier updated, some files have out of date formatting.
2018-01-17 09:04:00 -08:00
Michael Lange 420cfa4444 Upgrade lint-staged 2018-01-17 09:04:00 -08:00
Michael Lange 47a2c2ffbf Upgrade stale deps 2018-01-17 09:04:00 -08:00
Michael Lange deb2dffefa Remove unused ui travis config 2018-01-17 09:04:00 -08:00
Michael Lange 20e63ad970 Add chrome to Travis 2018-01-17 09:04:00 -08:00
Michael Lange 45f9214c2c Use ember-test-selectors for integration tests 2018-01-17 09:03:59 -08:00
Michael Lange af0fc0f9ef Upgrade testing related dependencies 2018-01-17 09:03:59 -08:00
Michael Lange 94a95406da Switch from phantomjs to headless chrome 2018-01-17 09:03:59 -08:00
Michael Lange 76cd94a54e Use data-test- selectors in acceptance tests 2018-01-17 09:03:59 -08:00
Michael Lange 797a3fd483 Adds the ember-test-selectors addon 2018-01-17 09:03:59 -08:00
Michael Lange 8c742b254b Upgrade ember-cli-sass 2018-01-17 09:03:59 -08:00
Michael Lange 875936ba0d Strengthen the .tag override selector
In 0.5.2, Bulma excludes the body element from the selector to work around
an issue with Wordpress.
2018-01-17 09:03:59 -08:00
Michael Lange 02028e29c2 Remap $info to $blue
Bulma defaults $info to $cyan in 0.6.0
2018-01-17 09:03:59 -08:00
Michael Lange 0a4fb3a16b Specify color overrides in navbar
Bulma 0.5.2 introduced color modifiers for navbar
2018-01-17 09:03:59 -08:00
Michael Lange 2c0875d7e3 Upgrade bulma to latest (0.6.1) 2018-01-17 09:03:59 -08:00
Michael Lange ed756ce602 Replace nav with navbar
Bulma introduced navbar while deprecating nav in 0.4.3
Bulma removed deprecated nav in 0.6.0
2018-01-17 09:03:59 -08:00
Michael Lange e4ddfafe9d Replace custom breadcrumbs CSS with new Bulma provided CSS 2018-01-17 09:03:59 -08:00
Michael Lange 99ead2e390 Update variable names 2018-01-17 09:03:58 -08:00
Michael Lange 5f767fe29e Default to 100% wide tables
Bulma 0.5.0 makes tables auto by default and adds the
full-width modifier.
2018-01-17 09:03:58 -08:00
Michael Lange 93c3b82e6d Upgrade Bulma to 5.0 2018-01-17 09:03:58 -08:00
Michael Lange 450a2a8d75 Shuffle around styles to better organize around net new code and bulma overrides 2018-01-17 09:03:58 -08:00
Michael Lange d918c81c76 Remove the MODEL_FACTORY_INJECTIONS cruft 2018-01-17 09:02:05 -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 72154a8d08 Run ember out of node_modules
This locks the version to what's described in package.json
2018-01-17 09:02:04 -08:00
Michael Lange 3136c5db18 Update the reason why the router service is still not used 2018-01-17 09:02:04 -08:00
Michael Lange df41a77625 Upgrade various minor dependencies 2018-01-17 09:02:04 -08:00
Michael Lange 26866b611c Upgrade ember-browserify to 1.2 2018-01-17 09:02:04 -08:00
Michael Lange eb91e88038 Upgrade Ember CLI Mirage to 0.4.1 2018-01-17 09:02:04 -08:00
Michael Lange 87670753e5 Never use native fetch when mirage is enabled
Unfortunately, Mirage/Pretender don't support fetch
2018-01-17 09:02:04 -08:00
Michael Lange f731809b9b Upgrade to Ember Data 2.17 2018-01-17 09:02:04 -08:00
Michael Lange 70f66fe0e3 Upgrade to ember-cli 2.17 and ember 2.17 2018-01-17 09:02:04 -08:00
Michael Lange 9d505d1db0 Disambiguate what to do with the child task for the task logger
linked tasks are killed when the parent task is killed.
2018-01-17 09:02:04 -08:00
Michael Lange b0aab1f23e Don't warn intentional errors in tests
It's too noisy
2018-01-17 09:02:04 -08:00
Michael Lange c15b54a299 Don't dot twice after an @each 2018-01-17 09:02:03 -08:00
Michael Lange 9cf71202ce Never fetch a job with null as the namespace 2018-01-17 09:02:03 -08:00
Michael Schurter 7a77fc69ce Include credentials in fetch requests
Fixes #3701

Relevant spec section:
https://fetch.spec.whatwg.org/#concept-request-credentials-mode
2018-01-08 12:18:03 -08:00
Michael Lange 7a7c8204a7 Lock down nodejs version
The new Travis Trusty image uses node 8 (latest LTS) as the default.
Node 8 is incompatible with some modules used for the UI.
2017-12-15 10:50:06 -08:00
Michael Lange c1efbabce6
Merge pull request #3631 from hashicorp/b-ui-expand-definition
UI Show full job definition by default
2017-12-07 14:42:01 -08:00
Michael Lange bfaf81df31
Merge pull request #3607 from hashicorp/f-ui-modify-time-over-modify-index
UI Use ModifyTime instead of ModifyIndex in allocation lists
2017-12-07 14:25:28 -08:00
Michael Lange aeddd4d717 Expand the entire job definition by default 2017-12-07 14:06:51 -08:00
Michael Lange a2b9c2ee60
Merge pull request #3621 from hashicorp/b-ui-timezones
UI: Drop timezones from timestamps
2017-12-06 14:16:08 -08:00
Michael Lange 305b058a85
Merge pull request #3623 from hashicorp/f-ui-warn-uncaught-exceptions
UI: Warn uncaught exceptions to console
2017-12-06 14:11:22 -08:00
Michael Lange a833248a9d Make sure the code element within a cli-window takes the full height 2017-12-06 13:36:18 -08:00
Michael Lange 03680ec180 A short guide for proxying to a different nomad cluster
when developing the UI
2017-12-06 12:38:38 -08:00
Michael Lange 3b6a084a1d Warn errors in prod 2017-12-06 10:33:03 -08:00
Michael Lange 54cb23c577 Use ModifyTime instead of ModifyIndex 2017-12-06 10:17:12 -08:00
Michael Lange 4a88d3338c Remove UTC timezone tag 2017-12-05 19:12:18 -08:00
Michael Lange 956e967ffd Acceptance tests for evaluations 2017-11-29 20:12:45 -08:00
Michael Lange f3acc8bd6d Fixes an off by one bug in the ipv6 generator function
Sigh.
2017-11-29 20:12:13 -08:00
Michael Lange d663f7ea70 Mirage magic for evaluations 2017-11-29 20:12:13 -08:00
Michael Lange bd7a474c28 Be clear about what the placment failures number next to task groups is 2017-11-29 20:12:12 -08:00
Michael Lange 4451265b79 List placement failures on the job detail page 2017-11-29 20:12:12 -08:00
Michael Lange d1277ac933 Add a table of evaluations to the job detail page 2017-11-29 20:12:12 -08:00
Michael Lange 4e3b58a24a Associate jobs, task groups, and evaluations 2017-11-29 20:12:12 -08:00
Michael Lange 8240f99769 Models evaluation data 2017-11-29 20:12:12 -08:00
Michael Lange f747cc79e4 Revert "UI Placement failures""
This reverts commits
141ecd8d9170f56c8302b5c776532e6d287a40e3
d2d838c2de08aac716a9431d9720b5c12bb19ba1
8099db433641429816e8479c6d23116269f744c0
86262b3ceff607627a9c9e0e25eb81b9b5ee739c
eb4104ec528982e0ee6ae9a05fb0460e53139f3f
0e0e23e238017815bdb6dcfbc056275b3deaacca
6d45658d77fb4c40760a63cced71b74757356e48
b52a8176e85b9c6f13ec012f7fce2ec3df1c8751
2017-11-29 20:03:39 -08:00
Michael Lange 961926880a Acceptance tests for evaluations 2017-11-29 19:46:28 -08:00
Michael Lange 84c9fb20f3 Fixes an off by one bug in the ipv6 generator function
Sigh.
2017-11-29 19:46:27 -08:00
Michael Lange 2ed76e50e3 Mirage magic for evaluations 2017-11-29 16:30:33 -08:00
Michael Lange 3b184b974b Be clear about what the placment failures number next to task groups is 2017-11-29 16:30:33 -08:00
Michael Lange 3a1652ba83 List placement failures on the job detail page 2017-11-29 16:30:33 -08:00
Michael Lange 1d5b67b9bf Add a table of evaluations to the job detail page 2017-11-29 16:30:33 -08:00
Michael Lange d434a62563 Associate jobs, task groups, and evaluations 2017-11-29 16:30:33 -08:00
Michael Lange 6be9d7e919 Models evaluation data 2017-11-29 16:30:33 -08:00
Michael Lange e051b1f34b Explain the magical logging constant 2017-11-21 15:05:28 -08:00
Michael Lange 73969cd6ab Move the stream support check to the stream logger 2017-11-21 14:57:19 -08:00
Michael Lange 072efb665e Unit tests for the log util 2017-11-21 11:22:43 -08:00
Michael Lange 3e8e3880aa Use the b64 log format to track offsets for pause/play support 2017-11-21 11:22:42 -08:00
Michael Lange b3d53a3569 Use offset numbers in the polling mechanism 2017-11-21 11:22:42 -08:00
Michael Lange bf082d4fcd Fixes intermittent test failures 2017-11-21 11:22:42 -08:00
Michael Lange 061de462c6 Integration tests for the task-log component 2017-11-21 11:22:42 -08:00
Michael Lange ac1855f37c Rename allocation-log to task-log 2017-11-21 11:22:42 -08:00
Michael Lange 1e1a697841 Acceptance tests for task logs 2017-11-21 11:22:42 -08:00
Michael Lange 95ee30cc31 Crude log mocking
This will need to get better for testing the offset stitching
logic in the polling case.
2017-11-21 11:22:42 -08:00
Michael Lange ba7245247a Prevent using fetch or ReadableStream in tests
Until they can be mocked, they can't be used
2017-11-21 11:22:42 -08:00
Michael Lange 82bf67b630 Microscopic refactor for style reasons 2017-11-21 11:22:42 -08:00
Michael Lange b567b97659 New eslint rule for ember-concurrency infinite loop pattern 2017-11-21 11:22:42 -08:00
Michael Lange 53de626709 Let the log component fill all available height 2017-11-21 11:22:42 -08:00
Michael Lange d394b7e648 Updated styles for the cli-window component 2017-11-21 11:22:42 -08:00
Michael Lange 1841e19c67 New icons for pausing and playing 2017-11-21 11:22:42 -08:00
Michael Lange 7c3f688ad6 Move logging logic from the controller to a component 2017-11-21 11:22:42 -08:00
Michael Lange fc581163d6 First pass at the logs page
Just verifying the log code works
2017-11-21 11:22:42 -08:00
Michael Lange 4293772203 Log class for interfacing with log APIs
Supports:
  - Reading the head of a log
  - Reading the tail of a log
  - Following a log in one of two ways:
    - Streaming the HTTP request (using fetch res.getReader)
    - Polling the log endpoint (using EC timeouts)
2017-11-21 11:22:41 -08:00
Michael Lange 52b81d8fa7 Provides a slim TextDecoder polyfill for Edge 2017-11-21 11:22:41 -08:00
Michael Lange 73e70f6931 Add ember-concurrency dependency 2017-11-21 11:22:41 -08:00
Michael Lange dc5159292a Add link to the task logs page 2017-11-21 11:22:41 -08:00
Michael Lange d7df5712f9 Prefer native fetch 2017-11-21 11:22:41 -08:00
Michael Lange a02f32fc81 Guard against null values 2017-11-21 11:22:41 -08:00
Michael Lange 71bc408f6c Remold the allocation detail and task detail pages
Now that there is a task detail page, some of the content from
the allocation detail page is better suited there.
2017-11-14 11:08:51 -08:00
Michael Lange 9c58c30496 Update allocation detail page to look like job and node 2017-11-14 11:05:29 -08:00
Michael Lange 6a7bbe8afa Create a new task route hierarchy
Drilling into a task from an allocation transitions to the task
heirarchy.
2017-11-14 11:04:40 -08:00
Michael Lange ff69512ff3 Rename nodes routes to client routes 2017-10-27 18:39:04 -07:00
Michael Lange fb2abbe0bc Change app copy to say 'clients' instead of 'nodes' 2017-10-27 18:14:46 -07:00
Alex Dadgar 68c0d8a77a add static ui assets 2017-10-25 17:01:26 -07:00
Michael Lange af870eeb32 Merge pull request #3428 from hashicorp/b-ui-missed-the-deployment-allocs
Add modified and version headers to deployment allocation table
2017-10-25 10:31:20 -07:00
Michael Lange 3503137dd2 Update the existing empty state messages to no longer mention tokens
There is no longer a way that these messages could show and tokens be the problem
2017-10-24 16:41:11 -07:00
Michael Lange be564b0942 New test coverage for 403 handling on list pages 2017-10-24 16:41:11 -07:00
Michael Lange a6a34fbba0 Apply route-specific 403 handling to jobs, nodes, and servers 2017-10-24 16:41:11 -07:00
Michael Lange 225817583f Common code for handling 403s in routes 2017-10-24 16:40:27 -07:00
Michael Lange fce7440f34 Stop gracefully handling findAll 403s in the adapter 2017-10-24 16:40:27 -07:00
Michael Lange 53211f9175 Merge pull request #3439 from hashicorp/b-ui-hide-deployments-tab-based-on-type
Don't show the deployments tab for non-service jobs
2017-10-24 16:39:47 -07:00
Michael Lange 37c1b0a707 Merge pull request #3437 from hashicorp/f-ui-sort-server-tags
Sort server tags
2017-10-24 16:39:23 -07:00
Michael Lange 007cafac63 Don't show the deployments tab for non-service jobs
They can't have deployments, so the link makes no sense.
2017-10-24 12:35:29 -07:00
Michael Lange ea58519840 Sort server tags 2017-10-24 12:04:08 -07:00
Michael Lange 7abf621441 On namespace change on a job detail page, redirect to /jobs
And reload jobs for the new namespace.
2017-10-23 17:42:36 -07:00
Michael Lange eaf7e8749a Temporarily skip unreliable test due to unloadAll 2017-10-23 17:42:36 -07:00
Michael Lange ea88e59ae0 Make sure to treat the namespace Name as the ID 2017-10-23 17:42:36 -07:00
Michael Lange ca8aec22a8 Update acceptance tests now that jobs are different 2017-10-23 17:42:36 -07:00
Michael Lange ff4df58e6d Address a couple asynchronicity issues 2017-10-23 17:42:36 -07:00
Michael Lange eb59f76601 Update all job links 2017-10-23 17:42:36 -07:00
Michael Lange d967a9eb30 Redo the logic around showing namespaces
Don't show namespaces if the only namespace is `default`
2017-10-23 17:42:36 -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 8eeacebe67 Don't scroll to top on transition in tests
It's mega annoying
2017-10-23 17:42:36 -07:00
Michael Lange 39e917f654 Update job factories and mock endpoints to handle namespaces correctly 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 a475d59513 Switch from href-to to link-to for QP persistence
See this issue: https://github.com/intercom/ember-href-to/issues/62
2017-10-23 17:42:35 -07:00
Michael Lange a4b7b58dd5 Move the namespace query param up the route hierarchy
This makes it active on all job routes
2017-10-23 17:42:35 -07:00
Michael Lange 899e8fa371 Make sure to include the namespace qp on all job related resources 2017-10-23 17:42:35 -07:00
Michael Lange 22ca0125c1 Add query-string as a dependency 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 3d3617019f Add the new alloc row headers to the deployment allocations table 2017-10-19 17:35:58 -07:00
Michael Lange 5f73c5d392 Handle the undefined TotalTicks case 2017-10-19 17:35:58 -07:00
Michael Lange 44acb58f8c Handle the not a number case 2017-10-19 17:35:58 -07:00
Michael Lange 05c714967a Merge pull request #3423 from hashicorp/b-ui-never-return-null-from-headers
Never return null for adapter headers
2017-10-19 12:23:10 -07:00
Michael Lange 9e37ba846a Merge pull request #3424 from hashicorp/b-ui-job-version-for-node-allocs
Expect JobVersion in one of two places
2017-10-19 12:21:10 -07:00