(templateID uuid.UUID)
| 218 | } |
| 219 | |
| 220 | func (p *partitioner) createTemplateVersion(templateID uuid.UUID) (codersdk.TemplateVersion, error) { |
| 221 | tarData, err := TemplateTarData() |
| 222 | if err != nil { |
| 223 | return codersdk.TemplateVersion{}, xerrors.Errorf("failed to create template tarball: %w", err) |
| 224 | } |
| 225 | |
| 226 | // Upload tarball |
| 227 | uploadResp, err := p.client.Upload(p.ctx, codersdk.ContentTypeTar, bytes.NewReader(tarData)) |
| 228 | if err != nil { |
| 229 | return codersdk.TemplateVersion{}, xerrors.Errorf("failed to upload template tar: %w", err) |
| 230 | } |
| 231 | |
| 232 | // Create template version |
| 233 | versionReq := codersdk.CreateTemplateVersionRequest{ |
| 234 | TemplateID: templateID, |
| 235 | FileID: uploadResp.ID, |
| 236 | Message: "Initial version for scaletest dynamic parameters", |
| 237 | StorageMethod: codersdk.ProvisionerStorageMethodFile, |
| 238 | Provisioner: codersdk.ProvisionerTypeTerraform, |
| 239 | ProvisionerTags: p.provisionerTags, |
| 240 | } |
| 241 | version, err := p.client.CreateTemplateVersion(p.ctx, p.orgID, versionReq) |
| 242 | if err != nil { |
| 243 | return codersdk.TemplateVersion{}, xerrors.Errorf("failed to create template version: %w", err) |
| 244 | } |
| 245 | if version.MatchedProvisioners != nil && version.MatchedProvisioners.Count == 0 { |
| 246 | return codersdk.TemplateVersion{}, ErrNoProvisionersMatched |
| 247 | } |
| 248 | return version, nil |
| 249 | } |
| 250 | |
| 251 | func (p *partitioner) waitForTemplateVersionJobs(partitions []Partition) error { |
| 252 | const pollInterval = 2 * time.Second |
no test coverage detected