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

Commit0f6f77a

Browse files
committed
chore: continued removal of max_ttl
1 parentd5f828e commit0f6f77a

File tree

8 files changed

+15
-310
lines changed

8 files changed

+15
-310
lines changed

‎cli/templatecreate.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ func (r *RootCmd) templateCreate() *serpent.Command {
2929
failureTTL time.Duration
3030
dormancyThreshold time.Duration
3131
dormancyAutoDeletion time.Duration
32-
maxTTL time.Duration
3332

3433
uploadFlagstemplateUploadFlags
3534
)
@@ -46,7 +45,7 @@ func (r *RootCmd) templateCreate() *serpent.Command {
4645
r.InitClient(client),
4746
),
4847
Handler:func(inv*serpent.Invocation)error {
49-
isTemplateSchedulingOptionsSet:=failureTTL!=0||dormancyThreshold!=0||dormancyAutoDeletion!=0||maxTTL!=0
48+
isTemplateSchedulingOptionsSet:=failureTTL!=0||dormancyThreshold!=0||dormancyAutoDeletion!=0
5049

5150
ifisTemplateSchedulingOptionsSet||requireActiveVersion {
5251
entitlements,err:=client.Entitlements(inv.Context())
@@ -154,7 +153,6 @@ func (r *RootCmd) templateCreate() *serpent.Command {
154153
VersionID:job.ID,
155154
DefaultTTLMillis:ptr.Ref(defaultTTL.Milliseconds()),
156155
FailureTTLMillis:ptr.Ref(failureTTL.Milliseconds()),
157-
MaxTTLMillis:ptr.Ref(maxTTL.Milliseconds()),
158156
TimeTilDormantMillis:ptr.Ref(dormancyThreshold.Milliseconds()),
159157
TimeTilDormantAutoDeleteMillis:ptr.Ref(dormancyAutoDeletion.Milliseconds()),
160158
DisableEveryoneGroupAccess:disableEveryone,
@@ -229,12 +227,6 @@ func (r *RootCmd) templateCreate() *serpent.Command {
229227
Default:"0h",
230228
Value:serpent.DurationOf(&dormancyAutoDeletion),
231229
},
232-
233-
{
234-
Flag:"max-ttl",
235-
Description:"Edit the template maximum time before shutdown - workspaces created from this template must shutdown within the given duration after starting. This is an enterprise-only feature.",
236-
Value:serpent.DurationOf(&maxTTL),
237-
},
238230
{
239231
Flag:"test.provisioner",
240232
Description:"Customize the provisioner backend.",

‎cli/templateedit_test.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,6 @@ func TestTemplateEdit(t *testing.T) {
564564
_=coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
565565
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID,func(ctr*codersdk.CreateTemplateRequest) {
566566
ctr.DefaultTTLMillis=nil
567-
ctr.MaxTTLMillis=nil
568567
})
569568

570569
// Test the cli command.
@@ -590,7 +589,6 @@ func TestTemplateEdit(t *testing.T) {
590589
assert.Equal(t,template.Icon,updated.Icon)
591590
assert.Equal(t,template.DisplayName,updated.DisplayName)
592591
assert.Equal(t,template.DefaultTTLMillis,updated.DefaultTTLMillis)
593-
assert.Equal(t,template.MaxTTLMillis,updated.MaxTTLMillis)
594592
})
595593

596594
t.Run("BlockedNotEntitled",func(t*testing.T) {
@@ -602,7 +600,6 @@ func TestTemplateEdit(t *testing.T) {
602600
_=coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
603601
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID,func(ctr*codersdk.CreateTemplateRequest) {
604602
ctr.DefaultTTLMillis=nil
605-
ctr.MaxTTLMillis=nil
606603
})
607604

608605
// Make a proxy server that will return a valid entitlements
@@ -668,7 +665,6 @@ func TestTemplateEdit(t *testing.T) {
668665
assert.Equal(t,template.Icon,updated.Icon)
669666
assert.Equal(t,template.DisplayName,updated.DisplayName)
670667
assert.Equal(t,template.DefaultTTLMillis,updated.DefaultTTLMillis)
671-
assert.Equal(t,template.MaxTTLMillis,updated.MaxTTLMillis)
672668
})
673669
t.Run("Entitled",func(t*testing.T) {
674670
t.Parallel()
@@ -679,7 +675,6 @@ func TestTemplateEdit(t *testing.T) {
679675
_=coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
680676
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID,func(ctr*codersdk.CreateTemplateRequest) {
681677
ctr.DefaultTTLMillis=nil
682-
ctr.MaxTTLMillis=nil
683678
})
684679

685680
// Make a proxy server that will return a valid entitlements
@@ -715,7 +710,6 @@ func TestTemplateEdit(t *testing.T) {
715710
varreq codersdk.UpdateTemplateMeta
716711
err=json.Unmarshal(body,&req)
717712
require.NoError(t,err)
718-
assert.Equal(t,time.Hour.Milliseconds(),req.MaxTTLMillis)
719713

720714
r.Body=io.NopCloser(bytes.NewReader(body))
721715
atomic.AddInt64(&updateTemplateCalled,1)
@@ -763,7 +757,6 @@ func TestTemplateEdit(t *testing.T) {
763757
assert.Equal(t,template.Icon,updated.Icon)
764758
assert.Equal(t,template.DisplayName,updated.DisplayName)
765759
assert.Equal(t,template.DefaultTTLMillis,updated.DefaultTTLMillis)
766-
assert.Equal(t,template.MaxTTLMillis,updated.MaxTTLMillis)
767760
})
768761
})
769762
t.Run("AllowUserScheduling",func(t*testing.T) {

‎coderd/provisionerdserver/provisionerdserver_test.go

Lines changed: 8 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,104 +1032,84 @@ func TestCompleteJob(t *testing.T) {
10321032
namestring
10331033
templateAllowAutostopbool
10341034
templateDefaultTTL time.Duration
1035-
templateMaxTTL time.Duration
10361035
workspaceTTL time.Duration
10371036
transition database.WorkspaceTransition
10381037
// The TTL is actually a deadline time on the workspace_build row,
10391038
// so during the test this will be compared to be within 15 seconds
10401039
// of the expected value.
1041-
expectedTTL time.Duration
1042-
expectedMaxTTL time.Duration
1040+
expectedTTL time.Duration
10431041
}{
10441042
{
10451043
name:"OK",
10461044
templateAllowAutostop:true,
10471045
templateDefaultTTL:0,
1048-
templateMaxTTL:0,
10491046
workspaceTTL:0,
10501047
transition:database.WorkspaceTransitionStart,
10511048
expectedTTL:0,
1052-
expectedMaxTTL:0,
10531049
},
10541050
{
10551051
name:"Delete",
10561052
templateAllowAutostop:true,
10571053
templateDefaultTTL:0,
1058-
templateMaxTTL:0,
10591054
workspaceTTL:0,
10601055
transition:database.WorkspaceTransitionDelete,
10611056
expectedTTL:0,
1062-
expectedMaxTTL:0,
10631057
},
10641058
{
10651059
name:"WorkspaceTTL",
10661060
templateAllowAutostop:true,
10671061
templateDefaultTTL:0,
1068-
templateMaxTTL:0,
10691062
workspaceTTL:time.Hour,
10701063
transition:database.WorkspaceTransitionStart,
10711064
expectedTTL:time.Hour,
1072-
expectedMaxTTL:0,
10731065
},
10741066
{
10751067
name:"TemplateDefaultTTLIgnored",
10761068
templateAllowAutostop:true,
10771069
templateDefaultTTL:time.Hour,
1078-
templateMaxTTL:0,
10791070
workspaceTTL:0,
10801071
transition:database.WorkspaceTransitionStart,
10811072
expectedTTL:0,
1082-
expectedMaxTTL:0,
10831073
},
10841074
{
10851075
name:"WorkspaceTTLOverridesTemplateDefaultTTL",
10861076
templateAllowAutostop:true,
10871077
templateDefaultTTL:2*time.Hour,
1088-
templateMaxTTL:0,
10891078
workspaceTTL:time.Hour,
10901079
transition:database.WorkspaceTransitionStart,
10911080
expectedTTL:time.Hour,
1092-
expectedMaxTTL:0,
10931081
},
10941082
{
10951083
name:"TemplateMaxTTL",
10961084
templateAllowAutostop:true,
10971085
templateDefaultTTL:0,
1098-
templateMaxTTL:time.Hour,
10991086
workspaceTTL:0,
11001087
transition:database.WorkspaceTransitionStart,
1101-
expectedTTL:time.Hour,
1102-
expectedMaxTTL:time.Hour,
1088+
expectedTTL:0,
11031089
},
11041090
{
11051091
name:"TemplateMaxTTLOverridesWorkspaceTTL",
11061092
templateAllowAutostop:true,
11071093
templateDefaultTTL:0,
1108-
templateMaxTTL:2*time.Hour,
11091094
workspaceTTL:3*time.Hour,
11101095
transition:database.WorkspaceTransitionStart,
1111-
expectedTTL:2*time.Hour,
1112-
expectedMaxTTL:2*time.Hour,
1096+
expectedTTL:3*time.Hour,
11131097
},
11141098
{
11151099
name:"TemplateMaxTTLOverridesTemplateDefaultTTL",
11161100
templateAllowAutostop:true,
11171101
templateDefaultTTL:3*time.Hour,
1118-
templateMaxTTL:2*time.Hour,
11191102
workspaceTTL:0,
11201103
transition:database.WorkspaceTransitionStart,
1121-
expectedTTL:2*time.Hour,
1122-
expectedMaxTTL:2*time.Hour,
1104+
expectedTTL:0,
11231105
},
11241106
{
11251107
name:"TemplateBlockWorkspaceTTL",
11261108
templateAllowAutostop:false,
11271109
templateDefaultTTL:3*time.Hour,
1128-
templateMaxTTL:6*time.Hour,
11291110
workspaceTTL:4*time.Hour,
11301111
transition:database.WorkspaceTransitionStart,
11311112
expectedTTL:3*time.Hour,
1132-
expectedMaxTTL:6*time.Hour,
11331113
},
11341114
}
11351115

@@ -1148,8 +1128,6 @@ func TestCompleteJob(t *testing.T) {
11481128
UserAutostartEnabled:false,
11491129
UserAutostopEnabled:c.templateAllowAutostop,
11501130
DefaultTTL:c.templateDefaultTTL,
1151-
MaxTTL:c.templateMaxTTL,
1152-
UseMaxTTL:true,
11531131
},nil
11541132
},
11551133
}
@@ -1174,7 +1152,6 @@ func TestCompleteJob(t *testing.T) {
11741152
UpdatedAt:dbtime.Now(),
11751153
AllowUserAutostart:c.templateAllowAutostop,
11761154
DefaultTTL:int64(c.templateDefaultTTL),
1177-
MaxTTL:int64(c.templateMaxTTL),
11781155
})
11791156
require.NoError(t,err)
11801157
file:=dbgen.File(t,db, database.File{CreatedBy:user.ID})
@@ -1253,12 +1230,10 @@ func TestCompleteJob(t *testing.T) {
12531230
}else {
12541231
require.WithinDuration(t,time.Now().Add(c.expectedTTL),workspaceBuild.Deadline,15*time.Second,"deadline does not match expected")
12551232
}
1256-
ifc.expectedMaxTTL==0 {
1257-
require.True(t,workspaceBuild.MaxDeadline.IsZero())
1258-
}else {
1259-
require.WithinDuration(t,time.Now().Add(c.expectedMaxTTL),workspaceBuild.MaxDeadline,15*time.Second,"max deadline does not match expected")
1260-
require.GreaterOrEqual(t,workspaceBuild.MaxDeadline.Unix(),workspaceBuild.Deadline.Unix(),"max deadline is smaller than deadline")
1261-
}
1233+
1234+
// Legacy TTL does not use scheduling requirements that will set
1235+
// a max deadline.
1236+
require.True(t,workspaceBuild.MaxDeadline.IsZero())
12621237
})
12631238
}
12641239
})
@@ -1368,7 +1343,6 @@ func TestCompleteJob(t *testing.T) {
13681343
UserAutostartEnabled:false,
13691344
UserAutostopEnabled:true,
13701345
DefaultTTL:0,
1371-
UseMaxTTL:false,
13721346
AutostopRequirement:c.templateAutostopRequirement,
13731347
},nil
13741348
},

