Commit Graph

678 Commits

Author SHA1 Message Date
Michael Lange 9d75c5192a
Merge pull request #4416 from hashicorp/b-ui-flaky-alloc-detail-test
UI: Actually ensure that the allocation relies on an unhealthy driver
2018-06-15 11:30:10 -07:00
Michael Lange f2163568c9 Actually ensure that the allocation relies on an unhealthy driver 2018-06-13 16:33:47 -07:00
Michael Lange c86183154b Remove hacky code that worked around an Ember Data bug
The bug is fixed in 2.18, so this can be written in the normal
less surprising way.
2018-06-13 15:05:18 -07:00
Michael Lange b9d590349e Dasherize task names in factory
This is to avoid test failures due to url encoding mismatches
2018-06-13 15:04:31 -07:00
Michael Lange 780e9a18a5 Style tasks on the alloc index page like other tables of things 2018-06-07 11:31:06 -07:00
Michael Lange ef2e49e82d
Merge pull request #4388 from hashicorp/f-ui-show-deployment-deadline
UI: Show deployment deadline for each task group in the running deployment
2018-06-07 08:55:53 -07:00
Michael Lange 73881a388c Show the progress deadline for task groups in a running deployment 2018-06-06 17:35:18 -07:00
Michael Lange 37a8fb2af2 Add new property to factory 2018-06-06 17:34:50 -07:00
Michael Lange ee093ffc16 Make task rows clickable.
Right now they are the only tables where the entire row isn't a
click-target to drill into the detail page.
2018-06-06 14:50:28 -07:00
Michael Lange bd9d2c50d8 Remove test for removed behavior 2018-06-04 16:40:55 -07:00
Michael Lange 8b364c1e27 Use the network ip as the task address instead of the node ip 2018-06-04 15:34:16 -07:00
Michael Lange 1fd5035d9e
Merge pull request #4353 from hashicorp/f-ui-node-drain
UI: Node drain and eligibility
2018-05-30 14:40:21 -07:00
Michael Lange e472d918cf Account for the 0 case in format-duration 2018-05-30 14:30:45 -07:00
Michael Lange b6f2b82fad
Merge pull request #4335 from hashicorp/b-ui-safari-log-streaming
UI: Use polling instead of streaming for following logs in Safari
2018-05-30 11:36:03 -07:00
Michael Lange 5eac0a53f6 New traits for node states 2018-05-30 11:27:21 -07:00
Michael Lange 65edf31ec9 Acceptance testing for node drain information 2018-05-30 11:27:21 -07:00
Michael Lange a06f6b27f2 Display node drain strategy information on the client detail page 2018-05-30 11:27:21 -07:00
Michael Lange cdbca8dcd2 Duration formatting utility
The cloest Moment.js has is "homanize" which isn't precise enough.
2018-05-30 11:27:21 -07:00
Michael Lange f0b54dd81b Color-code node drain and eligibility in the full client list
This makes it easier to scan for interesting nodes
2018-05-30 11:27:21 -07:00
Michael Lange 3ac8f7abeb Add drain and eligibility to the client details strip 2018-05-30 11:27:21 -07:00
Michael Lange 1303606f99 Add ineligibility to the status light 2018-05-30 11:27:21 -07:00
Michael Lange ffb48d6f53 Update the clients list table to include drain and eligibility
This makes it match the CLI node status output
2018-05-30 11:27:20 -07:00
Michael Lange 078d921dc4 Data modeling for node drain and scheduling eligibility 2018-05-30 11:27:20 -07:00
Michael Lange 52e6c1e551
Merge pull request #4319 from hashicorp/b-ui-errant-acl-error
UI: XHR keys need to include the method as well
2018-05-25 12:24:17 -07:00
Michael Lange a23fefdd50
Merge pull request #4339 from hashicorp/ui-change-stop-button-style
UI: Switch the stop button style to look mildly dangerous
2018-05-25 12:18:16 -07:00
Michael Lange 65d696f038
Merge pull request #4294 from hashicorp/f-ui-driver-health-checking
UI: Driver health checking
2018-05-25 12:00:11 -07:00
Michael Lange 7a601c39d3 Switch the stop button to be mildly dangerous 2018-05-25 11:56:32 -07:00
Michael Lange 4afc81a37d Tag node events with the driver when available 2018-05-25 11:48:49 -07:00
Michael Lange 09d5e4be5d New badge modifiers 2018-05-25 11:48:18 -07:00
Michael Lange 8b09108f9c Display driver attributes without the superfluous driver and driver name section 2018-05-25 10:15:25 -07:00
Michael Lange 5f9632bee8 Acceptance tests for node driver and node events 2018-05-25 10:15:24 -07:00
Michael Lange 536c013928 Disable visibility behaviors when testing
It results in surprise behaviors.
2018-05-25 10:15:24 -07:00
Michael Lange 3f781743e4 NodeEvent and NodeDriver modeling in Mirage 2018-05-25 10:15:24 -07:00
Michael Lange 9598a18bc1 Add driver warning to allocation rows 2018-05-25 10:15:24 -07:00
Michael Lange 54afbfe281 Fix narrow table column padding 2018-05-25 10:15:24 -07:00
Michael Lange 1ad3e546ee Show a warning on task rows on the alloc detail page
The warning shows up when the task's driver is unhealthy on the node
the task is running on.
2018-05-25 10:15:24 -07:00
Michael Lange 6dd0840553 Spread the driver health love throughout job models 2018-05-25 10:15:23 -07:00
Michael Lange 1058ac4ac0 Add driver status accordion section to the client detail page 2018-05-25 10:15:23 -07:00
Michael Lange 524ec8633a New accordion component
Follows the same style as the table and pagination components.
2018-05-25 10:15:23 -07:00
Michael Lange 00d97f6c6a Show a warning icon on client node rows that have unhealthy drivers 2018-05-25 10:15:23 -07:00
Michael Lange 446e26ea07 Add a node events section to the node detail page 2018-05-25 10:15:22 -07:00
Michael Lange baab8af975 Show driver summary on the client detail page 2018-05-25 10:15:22 -07:00
Michael Lange d6ebf77b08 Data modeling for node events and node drivers 2018-05-25 10:15:22 -07:00
Michael Lange 4d9859103f Remove stale dev code
This was used to get around direct requests to clients. The UI will
now automatically route through the server.
2018-05-25 10:14:36 -07:00
Michael Lange 1078a99948 Refactor the job xhrKey to use super 2018-05-25 09:15:45 -07:00
Michael Lange 9c6b060de9 Add a test to assert that canceling GETs can't instead cancel DELETEs 2018-05-25 09:13:18 -07:00
Michael Lange 15bc387ce2 XHR keys need to include the method as well
The URL alone doesn't guarantee uniqueness
2018-05-25 09:13:11 -07:00
Michael Lange a3cb84c6ac The stream logger should not be supported in Safari
Not until the bugs around https are worked out.
2018-05-24 18:16:43 -07:00
Michael Lange 8cb96550c6 The poll logger needs to handle empty frames. 2018-05-24 18:16:42 -07:00
Michael Lange 861690482f Remodel task-group-deployment-summary to property use PlacedCanaries 2018-05-23 13:12:52 -07:00
Michael Lange 152311f6fb
Merge pull request #4254 from hashicorp/f-ui-ss-restart-tracking
UI: Server-side reschedule tracking
2018-05-10 16:17:02 -07:00
Michael Lange 4774a16bcd
Merge pull request #4201 from hashicorp/f-ui-fuzzy-job-search
UI: fuzzy and tokenized job search
2018-05-05 09:56:15 -07:00
Michael Lange b5bcab3f52 Clean up computed property by inverting early return 2018-05-04 20:38:55 -07:00
Michael Lange feec8aa5e7 Integration tests for the various reschedule events timeline permutations 2018-05-04 19:36:55 -07:00
Michael Lange 4178c2066a Turn reschedule events timeline into a component for isolated testing 2018-05-04 19:36:55 -07:00
Michael Lange d6d7a90c99 Acceptance tests for allocation rescheduling 2018-05-04 19:36:54 -07:00
Michael Lange d59802aa6e Mirage modeling for rescheduling 2018-05-04 19:36:54 -07:00
Michael Lange 077ee297c0 Reschedule events timeline for the alloc detail page 2018-05-04 19:36:54 -07:00
Michael Lange 825d7c4512 Add WaitUntil and followUpEvaluation 2018-05-04 19:36:54 -07:00
Michael Lange 940a5325c7 New reschedule-event-row component
Intended to be used in a timeline view.
2018-05-04 19:36:54 -07:00
Michael Lange 46fc0cedc3 Add rescheduled icon to allocation row 2018-05-04 19:36:54 -07:00
Michael Lange 927caa441e Refactor allocation-row 2018-05-04 19:36:54 -07:00
Michael Lange 97db138ce8 Add follow up eval relationship to allocation 2018-05-04 19:36:54 -07:00
Michael Lange c2d860955f Add shortId properties to reschedule events model 2018-05-04 19:36:54 -07:00
Michael Lange d66ecd3402 New is-narrow modifier for slim table cells
Useful for actions, icons, and checkboxes
2018-05-04 19:36:54 -07:00
Michael Lange 3ff8a38972 New is-hollow modifer for boxed-sections
An open layout that makes its contents feel less cramped. Useful for
large visualizations.
2018-05-04 19:36:54 -07:00
Michael Lange 2cea40a894 New is-faded modifier for icons
For when the icon should be less prominent than the content around it
2018-05-04 19:36:54 -07:00
Michael Lange ca172e1fc2 Modeling alloc reschedule events 2018-05-04 19:36:54 -07:00
Michael Lange a5be5ea6e1 New icon for showing history/paper trail
layers.svg from Open Iconic
2018-05-04 19:36:54 -07:00
Alex Dadgar 43192cefae generated files 2018-04-26 16:28:58 -07:00
Michael Lange 0c1c66776b
Merge pull request #4195 from hashicorp/b-ui-retry-stats-requests
UI: Retry stats requests
2018-04-24 14:13:34 -07:00
Michael Lange 603da9b4ea Test coverage for the changes to the searchable mixin 2018-04-23 16:49:04 -07:00
Michael Lange 50b0892c14 Trim whitespace on the search term
Trailing whitespace messes with tokenization
2018-04-23 16:49:04 -07:00
Michael Lange e0a0dbae9f Add tokenization to fuse search options 2018-04-23 14:58:01 -07:00
Michael Lange 0fb407baec Show how many jobs exist but are being hidden by the serach term 2018-04-23 14:58:01 -07:00
Michael Lange 47f4630607 Apply new search features to the job index page 2018-04-23 14:58:01 -07:00
Michael Lange 854c1665e0 Add optional fuzzy search support to the searchable mixin
This time around fuzzy, exact, and regex can all be toggled.
Additionally, each search type gets its own set of keys to search
for. This means fuzzy search can only look at name while regex and
exact match will still look at ID.
2018-04-23 14:58:01 -07:00
Michael Lange 8e410c01fb Bring fuse.js back 2018-04-23 14:58:01 -07:00
Michael Lange 71ca73c19b Test coverage for alloc stats retrying 2018-04-20 18:11:32 -07:00
Michael Lange d7daf86067 Move resource generation helper to a common place 2018-04-20 18:10:41 -07:00
Michael Lange eca7bf5ea2 Keep polling for alloc stats when a request fails 2018-04-20 16:50:54 -07:00
Michael Lange ff11ca7dbe Add button type to the two-step-button buttons 2018-04-20 10:11:21 -07:00
Michael Lange e180e8d74a Move job-page helpers and repeat stop tests on the service type 2018-04-19 14:22:05 -07:00
Michael Lange 1f3f26b30d Refactor periodic job tests 2018-04-19 14:22:04 -07:00
Michael Lange 82ca110cd0 New tests for stop job action 2018-04-19 14:22:04 -07:00
Michael Lange f0cf931c7b Refactor job-page components to use common title and error parts 2018-04-19 14:22:04 -07:00
Michael Lange cf7d5543c3 New errorMessage format 2018-04-19 14:22:04 -07:00
Michael Lange ccd3a91362 Common error component for job pages 2018-04-19 14:22:04 -07:00
Michael Lange 60938b6eb6 Move common title parts into a part component 2018-04-19 14:22:04 -07:00
Michael Lange bb61fda409 Test coverage for the two-step-button component 2018-04-19 14:22:04 -07:00
Michael Lange f83eb25c14 New two-step-button
For performing an action that requires confirmation
2018-04-19 14:22:04 -07:00
Michael Lange c7639237ba Add new model action for stopping a job 2018-04-19 14:22:04 -07:00
Michael Lange b3c3548ccd Track requests in test mode
This is now necessary in mirage 0.4
2018-04-17 10:28:59 -07:00
Michael Lange 9331a02e67 Upgrade ember-cli-mirage 2018-04-17 10:28:58 -07:00
Michael Lange 5223a3f816 Don't read properties off of null objects
Somehow this controller code runs sometimes when the existing jobs
are dematerializing. This makes this.get('model') and array of null
2018-04-17 10:28:58 -07:00
Michael Lange 1f300eb4fb Make sure jobs and task groups have no spaces
Faker hacker nouns can sometimes be two words.
2018-04-17 10:28:58 -07:00
Michael Lange 9d60c9db9a Defer showing alloc addresses until the node is loaded
The URLs for addresses are meaningless until the node http addr
is available.
2018-04-10 09:31:35 -07:00
Michael Lange 2ed5b61358 Repeat the relationship unlinking pattern in the serializer
It also culls for findAll requests, so it too needs to be
careful about leaving garbage around.
2018-04-06 18:07:57 -07:00
Michael Lange 72cba3b036 Unlink record relationships before unloaded them from the store
When simply unloading a record, references to the record are
maintained by the internal relationship state of related models.
This causes refetching and duplicate models local to that relationship
state.
2018-04-06 17:50:40 -07:00
Michael Lange 78f7d57359 Never respond with an empty object from the adapter
In production builds only, this will slip into the local store
as a record with no ID, which makes for all sorts of bad news.
2018-04-05 16:50:37 -07:00
Michael Lange f473d72ceb Remove an extraneous component of the service job page 2018-04-02 18:19:17 -07:00
Alex Dadgar af81349dbe Generated files 2018-03-30 16:14:40 -07:00
Michael Lange 7d5615794d
Merge pull request #4081 from hashicorp/b-ui-service-breadcrumbs
UI: Service job breadcrumbs + errant open connections
2018-03-29 15:08:14 -07:00
Michael Lange a226021a05 Track multiple xhrs per URL rather than overriding
It was possible for a url to be overridden then canceled, leaving the
open connection open and forgotten about.
2018-03-29 14:40:57 -07:00
Michael Lange db4b81a348
Merge pull request #4067 from hashicorp/ui-upgrade-ember
UI: Upgrade Ember to LTS + fix job summary issues
2018-03-29 12:43:54 -06:00
Michael Lange b23bc70bce Add missing js class for System that extends AbstractJobPage 2018-03-28 16:46:35 -07:00
Michael Lange 7bab2a1f23 Check for a case-sensitive or lowercase header value 2018-03-28 16:10:09 -07:00
Michael Lange bff7230642 Remove now unnecessary summary fallback
Ember Data 2.18 fixed the underlying bug
2018-03-28 15:20:02 -07:00
Michael Lange b7d833a5e0 Correctly watch the job summary on the task group page
It changed from being a relationship to a model
2018-03-28 15:12:27 -07:00
Michael Lange e192d0a69d Upgrade to Ember 2.18 2018-03-28 14:57:03 -07:00
Michael Lange 6967fc2c11 Make the job<->job-summary relationship reflective
The job summary needed a JobID
2018-03-28 14:56:15 -07:00
Michael Lange dbf4b6c242 Clear out the localStorage namespace when it's no longer valid
In the event that a namespace in localStorage is not found in the
response for /namespaces, clear the localStorage value and assume
the default namespace.
2018-03-28 14:55:07 -07:00
Michael Lange 679831e96b Don't allow the alloc status table cell to word-wrap at the swatch 2018-03-28 14:51:54 -07:00
Michael Lange 84141e9d1f Read the task event message from the DisplayMessage prop 2018-03-28 12:52:02 -07:00
Michael Lange 4c34a04151 Work around the dreaded broken relationship ED bug
Summary can unlink from a job when loaded in the wrong order. This
guarantees that the summary is bound to the job detail view by
falling back to the summary in the store.
2018-03-22 20:14:37 -07:00
Michael Lange 1413ed1a44 Never duplicate query params, always include query params
A couple more edge cases related to watching URLs with query params
2018-03-22 20:14:36 -07:00
Michael Lange ca98d6b0c8 Allow child adapters specify special xhr keys
This is necessary for the namespace query param
2018-03-22 20:14:36 -07:00
Michael Lange d85673d7c6 Always use the job plain id and job namespace in job links 2018-03-22 20:14:36 -07:00
Michael Lange fb17a758da Poll for allocation stats 2018-03-22 14:34:57 -07:00
Michael Lange 6bf139d094 Refactor the way allocation stats are fetched
No longer treat it as a property for relationship, just ephemeral
data that can be fetched on demand.
2018-03-22 14:34:13 -07:00
Michael Lange 729365507f
Merge pull request #4017 from hashicorp/b-ui-error-message-for-force
Show an error message when forcing a periodic launch is forbidden
2018-03-22 11:17:14 -07:00
Michael Lange 6ac170d721
Merge pull request #4026 from hashicorp/b-ui-use-native-fetch-in-prod
UI: Use native fetch in production when available
2018-03-22 11:16:37 -07:00
Michael Lange d455b3cdd3 mirageEnabled alone doesn't capture whether or not mirage is enabled
Add an isProduction condition to ensure native fetch is used when
possible.
2018-03-21 22:09:10 -07:00
Michael Lange fc5c4ff093 The initial index value should be 1, not 0 2018-03-21 13:28:56 -07:00
Michael Lange 8541579722 Show an error message when forcing a periodic launch is forbidden
This will happen when ACLs allow for reading jobs but not submitting.
2018-03-21 12:12:17 -07:00
Michael Lange 810c5c3f7c Perioidic and Parameterized jobs need to watch /jobs for child updates 2018-03-20 16:41:53 -07:00
Michael Lange 39bf9a4e78 Always provide arguments instead of models to job links
This invoked the model hook, which will load the model and
redirect correctly based on permissions
2018-03-20 16:41:19 -07:00
Michael Lange e4e70825d0 Guard against undefined properties in cancel requests 2018-03-20 16:41:19 -07:00
Michael Lange e4d2b52748 Treat job-summary like a typical relationship rather than a custom link
This way ED doesn't eagerly fetch the job summary even when it's already
in the store due to the jobs list endpoint
2018-03-20 16:41:18 -07:00
Michael Lange a5a5923e30 Job row should denote when a parent job has no children 2018-03-20 16:41:18 -07:00
Michael Lange 3affa48def Alias the right property 2018-03-20 16:41:18 -07:00
Michael Lange 8e9fe5df01 Deployments should only be watched when the job type supports deployments 2018-03-20 16:23:03 -07:00
Michael Schurter 86ccdb9115 Fix generating static assets
Broke due to a change in go-bindata-assetfs
2018-03-19 15:52:38 -07:00
Michael Lange 31a30f5805
Merge pull request #3989 from hashicorp/f-ui-read-job-summary-from-list-view
UI: Read job summary from Jobs.List
2018-03-16 12:37:05 -07:00
Michael Lange 23cfbb9c27 Ensure the task group is present whenever an allocation row is rendered 2018-03-15 14:03:14 -07:00
Michael Lange c8b3e91d4a Update job row to no longer watch job-summary or reload the job
Now that job summary is pushed into the store from the list request
and the task group count is derived from the summary, the detailed
job information is no longer needed for a job row.
2018-03-15 10:48:37 -07:00
Michael Lange ab69c2806c Use the job-summary information available from the jobs list 2018-03-15 10:28:34 -07:00
Michael Lange d6fd741e16 Read task name off of the state rather than the task
It's possible for the task (derived from the job API response)
is nil, or has a nil name field.

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

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

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

Also specifically mention that the `service.name` parameter is what is
advertised in Consul.
2018-01-17 14:08:30 -08:00
Michael Lange 59fd26d5e3 Use Node 8 2018-01-17 09:04:01 -08:00