This is an automated email from the ASF dual-hosted git repository.
shwstppr pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/main by this push:
new 9773ba3e951 Allow autoscale group and name override (#8324)
9773ba3e951 is described below
commit 9773ba3e951e7d75284f027dc2a009cd04bc3197
Author: Rene Glover <[email protected]>
AuthorDate: Thu Dec 7 23:51:25 2023 -0600
Allow autoscale group and name override (#8324)
Updates AutoScaleManager/AutoScaleManagerImpl so that getNextVmHostName and
checkAutoScaleVmGroupName can be overridden in derivative implementations to
allow for custom naming conditions and restrictions. If possible, would like to
include this in 4.19 since it is a trivial change.
This can be used to create an extension of AutoScaleManagerImpl.java,
overriding these 2 methods
---
server/src/main/java/com/cloud/network/as/AutoScaleManager.java | 4 ++++
server/src/main/java/com/cloud/network/as/AutoScaleManagerImpl.java | 6 ++++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/server/src/main/java/com/cloud/network/as/AutoScaleManager.java
b/server/src/main/java/com/cloud/network/as/AutoScaleManager.java
index 1d829b1fcc5..cf6aab6a7bb 100644
--- a/server/src/main/java/com/cloud/network/as/AutoScaleManager.java
+++ b/server/src/main/java/com/cloud/network/as/AutoScaleManager.java
@@ -55,4 +55,8 @@ public interface AutoScaleManager extends AutoScaleService {
void checkIfVmActionAllowed(Long vmId);
void removeVmFromVmGroup(Long vmId);
+
+ String getNextVmHostName(AutoScaleVmGroupVO asGroup);
+
+ void checkAutoScaleVmGroupName(String groupName);
}
diff --git
a/server/src/main/java/com/cloud/network/as/AutoScaleManagerImpl.java
b/server/src/main/java/com/cloud/network/as/AutoScaleManagerImpl.java
index 2f69ac6e9ba..c10ff89fa3d 100644
--- a/server/src/main/java/com/cloud/network/as/AutoScaleManagerImpl.java
+++ b/server/src/main/java/com/cloud/network/as/AutoScaleManagerImpl.java
@@ -1938,7 +1938,8 @@ public class AutoScaleManagerImpl extends ManagerBase
implements AutoScaleManage
}
}
- private String getNextVmHostName(AutoScaleVmGroupVO asGroup) {
+ @Override
+ public String getNextVmHostName(AutoScaleVmGroupVO asGroup) {
String vmHostNameSuffix = "-" + asGroup.getNextVmSeq() + "-" +
RandomStringUtils.random(VM_HOSTNAME_RANDOM_SUFFIX_LENGTH, 0,
0, true, false, (char[])null, new SecureRandom()).toLowerCase();
// Truncate vm group name because max length of vm name is 63
@@ -1946,7 +1947,8 @@ public class AutoScaleManagerImpl extends ManagerBase
implements AutoScaleManage
return VM_HOSTNAME_PREFIX + asGroup.getName().substring(0,
subStringLength) + vmHostNameSuffix;
}
- private void checkAutoScaleVmGroupName(String groupName) {
+ @Override
+ public void checkAutoScaleVmGroupName(String groupName) {
String errorMessage = "";
if (groupName == null || groupName.length() > 255 ||
groupName.length() < 1) {
errorMessage = "AutoScale Vm Group name must be between 1 and 255
characters long";