wp-mb-kit/scripts/common.yml

55 lines
1.9 KiB
YAML
Raw Normal View History

2024-04-26 15:38:56 +00:00
actions:
applyEnvSettings:
script: |
var envs = '${this.targetAppid}'.split(',');
2024-09-20 14:24:24 +00:00
var desiredCloudlets = parseInt('${this.cloudlets}');
var desiredDiskSpace = parseInt('${this.diskspace}');
for (var i = 0, n = envs.length; i < n; i++) {
var targetAppid = envs[i];
var resp = jelastic.env.control.GetEnvInfo(targetAppid, session);
if (resp.result != 0) {
return {
result: resp.result,
error: 'Failed to get environment info for ' + targetAppid + ': ' + resp.error,
};
2024-09-19 16:08:04 +00:00
}
2024-09-20 14:24:24 +00:00
if (!resp.nodes || resp.nodes.length === 0) {
return {
result: 1,
error: 'No nodes found in environment ' + targetAppid,
};
}
var node = resp.nodes[0];
if (parseInt(node.flexibleCloudlets) !== desiredCloudlets) {
resp = jelastic.env.control.SetCloudletsCountByGroup({
envName: targetAppid,
session: session,
nodeGroup: node.nodeGroup,
fixedCloudlets: parseInt(node.fixedCloudlets),
flexibleCloudlets: desiredCloudlets,
});
if (resp.result != 0) {
return {
result: resp.result,
error: 'Failed to set cloudlets for ' + targetAppid + ': ' + resp.error,
};
}
}
if (parseInt(node.diskLimit) !== desiredDiskSpace) {
resp = jelastic.env.control.SetDiskLimitByGroup({
envName: targetAppid,
session: session,
nodeGroup: node.nodeGroup,
limit: desiredDiskSpace,
});
if (resp.result != 0) {
return {
result: resp.result,
error: 'Failed to set disk space for ' + targetAppid + ': ' + resp.error,
};
}
2024-04-26 15:38:56 +00:00
}
}
2024-09-20 14:24:24 +00:00
return { result: 0 };