Skip to content

Commit e731c5c

Browse files
authored
Merge pull request #1058 from mouellet/project-pspt-conflict
Fix intermittent 409 Conflict when creating new rancher2_project w/ PSPTID
2 parents a97fd44 + ead50b9 commit e731c5c

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

rancher2/resource_rancher2_project.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,22 @@ func resourceRancher2ProjectCreate(d *schema.ResourceData, meta interface{}) err
9898
pspInput := &managementClient.SetPodSecurityPolicyTemplateInput{
9999
PodSecurityPolicyTemplateName: pspID,
100100
}
101-
_, err = client.Project.ActionSetpodsecuritypolicytemplate(newProject, pspInput)
102-
if err != nil {
103-
// Checking error due to ActionSetpodsecuritypolicytemplate() issue
104-
if error.Error(err) != "unexpected end of JSON input" {
105-
return err
101+
err = resource.Retry(3*time.Second, func() *resource.RetryError {
102+
newProject, err = client.Project.ByID(newProject.ID)
103+
if err != nil {
104+
return resource.NonRetryableError(err)
106105
}
106+
_, err = client.Project.ActionSetpodsecuritypolicytemplate(newProject, pspInput)
107+
if err != nil {
108+
if IsConflict(err) || IsForbidden(err) {
109+
return resource.RetryableError(err)
110+
}
111+
return resource.NonRetryableError(err)
112+
}
113+
return nil
114+
})
115+
if err != nil {
116+
return err
107117
}
108118
}
109119

0 commit comments

Comments
 (0)