[AAE-4701] ADF check env - Fail if the env is not reachable (#6714)

* Fail if the env is not reachable

* Remove useless file
This commit is contained in:
Maurizio Vitale 2021-02-22 13:11:55 +00:00 committed by GitHub
parent f84ea5da72
commit 3f268bd5ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 50 additions and 31 deletions

View File

@ -1,8 +1,10 @@
/* tslint:disable */
const alfrescoApi = require('@alfresco/js-api'); const alfrescoApi = require('@alfresco/js-api');
const program = require('commander'); const program = require('commander');
const path = require('path'); const path = require('path');
const fs = require('fs'); const fs = require('fs');
/* tslint:enable */
import { logger } from './logger';
const MAX_RETRY = 3; const MAX_RETRY = 3;
const TIMEOUT = 20000; const TIMEOUT = 20000;
let counter = 0; let counter = 0;
@ -20,7 +22,6 @@ export default async function main(_args: string[]) {
.option('-r, --retry [type]', 'retry ') .option('-r, --retry [type]', 'retry ')
.parse(process.argv); .parse(process.argv);
await checkEnv(); await checkEnv();
await checkDiskSpaceFullEnv(); await checkDiskSpaceFullEnv();
} }
@ -34,15 +35,19 @@ async function checkEnv() {
await alfrescoJsApi.login(program.username, program.password); await alfrescoJsApi.login(program.username, program.password);
} catch (error) { } catch (error) {
console.log('Login error environment down or inaccessible'); if (error.error.code === 'ETIMEDOUT') {
logger.error('The env is not reachable. Terminating');
process.exit(1);
}
logger.error('Login error environment down or inaccessible');
counter++; counter++;
const retry = program.retry || MAX_RETRY; const retry = program.retry || MAX_RETRY;
const time = program.time || TIMEOUT; const time = program.time || TIMEOUT;
if (retry === counter) { if (retry === counter) {
console.log('Give up'); logger.error('Give up');
process.exit(1); process.exit(1);
} else { } else {
console.log(`Retry in 1 minute attempt N ${counter}`, error); logger.error(`Retry in 1 minute attempt N ${counter}`, error);
sleep(time); sleep(time);
checkEnv(); checkEnv();
} }
@ -50,7 +55,7 @@ async function checkEnv() {
} }
async function checkDiskSpaceFullEnv() { async function checkDiskSpaceFullEnv() {
console.log(`Start Check disk full space`); logger.info(`Start Check disk full space`);
try { try {
@ -80,11 +85,11 @@ async function checkDiskSpaceFullEnv() {
'overwrite': true 'overwrite': true
}); });
} }
let pathFile = path.join(__dirname, '../', 'README.md'); const pathFile = path.join(__dirname, '../', 'README.md');
let file = fs.createReadStream(pathFile); const file = fs.createReadStream(pathFile);
let uploadedFile = await alfrescoJsApi.upload.uploadFile( const uploadedFile = await alfrescoJsApi.upload.uploadFile(
file, file,
'', '',
folder.entry.id, folder.entry.id,
@ -103,13 +108,13 @@ async function checkDiskSpaceFullEnv() {
const retry = program.retry || MAX_RETRY; const retry = program.retry || MAX_RETRY;
const time = program.time || TIMEOUT; const time = program.time || TIMEOUT;
if (retry === counter) { if (retry === counter) {
console.log('============================================================='); logger.info('=============================================================');
console.log('================ Not able to upload a file =================='); logger.info('================ Not able to upload a file ==================');
console.log('================ Possible cause CS is full =================='); logger.info('================ Possible cause CS is full ==================');
console.log('============================================================='); logger.info('=============================================================');
process.exit(1); process.exit(1);
} else { } else {
console.log(`Retry N ${counter} ${error?.error?.status}`); logger.error(`Retry N ${counter} ${error?.error?.status}`);
sleep(time); sleep(time);
checkDiskSpaceFullEnv(); checkDiskSpaceFullEnv();
} }
@ -119,7 +124,6 @@ async function checkDiskSpaceFullEnv() {
} }
function sleep(delay) { function sleep(delay) {
console.log(`Sleep ${delay}`); const start = new Date().getTime();
var start = new Date().getTime(); while (new Date().getTime() < start + delay) { }
while (new Date().getTime() < start + delay) ;
} }

View File

@ -1,6 +1,8 @@
/* tslint:disable */
const alfrescoApi = require('@alfresco/js-api'); const alfrescoApi = require('@alfresco/js-api');
const program = require('commander'); const program = require('commander');
/* tslint:enable */
import { logger } from './logger';
const MAX_RETRY = 10; const MAX_RETRY = 10;
const TIMEOUT = 60000; const TIMEOUT = 60000;
let counter = 0; let counter = 0;
@ -16,7 +18,6 @@ export default async function main(_args: string[]) {
.option('-u, --username [type]', 'username ') .option('-u, --username [type]', 'username ')
.parse(process.argv); .parse(process.argv);
await checkEnv(); await checkEnv();
} }
@ -29,22 +30,24 @@ async function checkEnv() {
await alfrescoJsApi.login(program.username, program.password); await alfrescoJsApi.login(program.username, program.password);
} catch (e) { } catch (e) {
console.log('Login error environment down or inaccessible'); if (e.error.code === 'ETIMEDOUT') {
logger.error('The env is not reachable. Terminating');
process.exit(1);
}
logger.error('Login error environment down or inaccessible');
counter++; counter++;
if (MAX_RETRY === counter) { if (MAX_RETRY === counter) {
console.log('Give up'); logger.error('Give up');
process.exit(1); process.exit(1);
} else { } else {
console.log(`Retry in 1 minute attempt N ${counter}`); logger.error(`Retry in 1 minute attempt N ${counter}`);
sleep(TIMEOUT); sleep(TIMEOUT);
checkEnv(); checkEnv();
} }
} }
console.log('ok');
} }
function sleep(delay) { function sleep(delay) {
var start = new Date().getTime(); const start = new Date().getTime();
while (new Date().getTime() < start + delay) ; while (new Date().getTime() < start + delay) { }
} }

