MCPcopy Index your code
hub / github.com/coder/coder / scaletestCleanup

Method scaletestCleanup

cli/exp_scaletest.go:606–805  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

604}
605
606func (r *RootCmd) scaletestCleanup() *serpent.Command {
607 var template string
608 cleanupStrategy := newScaletestCleanupStrategy()
609 cmd := &serpent.Command{
610 Use: "cleanup",
611 Short: "Cleanup scaletest workspaces, then cleanup scaletest users.",
612 Long: "The strategy flags will apply to each stage of the cleanup process.",
613 Handler: func(inv *serpent.Invocation) error {
614 client, err := r.InitClient(inv)
615 if err != nil {
616 return err
617 }
618
619 ctx := inv.Context()
620
621 me, err := RequireAdmin(ctx, client)
622 if err != nil {
623 return err
624 }
625
626 client.HTTPClient = &http.Client{
627 Transport: &codersdk.HeaderTransport{
628 Transport: http.DefaultTransport,
629 Header: map[string][]string{
630 codersdk.BypassRatelimitHeader: {"true"},
631 },
632 },
633 }
634
635 if template != "" {
636 _, err := parseTemplate(ctx, client, me.OrganizationIDs, template)
637 if err != nil {
638 return xerrors.Errorf("parse template: %w", err)
639 }
640 }
641
642 cliui.Infof(inv.Stdout, "Pausing prebuilds reconciler...")
643 setPrebuild := func(val bool) error {
644 return client.PutPrebuildsSettings(ctx, codersdk.PrebuildsSettings{ReconciliationPaused: val})
645 }
646 if err = setPrebuild(true); err != nil {
647 return xerrors.Errorf("pause prebuilds reconciler: %w", err)
648 }
649 defer func() {
650 cliui.Infof(inv.Stdout, "Resuming prebuilds reconciler...")
651 if resumeErr := setPrebuild(false); resumeErr != nil {
652 cliui.Errorf(inv.Stderr, "Failed to resume prebuilds reconciler: %+v\n", resumeErr)
653 }
654 }()
655
656 cliui.Infof(inv.Stdout, "Fetching scaletest prebuild workspaces...")
657 prebuildWorkspaces, err := getScaletestPrebuildWorkspaces(ctx, client, template)
658 if err != nil {
659 return err
660 }
661
662 cliui.Errorf(inv.Stderr, "Found %d scaletest prebuild workspaces\n", len(prebuildWorkspaces))
663 if len(prebuildWorkspaces) != 0 {

Callers 1

scaletestCmdMethod · 0.95

Calls 15

InitClientMethod · 0.95
AddRunMethod · 0.95
RunMethod · 0.95
ResultsMethod · 0.95
InfofFunction · 0.92
ErrorfFunction · 0.92
NewCleanupRunnerFunction · 0.92
RequireAdminFunction · 0.85
parseTemplateFunction · 0.85

Tested by

no test coverage detected