From ce604b8b86c277df44d1012c86c18dd51bd2ca32 Mon Sep 17 00:00:00 2001
From: Michael Schurter <schmichael@hashicorp.com>
Date: Wed, 31 Oct 2018 11:54:29 -0700
Subject: [PATCH] rkt: standardize names/code

---
 drivers/rkt/driver.go | 27 ++++++---------------------
 drivers/rkt/handle.go | 28 +++++++++++++++++++++-------
 drivers/rkt/state.go  |  8 ++++----
 3 files changed, 31 insertions(+), 32 deletions(-)

diff --git a/drivers/rkt/driver.go b/drivers/rkt/driver.go
index 4a11245990..cd5919e062 100644
--- a/drivers/rkt/driver.go
+++ b/drivers/rkt/driver.go
@@ -237,9 +237,9 @@ func (d *Driver) Capabilities() (*drivers.Capabilities, error) {
 	return capabilities, nil
 }
 
-func (r *Driver) Fingerprint(ctx context.Context) (<-chan *drivers.Fingerprint, error) {
+func (d *Driver) Fingerprint(ctx context.Context) (<-chan *drivers.Fingerprint, error) {
 	ch := make(chan *drivers.Fingerprint)
-	go r.handleFingerprint(ctx, ch)
+	go d.handleFingerprint(ctx, ch)
 	return ch, nil
 }
 
@@ -346,7 +346,7 @@ func (d *Driver) RecoverTask(handle *drivers.TaskHandle) error {
 	filter := strings.Split(config.DefaultEnvBlacklist, ",")
 	rktEnv := eb.SetHostEnvvars(filter).Build()
 
-	h := &rktTaskHandle{
+	h := &taskHandle{
 		exec:         execImpl,
 		env:          rktEnv,
 		pid:          taskState.Pid,
@@ -653,7 +653,7 @@ func (d *Driver) StartTask(cfg *drivers.TaskConfig) (*drivers.TaskHandle, *cstru
 	}
 
 	d.logger.Debug("started taskConfig", "aci", img, "uuid", uuid, "task_name", cfg.Name, "args", runArgs)
-	h := &rktTaskHandle{
+	h := &taskHandle{
 		exec:         execImpl,
 		env:          rktEnv,
 		pid:          ps.Pid,
@@ -764,22 +764,7 @@ func (d *Driver) InspectTask(taskID string) (*drivers.TaskStatus, error) {
 		return nil, drivers.ErrTaskNotFound
 	}
 
-	handle.stateLock.RLock()
-	defer handle.stateLock.RUnlock()
-
-	status := &drivers.TaskStatus{
-		ID:          handle.taskConfig.ID,
-		Name:        handle.taskConfig.Name,
-		State:       handle.procState,
-		StartedAt:   handle.startedAt,
-		CompletedAt: handle.completedAt,
-		ExitResult:  handle.exitResult,
-		DriverAttributes: map[string]string{
-			"pid": strconv.Itoa(handle.pid),
-		},
-	}
-
-	return status, nil
+	return handle.TaskStatus(), nil
 }
 
 func (d *Driver) TaskStats(taskID string) (*cstructs.TaskResourceUsage, error) {
@@ -996,7 +981,7 @@ func elide(inBuf bytes.Buffer) string {
 	return tempBuf.String()
 }
 
-func (d *Driver) handleWait(ctx context.Context, handle *rktTaskHandle, ch chan *drivers.ExitResult) {
+func (d *Driver) handleWait(ctx context.Context, handle *taskHandle, ch chan *drivers.ExitResult) {
 	defer close(ch)
 	var result *drivers.ExitResult
 	ps, err := handle.exec.Wait()
diff --git a/drivers/rkt/handle.go b/drivers/rkt/handle.go
index 20d8ff1311..aa6da311c3 100644
--- a/drivers/rkt/handle.go
+++ b/drivers/rkt/handle.go
@@ -3,6 +3,7 @@
 package rkt
 
 import (
+	"strconv"
 	"sync"
 	"time"
 
@@ -13,7 +14,7 @@ import (
 	"github.com/hashicorp/nomad/plugins/drivers"
 )
 
-type rktTaskHandle struct {
+type taskHandle struct {
 	exec         executor.Executor
 	env          *env.TaskEnv
 	uuid         string
@@ -31,17 +32,30 @@ type rktTaskHandle struct {
 	exitResult  *drivers.ExitResult
 }
 
-func (h *rktTaskHandle) IsRunning() bool {
+func (h *taskHandle) TaskStatus() *drivers.TaskStatus {
 	h.stateLock.RLock()
 	defer h.stateLock.RUnlock()
-	return h.procState == drivers.TaskStateRunning
+
+	return &drivers.TaskStatus{
+		ID:          h.taskConfig.ID,
+		Name:        h.taskConfig.Name,
+		State:       h.procState,
+		StartedAt:   h.startedAt,
+		CompletedAt: h.completedAt,
+		ExitResult:  h.exitResult,
+		DriverAttributes: map[string]string{
+			"pid": strconv.Itoa(h.pid),
+		},
+	}
 }
 
-func (h *rktTaskHandle) run() {
+func (h *taskHandle) IsRunning() bool {
+	h.stateLock.RLock()
+	defer h.stateLock.RUnlock()
+	return h.procState == drivers.TaskStateRunning
+}
 
-	// Since run is called immediately after the handle is created this
-	// ensures the exitResult is initialized so we avoid a nil pointer
-	// thus it does not need to be included in the lock
+func (h *taskHandle) run() {
 	h.stateLock.Lock()
 	if h.exitResult == nil {
 		h.exitResult = &drivers.ExitResult{}
diff --git a/drivers/rkt/state.go b/drivers/rkt/state.go
index 1146db6c74..2e5791bfca 100644
--- a/drivers/rkt/state.go
+++ b/drivers/rkt/state.go
@@ -7,21 +7,21 @@ import (
 )
 
 type taskStore struct {
-	store map[string]*rktTaskHandle
+	store map[string]*taskHandle
 	lock  sync.RWMutex
 }
 
 func newTaskStore() *taskStore {
-	return &taskStore{store: map[string]*rktTaskHandle{}}
+	return &taskStore{store: map[string]*taskHandle{}}
 }
 
-func (ts *taskStore) Set(id string, handle *rktTaskHandle) {
+func (ts *taskStore) Set(id string, handle *taskHandle) {
 	ts.lock.Lock()
 	defer ts.lock.Unlock()
 	ts.store[id] = handle
 }
 
-func (ts *taskStore) Get(id string) (*rktTaskHandle, bool) {
+func (ts *taskStore) Get(id string) (*taskHandle, bool) {
 	ts.lock.RLock()
 	defer ts.lock.RUnlock()
 	t, ok := ts.store[id]
-- 
GitLab