Skip to content

Commit 95b911c

Browse files
Merge pull request #221 from sharmasushant/fork-master
Do not provision dns on the webapp interface, and instead return it in interface response
2 parents c4918fb + 1f1e915 commit 95b911c

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
@@ -135,9 +135,11 @@ type GetInterfaceForContainerRequest struct {
135135

136136
// GetInterfaceForContainerResponse specifies the interface for a given container ID.
137137
type GetInterfaceForContainerResponse struct {
138-
NetworkInterface NetworkInterface
139-
CnetAddressSpace []IPSubnet
140-
Response Response
138+
NetworkContainerVersion string
139+
NetworkInterface NetworkInterface
140+
CnetAddressSpace []IPSubnet
141+
DNSServers []string
142+
Response Response
141143
}
142144

143145
// 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
@@ -1190,17 +1190,22 @@ func (service *httpRestService) getInterfaceForContainer(w http.ResponseWriter,
11901190
var interfaceName string
11911191
var ipaddress string
11921192
var cnetSpace []cns.IPSubnet
1193+
var dnsServers []string
1194+
var version string
11931195

11941196
if ok {
11951197
savedReq := containerDetails.CreateNetworkContainerRequest
11961198
interfaceName = savedReq.NetworkContainerid
11971199
cnetSpace = savedReq.CnetAddressSpace
11981200
ipaddress = savedReq.IPConfiguration.IPSubnet.IPAddress // it has to exist
1201+
dnsServers = savedReq.IPConfiguration.DNSServers
1202+
version = savedReq.Version
11991203
} else {
12001204
returnMessage = "[Azure CNS] Never received call to create this container."
12011205
returnCode = UnknownContainerID
12021206
interfaceName = ""
12031207
ipaddress = ""
1208+
version = ""
12041209
}
12051210

12061211
resp := cns.Response{
@@ -1209,9 +1214,11 @@ func (service *httpRestService) getInterfaceForContainer(w http.ResponseWriter,
12091214
}
12101215

12111216
getInterfaceForContainerResponse := cns.GetInterfaceForContainerResponse{
1212-
Response: resp,
1213-
NetworkInterface: cns.NetworkInterface{Name: interfaceName, IPAddress: ipaddress},
1214-
CnetAddressSpace: cnetSpace,
1217+
Response: resp,
1218+
NetworkInterface: cns.NetworkInterface{Name: interfaceName, IPAddress: ipaddress},
1219+
CnetAddressSpace: cnetSpace,
1220+
DNSServers: dnsServers,
1221+
NetworkContainerVersion: version,
12151222
}
12161223

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

0 commit comments

Comments
 (0)