Skip to content

Commit 12b12e4

Browse files
committed
Merge remote-tracking branch 'apache/main' into add-externaldetails-cleanup
2 parents de357a6 + d60f455 commit 12b12e4

File tree

5 files changed

+47
-7
lines changed

5 files changed

+47
-7
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,16 +198,16 @@ private Pair<String, String> getKubernetesControlNodeConfig(final String control
198198
String initArgs = "";
199199
if (haSupported) {
200200
initArgs = String.format("--control-plane-endpoint %s:%d --upload-certs --certificate-key %s ",
201-
controlNodeIp,
201+
serverIp,
202202
CLUSTER_API_PORT,
203203
KubernetesClusterUtil.generateClusterHACertificateKey(kubernetesCluster));
204204
}
205-
initArgs += String.format("--apiserver-cert-extra-sans=%s", controlNodeIp);
205+
initArgs += String.format("--apiserver-cert-extra-sans=%s", serverIp);
206206
initArgs += String.format(" --kubernetes-version=%s", getKubernetesClusterVersion().getSemanticVersion());
207207
k8sControlNodeConfig = k8sControlNodeConfig.replace(clusterInitArgsKey, initArgs);
208208
k8sControlNodeConfig = k8sControlNodeConfig.replace(ejectIsoKey, String.valueOf(ejectIso));
209209
k8sControlNodeConfig = k8sControlNodeConfig.replace(etcdEndpointList, endpointList);
210-
k8sControlNodeConfig = k8sControlNodeConfig.replace(k8sServerIp, controlNodeIp);
210+
k8sControlNodeConfig = k8sControlNodeConfig.replace(k8sServerIp, serverIp);
211211
k8sControlNodeConfig = k8sControlNodeConfig.replace(k8sApiPort, String.valueOf(CLUSTER_API_PORT));
212212
k8sControlNodeConfig = k8sControlNodeConfig.replace(certSans, String.format("- %s", serverIp));
213213
k8sControlNodeConfig = k8sControlNodeConfig.replace(k8sCertificate, KubernetesClusterUtil.generateClusterHACertificateKey(kubernetesCluster));

scripts/vm/hypervisor/kvm/gpudiscovery.sh

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,40 @@
324324
# "used_by_vm": null
325325
# }
326326
# ]
327-
# }
327+
# },
328+
# {
329+
# "pci_address":"05:00.0",
330+
# "vendor_id":"1002",
331+
# "device_id":"74a5",
332+
# "vendor":"Advanced Micro Devices, Inc. [AMD/ATI]",
333+
# "device":"Aqua Vanjaram [Instinct MI325X]",
334+
# "driver":"amdgpu",
335+
# "pci_class":"Processing accelerators [1200]",
336+
# "iommu_group":"null",
337+
# "pci_root":"0000:05:00.0",
338+
# "numa_node":-1,
339+
# "sriov_totalvfs":0,
340+
# "sriov_numvfs":0,
341+
# "max_instances":null,
342+
# "video_ram":null,
343+
# "max_heads":null,
344+
# "max_resolution_x":null,
345+
# "max_resolution_y":null,
346+
#
347+
# "full_passthrough": {
348+
# "enabled":1,
349+
# "libvirt_address": {
350+
# "domain":"0x0000",
351+
# "bus":"0x05",
352+
# "slot":"0x00",
353+
# "function":"0x0"
354+
# },
355+
# "used_by_vm":null
356+
# },
357+
358+
# "vgpu_instances":[],
359+
# "vf_instances":[]
360+
# }
328361
# ]
329362
# }
330363
#
@@ -716,7 +749,7 @@ for LINE in "${LINES[@]}"; do
716749
fi
717750

718751
# Only process GPU classes (3D controller)
719-
if [[ ! "$PCI_CLASS" =~ (3D\ controller) ]]; then
752+
if [[ ! "$PCI_CLASS" =~ (3D\ controller|Processing\ accelerators) ]]; then
720753
continue
721754
fi
722755

server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManager.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ public interface ConsoleProxyManager extends Manager, ConsoleProxyService {
5656
ConfigKey<Boolean> NoVncConsoleSourceIpCheckEnabled = new ConfigKey<>(ConfigKey.CATEGORY_ADVANCED, Boolean.class, "novnc.console.sourceip.check.enabled", "false",
5757
"If true, The source IP to access novnc console must be same as the IP in request to management server for console URL. Needs to reconnect CPVM to management server when this changes (via restart CPVM, or management server, or cloud service in CPVM)", false);
5858

59+
ConfigKey<Boolean> NoVncConsoleShowDot = new ConfigKey<>(Boolean.class, "novnc.console.show.dot", ConfigKey.CATEGORY_ADVANCED, "true",
60+
"If true, in noVNC console a dot cursor will be shown when the remote server provides no local cursor, or provides a fully-transparent (invisible) cursor.",
61+
true, ConfigKey.Scope.Zone, null);
62+
5963
ConfigKey<String> ConsoleProxyServiceOffering = new ConfigKey<>(String.class, "consoleproxy.service.offering", "Console Proxy", null,
6064
"Uuid of the service offering used by console proxy; if NULL - system offering will be used", true, ConfigKey.Scope.Zone, null);
6165

server/src/main/java/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1572,7 +1572,7 @@ public String getConfigComponentName() {
15721572
public ConfigKey<?>[] getConfigKeys() {
15731573
return new ConfigKey<?>[] { ConsoleProxySslEnabled, NoVncConsoleDefault, NoVncConsoleSourceIpCheckEnabled, ConsoleProxyServiceOffering,
15741574
ConsoleProxyCapacityStandby, ConsoleProxyCapacityScanInterval, ConsoleProxyCmdPort, ConsoleProxyRestart, ConsoleProxyUrlDomain, ConsoleProxySessionMax, ConsoleProxySessionTimeout, ConsoleProxyDisableRpFilter, ConsoleProxyLaunchMax,
1575-
ConsoleProxyManagementLastState, ConsoleProxyServiceManagementState };
1575+
ConsoleProxyManagementLastState, ConsoleProxyServiceManagementState, NoVncConsoleShowDot };
15761576
}
15771577

15781578
protected ConsoleProxyStatus parseJsonToConsoleProxyStatus(String json) throws JsonParseException {

server/src/main/java/org/apache/cloudstack/consoleproxy/ConsoleAccessManagerImpl.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@
8989
import com.google.gson.Gson;
9090
import com.google.gson.GsonBuilder;
9191

92+
import static com.cloud.consoleproxy.ConsoleProxyManager.NoVncConsoleShowDot;
93+
9294
public class ConsoleAccessManagerImpl extends ManagerBase implements ConsoleAccessManager {
9395

9496
@Inject
@@ -565,8 +567,9 @@ protected String generateConsoleAccessUrl(String rootUrl, ConsoleProxyClientPara
565567
if (param.getHypervHost() != null || !ConsoleProxyManager.NoVncConsoleDefault.value()) {
566568
sb.append("/ajax?token=").append(token);
567569
} else {
570+
String showDot = NoVncConsoleShowDot.valueIn(vm.getDataCenterId()) ? "true" : "false";
568571
sb.append("/resource/noVNC/vnc.html")
569-
.append("?autoconnect=true&show_dot=true")
572+
.append("?autoconnect=true&show_dot=").append(showDot)
570573
.append("&port=").append(vncPort)
571574
.append("&token=").append(token);
572575
if (requiresVncOverWebSocketConnection(vm, hostVo) && StringUtils.isNotBlank(locale)) {

0 commit comments

Comments
 (0)