Skip to content

Commit a14eb1f

Browse files
CNS - Remove vnet join cache check during NC publish (#1946)
removing vnet join cache check during nc publish, such that join is always attempted during publish. this is the classic behavior circa cns v1.4.37
1 parent 7f223f2 commit a14eb1f

File tree

1 file changed

+28
-30
lines changed

1 file changed

+28
-30
lines changed

cns/restserver/api.go

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1206,42 +1206,40 @@ func (service *HTTPRestService) publishNetworkContainer(w http.ResponseWriter, r
12061206

12071207
ctx := r.Context()
12081208

1209-
if !service.isNetworkJoined(req.NetworkID) {
1210-
joinResp, err := service.wsproxy.JoinNetwork(ctx, req.NetworkID) //nolint:govet // ok to shadow
1211-
if err != nil {
1212-
resp := cns.PublishNetworkContainerResponse{
1213-
Response: cns.Response{
1214-
ReturnCode: types.NetworkJoinFailed,
1215-
Message: fmt.Sprintf("failed to join network %s: %v", req.NetworkID, err),
1216-
},
1217-
PublishErrorStr: err.Error(),
1218-
}
1219-
respondJSON(w, http.StatusOK, resp) // legacy behavior
1220-
logger.Response(service.Name, resp, resp.Response.ReturnCode, err)
1221-
return
1209+
joinResp, err := service.wsproxy.JoinNetwork(ctx, req.NetworkID) //nolint:govet // ok to shadow
1210+
if err != nil {
1211+
resp := cns.PublishNetworkContainerResponse{
1212+
Response: cns.Response{
1213+
ReturnCode: types.NetworkJoinFailed,
1214+
Message: fmt.Sprintf("failed to join network %s: %v", req.NetworkID, err),
1215+
},
1216+
PublishErrorStr: err.Error(),
12221217
}
1218+
respondJSON(w, http.StatusOK, resp) // legacy behavior
1219+
logger.Response(service.Name, resp, resp.Response.ReturnCode, err)
1220+
return
1221+
}
12231222

1224-
joinBytes, _ := io.ReadAll(joinResp.Body)
1225-
_ = joinResp.Body.Close()
1223+
joinBytes, _ := io.ReadAll(joinResp.Body)
1224+
_ = joinResp.Body.Close()
12261225

1227-
if joinResp.StatusCode != http.StatusOK {
1228-
resp := cns.PublishNetworkContainerResponse{
1229-
Response: cns.Response{
1230-
ReturnCode: types.NetworkJoinFailed,
1231-
Message: fmt.Sprintf("failed to join network %s. did not get 200 from wireserver", req.NetworkID),
1232-
},
1233-
PublishStatusCode: joinResp.StatusCode,
1234-
PublishResponseBody: joinBytes,
1235-
}
1236-
respondJSON(w, http.StatusOK, resp) // legacy behavior
1237-
logger.Response(service.Name, resp, resp.Response.ReturnCode, nil)
1238-
return
1226+
if joinResp.StatusCode != http.StatusOK {
1227+
resp := cns.PublishNetworkContainerResponse{
1228+
Response: cns.Response{
1229+
ReturnCode: types.NetworkJoinFailed,
1230+
Message: fmt.Sprintf("failed to join network %s. did not get 200 from wireserver", req.NetworkID),
1231+
},
1232+
PublishStatusCode: joinResp.StatusCode,
1233+
PublishResponseBody: joinBytes,
12391234
}
1240-
1241-
service.setNetworkStateJoined(req.NetworkID)
1242-
logger.Printf("[Azure-CNS] joined vnet %s during nc %s publish. wireserver response: %v", req.NetworkID, req.NetworkContainerID, string(joinBytes))
1235+
respondJSON(w, http.StatusOK, resp) // legacy behavior
1236+
logger.Response(service.Name, resp, resp.Response.ReturnCode, nil)
1237+
return
12431238
}
12441239

1240+
service.setNetworkStateJoined(req.NetworkID)
1241+
logger.Printf("[Azure-CNS] joined vnet %s during nc %s publish. wireserver response: %v", req.NetworkID, req.NetworkContainerID, string(joinBytes))
1242+
12451243
publishResp, err := service.wsproxy.PublishNC(ctx, ncParams, req.CreateNetworkContainerRequestBody)
12461244
if err != nil {
12471245
resp := cns.PublishNetworkContainerResponse{

0 commit comments

Comments
 (0)