[ui] Allocation route services table: show task-level services (#14199)
Adds service fragments to allocations and union taskGroup and task services
This commit is contained in:
parent
09e275ccba
commit
fcf2c40c60
|
@ -0,0 +1,3 @@
|
|||
```release-note:feature
|
||||
[ui] Services table: Display task-level services in addition to group-level services.
|
||||
```
|
|
@ -11,6 +11,7 @@ import { lazyClick } from 'nomad-ui/helpers/lazy-click';
|
|||
import { watchRecord } from 'nomad-ui/utils/properties/watch';
|
||||
import messageForError from 'nomad-ui/utils/message-from-adapter-error';
|
||||
import classic from 'ember-classic-decorator';
|
||||
import { union } from '@ember/object/computed';
|
||||
|
||||
@classic
|
||||
export default class IndexController extends Controller.extend(Sortable) {
|
||||
|
@ -46,11 +47,26 @@ export default class IndexController extends Controller.extend(Sortable) {
|
|||
return (this.get('model.allocatedResources.ports') || []).sortBy('label');
|
||||
}
|
||||
|
||||
@computed('model.states.@each.task')
|
||||
get tasks() {
|
||||
return this.get('model.states').mapBy('task') || [];
|
||||
}
|
||||
|
||||
@computed('tasks.@each.services')
|
||||
get taskServices() {
|
||||
return this.get('tasks')
|
||||
.map((t) => (t && t.get('services') || []).toArray())
|
||||
.flat()
|
||||
.compact();
|
||||
}
|
||||
|
||||
@computed('model.taskGroup.services.@each.name')
|
||||
get services() {
|
||||
get groupServices() {
|
||||
return (this.get('model.taskGroup.services') || []).sortBy('name');
|
||||
}
|
||||
|
||||
@union('taskServices', 'groupServices') services;
|
||||
|
||||
onDismiss() {
|
||||
this.set('error', null);
|
||||
}
|
||||
|
|
|
@ -48,6 +48,7 @@ export default class Task extends Fragment {
|
|||
@attr('number') reservedCPU;
|
||||
@attr('number') reservedDisk;
|
||||
@attr('number') reservedEphemeralDisk;
|
||||
@fragmentArray('service') services;
|
||||
|
||||
@fragmentArray('volume-mount', { defaultValue: () => [] }) volumeMounts;
|
||||
|
||||
|
|
|
@ -155,6 +155,7 @@ module('Acceptance | regions (many)', function (hooks) {
|
|||
const newRegion = server.db.regions[1].id;
|
||||
|
||||
await Allocation.visit({ id: server.db.allocations[0].id });
|
||||
await this.pauseTest();
|
||||
|
||||
await selectChoose('[data-test-region-switcher-parent]', newRegion);
|
||||
|
||||
|
|
Loading…
Reference in New Issue