Skip to content

Commit 20d9d8f

Browse files
fra98adamjensenbot
authored andcommitted
Fix liqoctl disconnect on bidirectional
1 parent 3b9f887 commit 20d9d8f

File tree

2 files changed

+29
-27
lines changed

2 files changed

+29
-27
lines changed

cmd/liqoctl/cmd/network.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ func newNetworkDisconnectCommand(ctx context.Context, options *network.Options)
196196
},
197197

198198
Run: func(_ *cobra.Command, _ []string) {
199-
output.ExitOnErr(options.RunDisconnect(ctx))
199+
output.ExitOnErr(options.RunDisconnect(ctx, nil, nil))
200200
},
201201
}
202202

pkg/liqoctl/network/handler.go

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -134,23 +134,8 @@ func (o *Options) RunReset(ctx context.Context) error {
134134
return err
135135
}
136136

137-
// Delete gateway client on cluster 1
138-
if err := cluster1.DeleteGatewayClient(ctx, forge.DefaultGatewayClientName(cluster2.localClusterID)); err != nil {
139-
return err
140-
}
141-
142-
// Delete gateway client on cluster 2
143-
if err := cluster2.DeleteGatewayClient(ctx, forge.DefaultGatewayClientName(cluster1.localClusterID)); err != nil {
144-
return err
145-
}
146-
147-
// Delete gateway server on cluster 1
148-
if err := cluster1.DeleteGatewayServer(ctx, forge.DefaultGatewayServerName(cluster2.localClusterID)); err != nil {
149-
return err
150-
}
151-
152-
// Delete gateway server on cluster 2
153-
if err := cluster2.DeleteGatewayServer(ctx, forge.DefaultGatewayServerName(cluster1.localClusterID)); err != nil {
137+
// Run disconnect command to remove gateways.
138+
if err := o.RunDisconnect(ctx, cluster1, cluster2); err != nil {
154139
return err
155140
}
156141

@@ -294,27 +279,44 @@ func (o *Options) RunConnect(ctx context.Context) error {
294279
}
295280

296281
// RunDisconnect disconnects two clusters.
297-
func (o *Options) RunDisconnect(ctx context.Context) error {
282+
// It deletes the gateways (if present) on both clusters.
283+
// Cluster1 and Cluster2 are optional, if not provided they will be created and initialized.
284+
func (o *Options) RunDisconnect(ctx context.Context, cluster1, cluster2 *Cluster) error {
285+
var err error
298286
ctx, cancel := context.WithTimeout(ctx, o.Timeout)
299287
defer cancel()
300288

301-
// Create and initialize cluster 1.
302-
cluster1, err := NewCluster(ctx, o.LocalFactory, o.RemoteFactory, false)
303-
if err != nil {
304-
return err
289+
if cluster1 == nil {
290+
// Create and initialize cluster 1.
291+
cluster1, err = NewCluster(ctx, o.LocalFactory, o.RemoteFactory, false)
292+
if err != nil {
293+
return err
294+
}
305295
}
306296

307-
// Create and initialize cluster 2.
308-
cluster2, err := NewCluster(ctx, o.RemoteFactory, o.LocalFactory, false)
309-
if err != nil {
310-
return err
297+
if cluster2 == nil {
298+
// Create and initialize cluster 2.
299+
cluster2, err = NewCluster(ctx, o.RemoteFactory, o.LocalFactory, false)
300+
if err != nil {
301+
return err
302+
}
311303
}
312304

313305
// Delete gateway client on cluster 1
314306
if err := cluster1.DeleteGatewayClient(ctx, forge.DefaultGatewayClientName(cluster2.localClusterID)); err != nil {
315307
return err
316308
}
317309

310+
// Delete gateway client on cluster 2
311+
if err := cluster2.DeleteGatewayClient(ctx, forge.DefaultGatewayClientName(cluster1.localClusterID)); err != nil {
312+
return err
313+
}
314+
315+
// Delete gateway server on cluster 1
316+
if err := cluster1.DeleteGatewayServer(ctx, forge.DefaultGatewayServerName(cluster2.localClusterID)); err != nil {
317+
return err
318+
}
319+
318320
// Delete gateway server on cluster 2
319321
return cluster2.DeleteGatewayServer(ctx, forge.DefaultGatewayServerName(cluster1.localClusterID))
320322
}

0 commit comments

Comments
 (0)