From c2400d995b22d6cb71aeb7a293d46ace06d2e462 Mon Sep 17 00:00:00 2001 From: Kasra Bigdeli Date: Mon, 25 Feb 2019 22:26:17 -0800 Subject: [PATCH] Added logs --- src/user/system/BackupManager.ts | 35 ++++++++++++++++++++------------ src/utils/Utils.ts | 7 +++++++ 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/user/system/BackupManager.ts b/src/user/system/BackupManager.ts index 6be8ca5..8c4a32e 100644 --- a/src/user/system/BackupManager.ts +++ b/src/user/system/BackupManager.ts @@ -68,7 +68,7 @@ export default class BackupManager { return Promise.resolve() .then(function() { - Logger.d('Starting restoration, PHASE 1.') + Logger.d('Starting restoration, phase-1.') return fs.readJson(RESTORE_INSTRUCTIONS_ABS_PATH) }) @@ -202,7 +202,7 @@ export default class BackupManager { ) }) .then(function() { - Logger.d('Restoration Phase#1 is completed!') + Logger.d('Restoration Phase-1 is completed!') }) } @@ -224,7 +224,7 @@ export default class BackupManager { return } - Logger.d('Running the second phase of restoration...') + Logger.d('Running phase-2 of restoration...') return Promise.resolve() // .then(function() { @@ -317,11 +317,7 @@ export default class BackupManager { const newIps: string[] = [] restoringInfo.nodesMapping.forEach(n => { - if ( - !/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test( - n.oldIp - ) - ) { + if (!Utils.isValidIp(n.oldIp)) { throw new Error(`${n.oldIp} is not a valid IP`) } @@ -340,11 +336,7 @@ export default class BackupManager { ) } - if ( - !/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test( - n.newIp - ) - ) { + if (!Utils.isValidIp(n.newIp)) { throw new Error(`${n.newIp} is not a valid IP`) } @@ -625,6 +617,8 @@ export default class BackupManager { const RAW = CaptainConstants.captainRootDirectoryBackup + '/raw' + Logger.d('Creating backup...') + return Promise.resolve() // .then(function() { return self.deleteBackupDirectoryIfExists() @@ -633,6 +627,8 @@ export default class BackupManager { return fs.ensureDir(RAW) }) .then(function() { + Logger.d('Copying data to ' + RAW) + return fs.copy( CaptainConstants.captainDataDirectory, RAW + '/data', @@ -643,6 +639,8 @@ export default class BackupManager { return iBackupCallbacks.getNodesInfo() }) .then(function(nodes) { + Logger.d('Copying meta to ' + RAW) + return self.saveMetaFile(RAW + '/meta/' + BACKUP_JSON, { salt: iBackupCallbacks.getCaptainSalt(), nodes: nodes, @@ -652,6 +650,9 @@ export default class BackupManager { const tarFilePath = CaptainConstants.captainRootDirectoryBackup + '/backup.tar' + + Logger.d('Creating tar file: ' + tarFilePath) + return tar .c( { @@ -661,6 +662,14 @@ export default class BackupManager { ['./'] ) .then(function() { + let fileSizeInMb = Math.ceil( + fs.statSync(tarFilePath).size / 1000000 + ) + + Logger.d( + `Tar file created. File Size: ${fileSizeInMb} MB` + ) + return tarFilePath }) }) diff --git a/src/utils/Utils.ts b/src/utils/Utils.ts index 0026b6e..a6d7c20 100644 --- a/src/utils/Utils.ts +++ b/src/utils/Utils.ts @@ -5,6 +5,13 @@ export default class Utils { input = input.replace(/^(?:https?:\/\/)?/i, '') return input } + + static isValidIp(ip: string) { + return /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test( + ip + ) + } + static isNotGetRequest(req: { method: string }) { return req.method !== 'GET' }