View File

@ -139,13 +139,17 @@ async function checkEnv() {
}); });
await alfrescoJsApi.login(program.username, program.password); await alfrescoJsApi.login(program.username, program.password);
} catch (e) { } catch (e) {
logger.info('Login error environment down or inaccessible'); if (e.error.code === 'ETIMEDOUT') {
logger.error('The env is not reachable. Terminating');
process.exit(1);
}
logger.error('Login error environment down or inaccessible');
counter++; counter++;
if (MAX_RETRY === counter) { if (MAX_RETRY === counter) {
logger.info('Give up'); logger.error('Give up');
process.exit(1); process.exit(1);
} else { } else {
logger.info(`Retry in 1 minute attempt N ${counter}`); logger.error(`Retry in 1 minute attempt N ${counter}`);
sleep(TIMEOUT); sleep(TIMEOUT);
checkEnv(); checkEnv();
} }

View File

@ -125,13 +125,17 @@ async function checkEnv() {
alfrescoJsApiRepo = alfrescoJsApi; alfrescoJsApiRepo = alfrescoJsApi;
await alfrescoJsApi.login(program.username, program.password); await alfrescoJsApi.login(program.username, program.password);
} catch (e) { } catch (e) {
if (e.error.code === 'ETIMEDOUT') {
logger.error('The env is not reachable. Terminating');
process.exit(1);
}
logger.info('Login error environment down or inaccessible'); logger.info('Login error environment down or inaccessible');
counter++; counter++;
if (MAX_RETRY === counter) { if (MAX_RETRY === counter) {
logger.info('Give up'); logger.error('Give up');
process.exit(1); process.exit(1);
} else { } else {
logger.info(`Retry in 1 minute attempt N ${counter}`); logger.error(`Retry in 1 minute attempt N ${counter}`);
sleep(TIMEOUT); sleep(TIMEOUT);
checkEnv(); checkEnv();
} }

View File

@ -28,6 +28,10 @@ export class CheckEnv {
}); });
await this.alfrescoJsApi.login(this.username, this.password); await this.alfrescoJsApi.login(this.username, this.password);
} catch (e) { } catch (e) {
if (e.error.code === 'ETIMEDOUT') {
logger.error('The env is not reachable. Terminating');
process.exit(1);
}
logger.error('Login error environment down or inaccessible'); logger.error('Login error environment down or inaccessible');
this.counter++; this.counter++;
if (this.MAX_RETRY === this.counter) { if (this.MAX_RETRY === this.counter) {