diff --git a/frontend/packages/kubevirt-plugin/src/components/vms/vm-console/DesktopViewerSelector.tsx b/frontend/packages/kubevirt-plugin/src/components/vms/vm-console/DesktopViewerSelector.tsx index 5caa440c266..48cc3551e5c 100644 --- a/frontend/packages/kubevirt-plugin/src/components/vms/vm-console/DesktopViewerSelector.tsx +++ b/frontend/packages/kubevirt-plugin/src/components/vms/vm-console/DesktopViewerSelector.tsx @@ -3,10 +3,11 @@ import { DesktopViewer } from '@patternfly/react-console'; import { Alert, Form, FormGroup } from '@patternfly/react-core'; import { Dropdown } from '@console/internal/components/utils'; import { useK8sWatchResource } from '@console/internal/components/utils/k8s-watch-hook'; -import { ServiceModel } from '@console/internal/models'; +import { PodModel, ServiceModel } from '@console/internal/models'; import { K8sResourceKind, PodKind } from '@console/internal/module/k8s'; import { DEFAULT_RDP_PORT, NetworkType, TEMPLATE_VM_NAME_LABEL } from '../../../constants'; import { ConsoleType } from '../../../constants/vm/console-type'; +import { findVMIPod } from '../../../selectors/pod/selectors'; import { getRdpAddressPort } from '../../../selectors/service'; import { getNetworks } from '../../../selectors/vm/selectors'; import { getVMIAvailableStatusInterfaces, isGuestAgentConnected } from '../../../selectors/vmi'; @@ -97,7 +98,14 @@ const RdpServiceNotConfigured: React.FC = ({ vm }) }; const DesktopViewerSelector: React.FC = (props) => { - const { setConsoleType, vm, vmi, vmPod } = props; + const { setConsoleType, vm, vmi } = props; + + const [pods] = useK8sWatchResource({ + kind: PodModel.kind, + isList: true, + }); + + const vmPod = React.useMemo(() => findVMIPod(vmi, pods), [pods, vmi]); React.useEffect(() => { setConsoleType(ConsoleType.DESKTOP_VIEWER); @@ -116,7 +124,6 @@ const DesktopViewerSelector: React.FC = (props) => { ); const rdpServiceAddressPort = getRdpAddressPort(vmi, services, vmPod); - const guestAgent = isGuestAgentConnected(vmi); const networks = React.useMemo(() => getVmRdpNetworks(vm, vmi), [vm, vmi]); const networkItems = networks.reduce((result, network) => { @@ -191,7 +198,6 @@ DesktopViewerSelector.displayName = 'DesktopViewer'; type DesktopViewerSelectorProps = { vm: VMKind; vmi: VMIKind; - vmPod: PodKind; setConsoleType: (consoleType: ConsoleType) => void; }; diff --git a/frontend/packages/kubevirt-plugin/src/components/vms/vm-console/VMConsoles.tsx b/frontend/packages/kubevirt-plugin/src/components/vms/vm-console/VMConsoles.tsx index 44e0fb739e6..03099877b12 100644 --- a/frontend/packages/kubevirt-plugin/src/components/vms/vm-console/VMConsoles.tsx +++ b/frontend/packages/kubevirt-plugin/src/components/vms/vm-console/VMConsoles.tsx @@ -202,12 +202,7 @@ const VMConsoles: React.FC = ({ {showSerialOption && } {showVNCOption && } {isWindows(vm) && ( - + )} diff --git a/frontend/packages/kubevirt-plugin/src/selectors/service/rdp/index.ts b/frontend/packages/kubevirt-plugin/src/selectors/service/rdp/index.ts index ffcce5d22cb..e454b4f9beb 100644 --- a/frontend/packages/kubevirt-plugin/src/selectors/service/rdp/index.ts +++ b/frontend/packages/kubevirt-plugin/src/selectors/service/rdp/index.ts @@ -9,6 +9,7 @@ export const getRdpAddressPort = ( launcherPod: PodKind, ) => { const [rdpService, rdpPortObj] = findRDPServiceAndPort(vmi, services); + if (!rdpService || !rdpPortObj) { return null; } @@ -22,12 +23,6 @@ export const getRdpAddressPort = ( console.warn('External IP is not defined for the LoadBalancer RDP Service: ', rdpService); } break; - case 'ClusterIP': - address = rdpService.spec.clusterIP; - if (!address) { - console.warn('Cluster IP is not defined for the ClusterIP RDP Service: ', rdpService); - } - break; case 'NodePort': port = rdpPortObj.nodePort; if (launcherPod) {