Commit graph

573 commits

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