Skip to content

Commit 1451395

Browse files
committed
driver(external): some tweaks around server and client code
Signed-off-by: Ansuman Sahoo <[email protected]>
1 parent 28cc3b8 commit 1451395

File tree

8 files changed

+23
-22
lines changed

8 files changed

+23
-22
lines changed

cmd/limactl/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
"github.com/spf13/cobra"
1717

1818
"github.com/lima-vm/lima/pkg/debugutil"
19-
_ "github.com/lima-vm/lima/pkg/driver/qemu" // register qemu driver for all platforms
19+
// _ "github.com/lima-vm/lima/pkg/driver/qemu" // register qemu driver for all platforms
2020
"github.com/lima-vm/lima/pkg/fsutil"
2121
"github.com/lima-vm/lima/pkg/osutil"
2222
"github.com/lima-vm/lima/pkg/store/dirnames"

pkg/driver/external/client/client.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,7 @@ type DriverClient struct {
2626
}
2727

2828
func NewDriverClient(stdin io.WriteCloser, stdout io.ReadCloser, logger *logrus.Logger) (*DriverClient, error) {
29-
pipeConn := &PipeConn{
30-
Reader: stdout,
31-
Writer: stdin,
32-
}
33-
29+
pipeConn := newPipeConn(stdin, stdout)
3430
opts := []grpc.DialOption{
3531
grpc.WithDefaultCallOptions(
3632
grpc.MaxCallRecvMsgSize(math.MaxInt64),
@@ -47,9 +43,15 @@ func NewDriverClient(stdin io.WriteCloser, stdout io.ReadCloser, logger *logrus.
4743
}),
4844
}
4945

50-
conn, err := grpc.NewClient("pipe://", opts...)
46+
// conn, err := grpc.NewClient("pipe", opts...)
47+
// if err != nil {
48+
// logger.Errorf("failed to create gRPC driver client connection: %v", err)
49+
// return nil, err
50+
// }
51+
52+
conn, err := grpc.Dial("pipe", opts...)
5153
if err != nil {
52-
logger.Errorf("failed to create gRPC driver client connection: %v", err)
54+
logger.Errorf("failed to dial gRPC driver client connection: %v", err)
5355
return nil, err
5456
}
5557

pkg/driver/external/client/methods.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ func (d *DriverClient) Initialize(ctx context.Context) error {
5151
func (d *DriverClient) CreateDisk(ctx context.Context) error {
5252
d.logger.Debug("Creating disk for the instance")
5353

54-
connCtx, cancel := context.WithTimeout(ctx, 5*time.Second)
55-
defer cancel()
56-
_, err := d.DriverSvc.CreateDisk(connCtx, &emptypb.Empty{})
54+
_, err := d.DriverSvc.CreateDisk(ctx, &emptypb.Empty{})
5755
if err != nil {
5856
d.logger.Errorf("Disk creation failed: %v", err)
5957
return err
@@ -66,7 +64,7 @@ func (d *DriverClient) CreateDisk(ctx context.Context) error {
6664
func (d *DriverClient) Start(ctx context.Context) (chan error, error) {
6765
d.logger.Debug("Starting driver instance")
6866

69-
connCtx, cancel := context.WithTimeout(ctx, 5*time.Second)
67+
connCtx, cancel := context.WithTimeout(ctx, time.Minute)
7068
defer cancel()
7169
stream, err := d.DriverSvc.Start(connCtx, &emptypb.Empty{})
7270
if err != nil {

pkg/driver/external/client/pipe.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@ type PipeConn struct {
1414
Writer io.Writer
1515
}
1616

17+
func newPipeConn(writer io.WriteCloser, reader io.ReadCloser) *PipeConn {
18+
return &PipeConn{
19+
Reader: reader,
20+
Writer: writer,
21+
}
22+
}
23+
1724
func (p *PipeConn) Read(b []byte) (n int, err error) {
1825
return p.Reader.Read(b)
1926
}

pkg/driver/external/server/methods.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@ func (s *DriverServer) Start(empty *emptypb.Empty, stream pb.Driver_StartServer)
5151

5252
func (s *DriverServer) SetConfig(ctx context.Context, req *pb.SetConfigRequest) (*emptypb.Empty, error) {
5353
s.logger.Debugf("Received SetConfig request")
54-
var inst *store.Instance
54+
var inst store.Instance
5555

56-
if err := json.Unmarshal(req.InstanceConfigJson, inst); err != nil {
56+
if err := json.Unmarshal(req.InstanceConfigJson, &inst); err != nil {
5757
s.logger.Errorf("Failed to unmarshal InstanceConfigJson: %v", err)
5858
return &emptypb.Empty{}, err
5959
}
6060

61-
s.driver.SetConfig(inst, int(req.SshLocalPort))
61+
s.driver.SetConfig(&inst, int(req.SshLocalPort))
6262

6363
return &emptypb.Empty{}, nil
6464
}

pkg/driver/external/server/server.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ type DriverServer struct {
2626
func Serve(driver driver.Driver) {
2727
logger := logrus.New()
2828
logger.SetLevel(logrus.DebugLevel)
29-
logger.SetFormatter(&logrus.TextFormatter{
30-
FullTimestamp: true,
31-
})
3229
logger.Infof("Starting external driver server for %s", driver.GetInfo().DriverName)
3330

3431
pipeConn := &PipeConn{

pkg/driver/qemu/cmd/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/lima-vm/lima/pkg/driver/qemu"
99
)
1010

11+
// To be used as an external driver for Lima.
1112
func main() {
1213
driver := qemu.New()
1314
server.Serve(driver)

pkg/driverutil/instance.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,5 @@ func CreateTargetDriverInstance(inst *store.Instance, sshLocalPort int) (driver.
2121

2222
driver.SetConfig(inst, sshLocalPort)
2323

24-
if err := driver.Validate(); err != nil {
25-
return nil, fmt.Errorf("driver validation failed: %w", err)
26-
}
27-
2824
return driver, nil
2925
}

0 commit comments

Comments
 (0)