diff --git a/pkg/daemon/multus/nginx-config.yaml b/pkg/daemon/multus/nginx-config.yaml index 57793c1a7..27bde08a7 100644 --- a/pkg/daemon/multus/nginx-config.yaml +++ b/pkg/daemon/multus/nginx-config.yaml @@ -7,7 +7,10 @@ metadata: data: server.conf: | server { + # listen on all IPv4 addrs listen 8080; + # listen on all IPv6 addrs + listen [::]:8080; server_name localhost; # return the client ip upon connect diff --git a/pkg/daemon/multus/templates.go b/pkg/daemon/multus/templates.go index f7aab51f2..275e0f2a8 100644 --- a/pkg/daemon/multus/templates.go +++ b/pkg/daemon/multus/templates.go @@ -113,6 +113,12 @@ func (vt *ValidationTest) generateClientTemplateConfig( if attachCluster && serverClusterAddr != "" { netNamesAndAddresses["cluster"] = serverClusterAddr } + for name, addr := range netNamesAndAddresses { + if strings.Contains(addr, ":") { + // it's an IPv6 address and needs square brackets around it to support : addition + netNamesAndAddresses[name] = "[" + addr + "]" + } + } return clientTemplateConfig{ NodeType: nodeType, ClientType: clientType, diff --git a/tests/scripts/multus/default-public-cluster-nads.yaml b/tests/scripts/multus/default-public-cluster-nads.yaml index bfb5898b5..bd8e96b51 100644 --- a/tests/scripts/multus/default-public-cluster-nads.yaml +++ b/tests/scripts/multus/default-public-cluster-nads.yaml @@ -17,4 +17,4 @@ metadata: labels: annotations: spec: - config: '{ "cniVersion": "0.3.1", "type": "macvlan", "master": "eth0", "mode": "bridge", "ipam": { "type": "whereabouts", "range": "192.168.30.0/24" } }' + config: '{ "cniVersion": "0.3.1", "type": "macvlan", "master": "eth0", "mode": "bridge", "ipam": { "type": "whereabouts", "range": "fc00::/96" } }'