Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

Clean up some tests and move to new Azure endpoint #36018

Merged
merged 1 commit into from
Mar 14, 2019

Conversation

davidsh
Copy link
Contributor

@davidsh davidsh commented Mar 13, 2019

This PR changes the Azure test endpoint for HTTP/1.1 and WebSocket tests to use
Azure App Service instead of the classic Azure Cloud Service endpoint. This now
matches the HTTP/2.0 endpoint architecture.

We are deprecating the use of Azure Cloud Service endpoints because they are hard
to deploy and maintain. Azure App Service, on the other hand, provides a lot of benefits
including built in production/staging slots, TLS certificate handling and easier
integration with Azure DevOps deployment models.

There are a few downsides to Azure App Service which are known feature limitations.
Since it uses ARR (reverse proxy), it causes websocket connections to be proxied.
This results in some behavior changes for some edge condition tests we have. For example,
when a websocket handshake fails (due to subprotocol mismatch for example), the client
side doesn't see a TCP disconnect. Instead, due to the reverse proxy, we end up getting
an HTTP status code (like 500). Either way, it is a websocket handshake failure. So, I've
updated a few tests to be less brittle for that. I also opened another issue #36016 to
track moving a few websocket tests to the loopback websocket server which doesn't yet
have full capability.

I also converted an HTTP statusline test to use the loopback server.

@davidsh davidsh added this to the 3.0 milestone Mar 13, 2019
@davidsh davidsh self-assigned this Mar 13, 2019
@dotnet dotnet deleted a comment from azure-pipelines bot Mar 13, 2019
@dotnet dotnet deleted a comment from azure-pipelines bot Mar 13, 2019
@dotnet dotnet deleted a comment from azure-pipelines bot Mar 13, 2019
@davidsh davidsh added the test enhancement Improvements of test source code label Mar 13, 2019
@dotnet dotnet deleted a comment from azure-pipelines bot Mar 13, 2019
@dotnet dotnet deleted a comment from azure-pipelines bot Mar 13, 2019
@dotnet dotnet deleted a comment from azure-pipelines bot Mar 13, 2019
This PR changes the Azure test endpoint for HTTP/1.1 and WebSocket tests to use
Azure App Service instead of the classic Azure Cloud Service endpoint. This now
matches the HTTP/2.0 endpoint architecture.

We are deprecating the use of Azure Cloud Service endpoints because they are hard
to deploy and maintain. Azure App Service, on the other hand, provides a lot of benefits
including built in production/staging slots, TLS certificate handling and easier
integration with Azure DevOps deployment models.

There are a few downsides to Azure App Service which are known feature limitations.
Since it uses ARR (reverse proxy), it causes websocket connections to be proxied.
This results in some behavior changes for some edge condition tests we have. For example,
when a websocket handshake fails (due to subprotocol mismatch for example), the client
side doesn't see a TCP disconnect. Instead, due to the reverse proxy, we end up getting
an HTTP status code (like 500). Either way, it is a websocket handshake failure. So, I've
updated a few tests to be less brittle for that. I also opened another issue #36016 to
track moving a few websocket tests to the loopback websocket server which doesn't yet
have full capability.

I also converted an HTTP statusline test to use the loopback server.
@davidsh
Copy link
Contributor Author

davidsh commented Mar 14, 2019

/azp run corefx-outerloop-windows

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@dotnet dotnet deleted a comment from azure-pipelines bot Mar 14, 2019
Copy link
Member

@stephentoub stephentoub left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

@davidsh
Copy link
Contributor Author

davidsh commented Mar 14, 2019

/azp run corefx-outerloop-linux

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@davidsh
Copy link
Contributor Author

davidsh commented Mar 14, 2019

/azp run corefx-outerloop-osx

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@davidsh davidsh merged commit 689e58e into dotnet:master Mar 14, 2019
@davidsh davidsh deleted the cleanuptests branch March 14, 2019 03:57
davidsh added a commit to davidsh/corefx that referenced this pull request Oct 7, 2019
* Test only fixes *

Port PR dotnet#36018 from master branch

This PR changes the Azure test endpoint to use Azure App Service instead of the classic Azure
Cloud Service endpoint. The use of the classic Azure Cloud Service is no longer recommended
since it is harder to maintain.

Once all remaining branches are converted, we will shut down the corefx-net.cloudapp.net
endpoint.

