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 <rg9...@att.com> 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";