Add connection draining support to application gateway#913
Add connection draining support to application gateway#913amarzavery merged 30 commits intoAzure:masterfrom
Conversation
…ion. Added 2016-09-01 and 2016-12-01 folder to project.
…ionGateway.json for version 2016-12-01.
…son to the 2016-12-01 applicationGateway.json version.
|
Hi @jobatzil, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
TTYL, AZPRBOT; |
|
@jobatzil - Update: I noticed different commits. One more request - Can you please provide examples for request and response using the extension x-ms-examples? This will
You can more info about the extension and an example swagger spec over here. |
|
@amarzavery Okay, I can do that. |
|
@jobatzil - Yeah, I saw that and updated the comment. |
|
@amarzavery / @olydis looks like Referenced in Swagger: https://github.com/Azure/azure-rest-api-specs/pull/913/files#diff-6b98d4930c0dc642745ceff99f0efa0cR717 Travis Job: https://travis-ci.org/Azure/azure-rest-api-specs/jobs/199061417#L2312 |
| "backendIPConfigurations": { | ||
| "type": "array", | ||
| "items": { | ||
| "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" |
There was a problem hiding this comment.
which is true. Because there is no networkInterface.json file in the 2016-12-01/swagger folder. It is present in 2016-09-01/swagger folder.
The bigger problem here is:
- Can we reference the "NetworkInterfaceIPConfiguration" model from a swagger that is having api-version "2016-09-01"?
- If yes then wouldn't it break the theory that "api-version" is a contract. One should return models that represent the schema as per that api-version
- If one copies over the "networkInterface.json" file to
2016-12-01api-version folder then is NRP ready to provision that version of the NetworkInterface API in all the regions in AzureProd ?- If NRP is indeed ready with this api-version for networkInterface (i.e. they have already deployed this api-version) then why have they not sent a PR with an updated swagger spec for the new api-version ("2016-12-01").
|
@vishrutshah I've talked to @amarzavery about that and sent an email to Deepak Rajendran. |
| "modelAsString": true | ||
| } | ||
| }, | ||
| "connectionDraining": { |
There was a problem hiding this comment.
Is connectionDraining optional/required property?
| }, | ||
| "ApplicationGatewayConnectionDraining": { | ||
| "properties": { | ||
| "enabled": { |
There was a problem hiding this comment.
Is enable required/options?
If optional, what is the default value for enabled?
There was a problem hiding this comment.
required. Good to know, thanks!
| "type": "boolean", | ||
| "description": "Defines if connection draining is enabled or not." | ||
| }, | ||
| "drainTimeoutInSec": { |
There was a problem hiding this comment.
Please leverage minimum: 1 & maximum: 3600 on drainTimeoutInSec property.
There was a problem hiding this comment.
done, good to know, thanks!
| ], | ||
| "consumes": [ | ||
| "application/json", | ||
| "text/json" |
There was a problem hiding this comment.
WARNING: NonAppJsonTypeWarning - Media types other than 'application/json' has limited support
| ], | ||
| "produces": [ | ||
| "application/json", | ||
| "text/json" |
There was a problem hiding this comment.
WARNING: NonAppJsonTypeWarning - Media types other than 'application/json' has limited support
…ectionDraining in applicationGateway.json
…09-01 networkInterface.json as discussed.
…connection_draining
| "backendIPConfigurations": { | ||
| "type": "array", | ||
| "items": { | ||
| "$ref": "./../../2016-09-01/swagger/networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" |
There was a problem hiding this comment.
@jobatzil The referenced model "NetworkInterfaceIPConfiguration" has a property named "properties" of type "NetworkInterfaceIPConfigurationPropertiesFormat", which contains a property named "applicationGatewayBackendAddressPools" that references "./applicationGateway.json#/definitions/ApplicationGatewayBackendAddressPool".
The above reference is to the 2016-09-01 version of applicationgateway.json.
Isn't that weird. Shouldn't it be referencing the 2016-12-01 version of applicationgateway.json (I mean circling back to this file)?
There was a problem hiding this comment.
Hey Amar, yah I know. You should have gotten an email about that.
|
Hi @jobatzil, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
TTYL, AZPRBOT; |
|
@jobatzil Could you please resolve the merge conflict when you get a chance. Thanks! |
|
The last 5 commits after the merge be4bf42 are the steps to address the issue of applicationGateway referencing networkInterface which didn't have a 2016-12-01 version yet. The solution (based on some discussions with @amarzavery) is to copy over networkInterface.json to the new version folder as well as all files referenced by it.) |
| "modelAsString": true | ||
| } | ||
| }, | ||
| "connectionDraining": { |
There was a problem hiding this comment.
Adding connectionDraining in the middle, may mess up the signature of the model constructor in the generated code. Please verify this in the generated code. I would suggest adding this new property in the end.
|
@DeepakRajendranMsft - Can you please make sure that the files moved to |
|
Yes, everything needs to be moved |
|
@jobatzil - Can you please make sure to move all the swagger files from September api-version to December? |
…on the comments on github.
…ettings to the end to avoid issues with the optionality of the property
…updated compositeNetworkClient
…onnection_draining
…face to point to the 2016-12-01 networkInterface.
…onnection_draining
…onnection_draining
needs to be merged right now
|
No modification for NodeJS |
* add api version for targeting ppe and dev endpoint * spelling * build fixes * reverting last change * updating readme
This PR adds the support of connection draining to application gateways.
Starts with api-version 2016-12-01.