Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
Signed-off-by: Yaroslav Borbat <[email protected]>
  • Loading branch information
yaroslavborbat committed Feb 4, 2025
1 parent 3acdb8c commit 7e765ae
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 24 deletions.
29 changes: 9 additions & 20 deletions images/virtualization-artifact/pkg/migration/migration.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"

"github.com/deckhouse/deckhouse/pkg/log"

"github.com/deckhouse/virtualization-controller/pkg/logger"
)

Expand All @@ -35,49 +36,37 @@ var newMigrations = []constructor{

type Migration interface {
Name() string
IsBlocking() bool
Migrate(ctx context.Context) error
}

type Controller struct {
client client.Client
log *log.Logger

blockingMigrations []Migration
nonBlockingMigrations []Migration
migrations []Migration
}

func NewController(client client.Client, log *log.Logger) (*Controller, error) {
var (
blockingMigrations []Migration
nonBlockingMigrations []Migration
)
for _, newMigration := range newMigrations {
migrations := make([]Migration, len(newMigrations))
for i, newMigration := range newMigrations {
m, err := newMigration(client, log)
if err != nil {
return nil, err
}
if m.IsBlocking() {
blockingMigrations = append(blockingMigrations, m)
} else {
nonBlockingMigrations = append(nonBlockingMigrations, m)
}
migrations[i] = m
}

return &Controller{
client: client,
log: log,
blockingMigrations: blockingMigrations,
nonBlockingMigrations: nonBlockingMigrations,
client: client,
log: log,
migrations: migrations,
}, nil
}

func (c *Controller) Run(ctx context.Context) {
wg := &sync.WaitGroup{}

c.run(ctx, nil, c.nonBlockingMigrations)
c.run(ctx, wg, c.blockingMigrations)
// Wait for blocking migrations only
c.run(ctx, wg, c.migrations)
wg.Wait()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,6 @@ func (r *qemuMaxLength36) Name() string {
return qemuMaxLength36ControllerName
}

func (r *qemuMaxLength36) IsBlocking() bool {
return true
}

func (r *qemuMaxLength36) Migrate(ctx context.Context) error {
kvvmList := &virtv1.VirtualMachineList{}
err := r.client.List(ctx, kvvmList)
Expand Down

0 comments on commit 7e765ae

Please sign in to comment.