From 1585b175dbf47e7ee0d5a26600aaec898ec5c26b Mon Sep 17 00:00:00 2001
From: cdoern <cbdoer23@g.holycross.edu>
Date: Thu, 28 Apr 2022 22:37:11 -0400
Subject: pass networks to container clone

since the network config is a string map, json.unmarshal does not recognize
the config and spec as the same entity, need to map this option manually

resolves #13713

Signed-off-by: cdoern <cbdoer23@g.holycross.edu>
---
 pkg/domain/infra/abi/containers.go | 6 ++++++
 1 file changed, 6 insertions(+)

(limited to 'pkg/domain/infra/abi')

diff --git a/pkg/domain/infra/abi/containers.go b/pkg/domain/infra/abi/containers.go
index b56c36015..92e29c822 100644
--- a/pkg/domain/infra/abi/containers.go
+++ b/pkg/domain/infra/abi/containers.go
@@ -1544,6 +1544,12 @@ func (ic *ContainerEngine) ContainerClone(ctx context.Context, ctrCloneOpts enti
 			return nil, err
 		}
 
+		if len(spec.Networks) > 0 && pod.SharesNet() {
+			logrus.Warning("resetting network config, cannot specify a network other than the pod's when sharing the net namespace")
+			spec.Networks = nil
+			spec.NetworkOptions = nil
+		}
+
 		allNamespaces := []struct {
 			isShared bool
 			value    *specgen.Namespace
-- 
cgit v1.2.3-54-g00ecf