Commit graph

453 commits

Author SHA1 Message Date
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
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 512ff08c8a Update the ember-freestyle dep 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 420cfa4444 Upgrade lint-staged 2018-01-17 09:04:00 -08:00
Michael Lange 47a2c2ffbf Upgrade stale deps 2018-01-17 09:04:00 -08:00
Michael Lange deb2dffefa Remove unused ui travis config 2018-01-17 09:04:00 -08:00
Michael Lange 20e63ad970 Add chrome to Travis 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 af0fc0f9ef Upgrade testing related dependencies 2018-01-17 09:03:59 -08:00
Michael Lange 94a95406da Switch from phantomjs to headless chrome 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 797a3fd483 Adds the ember-test-selectors addon 2018-01-17 09:03:59 -08:00
Michael Lange 8c742b254b Upgrade ember-cli-sass 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