From 0b031f0b270dca8e970d4fe14a3a667564d46178 Mon Sep 17 00:00:00 2001 From: Michael Lange Date: Wed, 30 Oct 2019 11:24:09 -0700 Subject: [PATCH] Update drain methods to properly wrap DrainSpec params --- ui/app/adapters/node.js | 28 ++++++++++++++++++++-------- ui/tests/unit/adapters/node-test.js | 24 ++++++++++++++++-------- 2 files changed, 36 insertions(+), 16 deletions(-) diff --git a/ui/app/adapters/node.js b/ui/app/adapters/node.js index 140f27907..51da5b6bd 100644 --- a/ui/app/adapters/node.js +++ b/ui/app/adapters/node.js @@ -25,14 +25,16 @@ export default Watchable.extend({ drain(node, drainSpec) { const url = addToPath(this.urlForFindRecord(node.id, 'node'), '/drain'); return this.ajax(url, 'POST', { - data: Object.assign( - { - NodeID: node.id, - Deadline: 0, - IgnoreSystemJobs: true, - }, - drainSpec - ), + data: { + NodeID: node.id, + DrainSpec: Object.assign( + { + Deadline: 0, + IgnoreSystemJobs: true, + }, + drainSpec + ), + }, }); }, @@ -44,4 +46,14 @@ export default Watchable.extend({ }) ); }, + + cancelDrain(node) { + const url = addToPath(this.urlForFindRecord(node.id, 'node'), '/drain'); + return this.ajax(url, 'POST', { + data: { + NodeID: node.id, + DrainSpec: null, + }, + }); + }, }); diff --git a/ui/tests/unit/adapters/node-test.js b/ui/tests/unit/adapters/node-test.js index a0f3e97e3..1d15c23ff 100644 --- a/ui/tests/unit/adapters/node-test.js +++ b/ui/tests/unit/adapters/node-test.js @@ -145,8 +145,10 @@ module('Unit | Adapter | Node', function(hooks) { JSON.parse(request.requestBody), { NodeID: node.id, - Deadline: 0, - IgnoreSystemJobs: true, + DrainSpec: { + Deadline: 0, + IgnoreSystemJobs: true, + }, }, 'POST request is made with the default body arguments' ); @@ -164,8 +166,10 @@ module('Unit | Adapter | Node', function(hooks) { JSON.parse(request.requestBody), { NodeID: node.id, - Deadline: spec.Deadline, - IgnoreSystemJobs: spec.IgnoreSystemJobs, + DrainSpec: { + Deadline: spec.Deadline, + IgnoreSystemJobs: spec.IgnoreSystemJobs, + }, }, 'POST request is made with the drain spec as body arguments' ); @@ -184,8 +188,10 @@ module('Unit | Adapter | Node', function(hooks) { JSON.parse(request.requestBody), { NodeID: node.id, - Deadline: -1000000000, - IgnoreSystemJobs: true, + DrainSpec: { + Deadline: -1000000000, + IgnoreSystemJobs: true, + }, }, 'POST request is made with the default body arguments' ); @@ -205,8 +211,10 @@ module('Unit | Adapter | Node', function(hooks) { JSON.parse(request.requestBody), { NodeID: node.id, - Deadline: -1000000000, - IgnoreSystemJobs: spec.IgnoreSystemJobs, + DrainSpec: { + Deadline: -1000000000, + IgnoreSystemJobs: spec.IgnoreSystemJobs, + }, }, 'POST request is made with the drain spec, except deadline is not overridden' );