Keep the instance-id and vm-id values prior to Acton, use UUID for VMs created poast Acton.

This commit is contained in:
Fang Wang 2012-09-11 16:18:07 -07:00 committed by Alena Prokharchyk
parent cc80d09d77
commit 6fd7da8f56
2 changed files with 42 additions and 15 deletions

View File

@ -152,7 +152,7 @@ public class CloudZonesNetworkElement extends AdapterBase implements NetworkElem
} }
private VmDataCommand generateVmDataCommand(String vmPrivateIpAddress, private VmDataCommand generateVmDataCommand(String vmPrivateIpAddress,
String userData, String serviceOffering, String zoneName, String guestIpAddress, String vmName, String vmUuid, String publicKey) { String userData, String serviceOffering, String zoneName, String guestIpAddress, String vmName, String vmInstanceName, long vmId, String vmUuid, String publicKey) {
VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName); VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName);
cmd.addVmData("userdata", "user-data", userData); cmd.addVmData("userdata", "user-data", userData);
@ -162,13 +162,27 @@ public class CloudZonesNetworkElement extends AdapterBase implements NetworkElem
cmd.addVmData("metadata", "local-hostname", vmName); cmd.addVmData("metadata", "local-hostname", vmName);
cmd.addVmData("metadata", "public-ipv4", guestIpAddress); cmd.addVmData("metadata", "public-ipv4", guestIpAddress);
cmd.addVmData("metadata", "public-hostname", guestIpAddress); cmd.addVmData("metadata", "public-hostname", guestIpAddress);
cmd.addVmData("metadata", "instance-id", vmUuid); if (vmUuid == null) {
cmd.addVmData("metadata", "vm-id", vmUuid); setVmInstanceId(vmInstanceName, vmId, cmd);
} else {
setVmInstanceId(vmUuid, cmd);
}
cmd.addVmData("metadata", "public-keys", publicKey); cmd.addVmData("metadata", "public-keys", publicKey);
return cmd; return cmd;
} }
private void setVmInstanceId(String vmUuid, VmDataCommand cmd) {
cmd.addVmData("metadata", "instance-id", vmUuid);
cmd.addVmData("metadata", "vm-id", vmUuid);
}
private void setVmInstanceId(String vmInstanceName, long vmId, VmDataCommand cmd) {
cmd.addVmData("metadata", "instance-id", vmInstanceName);
cmd.addVmData("metadata", "vm-id", String.valueOf(vmId));
}
@Override @Override
public boolean isReady(PhysicalNetworkServiceProvider provider) { public boolean isReady(PhysicalNetworkServiceProvider provider) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -213,7 +227,7 @@ public class CloudZonesNetworkElement extends AdapterBase implements NetworkElem
cmds.addCommand( cmds.addCommand(
"vmdata", "vmdata",
generateVmDataCommand(nic.getIp4Address(), userData, serviceOffering, zoneName, nic.getIp4Address(), uservm.getVirtualMachine().getHostName(), generateVmDataCommand(nic.getIp4Address(), userData, serviceOffering, zoneName, nic.getIp4Address(), uservm.getVirtualMachine().getHostName(),
uservm.getUuid(), sshPublicKey)); uservm.getInstanceName(), uservm.getId(), uservm.getUuid(), sshPublicKey));
try { try {
_agentManager.send(dest.getHost().getId(), cmds); _agentManager.send(dest.getHost().getId(), cmds);
} catch (OperationTimedoutException e) { } catch (OperationTimedoutException e) {

View File

@ -695,7 +695,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
private VmDataCommand generateVmDataCommand(VirtualRouter router, String vmPrivateIpAddress, String userData, private VmDataCommand generateVmDataCommand(VirtualRouter router, String vmPrivateIpAddress, String userData,
String serviceOffering, String zoneName, String guestIpAddress, String vmName, String serviceOffering, String zoneName, String guestIpAddress, String vmName,
String vmUuid, String publicKey, long guestNetworkId) { String vmInstanceName, long vmId, String vmUuid, String publicKey, long guestNetworkId) {
VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName); VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName);
cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, getRouterControlIp(router.getId())); cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, getRouterControlIp(router.getId()));
@ -713,8 +713,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
if (dcVo.getNetworkType() == NetworkType.Basic) { if (dcVo.getNetworkType() == NetworkType.Basic) {
cmd.addVmData("metadata", "public-ipv4", guestIpAddress); cmd.addVmData("metadata", "public-ipv4", guestIpAddress);
cmd.addVmData("metadata", "public-hostname", StringUtils.unicodeEscape(vmName)); cmd.addVmData("metadata", "public-hostname", StringUtils.unicodeEscape(vmName));
} else } else{
{
if (router.getPublicIpAddress() == null) { if (router.getPublicIpAddress() == null) {
cmd.addVmData("metadata", "public-ipv4", guestIpAddress); cmd.addVmData("metadata", "public-ipv4", guestIpAddress);
} else { } else {
@ -722,8 +721,11 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
} }
cmd.addVmData("metadata", "public-hostname", router.getPublicIpAddress()); cmd.addVmData("metadata", "public-hostname", router.getPublicIpAddress());
} }
cmd.addVmData("metadata", "instance-id", vmUuid); if (vmUuid == null) {
cmd.addVmData("metadata", "vm-id", vmUuid); setVmInstanceId(vmInstanceName, vmId, cmd);
} else {
setVmInstanceId(vmUuid, cmd);
}
cmd.addVmData("metadata", "public-keys", publicKey); cmd.addVmData("metadata", "public-keys", publicKey);
String cloudIdentifier = _configDao.getValue("cloud.identifier"); String cloudIdentifier = _configDao.getValue("cloud.identifier");
@ -737,6 +739,17 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
return cmd; return cmd;
} }
private void setVmInstanceId(String vmUuid, VmDataCommand cmd) {
cmd.addVmData("metadata", "instance-id", vmUuid);
cmd.addVmData("metadata", "vm-id", vmUuid);
}
private void setVmInstanceId(String vmInstanceName, long vmId,VmDataCommand cmd) {
cmd.addVmData("metadata", "instance-id", vmInstanceName);
cmd.addVmData("metadata", "vm-id", String.valueOf(vmId));
}
protected class NetworkUsageTask implements Runnable { protected class NetworkUsageTask implements Runnable {
public NetworkUsageTask() { public NetworkUsageTask() {
@ -2816,7 +2829,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
String zoneName = _dcDao.findById(router.getDataCenterIdToDeployIn()).getName(); String zoneName = _dcDao.findById(router.getDataCenterIdToDeployIn()).getName();
cmds.addCommand("vmdata", cmds.addCommand("vmdata",
generateVmDataCommand(router, nic.getIp4Address(), vm.getUserData(), serviceOffering, zoneName, nic.getIp4Address(), generateVmDataCommand(router, nic.getIp4Address(), vm.getUserData(), serviceOffering, zoneName, nic.getIp4Address(),
vm.getHostName(), vm.getUuid(), publicKey, nic.getNetworkId())); vm.getHostName(), vm.getInstanceName(), vm.getId(), vm.getUuid(), publicKey, nic.getNetworkId()));
} }