mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-9542: make listNics and ListUserVms return uniform NIC data (#2208)
Makes listNics and ListUserVms return uniform NICs.
This commit is contained in:
parent
593ed59bcd
commit
8e6d8a1cf3
|
|
@ -3594,6 +3594,10 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* The resulting Response attempts to be in line with what is returned from
|
||||
* @see com.cloud.api.query.dao.UserVmJoinDaoImpl#setUserVmResponse(ResponseView, UserVmResponse, UserVmJoinVO)
|
||||
*/
|
||||
@Override
|
||||
public NicResponse createNicResponse(Nic result) {
|
||||
NicResponse response = new NicResponse();
|
||||
|
|
@ -3602,30 +3606,63 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
UserVmJoinVO userVm = _entityMgr.findById(UserVmJoinVO.class, result.getInstanceId());
|
||||
List<NicExtraDhcpOptionVO> nicExtraDhcpOptionVOs = _nicExtraDhcpOptionDao.listByNicId(result.getId());
|
||||
|
||||
// The numbered comments are to keep track of the data returned from here and UserVmJoinDaoImpl.setUserVmResponse()
|
||||
// the data can't be identical but some tidying up/unifying might be possible
|
||||
/*1: nicUuid*/
|
||||
response.setId(result.getUuid());
|
||||
/*2: networkUuid*/
|
||||
response.setNetworkid(network.getUuid());
|
||||
|
||||
/*3: vmId*/
|
||||
if (vm != null) {
|
||||
response.setVmId(vm.getUuid());
|
||||
}
|
||||
|
||||
if (userVm != null){
|
||||
if (userVm.getTrafficType() != null) {
|
||||
/*4: trafficType*/
|
||||
response.setTrafficType(userVm.getTrafficType().toString());
|
||||
}
|
||||
if (userVm.getGuestType() != null) {
|
||||
/*5: guestType*/
|
||||
response.setType(userVm.getGuestType().toString());
|
||||
}
|
||||
}
|
||||
/*6: ipAddress*/
|
||||
response.setIpaddress(result.getIPv4Address());
|
||||
|
||||
List<NicExtraDhcpOptionResponse> nicExtraDhcpOptionResponses = nicExtraDhcpOptionVOs
|
||||
.stream()
|
||||
.map(vo -> new NicExtraDhcpOptionResponse(Dhcp.DhcpOptionCode.valueOfInt(vo.getCode()).getName(), vo.getCode(), vo.getValue()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
response.setExtraDhcpOptions(nicExtraDhcpOptionResponses);
|
||||
|
||||
/*7: gateway*/
|
||||
response.setGateway(result.getIPv4Gateway());
|
||||
/*8: netmask*/
|
||||
response.setNetmask(result.getIPv4Netmask());
|
||||
/*9: networkName*/
|
||||
if(userVm != null && userVm.getNetworkName() != null) {
|
||||
response.setNetworkName(userVm.getNetworkName());
|
||||
}
|
||||
/*10: macAddress*/
|
||||
response.setMacAddress(result.getMacAddress());
|
||||
/*11: IPv6Address*/
|
||||
if (result.getIPv6Address() != null) {
|
||||
response.setIp6Address(result.getIPv6Address());
|
||||
}
|
||||
/*12: IPv6Gateway*/
|
||||
if (result.getIPv6Gateway() != null) {
|
||||
response.setIp6Gateway(result.getIPv6Gateway());
|
||||
}
|
||||
/*13: IPv6Cidr*/
|
||||
if (result.getIPv6Cidr() != null) {
|
||||
response.setIp6Cidr(result.getIPv6Cidr());
|
||||
}
|
||||
/*14: deviceId*/
|
||||
response.setDeviceId(String.valueOf(result.getDeviceId()));
|
||||
/*15: broadcastURI*/
|
||||
if (result.getBroadcastUri() != null) {
|
||||
response.setBroadcastUri(result.getBroadcastUri().toString());
|
||||
}
|
||||
/*16: isolationURI*/
|
||||
if (result.getIsolationUri() != null) {
|
||||
response.setIsolationUri(result.getIsolationUri().toString());
|
||||
}
|
||||
/*17: default*/
|
||||
response.setIsDefault(result.isDefaultNic());
|
||||
if (result.getSecondaryIp()) {
|
||||
List<NicSecondaryIpVO> secondaryIps = ApiDBUtils.findNicSecondaryIps(result.getId());
|
||||
if (secondaryIps != null) {
|
||||
|
|
@ -3639,22 +3676,13 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setSecondaryIps(ipList);
|
||||
}
|
||||
}
|
||||
/*18: extra dhcp options */
|
||||
List<NicExtraDhcpOptionResponse> nicExtraDhcpOptionResponses = nicExtraDhcpOptionVOs
|
||||
.stream()
|
||||
.map(vo -> new NicExtraDhcpOptionResponse(Dhcp.DhcpOptionCode.valueOfInt(vo.getCode()).getName(), vo.getCode(), vo.getValue()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
response.setGateway(result.getIPv4Gateway());
|
||||
response.setNetmask(result.getIPv4Netmask());
|
||||
response.setMacAddress(result.getMacAddress());
|
||||
|
||||
if (result.getIPv6Address() != null) {
|
||||
response.setIp6Address(result.getIPv6Address());
|
||||
}
|
||||
|
||||
if (result.getIPv6Cidr() != null) {
|
||||
response.setIp6Cidr(result.getIPv6Cidr());
|
||||
}
|
||||
|
||||
response.setDeviceId(String.valueOf(result.getDeviceId()));
|
||||
|
||||
response.setIsDefault(result.isDefaultNic());
|
||||
response.setExtraDhcpOptions(nicExtraDhcpOptionResponses);
|
||||
|
||||
if (result instanceof NicVO){
|
||||
if (((NicVO)result).getNsxLogicalSwitchUuid() != null){
|
||||
|
|
|
|||
|
|
@ -324,6 +324,10 @@ public class UserVmJoinDaoImpl extends GenericDaoBaseWithTagInformation<UserVmJo
|
|||
return userVmResponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* The resulting Response attempts to be in line with what is returned from
|
||||
* @see com.cloud.api.ApiResponseHelper#createNicResponse(Nic)
|
||||
*/
|
||||
@Override
|
||||
public UserVmResponse setUserVmResponse(ResponseView view, UserVmResponse userVmData, UserVmJoinVO uvo) {
|
||||
Long securityGroupId = uvo.getSecurityGroupId();
|
||||
|
|
@ -345,28 +349,50 @@ public class UserVmJoinDaoImpl extends GenericDaoBaseWithTagInformation<UserVmJo
|
|||
long nic_id = uvo.getNicId();
|
||||
if (nic_id > 0) {
|
||||
NicResponse nicResponse = new NicResponse();
|
||||
// The numbered comments are to keep track of the data returned from here and ApiResponseHelper.createNicResponse()
|
||||
// the data can't be identical but some tidying up/unifying might be possible
|
||||
/*1: nicUuid*/
|
||||
nicResponse.setId(uvo.getNicUuid());
|
||||
nicResponse.setIpaddress(uvo.getIpAddress());
|
||||
nicResponse.setGateway(uvo.getGateway());
|
||||
nicResponse.setNetmask(uvo.getNetmask());
|
||||
/*2: networkUuid*/
|
||||
nicResponse.setNetworkid(uvo.getNetworkUuid());
|
||||
nicResponse.setNetworkName(uvo.getNetworkName());
|
||||
nicResponse.setMacAddress(uvo.getMacAddress());
|
||||
nicResponse.setIp6Address(uvo.getIp6Address());
|
||||
nicResponse.setIp6Gateway(uvo.getIp6Gateway());
|
||||
nicResponse.setIp6Cidr(uvo.getIp6Cidr());
|
||||
if (uvo.getBroadcastUri() != null) {
|
||||
nicResponse.setBroadcastUri(uvo.getBroadcastUri().toString());
|
||||
}
|
||||
if (uvo.getIsolationUri() != null) {
|
||||
nicResponse.setIsolationUri(uvo.getIsolationUri().toString());
|
||||
}
|
||||
/*3: vmId makes no sense on a nested nic object so it is ommited here */
|
||||
|
||||
if (uvo.getTrafficType() != null) {
|
||||
/*4: trafficType*/
|
||||
nicResponse.setTrafficType(uvo.getTrafficType().toString());
|
||||
}
|
||||
if (uvo.getGuestType() != null) {
|
||||
/*5: guestType*/
|
||||
nicResponse.setType(uvo.getGuestType().toString());
|
||||
}
|
||||
/*6: ipAddress*/
|
||||
nicResponse.setIpaddress(uvo.getIpAddress());
|
||||
/*7: gateway*/
|
||||
nicResponse.setGateway(uvo.getGateway());
|
||||
/*8: netmask*/
|
||||
nicResponse.setNetmask(uvo.getNetmask());
|
||||
/*9: networkName*/
|
||||
nicResponse.setNetworkName(uvo.getNetworkName());
|
||||
/*10: macAddress*/
|
||||
nicResponse.setMacAddress(uvo.getMacAddress());
|
||||
/*11: IPv6Address*/
|
||||
nicResponse.setIp6Address(uvo.getIp6Address());
|
||||
/*12: IPv6Gateway*/
|
||||
nicResponse.setIp6Gateway(uvo.getIp6Gateway());
|
||||
/*13: IPv6Cidr*/
|
||||
nicResponse.setIp6Cidr(uvo.getIp6Cidr());
|
||||
/*14: deviceId*/
|
||||
// where do we find nicResponse.setDeviceId(
|
||||
// this is probably not String.valueOf(uvo.getNicId())); as this is a db-id
|
||||
/*15: broadcastURI*/
|
||||
if (uvo.getBroadcastUri() != null) {
|
||||
nicResponse.setBroadcastUri(uvo.getBroadcastUri().toString());
|
||||
}
|
||||
/*16: isolationURI*/
|
||||
if (uvo.getIsolationUri() != null) {
|
||||
nicResponse.setIsolationUri(uvo.getIsolationUri().toString());
|
||||
}
|
||||
/*17: default*/
|
||||
nicResponse.setIsDefault(uvo.isDefaultNic());
|
||||
List<NicSecondaryIpVO> secondaryIps = ApiDBUtils.findNicSecondaryIps(uvo.getNicId());
|
||||
if (secondaryIps != null) {
|
||||
|
|
@ -380,6 +406,7 @@ public class UserVmJoinDaoImpl extends GenericDaoBaseWithTagInformation<UserVmJo
|
|||
nicResponse.setSecondaryIps(ipList);
|
||||
}
|
||||
|
||||
/* 18: extra dhcp options */
|
||||
nicResponse.setObjectName("nic");
|
||||
List<NicExtraDhcpOptionResponse> nicExtraDhcpOptionResponses = _nicExtraDhcpOptionDao.listByNicId(nic_id)
|
||||
.stream()
|
||||
|
|
|
|||
Loading…
Reference in New Issue