Commit Graph

733 Commits

Author SHA1 Message Date
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 559ddf4b2b Guard against URI encoding 2018-07-10 11:29:00 -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 9e07ba28df Migrate and add test coverage for evaluations page 2018-07-06 17:15:59 -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 2e55afd8ff Integration tests for the breadcrumbs component 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 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 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 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 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 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 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 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 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 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 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 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 71ca73c19b Test coverage for alloc stats retrying 2018-04-20 18:11:32 -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 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 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 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
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 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 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 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 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 50f67d8ee6 New mixins for managing tab visibility effects 2018-03-08 10:40:31 -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 80c8db559b Tests for watching and canceling requests 2018-03-02 16:21:37 -08:00
Michael Lange 553c69cc32 Fix existing tests 2018-03-02 16:21:36 -08:00
Michael Lange 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 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 f864fb3f2a Tests for the summary job page part 2018-02-06 10:53:53 -08:00
Michael Lange 3d9ed6e57e Integration tests for the body job part 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 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 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 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 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 45f9214c2c Use ember-test-selectors for integration tests 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 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 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 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 3136c5db18 Update the reason why the router service is still not used 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 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 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 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 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 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 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 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 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 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 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 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
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 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 ea88e59ae0 Make sure to treat the namespace Name as the ID 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 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 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