This PR also includes some other test fixes and tests disabled due to active issues.
davidsh added a commit that referenced this pull request Oct 7, 2019
* Test only fixes *

Port PR #36018 from master branch

This PR changes the Azure test endpoint to use Azure App Service instead of the classic Azure
Cloud Service endpoint. The use of the classic Azure Cloud Service is no longer recommended
since it is harder to maintain.

Once all remaining branches are converted, we will shut down the corefx-net.cloudapp.net
endpoint.

This PR also includes some other test fixes and tests disabled due to active issues.
davidsh added a commit to davidsh/corefx that referenced this pull request Oct 8, 2019
**Test only fixes**

Port PR dotnet#36018 from master branch (and similar dotnet#41603 from release/2.1 branch)

This PR changes the Azure test endpoint to use Azure App Service instead of the classic Azure
Cloud Service endpoint. The use of the classic Azure Cloud Service is no longer recommended
since it is harder to maintain.

Once all remaining branches are converted, we will shut down the corefx-net.cloudapp.net
endpoint.

This PR also includes some other test fixes and tests disabled due to active issues.
akoeplinger pushed a commit to akoeplinger/corefx that referenced this pull request Oct 10, 2019
* Test only fixes *

Port PR dotnet#36018 from master branch

This PR changes the Azure test endpoint to use Azure App Service instead of the classic Azure
Cloud Service endpoint. The use of the classic Azure Cloud Service is no longer recommended
since it is harder to maintain.

Once all remaining branches are converted, we will shut down the corefx-net.cloudapp.net
endpoint.

This PR also includes some other test fixes and tests disabled due to active issues.
akoeplinger added a commit to mono/corefx that referenced this pull request Oct 10, 2019
* Test only fixes *

Port PR dotnet#36018 from master branch

This PR changes the Azure test endpoint to use Azure App Service instead of the classic Azure
Cloud Service endpoint. The use of the classic Azure Cloud Service is no longer recommended
since it is harder to maintain.

Once all remaining branches are converted, we will shut down the corefx-net.cloudapp.net
endpoint.

This PR also includes some other test fixes and tests disabled due to active issues.
akoeplinger added a commit to mono/corefx that referenced this pull request Oct 11, 2019
* Test only fixes *

Port PR dotnet#36018 from master branch

This PR changes the Azure test endpoint to use Azure App Service instead of the classic Azure
Cloud Service endpoint. The use of the classic Azure Cloud Service is no longer recommended
since it is harder to maintain.

Once all remaining branches are converted, we will shut down the corefx-net.cloudapp.net
endpoint.

This PR also includes some other test fixes and tests disabled due to active issues.

(cherry picked from commit 49b4ece)
akoeplinger added a commit to mono/corefx that referenced this pull request Oct 11, 2019
* Test only fixes *

Port PR dotnet#36018 from master branch

This PR changes the Azure test endpoint to use Azure App Service instead of the classic Azure
Cloud Service endpoint. The use of the classic Azure Cloud Service is no longer recommended
since it is harder to maintain.

Once all remaining branches are converted, we will shut down the corefx-net.cloudapp.net
endpoint.

This PR also includes some other test fixes and tests disabled due to active issues.

(cherry picked from commit 49b4ece)
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
This PR changes the Azure test endpoint for HTTP/1.1 and WebSocket tests to use
Azure App Service instead of the classic Azure Cloud Service endpoint. This now
matches the HTTP/2.0 endpoint architecture.

We are deprecating the use of Azure Cloud Service endpoints because they are hard
to deploy and maintain. Azure App Service, on the other hand, provides a lot of benefits
including built in production/staging slots, TLS certificate handling and easier
integration with Azure DevOps deployment models.

There are a few downsides to Azure App Service which are known feature limitations.
Since it uses ARR (reverse proxy), it causes websocket connections to be proxied.
This results in some behavior changes for some edge condition tests we have. For example,
when a websocket handshake fails (due to subprotocol mismatch for example), the client
side doesn't see a TCP disconnect. Instead, due to the reverse proxy, we end up getting
an HTTP status code (like 500). Either way, it is a websocket handshake failure. So, I've
updated a few tests to be less brittle for that. I also opened another issue dotnet/corefx#36016 to
track moving a few websocket tests to the loopback websocket server which doesn't yet
have full capability.

I also converted an HTTP statusline test to use the loopback server.

Commit migrated from dotnet/corefx@689e58e
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net test enhancement Improvements of test source code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants