Commit Graph

2177 Commits

Author SHA1 Message Date
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
Michael Lange cf95033351 Expect JobVersion in one of two places 2017-10-19 10:52:05 -07:00
Michael Lange b693ff1886 Don't rely on CpuStats.Percent
Just do the math client-side with TotalTicks and Reserved
2017-10-19 10:44:52 -07:00
Michael Lange 40748c8923 Never return null for adapter headers
Ember Data checks strictly against undefined:
https://github.com/emberjs/data/blob/master/addon/adapters/rest.js#L1128
2017-10-19 10:10:01 -07:00
Michael Lange 6f584acb09 Merge pull request #3416 from hashicorp/b-ui-provide-acl-token-on-client-requests
Provide ACL token on client requests
2017-10-18 20:08:28 -07:00
Michael Lange 79c836d734 Merge pull request #3412 from hashicorp/b-ui-disable-fuzzy-search
Disable fuzzy search
2017-10-18 20:08:15 -07:00
Michael Lange 189403c5b9 Add the acl token as a header to client requests 2017-10-18 19:48:17 -07:00
Michael Lange 19b2ac4858 Remove fuse as a dependency 2017-10-18 19:45:12 -07:00
Michael Lange d448f888b8 Merge pull request #3410 from hashicorp/f-ui-add-job-version-to-allocs-table
Add job version to allocation tables
2017-10-18 19:38:42 -07:00
Michael Lange dc20fc88b9 Unload all records when a token is set or cleared
This guarantees no privileged data is shown to unprivileged credentials
2017-10-18 16:42:08 -07:00
Michael Lange 635263b8aa Disable fuzzy search
It doesn't work well for highly precise values, or small datasets, or prefixes.
Which are our three use cases.
2017-10-18 12:52:24 -07:00
Michael Lange 8c6c54ff07 Add job version to allocation tables 2017-10-18 12:29:33 -07:00
Michael Lange 3adc477736 Update tests for the ModifyIndex column and sort change 2017-10-18 11:45:02 -07:00
Michael Lange f07c222274 Always provide a valid value for transform 2017-10-18 11:45:02 -07:00
Michael Lange 3d93398eae Don't double render, also don't render infinitely
See https://github.com/emberjs/ember.js/issues/13948
2017-10-18 11:45:02 -07:00
Michael Lange 094de84c98 Use the right footer pagination styles on task group page 2017-10-18 11:45:02 -07:00
Michael Lange 7c3402d400 Fix an issue where allocation rows can have a state change in the same frame as a render 2017-10-18 11:45:02 -07:00
Michael Lange 77cf33472f Make ModifyIndex the default sort property for alloc tables 2017-10-18 11:45:02 -07:00
Michael Lange f842d009a4 Add ModifyIndex as a sortable column for alloc tables 2017-10-18 11:45:02 -07:00
Michael Lange a10466a68d Sort allocation by status type, not simply alphanumeric 2017-10-18 11:45:01 -07:00
Michael Lange 352cf6dc77 Tests (and bug fixes!) for the format-bytes helper 2017-10-17 10:17:42 -07:00
Michael Lange b8d13e3229 Show real usage numbers as tooltips 2017-10-17 10:17:42 -07:00
Michael Lange 726f3a75e9 Fix the memory usage math
1. Use RSS, not Cache (shoulda read the source)
2. Convert bytes to megabytes before doing division
2017-10-17 10:17:42 -07:00
Michael Lange 7780dfff17 New helper for human-formatting bytes 2017-10-17 10:17:42 -07:00
Michael Lange 967d3a2e8e In dev mode, mask the local node port to 4200
This allows for local development with the client end points for the node
running on localhost.
2017-10-17 10:17:41 -07:00
Michael Lange 175acde8b6 Order keys consistently for enhanced readability 2017-10-16 13:27:52 -07:00
Michael Lange e9579b0977 Make sure token policy ids are unique
When they aren't unique, length checks will fail
2017-10-16 13:27:52 -07:00
Michael Lange 85f66ffa94 Use /acl/token/self instead of /acl/token/:accessor_id 2017-10-16 13:27:52 -07:00
Michael Lange f7feebb1ad Redo acceptance testing for ACL tokens 2017-10-16 13:27:52 -07:00
Michael Lange 21a9d9c4e5 Mirage factories for tokens and policies 2017-10-16 13:27:51 -07:00
Michael Lange d177cf90c3 Redo the tokens page to be a form that validates a token and lists policies 2017-10-16 13:27:51 -07:00
Michael Lange 040e3fec10 Data modeling for tokens and policies 2017-10-16 13:27:51 -07:00
Michael Lange 4a35f3c5a5 Handle 403s gracefully
- When a list 403s, treat it as if it were empty
- When a single resource 403s, redirect to an application error page
  that has a backdoor link to the tokens page