‎coderd/schedule/autostop_test.go

Lines changed: 4 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,10 @@ func TestCalculateAutoStop(t *testing.T) {
7070
t.Log("saturdayMidnightAfterDstOut",saturdayMidnightAfterDstOut)
7171

7272
cases:= []struct {
73-
namestring
74-
now time.Time
75-
templateAllowAutostopbool
76-
templateDefaultTTL time.Duration
77-
// TODO(@dean): remove max_ttl tests
78-
useMaxTTLbool
79-
templateMaxTTL time.Duration
73+
namestring
74+
now time.Time
75+
templateAllowAutostopbool
76+
templateDefaultTTL time.Duration
8077
templateAutostopRequirement schedule.TemplateAutostopRequirement
8178
userQuietHoursSchedulestring
8279
// workspaceTTL is usually copied from the template's TTL when the
@@ -367,40 +364,6 @@ func TestCalculateAutoStop(t *testing.T) {
367364
// expectedDeadline is copied from expectedMaxDeadline.
368365
expectedMaxDeadline:dstOutQuietHoursExpectedTime,
369366
},
370-
371-
// TODO(@dean): remove max_ttl tests
372-
{
373-
name:"AutostopRequirementIgnoresMaxTTL",
374-
now:fridayEveningSydney.In(time.UTC),
375-
templateAllowAutostop:false,
376-
templateDefaultTTL:0,
377-
useMaxTTL:false,
378-
templateMaxTTL:time.Hour,// should be ignored
379-
userQuietHoursSchedule:sydneyQuietHours,
380-
templateAutostopRequirement: schedule.TemplateAutostopRequirement{
381-
DaysOfWeek:0b00100000,// Saturday
382-
Weeks:0,// weekly
383-
},
384-
workspaceTTL:0,
385-
// expectedDeadline is copied from expectedMaxDeadline.
386-
expectedMaxDeadline:saturdayMidnightSydney.In(time.UTC),
387-
},
388-
{
389-
name:"MaxTTLIgnoresAutostopRequirement",
390-
now:fridayEveningSydney.In(time.UTC),
391-
templateAllowAutostop:false,
392-
templateDefaultTTL:0,
393-
useMaxTTL:true,
394-
templateMaxTTL:time.Hour,// should NOT be ignored
395-
userQuietHoursSchedule:sydneyQuietHours,
396-
templateAutostopRequirement: schedule.TemplateAutostopRequirement{
397-
DaysOfWeek:0b00100000,// Saturday
398-
Weeks:0,// weekly
399-
},
400-
workspaceTTL:0,
401-
// expectedDeadline is copied from expectedMaxDeadline.
402-
expectedMaxDeadline:fridayEveningSydney.Add(time.Hour).In(time.UTC),
403-
},
404367
}
405368

406369
for_,c:=rangecases {
@@ -418,8 +381,6 @@ func TestCalculateAutoStop(t *testing.T) {
418381
UserAutostartEnabled:false,
419382
UserAutostopEnabled:c.templateAllowAutostop,
420383
DefaultTTL:c.templateDefaultTTL,
421-
MaxTTL:c.templateMaxTTL,
422-
UseMaxTTL:c.useMaxTTL,
423384
AutostopRequirement:c.templateAutostopRequirement,
424385
},nil
425386
},

‎coderd/templates.go

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,6 @@ func (api *API) postTemplateByOrganization(rw http.ResponseWriter, r *http.Reque
228228
var (
229229
defaultTTL time.Duration
230230
activityBump=time.Hour// default
231-
maxTTL time.Duration
232231
autostopRequirementDaysOfWeek []string
233232
autostartRequirementDaysOfWeek []string
234233
autostopRequirementWeeksint64
@@ -273,12 +272,7 @@ func (api *API) postTemplateByOrganization(rw http.ResponseWriter, r *http.Reque
273272
ifactivityBump<0 {
274273
validErrs=append(validErrs, codersdk.ValidationError{Field:"activity_bump_ms",Detail:"Must be a positive integer."})
275274
}
276-
ifmaxTTL<0 {
277-
validErrs=append(validErrs, codersdk.ValidationError{Field:"max_ttl_ms",Detail:"Must be a positive integer."})
278-
}
279-
ifmaxTTL!=0&&defaultTTL>maxTTL {
280-
validErrs=append(validErrs, codersdk.ValidationError{Field:"default_ttl_ms",Detail:"Must be less than or equal to max_ttl_ms if max_ttl_ms is set."})
281-
}
275+
282276
iflen(autostopRequirementDaysOfWeek)>0 {
283277
autostopRequirementDaysOfWeekParsed,err=codersdk.WeekdaysToBitmap(autostopRequirementDaysOfWeek)
284278
iferr!=nil {
@@ -291,12 +285,7 @@ func (api *API) postTemplateByOrganization(rw http.ResponseWriter, r *http.Reque
291285
validErrs=append(validErrs, codersdk.ValidationError{Field:"autostart_requirement.days_of_week",Detail:err.Error()})
292286
}
293287
}
294-
ifcreateTemplate.MaxTTLMillis!=nil {
295-
maxTTL=time.Duration(*createTemplate.MaxTTLMillis)*time.Millisecond
296-
}
297-
ifmaxTTL!=0&&len(autostopRequirementDaysOfWeek)>0 {
298-
validErrs=append(validErrs, codersdk.ValidationError{Field:"autostop_requirement.days_of_week",Detail:"Cannot be set if max_ttl_ms is set."})
299-
}
288+
300289
ifautostopRequirementWeeks<0 {
301290
validErrs=append(validErrs, codersdk.ValidationError{Field:"autostop_requirement.weeks",Detail:"Must be a positive integer."})
302291
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp