Commit Graph

98 Commits

Author SHA1 Message Date
Michael Klein
fe6cbbf078 Upgrade Ember and friends 3.28 (#12215)
* chore: upgrade forward compatible packages

* chore: v3.20.2...v3.24.0

* chore: silence string prototype extension deprecation

* refact: don't test clicking disabled button job-list

Recent test-helper upgrades will guard against clicking disabled buttons
as this is not something that real users can do. We need to change our
tests accordingly.

* fix: await async test helper `expectError`

We have to await this async test function otherwise the test's
rendering context will be torn down before we run assertions
against it.

* fix: don't try to click disabled two-step-button

Recent test-helper updates prohibit clicking disabled buttons. We need
to adapt the tests accordingly.

* fix: recommendation-accordion

Use up-to-date semantics for handling list-accordion closing
in recommendation-accordion.

* fixes toggling recommendation-accordion toggle.

* fix: simple-unless linting error application.hbs

There's no reason to use unless here - we can use if instead.

* fix: no-quoteless-attributes recommendation accordion

* fix: no-quoteless-attributes recommendation-chart

* fix: allow `unless` - global-header.hbs

This is a valid use of unless in our opinion.

* fix: allow unless in job-diff

This is not a great use for unless but we don't want to change this
behavior atm.

* fix: no-attrs-in-components list-pager

There is no need to use this.attrs in classic components. When we
will convert to glimmer we will use `@`-instead.

* fix: simple-unless job/definition

We can convert to a simple if here.

* fix: allow inline-styles stats-box component

To make linter happy.

* fix: disable no-action and no-invalid-interactive

Will be adressed in follow-up PRs.

* chore: update ember-classic-decorator to latest

* chore: upgrade ember-can to latest

* chore: upgrade ember-composable-helpers to latest

* chore: upgrade ember-concurrency

* fix: recomputation deprecation `Trigger`

schedule `do` on actions queue to work around recomputation deprecation
when triggering Trigger on `did-insert`.

* chore: upgrade ember-cli-string-helpers

* chore: upgrade ember-copy

* chore: upgrade ember-data-model-fragments

* chore: upgrade ember-deprecation-workflow

* chore: upgrade ember-inline-svg

* chore: upgrade ember-modifier

* chore: upgrade ember-truth-helpers

* chore: upgrade ember-moment & ember-cli-moment-shim

* chore: upgrade ember-power-select

* chore: upgrade ember-responsive

* chore: upgrade ember-sinon

* chore: upgrade ember-cli-mirage

For now we will stay on 2.2 - upgrades > 2.3 break the build.

* chore: upgrade 3.24.0 to 3.28.5

* fix: add missing classic decorators on adapters

* fix: missing classic decorators to serializers

* fix: don't reopen Ember.Object anymore

* fix: remove unused useNativeEvents

ember-cli-page-objects doesn't provide this method anymore

* fix: add missing attributeBindings for test-selectors

ember-test-selectors doesn't provides automatic bindings for
data-test-* attributes anymore.

* fix: classic decorator for application serializer test

* fix: remove `removeContext` from tests.

It is unneeded and ember-cli-page-objects doesn't provides
this method anymore.

* fix: remove deprecations `run.*`-invocations

* fix: `collapseWhitespace` in optimize test

* fix: make sure to load async relationship before access

* fix: dependent keys for relationship computeds

We need to add `*.isFulfilled` as dependent keys for computeds that
access async relationships.

* fix: `computed.read`-invocations use `read` instead

* chore: prettify templates

* fix: use map instead of mapBy ember-cli-page-object

Doesn't work with updated ember-cli-page-object anymore.

* fix: remove remaining deprecated `run.*`-calls

* chore: add more deprecations deprecation-workflow

* fix: `implicit-injection`-deprecation

All routes that add watchers will need to inject the store-service
as the store service is internally used in watchers.

* fix: more implicit injection deprecations

* chore: silence implicit-injection deprecation

We can tackle the deprecation when we find the time.

* fix: new linting errors after upgrade

* fix: remove merge conflicts prettierignore

* chore: upgrade to run node 12.22 when building binaries
2022-03-08 12:28:36 -05:00
Jai Bhagat
8c600acb35 ui: prettify js files 2022-01-20 09:54:56 -05:00
Jai Bhagat
ba9d95c34d ui: disable no-string-protype-extensions where its currently in use 2022-01-20 09:46:49 -05:00
Jai Bhagat
d0f8322786 ui: fix auto-fixable linting errors 2022-01-20 09:46:45 -05:00
Luiz Aoqui
d4c3989e2a Update job details box (#11288) 2021-10-12 16:36:10 -04:00
Michael Lange
92391683da ui: Update namespaces design (#10444)
This rethinks namespaces as a filter on list pages rather than a global setting.

The biggest net-new feature here is being able to select All (*) to list all jobs
or CSI volumes across namespaces.
2021-04-29 15:00:59 -05:00
Buck Doyle
f16cdea4a2 ui: Add optional memory max to task details ribbon (#10459)
This is the first step in #10268. If a maximum is not specified, the
task group sum uses the memory number instead. The maximum is only
shown when it’s higher than the memory sum.
2021-04-28 15:38:14 -05:00
Buck Doyle
e47ce42548 Update Ember/Ember CLI to 3.20 (#9641)
This doesn’t include Ember Data, as we are still back on 3.12.

Most changes are deprecation updates, linting fixes, and dependencies. It can
be read commit-by-commit, though many of them are mechanical and skimmable.
For the new linting exclusions, I’ve added them to the Tech Debt list.

The decrease in test count is because linting is no longer included in ember test.

There’s a new deprecation warning in the logs that can be fixed by updating Ember
Power Select but when I tried that it caused it to render incorrectly, so I decided to
ignore it for now and address it separately.
2021-02-17 15:01:44 -06:00
Michael Lange
a93e95d259 Guard against a null Meta property in the scale event API 2020-12-07 12:28:23 -08:00
Tim Gross
8351c3f9d6 csi/api: populate ReadAllocs/WriteAllocs fields (#9377)
The API is missing values for `ReadAllocs` and `WriteAllocs` fields, resulting
in allocation claims not being populated in the web UI. These fields mirror
the fields in `nomad/structs.CSIVolume`. Returning a separate list of stubs
for read and write would be ideal, but this can't be done without either
bloating the API response with repeated full `Allocation` data, or causing a
panic in previous versions of the CLI.

The `nomad/structs` fields are persisted with nil values and are populated
during RPC, so we'll do the same in the HTTP API and populate the `ReadAllocs`
and `WriteAllocs` fields with a map of allocation IDs, but with null
values. The web UI will then create its `ReadAllocations` and
`WriteAllocations` fields by mapping from those IDs to the values in
`Allocations`, instead of flattening the map into a list.
2020-11-25 16:44:06 -05:00
Buck Doyle
828487352b Add DAS UI code from enterprise (#9192)
This is a few combined iterations on the DAS feature.
2020-10-29 07:46:42 -05:00
Michael Lange
faaf697c9e Migrate to the new resources properties for allocs and nodes 2020-10-15 02:54:16 -07:00
Michael Lange
bf1c879447 Add job submit time to the job children list 2020-09-18 17:58:15 -07:00
Michael Lange
3147d5c649 Sort keys when converting objects to arrays for stable model fragments 2020-09-04 19:44:21 -07:00
Buck Doyle
6f08becdae Add common serialiser abstractions (#8634)
This extracts some common API-idiosyncracy-handling patterns from model serialisers into properties that are processed by the application serialiser:

* arrayNullOverrides converts a null property value to an empty array
* mapToArray converts a map to an array of maps, using the original map keys as Name properties on the array maps
* separateNanos splits nanosecond-containing timestamps into millisecond timestamps and separate nanosecond properties
2020-08-20 12:14:49 -05:00
Nick Ethier
2be03bc0d9 Update UI to use new allocated ports fields (#8631)
* nomad: canonicalize alloc shared resources to populate ports

* ui: network ports

* ui: remove unused task network references and update tests with new shared ports model

* ui: lint

* ui: revert auto formatting

* ui: remove unused page objects

* structs: remove unrelated test from bad conflict resolution

* ui: formatting
2020-08-20 11:07:13 -04:00
Buck Doyle
9fed69ee1b Add override for null events collection
This removes some errors in the console if there are no
autoscaling events.
2020-08-06 07:51:56 -05:00
Michael Lange
9d43e66c99 Finish modeling behaviors within job scale events 2020-07-29 19:07:24 -07:00
Michael Lange
2f5cbbffa3 Data modeling for job scale and scale events 2020-07-29 19:07:24 -07:00
Buck Doyle
068ad06a94 Add linting for classic decorator (#8182)
This completes an installation step I missed when making #8144 and
marks classes that are using the EmberObject APIs as classic.
2020-06-22 10:48:53 -05:00
Buck Doyle
36b58a95ab Remove superfluous uses of Object.freeze
This is no longer needed!
https://guides.emberjs.com/release/upgrading/current-edition/native-classes/#toc_properties-and-fields
2020-06-15 10:15:11 -05:00
Buck Doyle
e993a71f6f Add manually-converted classes
I don’t know why the codemod ignored these files 🧐
2020-06-15 10:14:26 -05:00
Buck Doyle
24eadd269c Add massaged results of class codemod
Manual interventions:
• decorators on the same line for service and controller
  injections and most computed property macros
• preserving import order when possible, both per-line
  and intra-line
• moving new imports to the bottom
• removal of classic decorator for trivial cases
• conversion of init to constructor when appropriate
2020-06-10 16:18:42 -05:00
Buck Doyle
11d80ae489 Add Ember ESLint plugin (#8134)
This is extracted from #8094, where I have run into some snags. Since
these ESLint fixes aren’t actually connected to the Ember 3.16 update
but involve changes to many files, we might as well address them
separately. Where possible I fixed the problems but in cases where
a fix seemed too involved, I added per-line or -file exceptions.
2020-06-09 16:03:28 -05:00
Michael Lange
5d3438193a Model out the rest of the CSI Plugin properties 2020-05-06 17:21:44 -07:00
Michael Lange
572cf0d467 Update plugin model and serializer to match final API 2020-05-06 17:21:42 -07:00
Michael Lange
59636adace Add embedded task group to allocation to reference when allocation is historical 2020-05-01 14:30:02 -07:00
Michael Lange
5f2de59773 Guard against a null value for the HostVolumes hash
When a node has no host volumes, the API response will
have a null value for the HostVolumes attribute, which
in turn becomes a null value instead of an empty array
in the store. This protects against that, ensuring host
volumes is always an array.
2020-03-26 09:54:59 -07:00
Michael Lange
508404ccba UI: Support for CSI (#7446)
Closes #7197 #7199

Note: Test coverage is limited to adapter and serializer unit tests. All
acceptance tests have been stubbed and all features have been manually
tested end-to-end.

This represents Phase 1 of #6993 which is the core workflow of CSI in
the UI. It includes a couple new pages for viewing all external volumes
as well as the allocations associated with each. It also updates
existing volume related views on job and allocation pages to handle both
Host Volumes and CSI Volumes.
2020-03-25 07:51:26 -05:00
Michael Lange
6024b9c1b6 Correct a test and a dependent key 2020-02-14 16:44:28 -08:00
Michael Lange
fd87646973 Fix a bug where the NodeListStub API response would override existing HostVolumes in the store 2020-02-13 17:11:31 -08:00
Michael Lange
5f621e2d68 Data layer for Host Volumes in the UI 2020-02-13 17:11:22 -08:00
Michael Lange
b22047e6e2 Add isMigrating property to the allocation model 2020-01-23 16:34:07 -08:00
Buck Doyle
882a0210fe UI: Update Ember to 3.12 LTS (#6419)
This is mostly deprecation fixes and blueprint changes. There
are some dependency updates too; the changes to Ember
Basic Dropdown necessitated changing it to angle bracket
component invocation. The conversion of the rest of the
templates will happen separately.
2019-10-15 13:32:58 -05:00
Buck Doyle
e6c66354d0 UI: Update to Ember 3.8 LTS (#5968) 2019-10-08 13:44:19 -05:00
Mahmood Ali
d966a2fe9e ui: protect against nil services
Protect against case where an alloc has no services and avoid
dereferencing null.

Here, we ensure that the model and test serializers mimic the API by
having nil TaskGroup.Services instead of an empty array.
2019-09-16 16:50:30 -04:00
Buck Doyle
dfb88cc787 UI: add Consul Connect features (#6108) 2019-09-04 09:39:56 -05:00
Buck Doyle
2364fb2da1 UI: Add creation time to evaluations table (#6050) 2019-08-22 08:11:24 -05:00
Buck Doyle
2152d57df3 UI: Add IPv6 bracket-wrapping to network serializer (#6007)
This addresses the issue raised by @pznamensky in #5966.
2019-07-30 16:58:01 -05:00
Michael Lange
384a0e5a54 Add wasPreempted bool to allocs 2019-04-22 16:40:02 -07:00
Michael Lange
cf1d4a3a1e Data modeling for preemptions 2019-04-22 16:40:00 -07:00
Michael Lange
23729ad5a7 Address the copy/copyable deprecation 2019-04-10 14:54:35 -07:00
Michael Lange
7e6a4f74fc Address inflector deprecations 2019-04-10 14:54:35 -07:00
Michael Lange
8909046f15 Don't use Ember.get in conjunction with dynamic strings in the job-plan serializer 2018-12-13 07:53:37 -08:00
Michael Lange
f2b4fbcbe8 Don't use Ember.get in conjunction with dynamic strings in the allocation serializer 2018-12-13 07:53:37 -08:00
Michael Lange
2a554e3954 Don't use Ember.get in conjunction with dynamic strings in the node serializer 2018-12-13 07:53:37 -08:00
Michael Lange
c3fdeb3fa6 Don't use Ember.get in conjunction with dynamic strings in the deployment serializer 2018-12-13 07:53:37 -08:00
Michael Lange
3a07f68d4f Don't use Ember.get in conjunction with dynamic strings in the job-summary serializer 2018-12-13 07:53:37 -08:00
Michael Lange
7143b3048b Don't use Ember.get in conjunction with dynamic strings in the evaluation serializer 2018-12-13 07:53:37 -08:00
Michael Lange
9b7b465a66 Show the scheduler dry-run output on the plan page 2018-08-20 16:44:37 -07:00