From 78a12019df6bd188c85218754d9ff18434f6c503 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Thu, 29 Nov 2018 14:23:25 +0300 Subject: [PATCH 01/17] EWC-373 microservice cli error message for volume mapping fix --- src/cli/microservice.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cli/microservice.js b/src/cli/microservice.js index 33b982fab..ea3550546 100644 --- a/src/cli/microservice.js +++ b/src/cli/microservice.js @@ -376,7 +376,7 @@ const _removeVolumeMapping = async function (obj, user) { await MicroserviceService.deleteVolumeMapping(obj.microserviceId, obj.mappingId, user, true); logger.info('Volume mapping has been deleted successfully.'); } catch (e) { - logger.error(ErrorMessages.CLI.INVALID_VOLUME_MAPPING); + logger.error(e.message); } }; From 019d87136c92a35b6966fcb83b9d6b11c54eca63 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Thu, 29 Nov 2018 15:15:30 +0300 Subject: [PATCH 02/17] EWC-361 logger not found in microservice service fix --- src/services/connector-service.js | 2 -- src/services/microservices-service.js | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/services/connector-service.js b/src/services/connector-service.js index b0e19853b..b30176b9a 100644 --- a/src/services/connector-service.js +++ b/src/services/connector-service.js @@ -180,8 +180,6 @@ async function _getRandomConnector(transaction) { } async function closePortOnConnector(connector, ports, transaction) { - console.log(ports); - let data = qs.stringify({ mappingid: ports.mappingId }); diff --git a/src/services/microservices-service.js b/src/services/microservices-service.js index fa5e6d2c4..6149c740c 100644 --- a/src/services/microservices-service.js +++ b/src/services/microservices-service.js @@ -11,6 +11,7 @@ * */ +const logger = require('../logger') const TransactionDecorator = require('../decorators/transaction-decorator'); const MicroserviceManager = require('../sequelize/managers/microservice-manager'); const MicroserviceStatusManager = require('../sequelize/managers/microservice-status-manager'); From 18d8e59630a14cdac2ab83f3d109ec8e8a72d765 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Thu, 29 Nov 2018 15:19:42 +0300 Subject: [PATCH 03/17] EWC-361 abbility to delete route without closing ports on connector --- src/services/microservices-service.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/microservices-service.js b/src/services/microservices-service.js index 6149c740c..19665431f 100644 --- a/src/services/microservices-service.js +++ b/src/services/microservices-service.js @@ -528,7 +528,7 @@ async function _deleteRouteOverConnector(route, transaction) { try { await ConnectorService.closePortOnConnector(connector, ports, transaction); } catch (e) { - logger.warn(`Can't close ports pair ${ports.mappingId} on connector ${connector.publicIp}. Delete manually in needed`); + logger.warn(`Can't close ports pair ${ports.mappingId} on connector ${connector.publicIp}. Delete manually if necessary`); } await RoutingManager.delete({id: route.id}, transaction) From cdf1b69795c5b888acbdb9b89b86caa3e427c722 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Thu, 29 Nov 2018 15:21:22 +0300 Subject: [PATCH 04/17] EWC-361 recreating routes on update microservice only if necessary --- src/services/microservices-service.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/microservices-service.js b/src/services/microservices-service.js index 19665431f..dbfe389db 100644 --- a/src/services/microservices-service.js +++ b/src/services/microservices-service.js @@ -188,7 +188,7 @@ async function _updateMicroservice(microserviceUuid, microserviceData, user, isC await _updateVolumeMappings(microserviceDataUpdate.volumeMappings, microserviceUuid, transaction); } - if (microserviceDataUpdate.iofogUuid !== microservice.iofogUuid) { + if (microserviceDataUpdate.iofogUuid && microserviceDataUpdate.iofogUuid !== microservice.iofogUuid) { const routes = await _getLogicalNetworkRoutesByFog(microservice.iofogUuid, transaction); for (let route of routes) { await _deleteRoute(route.sourceMicroserviceUuid, route.destMicroserviceUuid, user, isCLI, transaction); From bef67855c1e4e3df7cae3837b3bc499ecf233a49 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Thu, 29 Nov 2018 15:47:27 +0300 Subject: [PATCH 05/17] EWC-384 connector devMode verification before using certificate --- src/services/connector-service.js | 2 +- src/services/microservices-service.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/connector-service.js b/src/services/connector-service.js index b30176b9a..bd522e6ac 100644 --- a/src/services/connector-service.js +++ b/src/services/connector-service.js @@ -160,7 +160,7 @@ async function openPortsOnConnector(connector, isPublicAccess, transaction) { 'Content-Length': Buffer.byteLength(data) } }; - if (connector.cert && connector.isSelfSignedCert === true) { + if (!connector.devMode && connector.cert && connector.isSelfSignedCert === true) { const ca = fs.readFileSync(connector.cert); options.ca = new Buffer(ca); } diff --git a/src/services/microservices-service.js b/src/services/microservices-service.js index dbfe389db..7b4707c5e 100644 --- a/src/services/microservices-service.js +++ b/src/services/microservices-service.js @@ -387,7 +387,7 @@ async function _createRouteOverConnector(sourceMicroservice, destMicroservice, u const networkCatalogItem = await CatalogService.getNetworkCatalogItem(transaction) let cert; - if (connector.cert) { + if (!connector.devMode && connector.cert) { cert = AppHelper.trimCertificate(fs.readFileSync(connector.cert, "utf-8")) } @@ -618,7 +618,7 @@ async function _createPortMappingOverConnector(microservice, portMappingData, us const networkCatalogItem = await CatalogService.getNetworkCatalogItem(transaction) let cert; - if (connector.cert) { + if (!connector.devMode && connector.cert) { cert = AppHelper.trimCertificate(fs.readFileSync(connector.cert, "utf-8")); } //create netw ms1 From 3ffc0ba06630def15af55ba424dddf44c46608b5 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Thu, 29 Nov 2018 16:46:51 +0300 Subject: [PATCH 06/17] EWC-377 cli config add ssl-key message fix --- src/cli/config.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cli/config.js b/src/cli/config.js index f9626c70a..ce42ea944 100644 --- a/src/cli/config.js +++ b/src/cli/config.js @@ -156,15 +156,15 @@ const _addConfigOption = async function (options) { onSuccess(); }); - if (options.sslKey) { + await updateConfig(options.sslKey, 'ssl-key', 'Server:SslKey', (onSuccess) => { const sslKey = options.sslKey; if (!AppHelper.isFileExists(sslKey)) { logger.error(ErrorMessages.INVALID_FILE_PATH); return; } config.set('Server:SslKey', sslKey); - logger.info('Config option ssl-key has been updated.'); - } + onSuccess(); + }); await updateConfig(options.intermediateCert, 'intermediate-cert', 'Server:IntermediateCert', (onSuccess) => { const intermediateCert = options.intermediateCert; From 7186681fcfe03d42eb0ba8c809d23449ed617a59 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Fri, 30 Nov 2018 13:24:19 +0300 Subject: [PATCH 07/17] EWC-386 cli connector add devMode is required now --- src/schemas/connector.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/schemas/connector.js b/src/schemas/connector.js index d23b105bb..f62f7bc09 100644 --- a/src/schemas/connector.js +++ b/src/schemas/connector.js @@ -22,7 +22,7 @@ const connectorCreate = { "isSelfSignedCert": {"type": "boolean"}, "devMode": {"type": "boolean"} }, - "required": ["publicIp", "name"], + "required": ["publicIp", "name", "devMode"], "additionalProperties": false }; From f8e87167b2d4b1d67ac0148673624593aeb0ab5d Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Mon, 3 Dec 2018 15:18:28 +0300 Subject: [PATCH 08/17] EWC-385 cli helps' outputs --- README.md | 10 +++++----- src/cli/config.js | 2 +- src/cli/connector.js | 2 +- src/cli/diagnostics.js | 2 +- src/cli/iofog.js | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f4ef09950..f0fbd17e9 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ $ iofog-controller config <*options*> -a, --email-address string (Email address to send activations from)
-w, --email-password string (Email password to send activations from)
-s, --email-service string (Email service to send activations)
- -d, --log-dir string (Log files directory)
+ -d, --log-dir string (Path to log files directory)
-z, --log-size number (Log files size (MB))
*list*
@@ -135,7 +135,7 @@ $ iofog-controller connector <*command*> <*options*> -n, --name string (Connector name)
-d, --domain string (Connector domain name)
-i, --public-ip string (Connector public IP address)
- -c, --cert string (Certificate)
+ -c, --cert string (Path to certificate file)
-S, --self-signed-on (Switch on self-signed enabled)
-s, --self-signed-off (Switch off self-signed disabled)
-H, --dev-mode-on (Switch on dev mode)
@@ -215,11 +215,11 @@ tunnel list -d, --description string (ioFog node description)
-D, --docker-url string (ioFog node docker url)
-M, --disk-limit number (ioFog node disk usage limit (MB))
- -T, --disk-directory string (ioFog node disk directory)
+ -T, --disk-directory string (Path to ioFog node disk directory)
-m, --memory-limit number (ioFog node memory usage limit (MB))
-c, --cpu-limit number (ioFog node CPU usage limit (%))
-G, --log-limit number (ioFog node log size limit (MB))
- -Y, --log-directory string (ioFog node log files directory)
+ -Y, --log-directory string (Path to ioFog node log files directory)
-C, --log-file-count number (ioFog node log files count)
-s, --status-frequency number (ioFog node status check frequency (seconds))
-F, --change-frequency number (ioFog node configuration change check frequency (seconds))
@@ -702,7 +702,7 @@ $ iofog-controller catalog <*command*> <*options*>
*strace-info -i* <*microservice-id*>
- -f, --format string (Format of strace data to receive)
+ -f, --format string (Format of strace data to receivehas to be. Values can be: string, file)
*strace-ftp-post -i* <*microservice-id*>
diff --git a/src/cli/config.js b/src/cli/config.js index ce42ea944..a6a6860ad 100644 --- a/src/cli/config.js +++ b/src/cli/config.js @@ -68,7 +68,7 @@ class Config extends BaseCLIHandler { group: constants.CMD_ADD }, { - name: 'log-dir', alias: 'd', type: String, description: 'Log files directory', + name: 'log-dir', alias: 'd', type: String, description: 'Path to log files directory', group: constants.CMD_ADD }, { diff --git a/src/cli/connector.js b/src/cli/connector.js index 2165abb5e..1fbcbafa6 100644 --- a/src/cli/connector.js +++ b/src/cli/connector.js @@ -46,7 +46,7 @@ class Connector extends BaseCLIHandler { }, { name: 'cert', alias: 'c', type: String, - description: 'Certificate', + description: 'Path to certificate file', group: [constants.CMD_ADD, constants.CMD_UPDATE] }, { diff --git a/src/cli/diagnostics.js b/src/cli/diagnostics.js index 05dfabeaf..6e918f9da 100644 --- a/src/cli/diagnostics.js +++ b/src/cli/diagnostics.js @@ -43,7 +43,7 @@ class Diagnostics extends BaseCLIHandler { constants.CMD_IMAGE_SNAPSHOT_CREATE, constants.CMD_IMAGE_SNAPSHOT_GET] }, { - name: 'format', alias: 'f', type: String, description: 'Format of strace data to receive', + name: 'format', alias: 'f', type: String, description: 'Format of strace data to receivehas to be. Values can be: string, file', group: [constants.CMD_STRACE_INFO] }, { diff --git a/src/cli/iofog.js b/src/cli/iofog.js index 267235683..812c4e36e 100644 --- a/src/cli/iofog.js +++ b/src/cli/iofog.js @@ -99,7 +99,7 @@ class IOFog extends BaseCLIHandler { }, { name: 'disk-directory', alias: 'T', type: String, - description: 'ioFog node disk directory', + description: 'Path to ioFog node disk directory', group: [constants.CMD_UPDATE, constants.CMD_ADD] }, { @@ -119,7 +119,7 @@ class IOFog extends BaseCLIHandler { }, { name: 'log-directory', alias: 'Y', type: String, - description: 'ioFog node log files directory', + description: 'Path to ioFog node log files directory', group: [constants.CMD_UPDATE, constants.CMD_ADD] }, { From 0620be083e44bbefb1dd2ae4d1fc93f176bce085 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Mon, 3 Dec 2018 15:20:24 +0300 Subject: [PATCH 09/17] EWC-395 cli `microservice port-mapping-remove` error message fix --- src/cli/microservice.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cli/microservice.js b/src/cli/microservice.js index ea3550546..d94a33e59 100644 --- a/src/cli/microservice.js +++ b/src/cli/microservice.js @@ -366,7 +366,7 @@ const _removePortMapping = async function (obj, user) { await MicroserviceService.deletePortMapping(obj.microserviceId, internalPort, user, true); logger.info('Port mapping has been deleted successfully.'); } catch (e) { - logger.error(ErrorMessages.CLI.INVALID_INTERNAL_PORT); + logger.error(e.message); } }; From 19177a680983bb646fd9d3f96a42c86bfd70e3c1 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Mon, 3 Dec 2018 15:25:12 +0300 Subject: [PATCH 10/17] EWC-389 cli `diagnostics strace-update` correct parsing of boolean --- src/cli/diagnostics.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cli/diagnostics.js b/src/cli/diagnostics.js index 6e918f9da..e6ff0c3d7 100644 --- a/src/cli/diagnostics.js +++ b/src/cli/diagnostics.js @@ -128,7 +128,7 @@ const _executeCase = async function (diagnosticCommand, commandName, f, isUserRe const _changeMicroserviceStraceState = async function (obj) { logger.info(JSON.stringify(obj)); - const enable = AppHelper.validateBooleanCliOptions(obj.disable, obj.enable); + const enable = AppHelper.validateBooleanCliOptions(obj.enable, obj.disable); await DiagnosticService.changeMicroserviceStraceState(obj.microserviceId, {enable: enable}, {}, true); const msg = enable ? 'Microservice strace has been enabled' : 'Microservice strace has been disabled'; logger.info(msg); From 3aa596003c52e100e630e8113687ba3e60fe8354 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Mon, 3 Dec 2018 15:41:48 +0300 Subject: [PATCH 11/17] EWC-390 cli `diagnostics strace-...` correct validation error messages --- src/services/diagnostic-service.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/services/diagnostic-service.js b/src/services/diagnostic-service.js index 41951b23c..69571f5e5 100644 --- a/src/services/diagnostic-service.js +++ b/src/services/diagnostic-service.js @@ -15,7 +15,7 @@ const TransactionDecorator = require('../decorators/transaction-decorator'); const AppHelper = require('../helpers/app-helper'); const Errors = require('../helpers/errors'); const ErrorMessages = require('../helpers/error-messages'); -const validator = require('../schemas/index'); +const Validator = require('../schemas/index'); const MicroserviceService = require('../services/microservices-service'); const StraceDiagnosticManager = require('../sequelize/managers/strace-diagnostics-manager'); const ChangeTrackingService = require('./change-tracking-service'); @@ -29,7 +29,7 @@ const mime = require('mime'); const changeMicroserviceStraceState = async function (id, data, user, isCLI, transaction) { - validator.validate(data, validator.schemas.straceStateUpdate); + await Validator.validate(data, Validator.schemas.straceStateUpdate); const microservice = await MicroserviceService.getMicroservice(id, user, isCLI, transaction); if (microservice.iofogUuid === null) { throw new Errors.ValidationError(ErrorMessages.STRACE_WITHOUT_FOG); @@ -45,7 +45,7 @@ const changeMicroserviceStraceState = async function (id, data, user, isCLI, tra }; const getMicroserviceStraceData = async function (id, data, user, isCLI, transaction) { - validator.validate(data, validator.schemas.straceGetData); + await Validator.validate(data, Validator.schemas.straceGetData); const straceData = await StraceDiagnosticManager.findOne({microserviceUuid: id}, transaction); const dir = config.get('Diagnostics:DiagnosticDir') || 'diagnostics'; const filePath = dir + '/' + id; @@ -65,7 +65,7 @@ const getMicroserviceStraceData = async function (id, data, user, isCLI, transac }; const postMicroserviceStraceDatatoFtp = async function (id, data, user, isCLI, transaction) { - validator.validate(data, validator.schemas.stracePostToFtp); + await Validator.validate(data, Validator.schemas.stracePostToFtp); const straceData = await StraceDiagnosticManager.findOne({microserviceUuid: id}, transaction); const dir = config.get('Diagnostics:DiagnosticDir'); const filePath = dir + '/' + id; From aaa7e34aac0b53bee9c61b0ba804215fc3da9474 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Mon, 3 Dec 2018 15:48:36 +0300 Subject: [PATCH 12/17] EWC-392 cli `diagnostics strace-info` microservice validation --- src/services/diagnostic-service.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/services/diagnostic-service.js b/src/services/diagnostic-service.js index 69571f5e5..bffed906a 100644 --- a/src/services/diagnostic-service.js +++ b/src/services/diagnostic-service.js @@ -46,6 +46,15 @@ const changeMicroserviceStraceState = async function (id, data, user, isCLI, tra const getMicroserviceStraceData = async function (id, data, user, isCLI, transaction) { await Validator.validate(data, Validator.schemas.straceGetData); + + const microserviceWhere = isCLI + ? {uuid: id} + : {uuid: id, userId: user.id}; + const microservice = await MicroserviceManager.findOne(microserviceWhere, transaction); + if (!microservice) { + throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_UUID, id)) + } + const straceData = await StraceDiagnosticManager.findOne({microserviceUuid: id}, transaction); const dir = config.get('Diagnostics:DiagnosticDir') || 'diagnostics'; const filePath = dir + '/' + id; From 863e7bd6216d8da0a776317d1b6a61caa745966d Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Mon, 3 Dec 2018 16:09:04 +0300 Subject: [PATCH 13/17] EWC-394 sequelize (deprecated)find -> findOne --- .../managers/email-activation-code-manager.js | 4 ++-- src/sequelize/managers/iofog-manager.js | 2 +- src/sequelize/managers/user-manager.js | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/sequelize/managers/email-activation-code-manager.js b/src/sequelize/managers/email-activation-code-manager.js index 3a6a906a5..abdd28e18 100644 --- a/src/sequelize/managers/email-activation-code-manager.js +++ b/src/sequelize/managers/email-activation-code-manager.js @@ -26,7 +26,7 @@ class EmailActivationCodeManager extends BaseManager { async getByActivationCode(activationCode, transaction) { AppHelper.checkTransaction(transaction); - return EmailActivationCode.find({ + return EmailActivationCode.findOne({ where: { activationCode: activationCode } @@ -48,7 +48,7 @@ class EmailActivationCodeManager extends BaseManager { }; async verifyActivationCode(activationCode, transaction) { - return EmailActivationCode.find({ + return EmailActivationCode.findOne({ where: { activationCode: activationCode, expirationTime: { diff --git a/src/sequelize/managers/iofog-manager.js b/src/sequelize/managers/iofog-manager.js index d4b83c98b..4289ef7b5 100644 --- a/src/sequelize/managers/iofog-manager.js +++ b/src/sequelize/managers/iofog-manager.js @@ -25,7 +25,7 @@ class FogManager extends BaseManager { // no transaction required here, used by auth decorator checkToken(token) { - return Fog.find({ + return Fog.findOne({ include: [{ model: FogAccessToken, as: 'accessToken', diff --git a/src/sequelize/managers/user-manager.js b/src/sequelize/managers/user-manager.js index d5995d2ca..4d4469dba 100644 --- a/src/sequelize/managers/user-manager.js +++ b/src/sequelize/managers/user-manager.js @@ -29,7 +29,7 @@ class UserManager extends BaseManager { findByAccessToken(token, transaction) { AppHelper.checkTransaction(transaction); - return User.find({ + return User.findOne({ include: [{ model: AccessToken, as: 'accessToken', @@ -43,7 +43,7 @@ class UserManager extends BaseManager { } findByEmail(email) { - return User.find({ + return User.findOne({ where: { email: email } @@ -52,7 +52,7 @@ class UserManager extends BaseManager { // no transaction required here, used by auth decorator checkAuthentication(token) { - return User.find({ + return User.findOne({ include: [{ model: AccessToken, as: 'accessToken', @@ -65,7 +65,7 @@ class UserManager extends BaseManager { // no transaction required here, used by cli decorator findById(id) { - return User.find({where: {id: id}}); + return User.findOne({where: {id: id}}); } updateDetails(user, updateObject, transaction) { @@ -92,7 +92,7 @@ class UserManager extends BaseManager { // no transaction required here, used by cli decorator findById(id) { - return User.find({where: {id: id}}); + return User.findOne({where: {id: id}}); } } From e591d1edaafcf06d68ebd4647592d1434f166638 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Mon, 3 Dec 2018 16:25:35 +0300 Subject: [PATCH 14/17] EWC-388 validation of flowId in delete flow service --- src/services/flow-service.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/services/flow-service.js b/src/services/flow-service.js index f22defb59..caef8af0d 100644 --- a/src/services/flow-service.js +++ b/src/services/flow-service.js @@ -50,15 +50,13 @@ const _deleteFlow = async function (flowId, user, isCLI, transaction) { await _updateChangeTrackingsByFlowId(flowId, transaction) const affectedRows = await FlowManager.delete(where, transaction); - - if (affectedRows === 0) { - throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_FLOW_ID, flowId)); - } - }; async function _updateChangeTrackingsByFlowId(flowId, transaction) { const flowWithMicroservices = await FlowManager.findFlowMicroservices({id: flowId}, transaction); + if (!flowWithMicroservices) { + throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_FLOW_ID, flowId)); + } const onlyUnique = (value, index, self) => self.indexOf(value) === index; const iofogUuids = flowWithMicroservices.microservices .map(obj => obj.iofogUuid) From 254464241a7da065000efb35bffc8b6a90877efa Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Mon, 3 Dec 2018 16:36:52 +0300 Subject: [PATCH 15/17] EWC-393 validation of microserviceUuid in image snapshot services --- src/services/diagnostic-service.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/services/diagnostic-service.js b/src/services/diagnostic-service.js index bffed906a..d2aeeb6c0 100644 --- a/src/services/diagnostic-service.js +++ b/src/services/diagnostic-service.js @@ -99,6 +99,9 @@ const postMicroserviceImageSnapshotCreate = async function (microserviceUuid, us const microservice = await MicroserviceManager.findOneWithDependencies(where, {}, transaction); + if (!microservice) { + throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_UUID, microserviceUuid)); + } if (microservice.iofogUuid === null) { throw new Errors.ValidationError(ErrorMessages.IMAGE_SNAPSHOT_WITHOUT_FOG); } @@ -122,6 +125,9 @@ const getMicroserviceImageSnapshot = async function (microserviceUuid, user, isC userId: user.id }; const microservice = await MicroserviceManager.findOneWithDependencies(where, {}, transaction); + if (!microservice) { + throw new Errors.NotFoundError(AppHelper.formatMessage(ErrorMessages.INVALID_MICROSERVICE_UUID, microserviceUuid)); + } if (microservice.iofogUuid === null) { throw new Errors.ValidationError(ErrorMessages.IMAGE_SNAPSHOT_WITHOUT_FOG); } From 8a9f2b427c741a568f22fcfe10b92cd19fc81ef8 Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Mon, 3 Dec 2018 16:46:35 +0300 Subject: [PATCH 16/17] unused var deleted --- src/services/flow-service.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/flow-service.js b/src/services/flow-service.js index caef8af0d..55c446850 100644 --- a/src/services/flow-service.js +++ b/src/services/flow-service.js @@ -49,7 +49,7 @@ const _deleteFlow = async function (flowId, user, isCLI, transaction) { await _updateChangeTrackingsByFlowId(flowId, transaction) - const affectedRows = await FlowManager.delete(where, transaction); + await FlowManager.delete(where, transaction); }; async function _updateChangeTrackingsByFlowId(flowId, transaction) { From 40122d0784c748c759711bede2f3eb409433f72c Mon Sep 17 00:00:00 2001 From: maksimchepelev Date: Mon, 3 Dec 2018 16:51:58 +0300 Subject: [PATCH 17/17] incorrect help message fix --- README.md | 2 +- src/cli/diagnostics.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f0fbd17e9..62f660fd8 100644 --- a/README.md +++ b/README.md @@ -702,7 +702,7 @@ $ iofog-controller catalog <*command*> <*options*>
*strace-info -i* <*microservice-id*>
- -f, --format string (Format of strace data to receivehas to be. Values can be: string, file)
+ -f, --format string (Format of strace data to receive. Possible values: string, file)
*strace-ftp-post -i* <*microservice-id*>
diff --git a/src/cli/diagnostics.js b/src/cli/diagnostics.js index e6ff0c3d7..fd1fd6025 100644 --- a/src/cli/diagnostics.js +++ b/src/cli/diagnostics.js @@ -43,7 +43,7 @@ class Diagnostics extends BaseCLIHandler { constants.CMD_IMAGE_SNAPSHOT_CREATE, constants.CMD_IMAGE_SNAPSHOT_GET] }, { - name: 'format', alias: 'f', type: String, description: 'Format of strace data to receivehas to be. Values can be: string, file', + name: 'format', alias: 'f', type: String, description: 'Format of strace data to receive. Possible values: string, file', group: [constants.CMD_STRACE_INFO] }, {