Commit graph

273 commits

Author SHA1 Message Date
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