From 7ac5b1eaeafdc89cb6dbca3994e765eff5650b08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20H=C3=B8st=20Christiansen?= Date: Sat, 20 Apr 2024 20:29:31 +0200 Subject: [PATCH] Added functionality to on error in creating env --- internal/agent/environment.go | 5 +++++ internal/environment/environment.go | 1 + 2 files changed, 6 insertions(+) diff --git a/internal/agent/environment.go b/internal/agent/environment.go index 2a635d4..295b7a1 100644 --- a/internal/agent/environment.go +++ b/internal/agent/environment.go @@ -101,6 +101,7 @@ func (a *Agent) CreateEnvironment(ctx context.Context, req *proto.CreatEnvReques env, err := envConf.NewEnv(ctx) if err != nil { log.Error().Err(err).Msg("error creating environment") + vpnIPPool.ReleaseIP(vpnIP) return &proto.StatusResponse{Message: "Error creating environment"}, err } @@ -174,6 +175,10 @@ func (a *Agent) CreateEnvironment(ctx context.Context, req *proto.CreatEnvReques // Start the environment if err := env.Start(context.TODO()); err != nil { log.Error().Err(err).Msg("error creating environment") + vpnIPPool.ReleaseIP(vpnIP) + if err := env.Close(); err != nil { + log.Error().Err(err).Msg("error closing environment after error creating it") + } return &proto.StatusResponse{Message: "Error creating environment"}, err } diff --git a/internal/environment/environment.go b/internal/environment/environment.go index a11f39b..46663d8 100644 --- a/internal/environment/environment.go +++ b/internal/environment/environment.go @@ -37,6 +37,7 @@ func (ec *EnvConfig) NewEnv(ctx context.Context) (*Environment, error) { wgClient, err := wg.NewGRPCVPNClient(ec.VpnConfig) if err != nil { log.Error().Err(err).Msg("error connecting to wg server") + guac.Close() return nil, err }