Skip to content

Commit 3194bcf

Browse files
authored
chore: distinct operations for provisioner's 'parse', 'init', 'plan', 'apply', 'graph' (#21064)
Provisioner steps broken into smaller granular actions. Changes: - `ExtractArchive` moved to `init` request (was in `configure`) - Writing `tfstate` moved to `plan` (was in `configure`) - Moved most plan/apply outputs to `GraphComplete`
1 parent 103967e commit 3194bcf

File tree

79 files changed

+3409
-2129
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+3409
-2129
lines changed

cli/create_test.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -301,11 +301,13 @@ func TestCreate(t *testing.T) {
301301

302302
func prepareEchoResponses(parameters []*proto.RichParameter, presets ...*proto.Preset) *echo.Responses {
303303
return &echo.Responses{
304-
Parse: echo.ParseComplete,
305-
ProvisionPlan: []*proto.Response{
304+
Parse: echo.ParseComplete,
305+
ProvisionInit: echo.InitComplete,
306+
ProvisionPlan: echo.PlanComplete,
307+
ProvisionGraph: []*proto.Response{
306308
{
307-
Type: &proto.Response_Plan{
308-
Plan: &proto.PlanComplete{
309+
Type: &proto.Response_Graph{
310+
Graph: &proto.GraphComplete{
309311
Parameters: parameters,
310312
Presets: presets,
311313
},
@@ -1573,11 +1575,13 @@ func TestCreateValidateRichParameters(t *testing.T) {
15731575
func TestCreateWithGitAuth(t *testing.T) {
15741576
t.Parallel()
15751577
echoResponses := &echo.Responses{
1576-
Parse: echo.ParseComplete,
1577-
ProvisionPlan: []*proto.Response{
1578+
Parse: echo.ParseComplete,
1579+
ProvisionInit: echo.InitComplete,
1580+
ProvisionPlan: echo.PlanComplete,
1581+
ProvisionGraph: []*proto.Response{
15781582
{
1579-
Type: &proto.Response_Plan{
1580-
Plan: &proto.PlanComplete{
1583+
Type: &proto.Response_Graph{
1584+
Graph: &proto.GraphComplete{
15811585
ExternalAuthProviders: []*proto.ExternalAuthProviderResource{{Id: "github"}},
15821586
},
15831587
},

cli/restart_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,10 +306,10 @@ func TestRestartWithParameters(t *testing.T) {
306306
echoResponses := func() *echo.Responses {
307307
return &echo.Responses{
308308
Parse: echo.ParseComplete,
309-
ProvisionPlan: []*proto.Response{
309+
ProvisionGraph: []*proto.Response{
310310
{
311-
Type: &proto.Response_Plan{
312-
Plan: &proto.PlanComplete{
311+
Type: &proto.Response_Graph{
312+
Graph: &proto.GraphComplete{
313313
Parameters: []*proto.RichParameter{
314314
{
315315
Name: immutableParameterName,

cli/ssh_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ func TestSSH(t *testing.T) {
155155
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, &echo.Responses{
156156
Parse: echo.ParseComplete,
157157
ProvisionPlan: echo.PlanComplete,
158-
ProvisionApply: echo.ProvisionApplyWithAgent(authToken),
158+
ProvisionGraph: echo.ProvisionGraphWithAgent(authToken),
159159
})
160160
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
161161
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
@@ -244,7 +244,7 @@ func TestSSH(t *testing.T) {
244244
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, &echo.Responses{
245245
Parse: echo.ParseComplete,
246246
ProvisionPlan: echo.PlanComplete,
247-
ProvisionApply: echo.ProvisionApplyWithAgent(authToken),
247+
ProvisionGraph: echo.ProvisionGraphWithAgent(authToken),
248248
})
249249
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
250250
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
@@ -305,7 +305,7 @@ func TestSSH(t *testing.T) {
305305
echoResponses := &echo.Responses{
306306
Parse: echo.ParseComplete,
307307
ProvisionPlan: echo.PlanComplete,
308-
ProvisionApply: echo.ProvisionApplyWithAgent(authToken),
308+
ProvisionGraph: echo.ProvisionGraphWithAgent(authToken),
309309
}
310310

311311
version := coderdtest.CreateTemplateVersion(t, ownerClient, owner.OrganizationID, echoResponses)
@@ -326,7 +326,7 @@ func TestSSH(t *testing.T) {
326326
echoResponses2 := &echo.Responses{
327327
Parse: echo.ParseComplete,
328328
ProvisionPlan: echo.PlanComplete,
329-
ProvisionApply: echo.ProvisionApplyWithAgent(authToken2),
329+
ProvisionGraph: echo.ProvisionGraphWithAgent(authToken2),
330330
}
331331
version = coderdtest.UpdateTemplateVersion(t, ownerClient, owner.OrganizationID, echoResponses2, template.ID)
332332
coderdtest.AwaitTemplateVersionJobCompleted(t, ownerClient, version.ID)
@@ -655,7 +655,7 @@ func TestSSH(t *testing.T) {
655655
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, &echo.Responses{
656656
Parse: echo.ParseComplete,
657657
ProvisionPlan: echo.PlanComplete,
658-
ProvisionApply: echo.ProvisionApplyWithAgent(authToken),
658+
ProvisionGraph: echo.ProvisionGraphWithAgent(authToken),
659659
})
660660
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
661661
template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)

cli/start_test.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ const (
3636
func mutableParamsResponse() *echo.Responses {
3737
return &echo.Responses{
3838
Parse: echo.ParseComplete,
39-
ProvisionPlan: []*proto.Response{
39+
ProvisionGraph: []*proto.Response{
4040
{
41-
Type: &proto.Response_Plan{
42-
Plan: &proto.PlanComplete{
41+
Type: &proto.Response_Graph{
42+
Graph: &proto.GraphComplete{
4343
Parameters: []*proto.RichParameter{
4444
{
4545
Name: mutableParameterName,
@@ -59,10 +59,10 @@ func mutableParamsResponse() *echo.Responses {
5959
func immutableParamsResponse() *echo.Responses {
6060
return &echo.Responses{
6161
Parse: echo.ParseComplete,
62-
ProvisionPlan: []*proto.Response{
62+
ProvisionGraph: []*proto.Response{
6363
{
64-
Type: &proto.Response_Plan{
65-
Plan: &proto.PlanComplete{
64+
Type: &proto.Response_Graph{
65+
Graph: &proto.GraphComplete{
6666
Parameters: []*proto.RichParameter{
6767
{
6868
Name: immutableParameterName,
@@ -83,11 +83,13 @@ func TestStart(t *testing.T) {
8383

8484
echoResponses := func() *echo.Responses {
8585
return &echo.Responses{
86-
Parse: echo.ParseComplete,
87-
ProvisionPlan: []*proto.Response{
86+
Parse: echo.ParseComplete,
87+
ProvisionInit: echo.InitComplete,
88+
ProvisionPlan: echo.PlanComplete,
89+
ProvisionGraph: []*proto.Response{
8890
{
89-
Type: &proto.Response_Plan{
90-
Plan: &proto.PlanComplete{
91+
Type: &proto.Response_Graph{
92+
Graph: &proto.GraphComplete{
9193
Parameters: []*proto.RichParameter{
9294
{
9395
Name: ephemeralParameterName,

cli/task_test.go

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -285,19 +285,10 @@ func createAITaskTemplate(t *testing.T, client *codersdk.Client, orgID uuid.UUID
285285
taskAppID := uuid.New()
286286
version := coderdtest.CreateTemplateVersion(t, client, orgID, &echo.Responses{
287287
Parse: echo.ParseComplete,
288-
ProvisionPlan: []*proto.Response{
288+
ProvisionGraph: []*proto.Response{
289289
{
290-
Type: &proto.Response_Plan{
291-
Plan: &proto.PlanComplete{
292-
HasAiTasks: true,
293-
},
294-
},
295-
},
296-
},
297-
ProvisionApply: []*proto.Response{
298-
{
299-
Type: &proto.Response_Apply{
300-
Apply: &proto.ApplyComplete{
290+
Type: &proto.Response_Graph{
291+
Graph: &proto.GraphComplete{
301292
Resources: []*proto.Resource{
302293
{
303294
Name: "example",
@@ -321,6 +312,7 @@ func createAITaskTemplate(t *testing.T, client *codersdk.Client, orgID uuid.UUID
321312
},
322313
},
323314
},
315+
HasAiTasks: true,
324316
AiTasks: []*proto.AITask{
325317
{
326318
AppId: taskAppID.String(),

cli/templatepresets_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -282,10 +282,10 @@ func TestTemplatePresets(t *testing.T) {
282282
func templateWithPresets(presets []*proto.Preset) *echo.Responses {
283283
return &echo.Responses{
284284
Parse: echo.ParseComplete,
285-
ProvisionPlan: []*proto.Response{
285+
ProvisionGraph: []*proto.Response{
286286
{
287-
Type: &proto.Response_Plan{
288-
Plan: &proto.PlanComplete{
287+
Type: &proto.Response_Graph{
288+
Graph: &proto.GraphComplete{
289289
Presets: presets,
290290
},
291291
},

cli/templatepush_test.go

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1306,31 +1306,10 @@ func createEchoResponsesWithTemplateVariables(templateVariables []*proto.Templat
13061306
func completeWithAgent() *echo.Responses {
13071307
return &echo.Responses{
13081308
Parse: echo.ParseComplete,
1309-
ProvisionPlan: []*proto.Response{
1309+
ProvisionGraph: []*proto.Response{
13101310
{
1311-
Type: &proto.Response_Plan{
1312-
Plan: &proto.PlanComplete{
1313-
Resources: []*proto.Resource{
1314-
{
1315-
Type: "compute",
1316-
Name: "main",
1317-
Agents: []*proto.Agent{
1318-
{
1319-
Name: "smith",
1320-
OperatingSystem: "linux",
1321-
Architecture: "i386",
1322-
},
1323-
},
1324-
},
1325-
},
1326-
},
1327-
},
1328-
},
1329-
},
1330-
ProvisionApply: []*proto.Response{
1331-
{
1332-
Type: &proto.Response_Apply{
1333-
Apply: &proto.ApplyComplete{
1311+
Type: &proto.Response_Graph{
1312+
Graph: &proto.GraphComplete{
13341313
Resources: []*proto.Resource{
13351314
{
13361315
Type: "compute",

cli/templateversionarchive_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ func TestTemplateVersionsArchive(t *testing.T) {
7171
Parse: echo.ParseComplete,
7272
ProvisionApply: echo.ApplyFailed,
7373
ProvisionPlan: echo.PlanFailed,
74+
ProvisionInit: echo.InitComplete,
7475
}, func(request *codersdk.CreateTemplateVersionRequest) {
7576
request.TemplateID = template.ID
7677
})

coderd/activitybump_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func TestWorkspaceActivityBump(t *testing.T) {
5858
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
5959
Parse: echo.ParseComplete,
6060
ProvisionPlan: echo.PlanComplete,
61-
ProvisionApply: echo.ProvisionApplyWithAgent(agentToken),
61+
ProvisionGraph: echo.ProvisionGraphWithAgent(agentToken),
6262
})
6363
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
6464
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)

coderd/aitasks_test.go

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -61,19 +61,11 @@ func TestTasks(t *testing.T) {
6161
taskAppID := uuid.New()
6262
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
6363
Parse: echo.ParseComplete,
64-
ProvisionPlan: []*proto.Response{
64+
ProvisionGraph: []*proto.Response{
6565
{
66-
Type: &proto.Response_Plan{
67-
Plan: &proto.PlanComplete{
66+
Type: &proto.Response_Graph{
67+
Graph: &proto.GraphComplete{
6868
HasAiTasks: true,
69-
},
70-
},
71-
},
72-
},
73-
ProvisionApply: []*proto.Response{
74-
{
75-
Type: &proto.Response_Apply{
76-
Apply: &proto.ApplyComplete{
7769
Resources: []*proto.Resource{
7870
{
7971
Name: "example",
@@ -951,8 +943,8 @@ func TestTasksCreate(t *testing.T) {
951943
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
952944
Parse: echo.ParseComplete,
953945
ProvisionApply: echo.ApplyComplete,
954-
ProvisionPlan: []*proto.Response{
955-
{Type: &proto.Response_Plan{Plan: &proto.PlanComplete{
946+
ProvisionGraph: []*proto.Response{
947+
{Type: &proto.Response_Graph{Graph: &proto.GraphComplete{
956948
HasAiTasks: true,
957949
}}},
958950
},
@@ -995,8 +987,8 @@ func TestTasksCreate(t *testing.T) {
995987
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
996988
Parse: echo.ParseComplete,
997989
ProvisionApply: echo.ApplyComplete,
998-
ProvisionPlan: []*proto.Response{
999-
{Type: &proto.Response_Plan{Plan: &proto.PlanComplete{
990+
ProvisionGraph: []*proto.Response{
991+
{Type: &proto.Response_Graph{Graph: &proto.GraphComplete{
1000992
Parameters: []*proto.RichParameter{{Name: codersdk.AITaskPromptParameterName, Type: "string"}},
1001993
HasAiTasks: true,
1002994
}}},
@@ -1097,8 +1089,8 @@ func TestTasksCreate(t *testing.T) {
10971089
version = coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
10981090
Parse: echo.ParseComplete,
10991091
ProvisionApply: echo.ApplyComplete,
1100-
ProvisionPlan: []*proto.Response{
1101-
{Type: &proto.Response_Plan{Plan: &proto.PlanComplete{
1092+
ProvisionGraph: []*proto.Response{
1093+
{Type: &proto.Response_Graph{Graph: &proto.GraphComplete{
11021094
HasAiTasks: true,
11031095
}}},
11041096
},
@@ -1218,8 +1210,8 @@ func TestTasksCreate(t *testing.T) {
12181210
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
12191211
Parse: echo.ParseComplete,
12201212
ProvisionApply: echo.ApplyComplete,
1221-
ProvisionPlan: []*proto.Response{
1222-
{Type: &proto.Response_Plan{Plan: &proto.PlanComplete{
1213+
ProvisionGraph: []*proto.Response{
1214+
{Type: &proto.Response_Graph{Graph: &proto.GraphComplete{
12231215
HasAiTasks: true,
12241216
}}},
12251217
},
@@ -1275,8 +1267,8 @@ func TestTasksCreate(t *testing.T) {
12751267
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
12761268
Parse: echo.ParseComplete,
12771269
ProvisionApply: echo.ApplyComplete,
1278-
ProvisionPlan: []*proto.Response{
1279-
{Type: &proto.Response_Plan{Plan: &proto.PlanComplete{
1270+
ProvisionGraph: []*proto.Response{
1271+
{Type: &proto.Response_Graph{Graph: &proto.GraphComplete{
12801272
HasAiTasks: true,
12811273
}}},
12821274
},
@@ -1309,8 +1301,8 @@ func TestTasksCreate(t *testing.T) {
13091301
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
13101302
Parse: echo.ParseComplete,
13111303
ProvisionApply: echo.ApplyComplete,
1312-
ProvisionPlan: []*proto.Response{
1313-
{Type: &proto.Response_Plan{Plan: &proto.PlanComplete{
1304+
ProvisionGraph: []*proto.Response{
1305+
{Type: &proto.Response_Graph{Graph: &proto.GraphComplete{
13141306
HasAiTasks: true,
13151307
}}},
13161308
},
@@ -1359,8 +1351,8 @@ func TestTasksCreate(t *testing.T) {
13591351
version1 := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
13601352
Parse: echo.ParseComplete,
13611353
ProvisionApply: echo.ApplyComplete,
1362-
ProvisionPlan: []*proto.Response{
1363-
{Type: &proto.Response_Plan{Plan: &proto.PlanComplete{
1354+
ProvisionGraph: []*proto.Response{
1355+
{Type: &proto.Response_Graph{Graph: &proto.GraphComplete{
13641356
HasAiTasks: true,
13651357
}}},
13661358
},
@@ -1371,8 +1363,8 @@ func TestTasksCreate(t *testing.T) {
13711363
version2 := coderdtest.UpdateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
13721364
Parse: echo.ParseComplete,
13731365
ProvisionApply: echo.ApplyComplete,
1374-
ProvisionPlan: []*proto.Response{
1375-
{Type: &proto.Response_Plan{Plan: &proto.PlanComplete{
1366+
ProvisionGraph: []*proto.Response{
1367+
{Type: &proto.Response_Graph{Graph: &proto.GraphComplete{
13761368
HasAiTasks: true,
13771369
}}},
13781370
},

0 commit comments

Comments
 (0)