Skip to content

Commit

Permalink
add migration for new port leasing system
Browse files Browse the repository at this point in the history
  • Loading branch information
saffronjam committed Dec 30, 2023
1 parent b9a56d8 commit cd7ca3d
Showing 1 changed file with 36 additions and 1 deletion.
37 changes: 36 additions & 1 deletion pkg/workers/migrate/migrate.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package migrator

import (
"errors"
vmModels "go-deploy/models/sys/vm"
vmPortModels "go-deploy/models/sys/vmPort"
"log"
)

Expand Down Expand Up @@ -33,5 +36,37 @@ func Migrate() {
//
// add a date to the migration name to make it easier to identify.
func getMigrations() map[string]func() error {
return map[string]func() error{}
return map[string]func() error{
"leaseVmPortsFromOldSystem_2023_10_30": leaseVmPortsFromOldSystem,
}
}

func leaseVmPortsFromOldSystem() error {
vms, err := vmModels.New().List()
if err != nil {
return err
}

for _, vm := range vms {
for _, pfr := range vm.Subsystems.CS.PortForwardingRuleMap {
vmPort, err := vmPortModels.New().GetByLease(vm.ID, pfr.PrivatePort)
if err != nil {
return err
}

if vmPort == nil {

_, err = vmPortModels.New().Lease(pfr.PublicPort, pfr.PrivatePort, vm.ID, vm.Zone)
if err != nil {
if errors.Is(err, vmPortModels.PortNotFoundErr) {
return err
}

return err
}
}
}
}

return nil
}

0 comments on commit cd7ca3d

Please sign in to comment.