Use node name to unregister with ironic

This commit is contained in:
andre keedy 2015-12-23 17:48:23 -05:00
parent 99a5aa8b77
commit 810a329593

View File

@ -387,34 +387,25 @@ module.exports.registerpost = function registerpost(req, res, next) {
*/ */
module.exports.unregisterdel = function unregisterdel(req, res, next) { module.exports.unregisterdel = function unregisterdel(req, res, next) {
var ironicToken; var ironicToken;
//TODO allow using name or ironic node uuid
return keystone.authenticatePassword(ironicConfig.os_tenant_name, ironicConfig.os_username, return keystone.authenticatePassword(ironicConfig.os_tenant_name, ironicConfig.os_username,
ironicConfig.os_password). ironicConfig.os_password).
then(function (token) { then(function (token) {
ironicToken = JSON.parse(token).access.token.id; ironicToken = JSON.parse(token).access.token.id;
return ironic.get_node(ironicToken, req.swagger.params.identifier.value);
}).
then(function (ironicNode) {
if (JSON.parse(ironicNode).hasOwnProperty('extra')) {
return monorail.request_whitelist_del(JSON.parse(ironicNode).extra.nodeid);
}
else {
throw { error_message: 'Node is not registered with Shovel' };
}
}).
then(function () {
return ironic.delete_node(ironicToken, req.swagger.params.identifier.value); return ironic.delete_node(ironicToken, req.swagger.params.identifier.value);
}). })
then(function (del_node) { .then(function (del_node) {
if (del_node && JSON.parse(del_node).error_message) { if (del_node && JSON.parse(del_node).error_message) {
throw (del_node); throw (del_node);
} }
else { else {
logger.debug('ironicNode: ' + req.swagger.params.identifier.value + ' is been deleted susccessfully'); logger.info('ironicNode: ' + req.swagger.params.identifier.value + ' is been deleted susccessfully');
res.setHeader('Content-Type', 'application/json'); res.setHeader('Content-Type', 'application/json');
var success = { var success = {
result: 'success' result: 'success'
}; };
res.end(JSON.stringify(success)); res.end(JSON.stringify(success));
return monorail.request_whitelist_del(req.swagger.params.identifier.value);
} }
}) })
.catch(function (err) { .catch(function (err) {