Skip to content

Commit 43b27ae

Browse files
committed
Adding public ip to listKubernetesClusterResponse
1 parent 09700de commit 43b27ae

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@
117117
import com.cloud.network.Networks;
118118
import com.cloud.network.PhysicalNetwork;
119119
import com.cloud.network.dao.FirewallRulesDao;
120+
import com.cloud.network.dao.IPAddressDao;
121+
import com.cloud.network.dao.IPAddressVO;
120122
import com.cloud.network.dao.NetworkDao;
121123
import com.cloud.network.dao.NetworkVO;
122124
import com.cloud.network.dao.PhysicalNetworkDao;
@@ -234,6 +236,8 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne
234236
@Inject
235237
protected NetworkDao networkDao;
236238
@Inject
239+
protected IPAddressDao ipAddressDao;
240+
@Inject
237241
protected CapacityManager capacityManager;
238242
@Inject
239243
protected ResourceManager resourceManager;
@@ -667,6 +671,13 @@ public KubernetesClusterResponse createKubernetesClusterResponse(long kubernetes
667671
response.setEndpoint(kubernetesCluster.getEndpoint());
668672
response.setNetworkId(ntwk.getUuid());
669673
response.setAssociatedNetworkName(ntwk.getName());
674+
if (ntwk.getGuestType() == Network.GuestType.Isolated) {
675+
List<IPAddressVO> ipAddresses = ipAddressDao.listByAssociatedNetwork(ntwk.getId(), true);
676+
if (ipAddresses != null && ipAddresses.size() == 1) {
677+
response.setIpAddress(ipAddresses.get(0).getAddress().addr());
678+
response.setIpAddressId(ipAddresses.get(0).getUuid());
679+
}
680+
}
670681
List<UserVmResponse> vmIds = new ArrayList<UserVmResponse>();
671682
List<KubernetesClusterVmMapVO> vmList = kubernetesClusterVmMapDao.listByClusterId(kubernetesCluster.getId());
672683
ResponseView respView = ResponseView.Restricted;

plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/response/KubernetesClusterResponse.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,14 @@ public class KubernetesClusterResponse extends BaseResponse implements Controlle
145145
@Param(description = "Maximum size of the cluster")
146146
private Long maxSize;
147147

148+
@SerializedName(ApiConstants.IP_ADDRESS)
149+
@Param(description = "Public IP Address of the cluster")
150+
private String ipAddress;
151+
152+
@SerializedName(ApiConstants.IP_ADDRESS_ID)
153+
@Param(description = "Public IP Address ID of the cluster")
154+
private String ipAddressId;
155+
148156
public KubernetesClusterResponse() {
149157
}
150158

@@ -348,4 +356,12 @@ public void setMinSize(Long minSize) {
348356
public void setMaxSize(Long maxSize) {
349357
this.maxSize = maxSize;
350358
}
359+
360+
public void setIpAddress(String ipAddress) {
361+
this.ipAddress = ipAddress;
362+
}
363+
364+
public void setIpAddressId(String ipAddressId) {
365+
this.ipAddressId = ipAddressId;
366+
}
351367
}

0 commit comments

Comments
 (0)