Skip to content

Commit 1f1e915

Browse files
committed
Do not provision dns on the webapp interface, and instead return it in interface response
1 parent d0d9a4f commit 1f1e915

File tree

3 files changed

+15
-18
lines changed

3 files changed

+15
-18
lines changed

cns/NetworkContainerContract.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,11 @@ type GetInterfaceForContainerRequest struct {
133133

134134
// GetInterfaceForContainerResponse specifies the interface for a given container ID.
135135
type GetInterfaceForContainerResponse struct {
136-
NetworkInterface NetworkInterface
137-
CnetAddressSpace []IPSubnet
138-
Response Response
136+
NetworkContainerVersion string
137+
NetworkInterface NetworkInterface
138+
CnetAddressSpace []IPSubnet
139+
DNSServers []string
140+
Response Response
139141
}
140142

141143
// NetworkInterface specifies the information that can be used to unquely identify an interface.

cns/networkcontainers/networkcontainers_windows.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -99,16 +99,6 @@ func createOrUpdateWithOperation(createNetworkContainerRequest cns.CreateNetwork
9999
return errors.New("[Azure CNS] IPAddress in IPConfiguration of createNetworkContainerRequest is nil")
100100
}
101101

102-
var dnsServers string
103-
104-
for _, element := range createNetworkContainerRequest.IPConfiguration.DNSServers {
105-
dnsServers += element + ","
106-
}
107-
108-
if dnsServers != "" && dnsServers[len(dnsServers)-1] == ',' {
109-
dnsServers = dnsServers[:len(dnsServers)-1]
110-
}
111-
112102
ipv4AddrCidr := fmt.Sprintf("%v/%d", createNetworkContainerRequest.IPConfiguration.IPSubnet.IPAddress, createNetworkContainerRequest.IPConfiguration.IPSubnet.PrefixLength)
113103
log.Printf("[Azure CNS] Created ipv4Cidr as %v", ipv4AddrCidr)
114104
ipv4Addr, _, err := net.ParseCIDR(ipv4AddrCidr)
@@ -128,8 +118,6 @@ func createOrUpdateWithOperation(createNetworkContainerRequest cns.CreateNetwork
128118
ipv4NetStr,
129119
"/gateway",
130120
createNetworkContainerRequest.IPConfiguration.GatewayIPAddress,
131-
"/dns",
132-
dnsServers,
133121
"/weakhostsend",
134122
"true",
135123
"/weakhostreceive",

cns/restserver/restserver.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1194,17 +1194,22 @@ func (service *httpRestService) getInterfaceForContainer(w http.ResponseWriter,
11941194
var interfaceName string
11951195
var ipaddress string
11961196
var cnetSpace []cns.IPSubnet
1197+
var dnsServers []string
1198+
var version string
11971199

11981200
if ok {
11991201
savedReq := containerDetails.CreateNetworkContainerRequest
12001202
interfaceName = savedReq.NetworkContainerid
12011203
cnetSpace = savedReq.CnetAddressSpace
12021204
ipaddress = savedReq.IPConfiguration.IPSubnet.IPAddress // it has to exist
1205+
dnsServers = savedReq.IPConfiguration.DNSServers
1206+
version = savedReq.Version
12031207
} else {
12041208
returnMessage = "[Azure CNS] Never received call to create this container."
12051209
returnCode = UnknownContainerID
12061210
interfaceName = ""
12071211
ipaddress = ""
1212+
version = ""
12081213
}
12091214

12101215
resp := cns.Response{
@@ -1213,9 +1218,11 @@ func (service *httpRestService) getInterfaceForContainer(w http.ResponseWriter,
12131218
}
12141219

12151220
getInterfaceForContainerResponse := cns.GetInterfaceForContainerResponse{
1216-
Response: resp,
1217-
NetworkInterface: cns.NetworkInterface{Name: interfaceName, IPAddress: ipaddress},
1218-
CnetAddressSpace: cnetSpace,
1221+
Response: resp,
1222+
NetworkInterface: cns.NetworkInterface{Name: interfaceName, IPAddress: ipaddress},
1223+
CnetAddressSpace: cnetSpace,
1224+
DNSServers: dnsServers,
1225+
NetworkContainerVersion: version,
12191226
}
12201227

12211228
err = service.Listener.Encode(w, &getInterfaceForContainerResponse)

0 commit comments

Comments
 (0)