mirror of
https://github.com/linka-cloud/d2vm.git
synced 2024-11-26 17:46:24 +00:00
d2vm/run: hetzner: remove server if run is cancelled before beeing created
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
This commit is contained in:
parent
0c24236da9
commit
adbd4c7233
@ -97,10 +97,6 @@ func runHetzner(ctx context.Context, imgPath string, stdin io.Reader, stderr io.
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
_, errs := c.Action.WatchProgress(ctx, sres.Action)
|
|
||||||
if err := <-errs; err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
remove := true
|
remove := true
|
||||||
defer func() {
|
defer func() {
|
||||||
if !remove && !hetznerRemove {
|
if !remove && !hetznerRemove {
|
||||||
@ -112,6 +108,10 @@ func runHetzner(ctx context.Context, imgPath string, stdin io.Reader, stderr io.
|
|||||||
logrus.Fatalf("failed to remove server: %v", err)
|
logrus.Fatalf("failed to remove server: %v", err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
_, errs := c.Action.WatchProgress(ctx, sres.Action)
|
||||||
|
if err := <-errs; err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
logrus.Infof("server created with ip: %s", sres.Server.PublicNet.IPv4.IP.String())
|
logrus.Infof("server created with ip: %s", sres.Server.PublicNet.IPv4.IP.String())
|
||||||
logrus.Infof("enabling server rescue mode")
|
logrus.Infof("enabling server rescue mode")
|
||||||
rres, _, err := c.Server.EnableRescue(ctx, sres.Server, hcloud.ServerEnableRescueOpts{Type: hcloud.ServerRescueTypeLinux64})
|
rres, _, err := c.Server.EnableRescue(ctx, sres.Server, hcloud.ServerEnableRescueOpts{Type: hcloud.ServerRescueTypeLinux64})
|
||||||
@ -253,7 +253,8 @@ wait:
|
|||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
return ctx.Err()
|
return ctx.Err()
|
||||||
default:
|
default:
|
||||||
conn, err := net.Dial("tcp", fmt.Sprintf("%s:22", sres.Server.PublicNet.IPv4.IP.String()))
|
var d net.Dialer
|
||||||
|
conn, err := d.DialContext(ctx, "tcp", fmt.Sprintf("%s:22", sres.Server.PublicNet.IPv4.IP.String()))
|
||||||
if err == nil {
|
if err == nil {
|
||||||
conn.Close()
|
conn.Close()
|
||||||
break wait
|
break wait
|
||||||
@ -261,6 +262,7 @@ wait:
|
|||||||
time.Sleep(time.Second)
|
time.Sleep(time.Second)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
logrus.Infof("server ready")
|
||||||
args := []string{"-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null"}
|
args := []string{"-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null"}
|
||||||
if hetznerSSHKeyPath != "" {
|
if hetznerSSHKeyPath != "" {
|
||||||
args = append(args, "-i", hetznerSSHKeyPath)
|
args = append(args, "-i", hetznerSSHKeyPath)
|
||||||
|
Loading…
Reference in New Issue
Block a user