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

Commitc773873

Browse files
committed
chore: add template resource trace logging
1 parent9b0c900 commitc773873

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

‎internal/provider/template_resource.go‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ func (r *TemplateResource) Create(ctx context.Context, req resource.CreateReques
352352
return
353353
}
354354
ifidx==0 {
355+
tflog.Trace(ctx,"creating template")
355356
templateResp,err=client.CreateTemplate(ctx,orgID, codersdk.CreateTemplateRequest{
356357
Name:data.Name.ValueString(),
357358
DisplayName:data.DisplayName.ValueString(),
@@ -366,21 +367,31 @@ func (r *TemplateResource) Create(ctx context.Context, req resource.CreateReques
366367
resp.Diagnostics.AddError("Client Error",fmt.Sprintf("Failed to create template: %s",err))
367368
return
368369
}
370+
tflog.Trace(ctx,"successfully created template",map[string]any{
371+
"id":templateResp.ID,
372+
})
369373

374+
tflog.Trace(ctx,"updating template ACL")
370375
err=client.UpdateTemplateACL(ctx,templateResp.ID,convertACLToRequest(data.ACL))
371376
iferr!=nil {
372377
resp.Diagnostics.AddError("Client Error",fmt.Sprintf("Failed to update template ACL: %s",err))
373378
return
374379
}
380+
tflog.Trace(ctx,"successfully updated template ACL")
375381
}
376382
ifversion.Active.ValueBool() {
383+
tflog.Trace(ctx,"marking template version as active",map[string]any{
384+
"version_id":versionResp.ID,
385+
"template_id":templateResp.ID,
386+
})
377387
err:=client.UpdateActiveTemplateVersion(ctx,templateResp.ID, codersdk.UpdateActiveTemplateVersion{
378388
ID:versionResp.ID,
379389
})
380390
iferr!=nil {
381391
resp.Diagnostics.AddError("Client Error",fmt.Sprintf("Failed to set active template version: %s",err))
382392
return
383393
}
394+
tflog.Trace(ctx,"marked template version as active")
384395
}
385396
data.Versions[idx].ID=UUIDValue(versionResp.ID)
386397
data.Versions[idx].Name=types.StringValue(versionResp.Name)
@@ -478,6 +489,7 @@ func (r *TemplateResource) Update(ctx context.Context, req resource.UpdateReques
478489
client:=r.data.Client
479490

480491
if!planState.EqualTemplateMetadata(curState) {
492+
tflog.Trace(ctx,"change in template metadata detected, updating.")
481493
_,err:=client.UpdateTemplateMeta(ctx,templateID, codersdk.UpdateTemplateMeta{
482494
Name:planState.Name.ValueString(),
483495
DisplayName:planState.DisplayName.ValueString(),
@@ -491,11 +503,13 @@ func (r *TemplateResource) Update(ctx context.Context, req resource.UpdateReques
491503
resp.Diagnostics.AddError("Client Error",fmt.Sprintf("Failed to update template: %s",err))
492504
return
493505
}
506+
tflog.Trace(ctx,"successfully updated template metadata")
494507
err=client.UpdateTemplateACL(ctx,templateID,convertACLToRequest(planState.ACL))
495508
iferr!=nil {
496509
resp.Diagnostics.AddError("Client Error",fmt.Sprintf("Failed to update template ACL: %s",err))
497510
return
498511
}
512+
tflog.Trace(ctx,"successfully updated template ACL")
499513
}
500514

501515
foridx,plannedVersion:=rangeplanState.Versions {
@@ -504,6 +518,7 @@ func (r *TemplateResource) Update(ctx context.Context, req resource.UpdateReques
504518
foundVersion:=curState.Versions.ByID(plannedVersion.ID)
505519
// If the version is new, or if the directory hash has changed, create a new version
506520
iffoundVersion==nil||foundVersion.DirectoryHash!=plannedVersion.DirectoryHash {
521+
tflog.Trace(ctx,"discovered a new or modified template version")
507522
versionResp,err:=newVersion(ctx,client,newVersionRequest{
508523
Version:&plannedVersion,
509524
OrganizationID:orgID,
@@ -524,13 +539,18 @@ func (r *TemplateResource) Update(ctx context.Context, req resource.UpdateReques
524539
return
525540
}
526541
ifplannedVersion.Active.ValueBool() {
542+
tflog.Trace(ctx,"marking template version as active",map[string]any{
543+
"version_id":versionResp.ID,
544+
"template_id":templateID,
545+
})
527546
err:=client.UpdateActiveTemplateVersion(ctx,templateID, codersdk.UpdateActiveTemplateVersion{
528547
ID:versionResp.ID,
529548
})
530549
iferr!=nil {
531550
resp.Diagnostics.AddError("Client Error",fmt.Sprintf("Failed to update active template version: %s",err))
532551
return
533552
}
553+
tflog.Trace(ctx,"marked template version as active")
534554
}
535555
planState.Versions[idx].ID=UUIDValue(versionResp.ID)
536556
}
@@ -553,6 +573,7 @@ func (r *TemplateResource) Delete(ctx context.Context, req resource.DeleteReques
553573

554574
templateID:=data.ID.ValueUUID()
555575

576+
tflog.Trace(ctx,"deleting template")
556577
err:=client.DeleteTemplate(ctx,templateID)
557578
iferr!=nil {
558579
resp.Diagnostics.AddError("Client Error",fmt.Sprintf("Failed to delete template: %s",err))
@@ -712,11 +733,14 @@ type newVersionRequest struct {
712733

713734
funcnewVersion(ctx context.Context,client*codersdk.Client,reqnewVersionRequest) (*codersdk.TemplateVersion,error) {
714735
directory:=req.Version.Directory.ValueString()
736+
tflog.Trace(ctx,"uploading directory")
715737
uploadResp,err:=uploadDirectory(ctx,client,slog.Make(newTFLogSink(ctx)),directory)
716738
iferr!=nil {
717739
returnnil,fmt.Errorf("failed to upload directory: %s",err)
718740
}
741+
tflog.Trace(ctx,"successfully uploaded directory")
719742
// TODO(ethanndickson): Uncomment when a released `codersdk` exports template variable parsing
743+
// tflog.Trace(ctx,"discovering and parsing vars files")
720744
// varFiles, err := codersdk.DiscoverVarsFiles(directory)
721745
// if err != nil {
722746
// return nil, fmt.Errorf("failed to discover vars files: %s", err)
@@ -725,6 +749,9 @@ func newVersion(ctx context.Context, client *codersdk.Client, req newVersionRequ
725749
// if err != nil {
726750
// return nil, fmt.Errorf("failed to parse user variable values: %s", err)
727751
// }
752+
// tflog.Trace(ctx,"discovered and parsed vars files", map[string]any{
753+
// "vars": vars,
754+
// })
728755
vars:=make([]codersdk.VariableValue,0,len(req.Version.TerraformVariables))
729756
for_,variable:=rangereq.Version.TerraformVariables {
730757
vars=append(vars, codersdk.VariableValue{
@@ -743,14 +770,17 @@ func newVersion(ctx context.Context, client *codersdk.Client, req newVersionRequ
743770
ifreq.TemplateID!=nil {
744771
tmplVerReq.TemplateID=*req.TemplateID
745772
}
773+
tflog.Trace(ctx,"creating template version")
746774
versionResp,err:=client.CreateTemplateVersion(ctx,req.OrganizationID,tmplVerReq)
747775
iferr!=nil {
748776
returnnil,fmt.Errorf("failed to create template version: %s",err)
749777
}
778+
tflog.Trace(ctx,"waiting for template version import job.")
750779
err=waitForJob(ctx,client,&versionResp)
751780
iferr!=nil {
752781
returnnil,fmt.Errorf("failed to wait for job: %s",err)
753782
}
783+
tflog.Trace(ctx,"successfully created template version")
754784
return&versionResp,nil
755785
}
756786

‎internal/provider/template_resource_test.go‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package provider
22

33
import (
44
"context"
5+
"os"
56
"regexp"
67
"slices"
78
"strings"
@@ -15,6 +16,9 @@ import (
1516
)
1617

1718
funcTestAccTemplateResource(t*testing.T) {
19+
ifos.Getenv("TF_ACC")=="" {
20+
t.Skip("Acceptance tests are disabled.")
21+
}
1822
ctx:=context.Background()
1923
client:=integration.StartCoder(ctx,t,"template_acc",true)
2024
firstUser,err:=client.User(ctx,codersdk.Me)
@@ -84,7 +88,6 @@ func TestAccTemplateResource(t *testing.T) {
8488
cfg6.Versions=slices.Clone(cfg6.Versions[1:])
8589

8690
resource.Test(t, resource.TestCase{
87-
IsUnitTest:true,
8891
PreCheck:func() {testAccPreCheck(t) },
8992
ProtoV6ProviderFactories:testAccProtoV6ProviderFactories,
9093
Steps: []resource.TestStep{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp