Skip to content

provisionerd sends failed or complete last #2732

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jul 1, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Move runner into package
Signed-off-by: Spike Curtis <spike@coder.com>
  • Loading branch information
spikecurtis committed Jun 30, 2022
commit e7a7119622d0ac43b28864eec4e80680fd604e95
13 changes: 5 additions & 8 deletions provisionerd/provisionerd.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,23 @@ import (
"sync"
"time"

"cdr.dev/slog"
"github.com/hashicorp/yamux"
"github.com/spf13/afero"
"go.uber.org/atomic"
"golang.org/x/xerrors"

"cdr.dev/slog"
"github.com/coder/coder/provisionerd/proto"
"github.com/coder/coder/provisionerd/runner"
sdkproto "github.com/coder/coder/provisionersdk/proto"
"github.com/coder/retry"
)

const (
missingParameterErrorText = "missing parameter"
)

// IsMissingParameterError returns whether the error message provided
// is a missing parameter error. This can indicate to consumers that
// they should check parameters.
func IsMissingParameterError(err string) bool {
return strings.Contains(err, missingParameterErrorText)
return strings.Contains(err, runner.MissingParameterErrorText)
}

// Dialer represents the function to create a daemon client connection.
Expand Down Expand Up @@ -90,7 +87,7 @@ type Server struct {
closeCancel context.CancelFunc
closeError error
shutdown chan struct{}
activeJob jobRunner
activeJob runner.jobRunner
}

// Connect establishes a connection to coderd.
Expand Down Expand Up @@ -236,7 +233,7 @@ func (p *Server) acquireJob(ctx context.Context) {
}
return
}
p.activeJob = newRunner(job, p, p.opts.Logger, p.opts.Filesystem, p.opts.WorkDirectory, provisioner,
p.activeJob = runner.newRunner(job, p, p.opts.Logger, p.opts.Filesystem, p.opts.WorkDirectory, provisioner,
p.opts.UpdateInterval, p.opts.ForceCancelInterval)
go p.activeJob.start()
}
Expand Down
6 changes: 4 additions & 2 deletions provisionerd/provisionerd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import (
"testing"
"time"

"github.com/coder/coder/provisionerd/runner"

"github.com/hashicorp/yamux"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
Expand Down Expand Up @@ -245,8 +247,8 @@ func TestProvisionerd(t *testing.T) {
JobId: "test",
Provisioner: "someprovisioner",
TemplateSourceArchive: createTar(t, map[string]string{
"test.txt": "content",
provisionerd.ReadmeFile: "# A cool template 😎\n",
"test.txt": "content",
runner.ReadmeFile: "# A cool template 😎\n",
}),
Type: &proto.AcquiredJob_TemplateImport_{
TemplateImport: &proto.AcquiredJob_TemplateImport{
Expand Down
8 changes: 6 additions & 2 deletions provisionerd/runner.go → provisionerd/runner/runner.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package provisionerd
package runner

import (
"archive/tar"
Expand All @@ -25,6 +25,10 @@ import (
sdkproto "github.com/coder/coder/provisionersdk/proto"
)

const (
MissingParameterErrorText = "missing parameter"
)

type jobRunner interface {
start()
cancel()
Expand Down Expand Up @@ -498,7 +502,7 @@ func (r *runner) runTemplateImport() (*proto.CompletedJob, *proto.FailedJob) {
for _, parameterSchema := range parameterSchemas {
_, ok := valueByName[parameterSchema.Name]
if !ok {
return nil, r.failedJobf("%s: %s", missingParameterErrorText, parameterSchema.Name)
return nil, r.failedJobf("%s: %s", provisionerd.missingParameterErrorText, parameterSchema.Name)
}
}

Expand Down