mirror of https://github.com/apache/cloudstack.git
Allow configkey to set 'cloud-name' cloud-init metadata (#7964)
* Allow configkey to set 'cloud-name' cloud-init metadata * Update engine/api/src/main/java/com/cloud/vm/VirtualMachineManager.java Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com> * Update server/src/main/java/com/cloud/network/NetworkModelImpl.java Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com> * Update server/src/main/java/com/cloud/network/router/CommandSetupHelper.java Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com> * Revert "Update server/src/main/java/com/cloud/network/router/CommandSetupHelper.java" This reverts commit8abc3e38c4. * Revert "Update server/src/main/java/com/cloud/network/NetworkModelImpl.java" This reverts commit7f239be919. * Rework/Fix review code suggestions --------- Co-authored-by: Marcus Sorensen <mls@apple.com> Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com>
This commit is contained in:
parent
30e34ef310
commit
155a30748c
|
|
@ -73,6 +73,7 @@ public interface NetworkModel {
|
|||
String HYPERVISOR_HOST_NAME_FILE = "hypervisor-host-name";
|
||||
String CLOUD_DOMAIN_FILE = "cloud-domain";
|
||||
String CLOUD_DOMAIN_ID_FILE = "cloud-domain-id";
|
||||
String CLOUD_NAME_FILE = "cloud-name";
|
||||
int CONFIGDATA_DIR = 0;
|
||||
int CONFIGDATA_FILE = 1;
|
||||
int CONFIGDATA_CONTENT = 2;
|
||||
|
|
@ -83,11 +84,12 @@ public interface NetworkModel {
|
|||
.put(PUBLIC_HOSTNAME_FILE, "name")
|
||||
.put(CLOUD_DOMAIN_FILE, CLOUD_DOMAIN_FILE)
|
||||
.put(CLOUD_DOMAIN_ID_FILE, CLOUD_DOMAIN_ID_FILE)
|
||||
.put(CLOUD_NAME_FILE, CLOUD_NAME_FILE)
|
||||
.put(HYPERVISOR_HOST_NAME_FILE, HYPERVISOR_HOST_NAME_FILE)
|
||||
.build();
|
||||
|
||||
List<String> metadataFileNames = new ArrayList<>(Arrays.asList(SERVICE_OFFERING_FILE, AVAILABILITY_ZONE_FILE, LOCAL_HOSTNAME_FILE, LOCAL_IPV4_FILE, PUBLIC_HOSTNAME_FILE, PUBLIC_IPV4_FILE,
|
||||
INSTANCE_ID_FILE, VM_ID_FILE, PUBLIC_KEYS_FILE, CLOUD_IDENTIFIER_FILE, HYPERVISOR_HOST_NAME_FILE));
|
||||
INSTANCE_ID_FILE, VM_ID_FILE, PUBLIC_KEYS_FILE, CLOUD_IDENTIFIER_FILE, CLOUD_NAME_FILE, HYPERVISOR_HOST_NAME_FILE));
|
||||
|
||||
static final ConfigKey<Integer> MACIdentifier = new ConfigKey<>("Advanced",Integer.class, "mac.identifier", "0",
|
||||
"This value will be used while generating the mac addresses for isolated and shared networks. The hexadecimal equivalent value will be present at the 2nd octet of the mac address. Default value is zero (0) which means that the DB id of the zone will be used.", true, ConfigKey.Scope.Zone);
|
||||
|
|
|
|||
|
|
@ -83,6 +83,9 @@ public interface VirtualMachineManager extends Manager {
|
|||
ConfigKey<Boolean> AllowExposeDomainInMetadata = new ConfigKey<>("Advanced", Boolean.class, "metadata.allow.expose.domain",
|
||||
"false", "If set to true, it allows the VM's domain to be seen in metadata.", true, ConfigKey.Scope.Domain);
|
||||
|
||||
ConfigKey<String> MetadataCustomCloudName = new ConfigKey<>("Advanced", String.class, "metadata.custom.cloud.name", "",
|
||||
"If provided, a custom cloud-name in cloud-init metadata", true, ConfigKey.Scope.Zone);
|
||||
|
||||
interface Topics {
|
||||
String VM_POWER_STATE = "vm.powerstate";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4709,7 +4709,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
VmOpLockStateRetry, VmOpWaitInterval, ExecuteInSequence, VmJobCheckInterval, VmJobTimeout, VmJobStateReportInterval,
|
||||
VmConfigDriveLabel, VmConfigDriveOnPrimaryPool, VmConfigDriveForceHostCacheUse, VmConfigDriveUseHostCacheOnUnsupportedPool,
|
||||
HaVmRestartHostUp, ResourceCountRunningVMsonly, AllowExposeHypervisorHostname, AllowExposeHypervisorHostnameAccountLevel, SystemVmRootDiskSize,
|
||||
AllowExposeDomainInMetadata
|
||||
AllowExposeDomainInMetadata, MetadataCustomCloudName
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2673,6 +2673,11 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi
|
|||
vmData.add(new String[]{METATDATA_DIR, CLOUD_DOMAIN_ID_FILE, domain.getUuid()});
|
||||
}
|
||||
|
||||
String customCloudName = VirtualMachineManager.MetadataCustomCloudName.valueIn(datacenterId);
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(customCloudName)) {
|
||||
vmData.add(new String[]{METATDATA_DIR, CLOUD_NAME_FILE, customCloudName});
|
||||
}
|
||||
|
||||
return vmData;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -231,6 +231,11 @@ public class CommandSetupHelper {
|
|||
vmDataCommand.addVmData(NetworkModel.METATDATA_DIR, NetworkModel.CLOUD_DOMAIN_ID_FILE, domain.getUuid());
|
||||
}
|
||||
|
||||
String customCloudName = VirtualMachineManager.MetadataCustomCloudName.valueIn(vm.getDataCenterId());
|
||||
if (org.apache.commons.lang3.StringUtils.isNotBlank(customCloudName)) {
|
||||
vmDataCommand.addVmData(NetworkModel.METATDATA_DIR, NetworkModel.CLOUD_NAME_FILE, customCloudName);
|
||||
}
|
||||
|
||||
cmds.addCommand("vmdata", vmDataCommand);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue