Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

refactor(provisionerd): move provisionersdk.VersionCurrent -> provisionerdproto.VersionCurrent#12225

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
johnstcn merged 1 commit intomainfromcj/move-provisionerd-versioncurrent
Feb 20, 2024
Merged
Show file tree
Hide file tree
Changes fromall commits
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
4 changes: 2 additions & 2 deletionscoderd/coderd.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -457,7 +457,7 @@ func New(options *Options) *API {
},
ProvisionerDaemons: healthcheck.ProvisionerDaemonsReportDeps{
CurrentVersion: buildinfo.Version(),
CurrentAPIMajorVersion:provisionersdk.CurrentMajor,
CurrentAPIMajorVersion:proto.CurrentMajor,
Store: options.Database,
// TimeNow and StaleInterval set to defaults, see healthcheck/provisioner.go
},
Expand DownExpand Up@@ -1239,7 +1239,7 @@ func (api *API) CreateInMemoryProvisionerDaemon(dialCtx context.Context, name st
Tags: provisionersdk.MutateTags(uuid.Nil, nil),
LastSeenAt: sql.NullTime{Time: dbtime.Now(), Valid: true},
Version: buildinfo.Version(),
APIVersion:provisionersdk.VersionCurrent.String(),
APIVersion:proto.VersionCurrent.String(),
})
if err != nil {
return nil, xerrors.Errorf("failed to create in-memory provisioner daemon: %w", err)
Expand Down
9 changes: 5 additions & 4 deletionscoderd/database/dbpurge/dbpurge_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,7 @@ import (
"github.com/coder/coder/v2/coderd/database/dbpurge"
"github.com/coder/coder/v2/coderd/database/dbtestutil"
"github.com/coder/coder/v2/coderd/database/dbtime"
"github.com/coder/coder/v2/provisionerd/proto"
"github.com/coder/coder/v2/provisionersdk"
"github.com/coder/coder/v2/testutil"
)
Expand DownExpand Up@@ -218,7 +219,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
CreatedAt: now.Add(-14 * 24 * time.Hour),
LastSeenAt: sql.NullTime{Valid: true, Time: now.Add(-7 * 24 * time.Hour).Add(time.Minute)},
Version: "1.0.0",
APIVersion:provisionersdk.VersionCurrent.String(),
APIVersion:proto.VersionCurrent.String(),
})
require.NoError(t, err)
_, err = db.UpsertProvisionerDaemon(ctx, database.UpsertProvisionerDaemonParams{
Expand All@@ -229,7 +230,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
CreatedAt: now.Add(-8 * 24 * time.Hour),
LastSeenAt: sql.NullTime{Valid: true, Time: now.Add(-8 * 24 * time.Hour).Add(time.Hour)},
Version: "1.0.0",
APIVersion:provisionersdk.VersionCurrent.String(),
APIVersion:proto.VersionCurrent.String(),
})
require.NoError(t, err)
_, err = db.UpsertProvisionerDaemon(ctx, database.UpsertProvisionerDaemonParams{
Expand All@@ -242,7 +243,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
},
CreatedAt: now.Add(-9 * 24 * time.Hour),
Version: "1.0.0",
APIVersion:provisionersdk.VersionCurrent.String(),
APIVersion:proto.VersionCurrent.String(),
})
require.NoError(t, err)
_, err = db.UpsertProvisionerDaemon(ctx, database.UpsertProvisionerDaemonParams{
Expand All@@ -256,7 +257,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
CreatedAt: now.Add(-6 * 24 * time.Hour),
LastSeenAt: sql.NullTime{Valid: true, Time: now.Add(-6 * 24 * time.Hour)},
Version: "1.0.0",
APIVersion:provisionersdk.VersionCurrent.String(),
APIVersion:proto.VersionCurrent.String(),
})
require.NoError(t, err)

Expand Down
4 changes: 2 additions & 2 deletionscoderd/healthcheck/provisioner.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,7 +17,7 @@ import (
"github.com/coder/coder/v2/coderd/provisionerdserver"
"github.com/coder/coder/v2/coderd/util/ptr"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/provisionersdk"
"github.com/coder/coder/v2/provisionerd/proto"
)

// @typescript-generate ProvisionerDaemonsReport
Expand DownExpand Up@@ -144,7 +144,7 @@ func (r *ProvisionerDaemonsReport) Run(ctx context.Context, opts *ProvisionerDae
r.Severity = health.SeverityWarning
}
r.Warnings = append(r.Warnings, health.Messagef(health.CodeProvisionerDaemonAPIMajorVersionDeprecated, "Some provisioner daemons report deprecated major API versions. Consider upgrading!"))
it.Warnings = append(it.Warnings, health.Messagef(health.CodeProvisionerDaemonAPIMajorVersionDeprecated, "Deprecated major API version %d.",provisionersdk.CurrentMajor))
it.Warnings = append(it.Warnings, health.Messagef(health.CodeProvisionerDaemonAPIMajorVersionDeprecated, "Deprecated major API version %d.",proto.CurrentMajor))
}

