CS-15627:

Metadata should not expose "instance-id","vm-id" information to the regular User
Description:
	Fix the vm-id output. Output the UUID instead of the db id. Did not change the instance-id.

reviewed-by: vaijy
This commit is contained in:
Fang Wang 2012-08-27 15:47:39 -07:00
parent 25d6abd220
commit 8ede202718
4 changed files with 16 additions and 6 deletions

View File

@ -100,6 +100,11 @@ public interface VirtualMachineProfile<T extends VirtualMachine> {
*/
long getId();
/**
* @return virtual machine uuid.
*/
String getUuid();
List<NicProfile> getNics();
List<VolumeTO> getDisks();

View File

@ -148,7 +148,7 @@ public class CloudZonesNetworkElement extends AdapterBase implements NetworkElem
}
private VmDataCommand generateVmDataCommand(String vmPrivateIpAddress,
String userData, String serviceOffering, String zoneName, String guestIpAddress, String vmName, String vmInstanceName, long vmId, String publicKey) {
String userData, String serviceOffering, String zoneName, String guestIpAddress, String vmName, String vmInstanceName, String vmUuid, String publicKey) {
VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName);
cmd.addVmData("userdata", "user-data", userData);
@ -159,7 +159,7 @@ public class CloudZonesNetworkElement extends AdapterBase implements NetworkElem
cmd.addVmData("metadata", "public-ipv4", guestIpAddress);
cmd.addVmData("metadata", "public-hostname", guestIpAddress);
cmd.addVmData("metadata", "instance-id", vmInstanceName);
cmd.addVmData("metadata", "vm-id", String.valueOf(vmId));
cmd.addVmData("metadata", "vm-id", vmUuid);
cmd.addVmData("metadata", "public-keys", publicKey);
return cmd;
@ -209,7 +209,7 @@ public class CloudZonesNetworkElement extends AdapterBase implements NetworkElem
cmds.addCommand(
"vmdata",
generateVmDataCommand(nic.getIp4Address(), userData, serviceOffering, zoneName, nic.getIp4Address(), uservm.getVirtualMachine().getHostName(), uservm.getVirtualMachine().getInstanceName(),
uservm.getId(), sshPublicKey));
uservm.getUuid(), sshPublicKey));
try {
_agentManager.send(dest.getHost().getId(), cmds);
} catch (OperationTimedoutException e) {

View File

@ -711,7 +711,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
private VmDataCommand generateVmDataCommand(VirtualRouter router, String vmPrivateIpAddress, String userData,
String serviceOffering, String zoneName, String guestIpAddress, String vmName,
String vmInstanceName, long vmId, String publicKey, long guestNetworkId) {
String vmInstanceName, String vmUuid, String publicKey, long guestNetworkId) {
VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName);
cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, getRouterControlIp(router.getId()));
@ -739,7 +739,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
cmd.addVmData("metadata", "public-hostname", router.getPublicIpAddress());
}
cmd.addVmData("metadata", "instance-id", vmInstanceName);
cmd.addVmData("metadata", "vm-id", String.valueOf(vmId));
cmd.addVmData("metadata", "vm-id", vmUuid);
cmd.addVmData("metadata", "public-keys", publicKey);
String cloudIdentifier = _configDao.getValue("cloud.identifier");
@ -2911,7 +2911,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
String zoneName = _dcDao.findById(router.getDataCenterIdToDeployIn()).getName();
cmds.addCommand("vmdata",
generateVmDataCommand(router, nic.getIp4Address(), vm.getUserData(), serviceOffering, zoneName, nic.getIp4Address(),
vm.getHostName(), vm.getInstanceName(), vm.getId(), publicKey, nic.getNetworkId()));
vm.getHostName(), vm.getInstanceName(), vm.getUuid(), publicKey, nic.getNetworkId()));
}

View File

@ -124,6 +124,11 @@ public class VirtualMachineProfileImpl<T extends VMInstanceVO> implements Virtua
return _vm.getId();
}
@Override
public String getUuid() {
return _vm.getUuid();
}
public void setNics(List<NicProfile> nics) {
_nics = nics;
}