MCPcopy Create free account
hub / github.com/cloudbase/garm / createAndStartRepoPoolManager

Method createAndStartRepoPoolManager

runner/runner.go:439–459  ·  view source on GitHub ↗
(repo params.Repository)

Source from the content-addressed store, hash-verified

437}
438
439func (r *Runner) createAndStartRepoPoolManager(repo params.Repository) {
440 slog.InfoContext(r.ctx, "creating pool manager for repo", "repo_owner", repo.Owner, "repo_name", repo.Name)
441 poolMgr, err := r.poolManagerCtrl.CreateRepoPoolManager(r.ctx, repo, r.providers, r.store)
442 if err != nil {
443 slog.ErrorContext(r.ctx, "creating repo pool manager", "repo_owner", repo.Owner, "repo_name", repo.Name, "error", err)
444 r.failedEntities[repo.ID] = failedEntity{entityType: params.ForgeEntityTypeRepository, id: repo.ID}
445 r.backoff.RecordFailure(repo.ID)
446 return
447 }
448 if err := poolMgr.Start(); err != nil {
449 slog.ErrorContext(r.ctx, "starting repo pool manager", "repo_owner", repo.Owner, "repo_name", repo.Name, "error", err)
450 if deleteErr := r.poolManagerCtrl.DeleteRepoPoolManager(repo); deleteErr != nil {
451 slog.ErrorContext(r.ctx, "cleaning up failed repo pool manager", "repo_id", repo.ID, "error", deleteErr)
452 }
453 r.failedEntities[repo.ID] = failedEntity{entityType: params.ForgeEntityTypeRepository, id: repo.ID}
454 r.backoff.RecordFailure(repo.ID)
455 return
456 }
457 delete(r.failedEntities, repo.ID)
458 r.backoff.RecordSuccess(repo.ID)
459}
460
461func (r *Runner) createAndStartOrgPoolManager(org params.Organization) {
462 slog.InfoContext(r.ctx, "creating pool manager for organization", "org_name", org.Name)

Callers 3

retryFailedEntityMethod · 0.95

Calls 5

RecordSuccessMethod · 0.80
CreateRepoPoolManagerMethod · 0.65
RecordFailureMethod · 0.65
StartMethod · 0.65
DeleteRepoPoolManagerMethod · 0.65

Tested by

no test coverage detected