r.Items = append(r.Items, it)
Expand Down
24 changes: 12 additions & 12 deletionscoderd/healthcheck/provisioner_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,7 +15,7 @@ import (
"github.com/coder/coder/v2/coderd/healthcheck"
"github.com/coder/coder/v2/coderd/healthcheck/health"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/provisionersdk"
"github.com/coder/coder/v2/provisionerd/proto"

gomock "go.uber.org/mock/gomock"
)
Expand DownExpand Up@@ -46,15 +46,15 @@ func TestProvisionerDaemonReport(t *testing.T) {
{
name: "no daemons",
currentVersion: "v1.2.3",
currentAPIMajorVersion:provisionersdk.CurrentMajor,
currentAPIMajorVersion:proto.CurrentMajor,
expectedSeverity: health.SeverityError,
expectedItems: []healthcheck.ProvisionerDaemonsReportItem{},
expectedWarningCode: health.CodeProvisionerDaemonsNoProvisionerDaemons,
},
{
name: "error fetching daemons",
currentVersion: "v1.2.3",
currentAPIMajorVersion:provisionersdk.CurrentMajor,
currentAPIMajorVersion:proto.CurrentMajor,
provisionerDaemonsErr: assert.AnError,
expectedSeverity: health.SeverityError,
expectedError: assert.AnError.Error(),
Expand All@@ -63,7 +63,7 @@ func TestProvisionerDaemonReport(t *testing.T) {
{
name: "one daemon up to date",
currentVersion: "v1.2.3",
currentAPIMajorVersion:provisionersdk.CurrentMajor,
currentAPIMajorVersion:proto.CurrentMajor,
expectedSeverity: health.SeverityOK,
provisionerDaemons: []database.ProvisionerDaemon{fakeProvisionerDaemon(t, "pd-ok", "v1.2.3", "1.0", now)},
expectedItems: []healthcheck.ProvisionerDaemonsReportItem{
Expand All@@ -85,7 +85,7 @@ func TestProvisionerDaemonReport(t *testing.T) {
{
name: "one daemon out of date",
currentVersion: "v1.2.3",
currentAPIMajorVersion:provisionersdk.CurrentMajor,
currentAPIMajorVersion:proto.CurrentMajor,
expectedSeverity: health.SeverityWarning,
expectedWarningCode: health.CodeProvisionerDaemonVersionMismatch,
provisionerDaemons: []database.ProvisionerDaemon{fakeProvisionerDaemon(t, "pd-old", "v1.1.2", "1.0", now)},
Expand DownExpand Up@@ -113,7 +113,7 @@ func TestProvisionerDaemonReport(t *testing.T) {
{
name: "invalid daemon version",
currentVersion: "v1.2.3",
currentAPIMajorVersion:provisionersdk.CurrentMajor,
currentAPIMajorVersion:proto.CurrentMajor,
expectedSeverity: health.SeverityError,
expectedWarningCode: health.CodeUnknown,
provisionerDaemons: []database.ProvisionerDaemon{fakeProvisionerDaemon(t, "pd-invalid-version", "invalid", "1.0", now)},
Expand DownExpand Up@@ -141,7 +141,7 @@ func TestProvisionerDaemonReport(t *testing.T) {
{
name: "invalid daemon api version",
currentVersion: "v1.2.3",
currentAPIMajorVersion:provisionersdk.CurrentMajor,
currentAPIMajorVersion:proto.CurrentMajor,
expectedSeverity: health.SeverityError,
expectedWarningCode: health.CodeUnknown,
provisionerDaemons: []database.ProvisionerDaemon{fakeProvisionerDaemon(t, "pd-invalid-api", "v1.2.3", "invalid", now)},
Expand DownExpand Up@@ -197,7 +197,7 @@ func TestProvisionerDaemonReport(t *testing.T) {
{
name: "one up to date, one out of date",
currentVersion: "v1.2.3",
currentAPIMajorVersion:provisionersdk.CurrentMajor,
currentAPIMajorVersion:proto.CurrentMajor,
expectedSeverity: health.SeverityWarning,
expectedWarningCode: health.CodeProvisionerDaemonVersionMismatch,
provisionerDaemons: []database.ProvisionerDaemon{fakeProvisionerDaemon(t, "pd-ok", "v1.2.3", "1.0", now), fakeProvisionerDaemon(t, "pd-old", "v1.1.2", "1.0", now)},
Expand DownExpand Up@@ -238,7 +238,7 @@ func TestProvisionerDaemonReport(t *testing.T) {
{
name: "one up to date, one newer",
currentVersion: "v1.2.3",
currentAPIMajorVersion:provisionersdk.CurrentMajor,
currentAPIMajorVersion:proto.CurrentMajor,
expectedSeverity: health.SeverityWarning,
expectedWarningCode: health.CodeProvisionerDaemonVersionMismatch,
provisionerDaemons: []database.ProvisionerDaemon{fakeProvisionerDaemon(t, "pd-ok", "v1.2.3", "1.0", now), fakeProvisionerDaemon(t, "pd-new", "v2.3.4", "1.0", now)},
Expand DownExpand Up@@ -279,7 +279,7 @@ func TestProvisionerDaemonReport(t *testing.T) {
{
name: "one up to date, one stale older",
currentVersion: "v2.3.4",
currentAPIMajorVersion:provisionersdk.CurrentMajor,
currentAPIMajorVersion:proto.CurrentMajor,
expectedSeverity: health.SeverityOK,
provisionerDaemons: []database.ProvisionerDaemon{fakeProvisionerDaemonStale(t, "pd-stale", "v1.2.3", "0.9", now.Add(-5*time.Minute), now), fakeProvisionerDaemon(t, "pd-ok", "v2.3.4", "1.0", now)},
expectedItems: []healthcheck.ProvisionerDaemonsReportItem{
Expand All@@ -301,7 +301,7 @@ func TestProvisionerDaemonReport(t *testing.T) {
{
name: "one stale",
currentVersion: "v2.3.4",
currentAPIMajorVersion:provisionersdk.CurrentMajor,
currentAPIMajorVersion:proto.CurrentMajor,
expectedSeverity: health.SeverityError,
expectedWarningCode: health.CodeProvisionerDaemonsNoProvisionerDaemons,
provisionerDaemons: []database.ProvisionerDaemon{fakeProvisionerDaemonStale(t, "pd-ok", "v1.2.3", "0.9", now.Add(-5*time.Minute), now)},
Expand All@@ -317,7 +317,7 @@ func TestProvisionerDaemonReport(t *testing.T) {
deps.CurrentVersion = tt.currentVersion
deps.CurrentAPIMajorVersion = tt.currentAPIMajorVersion
if tt.currentAPIMajorVersion == 0 {
deps.CurrentAPIMajorVersion =provisionersdk.CurrentMajor
deps.CurrentAPIMajorVersion =proto.CurrentMajor
}
deps.TimeNow = func() time.Time {
return now
Expand Down
2 changes: 1 addition & 1 deletioncoderd/provisionerdserver/provisionerdserver_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -1776,7 +1776,7 @@ func setup(t *testing.T, ignoreLogErrors bool, ov *overrides) (proto.DRPCProvisi
Tags: database.StringMap{},
LastSeenAt: sql.NullTime{},
Version: buildinfo.Version(),
APIVersion:provisionersdk.VersionCurrent.String(),
APIVersion:proto.VersionCurrent.String(),
})
require.NoError(t, err)

Expand Down
3 changes: 1 addition & 2 deletionscodersdk/provisionerdaemons.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,7 +18,6 @@ import (
"github.com/coder/coder/v2/codersdk/drpc"
"github.com/coder/coder/v2/provisionerd/proto"
"github.com/coder/coder/v2/provisionerd/runner"
"github.com/coder/coder/v2/provisionersdk"
)

type LogSource string
Expand DownExpand Up@@ -202,7 +201,7 @@ func (c *Client) ServeProvisionerDaemon(ctx context.Context, req ServeProvisione
query := serverURL.Query()
query.Add("id", req.ID.String())
query.Add("name", req.Name)
query.Add("version",provisionersdk.VersionCurrent.String())
query.Add("version",proto.VersionCurrent.String())

for _, provisioner := range req.Provisioners {
query.Add("provisioner", string(provisioner))
Expand Down
9 changes: 5 additions & 4 deletionsenterprise/cli/provisionerdaemons_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,6 +14,7 @@ import (
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/enterprise/coderd/coderdenttest"
"github.com/coder/coder/v2/enterprise/coderd/license"
"github.com/coder/coder/v2/provisionerd/proto"
"github.com/coder/coder/v2/provisionersdk"
"github.com/coder/coder/v2/pty/ptytest"
"github.com/coder/coder/v2/testutil"
Expand DownExpand Up@@ -51,7 +52,7 @@ func TestProvisionerDaemon_PSK(t *testing.T) {
require.Equal(t, "matt-daemon", daemons[0].Name)
require.Equal(t, provisionersdk.ScopeOrganization, daemons[0].Tags[provisionersdk.TagScope])
require.Equal(t, buildinfo.Version(), daemons[0].Version)
require.Equal(t,provisionersdk.VersionCurrent.String(), daemons[0].APIVersion)
require.Equal(t,proto.VersionCurrent.String(), daemons[0].APIVersion)
}

func TestProvisionerDaemon_SessionToken(t *testing.T) {
Expand DownExpand Up@@ -88,7 +89,7 @@ func TestProvisionerDaemon_SessionToken(t *testing.T) {
assert.Equal(t, provisionersdk.ScopeUser, daemons[0].Tags[provisionersdk.TagScope])
assert.Equal(t, anotherUser.ID.String(), daemons[0].Tags[provisionersdk.TagOwner])
assert.Equal(t, buildinfo.Version(), daemons[0].Version)
assert.Equal(t,provisionersdk.VersionCurrent.String(), daemons[0].APIVersion)
assert.Equal(t,proto.VersionCurrent.String(), daemons[0].APIVersion)
})

t.Run("ScopeAnotherUser", func(t *testing.T) {
Expand DownExpand Up@@ -124,7 +125,7 @@ func TestProvisionerDaemon_SessionToken(t *testing.T) {
// This should get clobbered to the user who started the daemon.
assert.Equal(t, anotherUser.ID.String(), daemons[0].Tags[provisionersdk.TagOwner])
assert.Equal(t, buildinfo.Version(), daemons[0].Version)
assert.Equal(t,provisionersdk.VersionCurrent.String(), daemons[0].APIVersion)
assert.Equal(t,proto.VersionCurrent.String(), daemons[0].APIVersion)
})

t.Run("ScopeOrg", func(t *testing.T) {
Expand DownExpand Up@@ -158,6 +159,6 @@ func TestProvisionerDaemon_SessionToken(t *testing.T) {
assert.Equal(t, "org-daemon", daemons[0].Name)
assert.Equal(t, provisionersdk.ScopeOrganization, daemons[0].Tags[provisionersdk.TagScope])
assert.Equal(t, buildinfo.Version(), daemons[0].Version)
assert.Equal(t,provisionersdk.VersionCurrent.String(), daemons[0].APIVersion)
assert.Equal(t,proto.VersionCurrent.String(), daemons[0].APIVersion)
})
}
2 changes: 1 addition & 1 deletionenterprise/coderd/provisionerdaemons.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -239,7 +239,7 @@ func (api *API) provisionerDaemonServe(rw http.ResponseWriter, r *http.Request)
apiVersion = qv
}

if err :=provisionersdk.VersionCurrent.Validate(apiVersion); err != nil {
if err :=proto.VersionCurrent.Validate(apiVersion); err != nil {
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
Message: "Incompatible or unparsable version",
Validations: []codersdk.ValidationError{
Expand Down
4 changes: 2 additions & 2 deletionsenterprise/coderd/provisionerdaemons_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -62,7 +62,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
if assert.Len(t, daemons, 1) {
assert.Equal(t, daemonName, daemons[0].Name)
assert.Equal(t, buildinfo.Version(), daemons[0].Version)
assert.Equal(t,provisionersdk.VersionCurrent.String(), daemons[0].APIVersion)
assert.Equal(t,provisionerdproto.VersionCurrent.String(), daemons[0].APIVersion)
}
})

Expand DownExpand Up@@ -149,7 +149,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
q.Add("provisioner", "echo")

// Set a different (newer) version than the current.
v := apiversion.New(provisionersdk.CurrentMajor+1,provisionersdk.CurrentMinor+1)
v := apiversion.New(provisionerdproto.CurrentMajor+1,provisionerdproto.CurrentMinor+1)
q.Add("version", v.String())
srvURL.RawQuery = q.Encode()

Expand Down
13 changes: 13 additions & 0 deletionsprovisionerd/proto/version.go
View file
Open in desktop

Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.

11 changes: 0 additions & 11 deletionsprovisionersdk/serve.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,21 +16,10 @@ import (

"cdr.dev/slog"

"github.com/coder/coder/v2/apiversion"
"github.com/coder/coder/v2/coderd/tracing"
"github.com/coder/coder/v2/provisionersdk/proto"
)

const (
CurrentMajor = 1
CurrentMinor = 0
)

// VersionCurrent is the current provisionerd API version.
// Breaking changes to the provisionerd API **MUST** increment
// CurrentMajor above.
var VersionCurrent = apiversion.New(CurrentMajor, CurrentMinor)

// ServeOptions are configurations to serve a provisioner.
type ServeOptions struct {
// Listener serves multiple connections. Cannot be combined with Conn.
Expand Down

[8]ページ先頭

©2009-2025 Movatter.jp