173 lines
4.7 KiB
JavaScript
173 lines
4.7 KiB
JavaScript
const db = require('qmi-cloud-common/mongo');
|
|
|
|
/*var scenarios = ['azqmi-qs-sn', 'azqmi-qdc-qs', 'azqmi-qdc-ss', 'azqmi-qs-qib'];
|
|
db.models.Provision.updateMany({"scenario": { $in: scenarios}}, {"isExternalAccess": true}, function(err, res){
|
|
if (err) {
|
|
console.log("error", err);
|
|
process.exit(1);
|
|
} else {
|
|
console.log("Good", res);
|
|
process.exit(0);
|
|
}
|
|
});*/
|
|
|
|
/*var promise = db.models.Subscription.create({
|
|
subsId: "62ebff8f-c40b-41be-9239-252d6c0c8ad9"
|
|
});
|
|
promise.then(function (subs) {
|
|
|
|
console.log("Good", subs);
|
|
process.exit(0);
|
|
|
|
}).catch(function(err){
|
|
console.log("error", err);
|
|
process.exit(1);
|
|
})*/
|
|
|
|
async function getScenario(){
|
|
var res = await db.scenario.get();
|
|
console.log("res", res.results);
|
|
}
|
|
|
|
|
|
/*db.models.Scenario.updateMany({"name": { $exists: true}}, {"subscription": "5ec23bd0999e8a00193725b8"}, function(err, res){
|
|
if (err) {
|
|
console.log("error", err);
|
|
process.exit(1);
|
|
} else {
|
|
console.log("Good", res);
|
|
process.exit(0);
|
|
}
|
|
});*/
|
|
|
|
//getScenario();
|
|
|
|
async function asyncForEach(array, callback) {
|
|
for (let index = 0; index < array.length; index++) {
|
|
await callback(array[index], index, array);
|
|
}
|
|
}
|
|
|
|
async function getProvisions(filter){
|
|
return db.provision.get(filter);
|
|
}
|
|
|
|
|
|
/*getProvisions().then(async function(res){
|
|
console.log(res.results.length);
|
|
await asyncForEach(res.results, async function(prov){
|
|
if ( prov.vmType ) {
|
|
//console.log("vmType", prov.vmType, prov.vmImage)
|
|
prov["vmImage"] = {
|
|
"vm1": {
|
|
"vmType": prov.vmType,
|
|
"diskSizeGb": 128
|
|
}
|
|
}
|
|
prov.vmType = null;
|
|
await prov.save();
|
|
}
|
|
});
|
|
process.exit(0);
|
|
});*/
|
|
|
|
/*db.models.Provision.updateMany({"nodeCount": { $exists: true}}, { $unset: { nodeCount: "" } }, function(err, res){
|
|
if (err) {
|
|
console.log("error", err);
|
|
process.exit(1);
|
|
} else {
|
|
console.log("Good", res);
|
|
process.exit(0);
|
|
}
|
|
});*/
|
|
|
|
/*db.models.Scenario.updateMany({"nodeCount": { $exists: true}}, { $unset: { nodeCount: "" } }, function(err, res){
|
|
if (err) {
|
|
console.log("error", err);
|
|
process.exit(1);
|
|
} else {
|
|
console.log("Good", res);
|
|
process.exit(0);
|
|
}
|
|
});*/
|
|
|
|
/*db.models.Provision.updateMany({}, { "scenarioVersion": "1.0" }, function(err, res){
|
|
if (err) {
|
|
console.log("error", err);
|
|
process.exit(1);
|
|
} else {
|
|
console.log("Good", res);
|
|
process.exit(0);
|
|
}
|
|
});*/
|
|
|
|
/*getProvisions({
|
|
"isDestroyed": true,
|
|
"statusVms": "Stopped"
|
|
}).then(async function(res){
|
|
console.log(res.results.length);
|
|
await asyncForEach(res.results, async function(prov){
|
|
//if ( prov.destroy ) {
|
|
var runningFrom = new Date(prov.runningFrom).getTime();
|
|
var updated;
|
|
if ( prov.destroy ) {
|
|
updated = new Date(prov.destroy.updated).getTime();
|
|
} else {
|
|
updated = new Date(prov.updated).getTime();
|
|
}
|
|
var mins = Math.floor( (updated-runningFrom)/1000/60);
|
|
if ( !isNaN(mins) ) {
|
|
var newTimeRunning = (prov.timeRunning-mins);
|
|
|
|
if ( newTimeRunning > 0 ) {
|
|
console.log(prov._id, "timeRunning="+prov.timeRunning, " offset="+mins, " timeRunningNew="+newTimeRunning, prov.destroy? "OK" : "BUUUH");
|
|
|
|
prov.timeRunning = newTimeRunning;
|
|
await prov.save();
|
|
console.log("saved!");
|
|
}
|
|
}
|
|
//}
|
|
});
|
|
process.exit(0);
|
|
})*/
|
|
|
|
|
|
/*getProvisions({
|
|
"isDestroyed": true
|
|
}).then(async function(res){
|
|
console.log(res.results.length);
|
|
var count = 0;
|
|
await asyncForEach(res.results, async function(prov){
|
|
//if ( prov.destroy ) {
|
|
var actualDestroyDate;
|
|
if ( prov.destroy ) {
|
|
actualDestroyDate = prov.destroy.updated;
|
|
prov.actualDestroyDate = actualDestroyDate;
|
|
await prov.save();
|
|
count = count + 1;
|
|
console.log("saved!", count);
|
|
}
|
|
|
|
//}
|
|
});
|
|
process.exit(0);
|
|
})*/
|
|
|
|
getProvisions({
|
|
"isDestroyed": true, "actualDestroyDate": {"$exists":false}, "isDeleted": true
|
|
}).then(async function(res){
|
|
console.log(res.total, res.count);
|
|
var count = 0;
|
|
await asyncForEach(res.results, async function(prov){
|
|
prov.actualDestroyDate = prov.updated;
|
|
await prov.save();
|
|
count = count + 1;
|
|
console.log("saved!", count);
|
|
});
|
|
process.exit(0);
|
|
})
|
|
|
|
|
|
|