From 8c35a416ff8d238ac41975c5f4f19443ae3c2afc Mon Sep 17 00:00:00 2001 From: Jim Ehrismann Date: Wed, 6 Oct 2021 17:18:00 -0400 Subject: [PATCH] more cleanup/tweaking Signed-off-by: Jim Ehrismann --- src/main/routes/port-forward-route.ts | 14 +++++++------- .../+network-services/service-port-component.tsx | 5 +---- .../+workloads-pods/pod-container-port.tsx | 5 +---- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/main/routes/port-forward-route.ts b/src/main/routes/port-forward-route.ts index 4873c22177..763ea16b43 100644 --- a/src/main/routes/port-forward-route.ts +++ b/src/main/routes/port-forward-route.ts @@ -57,8 +57,7 @@ class PortForward { public namespace: string; public name: string; public port: number; - public internalPort?: number; - public forwardPort?: number; + public forwardPort: number; constructor(public kubeConfig: string, args: PortForwardArgs) { this.clusterId = args.clusterId; @@ -91,14 +90,15 @@ class PortForward { } }); - this.internalPort = await getPortFrom(this.process.stdout, { + const internalPort = await getPortFrom(this.process.stdout, { lineRegex: internalPortRegex, }); try { - await tcpPortUsed.waitUntilUsed(this.internalPort, 500, 15000); + await tcpPortUsed.waitUntilUsed(internalPort, 500, 15000); - this.forwardPort = this.internalPort; + // make sure this.forwardPort is set to the actual port used (if it was 0 then an available port is found by 'kubectl port-forward') + this.forwardPort = internalPort; return true; } catch (error) { @@ -154,7 +154,7 @@ export class PortForwardRoute { } } - respondJson(response, { port: portForward.internalPort }); + respondJson(response, { port: portForward.forwardPort }); } catch (error) { logger.error(`[PORT-FORWARD-ROUTE]: failed to open a port-forward: ${error}`, { namespace, port, resourceType, resourceName }); @@ -175,7 +175,7 @@ export class PortForwardRoute { namespace, port, forwardPort }); - respondJson(response, { port: portForward?.internalPort ?? null }); + respondJson(response, { port: portForward?.forwardPort ?? null }); } static async routeAllPortForwards(request: LensApiRequest) { diff --git a/src/renderer/components/+network-services/service-port-component.tsx b/src/renderer/components/+network-services/service-port-component.tsx index 385c1dd87f..ef92fd60f0 100644 --- a/src/renderer/components/+network-services/service-port-component.tsx +++ b/src/renderer/components/+network-services/service-port-component.tsx @@ -88,10 +88,7 @@ export class ServicePortComponent extends React.Component { }; this.waiting = true; - - if (!this.forwardPort) { - this.forwardPort = 0; - } + this.isPortForwarded = false; try { this.forwardPort = await addPortForward(portForward); diff --git a/src/renderer/components/+workloads-pods/pod-container-port.tsx b/src/renderer/components/+workloads-pods/pod-container-port.tsx index 03e0f766e7..34021359fc 100644 --- a/src/renderer/components/+workloads-pods/pod-container-port.tsx +++ b/src/renderer/components/+workloads-pods/pod-container-port.tsx @@ -92,10 +92,7 @@ export class PodContainerPort extends React.Component { }; this.waiting = true; - - if (!this.forwardPort) { - this.forwardPort = 0; - } + this.isPortForwarded = false; try { this.forwardPort = await addPortForward(portForward);