mirror of
https://github.com/democratic-csi/democratic-csi.git
synced 2026-10-07 22:27:55 +02:00
57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
function sleep(ms) {
|
|
return new Promise((resolve) => {
|
|
setTimeout(resolve, ms);
|
|
});
|
|
}
|
|
|
|
function lockKeysFromRequest(call, serviceMethodName) {
|
|
switch (serviceMethodName) {
|
|
// controller
|
|
case "CreateVolume":
|
|
return ["create_volume_name_" + call.request.name];
|
|
case "DeleteVolume":
|
|
case "ControllerExpandVolume":
|
|
return ["volume_id_" + call.request.volume_id];
|
|
case "CreateSnapshot":
|
|
return [
|
|
"create_snapshot_name_" + call.request.name,
|
|
"volume_id_" + call.request.source_volume_id,
|
|
];
|
|
case "DeleteSnapshot":
|
|
return ["snapshot_id_" + call.request.snapshot_id];
|
|
|
|
// node
|
|
case "NodeStageVolume":
|
|
case "NodeUnstageVolume":
|
|
case "NodePublishVolume":
|
|
case "NodeUnpublishVolume":
|
|
case "NodeGetVolumeStats":
|
|
case "NodeExpandVolume":
|
|
return ["volume_id_" + call.request.volume_id];
|
|
|
|
default:
|
|
return [];
|
|
}
|
|
}
|
|
|
|
function getLargestNumber() {
|
|
let number;
|
|
for (let i = 0; i < arguments.length; i++) {
|
|
value = Number(arguments[i]);
|
|
if (isNaN(value)) {
|
|
continue;
|
|
}
|
|
if (isNaN(number)) {
|
|
number = value;
|
|
continue;
|
|
}
|
|
number = value > number ? value : number;
|
|
}
|
|
|
|
return number;
|
|
}
|
|
|
|
module.exports.sleep = sleep;
|
|
module.exports.lockKeysFromRequest = lockKeysFromRequest;
|
|
module.exports.getLargestNumber = getLargestNumber;
|