2017-10-12 17:40:49 -07:00
Michael Lange f6f024235e Handle the case where hash.Members is undefined 2017-10-12 17:40:04 -07:00
Michael Lange 1f6ce06744 Specialized error for 403s that links to the ACLs page 2017-10-12 17:24:32 -07:00
Michael Lange f081bf57ec Merge pull request #3358 from hashicorp/f-ui-namespaces
UI for Namespaces (enterprise only)
2017-10-12 17:22:15 -07:00
Michael Lange be0920d3ca Allow users to escape error pages with the back button 2017-10-12 12:35:00 -07:00
Michael Lange bdbc4dfec7 Add a generic catch-all error message 2017-10-12 12:34:10 -07:00
Michael Lange b270b76228 Removes extraneous search query param from the servers list page 2017-10-11 15:48:46 -07:00
Michael Lange 418fcedc13 Remove extraneous search query param from the job index page 2017-10-11 15:30:49 -07:00
Michael Lange 5c1d103253 Sync the active namespace as a query param on the jobs list page 2017-10-11 14:06:46 -07:00
Michael Lange 2959f03806 Test coverage for namespaces 2017-10-11 14:06:46 -07:00
Michael Lange aabd56a92d Custom alpha sort with default always on top 2017-10-11 14:06:46 -07:00
Michael Lange 61b988fbb8 Gracefully handle the 501 case
Enterprise endpoints return a 501 in the open source build. 5xx
errors throw by default, so handle this one since it's expected
for things such as namespaces.
2017-10-11 14:06:46 -07:00
Michael Lange 2340504da8 Replace simple dropdown namespace switcher with ember-power-select 2017-10-11 13:45:03 -07:00
Michael Lange 1601b0d4fd Add ember-power-select 2017-10-11 13:45:03 -07:00
Michael Lange bf8d9f05b1 Mock namespaces in mirage 2017-10-11 13:45:03 -07:00
Michael Lange ef55cb910f Make namespace a relationship of job 2017-10-11 13:45:03 -07:00
Michael Lange 7e0d526c10 Refresh the jobs model on namespace change 2017-10-11 13:45:03 -07:00
Michael Lange b43b0ba6a4 Add a namespace switcher to the gutter menu 2017-10-11 13:45:03 -07:00
Michael Lange 11f699f8da Support non-link menu items 2017-10-11 13:45:03 -07:00
Michael Lange b3312ac429 Consider the namespace query param as required for findAll 2017-10-11 13:45:03 -07:00
Michael Lange 3a0d292337 Add namespaces and active namespace to the system service 2017-10-11 13:45:03 -07:00
Michael Lange 4481e04d43 New namespaces model 2017-10-11 13:45:03 -07:00
Michael Lange 3bb0a9779c Make sure to qualify requests made outside of adapters 2017-10-11 13:45:03 -07:00
Michael Lange 9d5e1d06d2 Throw errors that cause a redirect to make debugging easier 2017-10-11 13:45:03 -07:00
Michael Lange a9154b75f6 New test to assert that lazy loading jobs for allocation rows actually happens
Unfortunately it meant inlining the visit into each test
2017-10-05 20:11:17 -07:00
Michael Lange 4e606e435d Fixes issue regarding allocation rows
Sometimes the job name and/or task group name wouldn't show up.
2017-10-05 18:01:19 -07:00
Michael Lange 0941c7bec1 Merge pull request #3323 from hashicorp/f-ui-loading-states
UI Loading states
2017-10-05 18:00:51 -07:00
Michael Lange 16c92fc1bb Merge pull request #3321 from hashicorp/f-ui-error-states
Better error state for allocation stats failure
2017-10-05 17:51:15 -07:00
Michael Lange e19740ce33 Simple catch-all route for 404s on pages 2017-10-05 14:39:38 -07:00
Michael Lange 2a1db3a09a Test coverage for 404s on resources 2017-10-05 14:39:37 -07:00
Michael Lange ca0b297d47 Handle allocation 404s 2017-10-05 14:39:37 -07:00
Michael Lange 9d9d66b1a7 Handle 404s for agents 2017-10-05 14:39:37 -07:00
Michael Lange 50a5bf4332 Handle 404s on nodes 2017-10-05 14:39:37 -07:00
Michael Lange 35f198d787 Handle 404s on jobs 2017-10-05 14:39:37 -07:00
Michael Lange af9f76aae5 Style error pages 2017-10-05 14:39:37 -07:00
Michael Lange fc5fb7bde9 Handle errors in the application route
This is the only way to preserve the URL in all cases.
2017-10-05 14:39:06 -07:00
Michael Lange 877cbe6fbc Add a loading state to job information on allocation row.
This information is already loaded when traversing to an alloc row from
a job, but not when traversing to an alloc row from a node.
2017-10-03 17:18:33 -07:00
Michael Lange 0cc2c4267e Always reload all jobs
Ember tries to be clever by showing cached jobs instead of a loading spinner
in the event that a user starts on nodes, loads a couple jobs through
allocation relationships, then visits jobs.
2017-10-03 17:17:45 -07:00
Michael Lange 74fce03d4d Simple loading state for job details in a job row 2017-10-03 16:24:30 -07:00
Michael Lange e16fe35539 Loading templates in places 2017-10-03 16:20:45 -07:00
Michael Lange a08d2b5512 Better error state for allocation stats 2017-10-03 15:55:10 -07:00
Michael Lange ba34cff0bd New tooltip scss component 2017-10-03 15:55:10 -07:00
Michael Lange 89b7c3ae70 New loading spinner
Courtesy of SpinKit: https://github.com/tobiasahlin/SpinKit
2017-10-03 15:53:46 -07:00
Michael Lange 2b8d39ff5e Add new icon helper and the first icon: warning 2017-10-03 10:54:22 -07:00
Michael Lange e1d199c696 Add ember-inline-svg dependencies. 2017-10-02 17:02:57 -07:00
Michael Lange 60f4cb8a0a Empty state for allocations search on task group detail 2017-10-02 12:44:07 -07:00
Michael Lange c05a09ce33 Empty states for servers 2017-09-29 19:20:28 -07:00
Michael Lange 973e9afb09 Empty states for clients 2017-09-29 18:33:57 -07:00
Michael Lange 315b2ea9d6 Add empty states to the job list page 2017-09-29 17:41:29 -07:00
Michael Lange ab530d760a Expose the token service in all templates for convenience 2017-09-29 17:41:29 -07:00
Michael Lange 365706c9f5 Merge pull request #3287 from hashicorp/b-ui-firefox-styles
Fix style discrepancies in Firefox
2017-09-29 11:38:50 -07:00
Michael Lange c9220969f9 Merge pull request #3280 from hashicorp/b-ui-links-in-tables
Links in table rows should get click priority over table rows
2017-09-29 09:37:18 -07:00
Michael Lange 867f336012 Align the spacer between right-hand nav items
Firefox doesn't assume vertical centering in this case like chrome and
safari do.
2017-09-26 17:25:55 -07:00
Michael Lange 2d1b489cf2 Use an absolute positioning for narrow chart
translateY(-50%) doesn't work on svg elements in firefox, apparently?
2017-09-26 17:18:52 -07:00
Michael Lange 4d9c430a87 Rerender the distribution chart when the window resizes 2017-09-26 17:18:22 -07:00
Michael Lange 0c5ec93e7d Scroll to the top of the page on transition. Like a normal website. 2017-09-26 16:43:34 -07:00
Michael Lange 491f4ff27d Fix the links in table rows bug
Click events were greedily redirecting to the resource pages instead
of first yielding to the anchor tag clicked if an anchor tag was in
fact clicked.
2017-09-26 11:59:42 -07:00
Michael Lange 819fceeac5 Migrate tests over to native helpers as much as possible 2017-09-26 11:59:41 -07:00
Michael Lange 819baa5deb Switch to native dom helpers 2017-09-26 11:59:41 -07:00
Michael Lange acd5687e7e Demonstrate link in action table row bug 2017-09-26 11:59:41 -07:00
Alex Dadgar e5ec915ac3 sync 2017-09-19 10:08:23 -05:00