diff --git a/pkg/dev/dev.go b/pkg/dev/dev.go index 6f2934b8211..9be9e0cb15b 100644 --- a/pkg/dev/dev.go +++ b/pkg/dev/dev.go @@ -55,7 +55,7 @@ func (o *DevClient) Start( klog.V(4).Infoln("Creating new adapter") adapter, err := adapters.NewComponentAdapter( o.kubernetesClient, o.prefClient, o.portForwardClient, - devfileObj.GetMetadataName(), path, "app", devfileObj, platformContext, randomPorts, errOut) + devfileObj.GetMetadataName(), path, "app", devfileObj, platformContext) if err != nil { return err } @@ -73,6 +73,8 @@ func (o *DevClient) Start( Debug: debug, DevfileBuildCmd: buildCommand, DevfileRunCmd: runCommand, + RandomPorts: randomPorts, + ErrOut: errOut, } klog.V(4).Infoln("Creating inner-loop resources for the component") diff --git a/pkg/devfile/adapters/common/types.go b/pkg/devfile/adapters/common/types.go index d3bfb08a34b..c5bc02b39b5 100644 --- a/pkg/devfile/adapters/common/types.go +++ b/pkg/devfile/adapters/common/types.go @@ -1,6 +1,8 @@ package common import ( + "io" + devfilev1 "github.com/devfile/api/v2/pkg/apis/workspaces/v1alpha2" devfileParser "github.com/devfile/library/pkg/devfile/parser" @@ -31,6 +33,8 @@ type PushParameters struct { Debug bool // Runs the component in debug mode DebugPort int // Port used for remote debugging RunModeChanged bool // It determines if run mode is changed from run to debug or vice versa + RandomPorts bool // True to forward containers ports on local random ports + ErrOut io.Writer // Writer to output forwarded port information } // SyncParameters is a struct containing the parameters to be used when syncing a devfile component diff --git a/pkg/devfile/adapters/helper.go b/pkg/devfile/adapters/helper.go index 12ba53b5f19..0f6114871ec 100644 --- a/pkg/devfile/adapters/helper.go +++ b/pkg/devfile/adapters/helper.go @@ -2,7 +2,6 @@ package adapters import ( "errors" - "io" devfileParser "github.com/devfile/library/pkg/devfile/parser" "github.com/redhat-developer/odo/pkg/devfile/adapters/common" @@ -22,8 +21,6 @@ func NewComponentAdapter( appName string, devObj devfileParser.DevfileObj, platformContext interface{}, - randomPorts bool, - errOut io.Writer, ) (common.ComponentAdapter, error) { adapterContext := common.AdapterContext{ @@ -37,7 +34,7 @@ func NewComponentAdapter( if !ok { return nil, errors.New("error retrieving context for Kubernetes") } - return createKubernetesAdapter(adapterContext, kubernetesClient, prefClient, portForwardClient, kc.Namespace, randomPorts, errOut) + return createKubernetesAdapter(adapterContext, kubernetesClient, prefClient, portForwardClient, kc.Namespace) } @@ -47,13 +44,11 @@ func createKubernetesAdapter( prefClient preference.Client, portForwardClient portForward.Client, namespace string, - randomPorts bool, - errOut io.Writer, ) (common.ComponentAdapter, error) { if namespace != "" { kubernetesClient.SetNamespace(namespace) } - return newKubernetesAdapter(adapterContext, kubernetesClient, prefClient, portForwardClient, randomPorts, errOut) + return newKubernetesAdapter(adapterContext, kubernetesClient, prefClient, portForwardClient) } func newKubernetesAdapter( @@ -61,11 +56,9 @@ func newKubernetesAdapter( client kclient.ClientInterface, prefClient preference.Client, portForwardClient portForward.Client, - randomPorts bool, - errOut io.Writer, ) (common.ComponentAdapter, error) { // Feed the common metadata to the platform-specific adapter - kubernetesAdapter := kubernetes.New(adapterContext, client, prefClient, portForwardClient, randomPorts, errOut) + kubernetesAdapter := kubernetes.New(adapterContext, client, prefClient, portForwardClient) return kubernetesAdapter, nil } diff --git a/pkg/devfile/adapters/helper_test.go b/pkg/devfile/adapters/helper_test.go index dec95803a7e..5168a4d042d 100644 --- a/pkg/devfile/adapters/helper_test.go +++ b/pkg/devfile/adapters/helper_test.go @@ -1,7 +1,6 @@ package adapters import ( - "os" "reflect" "testing" @@ -50,7 +49,7 @@ func TestNewPlatformAdapter(t *testing.T) { Devfile: devObj, } fkclient, _ := kclient.FakeNew() - adapter, err := newKubernetesAdapter(adapterContext, fkclient, nil, nil, false, os.Stdout) + adapter, err := newKubernetesAdapter(adapterContext, fkclient, nil, nil) if err != nil { t.Errorf("unexpected error: '%v'", err) } diff --git a/pkg/devfile/adapters/kubernetes/adapter.go b/pkg/devfile/adapters/kubernetes/adapter.go index 1540fc5a9ef..779e6a76751 100644 --- a/pkg/devfile/adapters/kubernetes/adapter.go +++ b/pkg/devfile/adapters/kubernetes/adapter.go @@ -2,7 +2,6 @@ package kubernetes import ( "fmt" - "io" "github.com/redhat-developer/odo/pkg/kclient" "github.com/redhat-developer/odo/pkg/portForward" @@ -29,11 +28,9 @@ func New( client kclient.ClientInterface, prefClient preference.Client, portForwardClient portForward.Client, - randomPorts bool, - errOut io.Writer, ) Adapter { - compAdapter := component.New(adapterContext, client, prefClient, portForwardClient, randomPorts, errOut) + compAdapter := component.New(adapterContext, client, prefClient, portForwardClient) return Adapter{ componentAdapter: &compAdapter, diff --git a/pkg/devfile/adapters/kubernetes/component/adapter.go b/pkg/devfile/adapters/kubernetes/component/adapter.go index 9c9aef9fec4..f9151839f9b 100644 --- a/pkg/devfile/adapters/kubernetes/component/adapter.go +++ b/pkg/devfile/adapters/kubernetes/component/adapter.go @@ -43,8 +43,6 @@ func New( kubeClient kclient.ClientInterface, prefClient preference.Client, portForwardClient portForward.Client, - randomPorts bool, - errOut io.Writer, ) Adapter { return Adapter{ kubeClient: kubeClient, @@ -52,8 +50,6 @@ func New( portForwardClient: portForwardClient, AdapterContext: adapterContext, logger: machineoutput.NewMachineEventLoggingClient(), - randomPorts: randomPorts, - errOut: errOut, } } @@ -93,9 +89,6 @@ type Adapter struct { common.AdapterContext logger machineoutput.MachineEventLoggingClient - - randomPorts bool - errOut io.Writer } var _ sync.SyncClient = (*Adapter)(nil) @@ -387,7 +380,7 @@ func (a Adapter) Push(parameters common.PushParameters) (err error) { a.portForwardClient.StopPortForwarding() } - err = a.portForwardClient.StartPortForwarding(a.Devfile, a.ComponentName, a.randomPorts, a.errOut) + err = a.portForwardClient.StartPortForwarding(a.Devfile, a.ComponentName, parameters.RandomPorts, parameters.ErrOut) if err != nil { return fmt.Errorf("fail starting the port forwarding: %w", err) } diff --git a/pkg/devfile/adapters/kubernetes/component/adapter_test.go b/pkg/devfile/adapters/kubernetes/component/adapter_test.go index c6f42080be0..a6614ef4970 100644 --- a/pkg/devfile/adapters/kubernetes/component/adapter_test.go +++ b/pkg/devfile/adapters/kubernetes/component/adapter_test.go @@ -3,7 +3,6 @@ package component import ( "encoding/json" "errors" - "os" "reflect" "testing" "time" @@ -136,7 +135,7 @@ func TestCreateOrUpdateComponent(t *testing.T) { Name: testComponentName, AppName: testAppName, }) - componentAdapter := New(adapterCtx, fkclient, nil, nil, false, os.Stdout) + componentAdapter := New(adapterCtx, fkclient, nil, nil) _, err := componentAdapter.createOrUpdateComponent(tt.running, tt.envInfo, false, libdevfile.DevfileCommands{}, 0, nil) // Checks for unexpected error cases @@ -349,7 +348,7 @@ func TestDoesComponentExist(t *testing.T) { }) // DoesComponentExist requires an already started component, so start it. - componentAdapter := New(adapterCtx, fkclient, nil, nil, false, os.Stdout) + componentAdapter := New(adapterCtx, fkclient, nil, nil) _, err := componentAdapter.createOrUpdateComponent(false, tt.envInfo, false, libdevfile.DevfileCommands{}, 0, nil) // Checks for unexpected error cases @@ -445,7 +444,7 @@ func TestWaitAndGetComponentPod(t *testing.T) { ctrl := gomock.NewController(t) prefClient := preference.NewMockClient(ctrl) prefClient.EXPECT().GetPushTimeout().Return(100 * time.Second) - componentAdapter := New(adapterCtx, fkclient, prefClient, nil, false, os.Stdout) + componentAdapter := New(adapterCtx, fkclient, prefClient, nil) _, err := componentAdapter.getPod(nil, false) // Checks for unexpected error cases diff --git a/pkg/odo/cli/dev/dev.go b/pkg/odo/cli/dev/dev.go index ad74a301282..6a3208471d0 100644 --- a/pkg/odo/cli/dev/dev.go +++ b/pkg/odo/cli/dev/dev.go @@ -286,8 +286,6 @@ func (o *Handler) regenerateComponentAdapterFromWatchParams(parameters watch.Wat parameters.ApplicationName, devObj, platformContext, - o.randomPorts, - o.errOut, ) }