provision-server: Fix small bugs

BUG=b:195062451
TEST=run local, unittest

Change-Id: I846ef1c7fad89849d0d291a50da28bab2d867fe0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/3125318
Tested-by: Otabek Kasimov <otabek@google.com>
Auto-Submit: Otabek Kasimov <otabek@google.com>
Commit-Queue: Jaques Clapauch <jaquesc@google.com>
Reviewed-by: Jaques Clapauch <jaquesc@google.com>
diff --git a/src/chromiumos/test/provision/cmd/provisionserver/bootstrap/services/crosservice/crosservice.go b/src/chromiumos/test/provision/cmd/provisionserver/bootstrap/services/crosservice/crosservice.go
index a99c0db..e6631d8 100644
--- a/src/chromiumos/test/provision/cmd/provisionserver/bootstrap/services/crosservice/crosservice.go
+++ b/src/chromiumos/test/provision/cmd/provisionserver/bootstrap/services/crosservice/crosservice.go
@@ -28,9 +28,9 @@
 	dlcSpecs          []*api.InstallCrosRequest_DLCSpec
 }
 
-func NewCrOSService(dutName string, dutClient api.DutServiceClient, wiringConn *grpc.ClientConn, noReboot bool, req *api.InstallCrosRequest) CrOSService {
+func NewCrOSService(dutName string, dutClient api.DutServiceClient, wiringConn *grpc.ClientConn, req *api.InstallCrosRequest) CrOSService {
 	return CrOSService{
-		connection:        services.NewServiceAdapter(dutName, dutClient, wiringConn, noReboot),
+		connection:        services.NewServiceAdapter(dutName, dutClient, wiringConn, req.GetPreventReboot()),
 		imagePath:         req.CrosImagePath,
 		preserverStateful: req.PreserveStateful,
 		dlcSpecs:          req.DlcSpecs,
diff --git a/src/chromiumos/test/provision/cmd/provisionserver/common.go b/src/chromiumos/test/provision/cmd/provisionserver/common.go
index cadc26c..21c1866 100644
--- a/src/chromiumos/test/provision/cmd/provisionserver/common.go
+++ b/src/chromiumos/test/provision/cmd/provisionserver/common.go
@@ -55,7 +55,7 @@
 	if err != nil {
 		return nil, closer, errors.Annotate(err, "new provision: failed to connect wiring-service").Err()
 	}
-	defer wiringConn.Close()
+	conns = append(conns, wiringConn)
 	return &provision{
 		logger:     logger,
 		dutName:    dutName,
@@ -79,7 +79,8 @@
 			CrosImagePath:    state.GetSystemImage().GetSystemImagePath(),
 			DlcSpecs:         dlcSpecs,
 			PreserveStateful: false,
-		}, state.GetPreventReboot(), op); err != nil {
+			PreventReboot:    state.GetPreventReboot(),
+		}, op); err != nil {
 			return fr, err
 		}
 	}
@@ -124,9 +125,9 @@
 
 // installCros installs a specified version of Chrome OS on the DUT, along
 // with any specified DLCs.
-func (s *provision) installCros(ctx context.Context, req *api.InstallCrosRequest, noReboot bool, op *longrunning.Operation) (*api.InstallFailure, error) {
+func (s *provision) installCros(ctx context.Context, req *api.InstallCrosRequest, op *longrunning.Operation) (*api.InstallFailure, error) {
 	s.logger.Println("Received api.InstallCrosRequest: ", *req)
-	cs := crosservice.NewCrOSService(s.dutName, s.dutClient, s.wiringConn, noReboot, req)
+	cs := crosservice.NewCrOSService(s.dutName, s.dutClient, s.wiringConn, req)
 	return s.execute(ctx, &cs, op)
 }
 
@@ -176,7 +177,7 @@
 	}, fmt.Errorf("not implemented")
 }
 
-// provision effectively acts as a state transition runner for each of the
+// execute effectively acts as a state transition runner for each of the
 // installation services, transitioning between states as required, and
 // executing each state. Operation status is also set at this state in case of
 // error.
diff --git a/src/chromiumos/test/provision/cmd/provisionserver/main.go b/src/chromiumos/test/provision/cmd/provisionserver/main.go
index 8be0d64..54d58d4 100644
--- a/src/chromiumos/test/provision/cmd/provisionserver/main.go
+++ b/src/chromiumos/test/provision/cmd/provisionserver/main.go
@@ -19,7 +19,7 @@
 )
 
 // Version is the version info of this command. It is filled in during emerge.
-var Version = "<0.1>"
+var Version = "<unknown>"
 
 // createLogFile creates a file and its parent directory for logging purpose.
 func createLogFile() (*os.File, error) {
diff --git a/src/chromiumos/test/provision/cmd/provisionserver/provisioncli.go b/src/chromiumos/test/provision/cmd/provisionserver/provisioncli.go
index 92ce1c9..d211d77 100644
--- a/src/chromiumos/test/provision/cmd/provisionserver/provisioncli.go
+++ b/src/chromiumos/test/provision/cmd/provisionserver/provisioncli.go
@@ -42,6 +42,7 @@
 		}
 		return errors.Annotate(err, "run CLI").Err()
 	}
+	s.logger.Println("Finished successfully!")
 	return nil
 }
 
diff --git a/src/chromiumos/test/provision/cmd/provisionserver/provisionserver.go b/src/chromiumos/test/provision/cmd/provisionserver/provisionserver.go
index 9eea74c..7f58ecc 100644
--- a/src/chromiumos/test/provision/cmd/provisionserver/provisionserver.go
+++ b/src/chromiumos/test/provision/cmd/provisionserver/provisionserver.go
@@ -42,7 +42,7 @@
 	s.logger.Println("Received api.InstallCrosRequest: ", *req)
 	op := s.manager.NewOperation()
 	response := api.InstallCrosResponse{}
-	if fr, err := s.installCros(ctx, req, false, op); err != nil {
+	if fr, err := s.installCros(ctx, req, op); err != nil {
 		response.Outcome = &api.InstallCrosResponse_Failure{
 			Failure: fr,
 		}