Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Service_Fabric_BreakingChanges.md #1400

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

DivyaC0403
Copy link
Collaborator

Add breaking change page

<Parameter Name="CommonName1Ntlmx509CommonName" Value="" /> <!-- Empty or not set. -->
</Section>

## Breaking Changes 70
Copy link
Contributor

Choose a reason for hiding this comment

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

In 7.0 CU3 r/n -- to be added to 7.0 release:

"7.0 breaking change: Prevent Application Activations if services have a static port within ApplicationPortRange. It took effect starting in 7.0 and going forward. There are endpoint resolution conflicts because customer specifies a static port within ApplicationPortRange. This is a breaking change where service activations will FAIL if there is an endpoint with static port that is within the application port range"

| **Windows - 7.0.457.9590<br>Ubuntu - 7.0.457.1** | Managed identity | Starting in Service Fabric 7.0 version, customers using service fabric managed identities, please switch to new environment variables ‘IDENTITY_ENDPOINT’ and ‘IDENTITY_HEADER’. The prior environment variables 'MSI_ENDPOINT', ‘MSI_ENDPOINT_’ and 'MSI_SECRET' are now deprecated and will be removed in the next CU release.
| **Windows - 7.0.457.9590<br>Ubuntu - 7.0.457.1** | Placement and Load Balancing | Starting with this release, we have changed the default value for the PreferUpgradedUDs config in the [Placement and Load Balancing section of Cluster Manifest](https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-fabric-settings#placementandloadbalancing) .Based on numerous cases and customer issues, this default behavior should allow clusters to remain more balanced during upgrades. If you want to preserve today’s behavior for your workload, please perform a cluster configuration upgrade to explicitly set the value to true either prior to or as a part of upgrading your cluster to 7.0.
| **Windows - 7.0.457.9590<br>Ubuntu - 7.0.457.1** | Placement and Load Balancing | The calculation bug in the Cluster Resource Manager impacts how node resource capacities are calculated in cases where a user manually provides the values for node resource capacities. The impact of this fix is that the Cluster Resource Manager will now consider there to be less usable capacity in the cluster. More details in the [Resource governance documentation page](https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-resource-governance).
| **Windows - 7.0.457.9590<br>Ubuntu - 7.0.457.1** | Windows Azure Diagnostics | For customers using [Windows Azure Diagnostics](https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-diagnostics-event-aggregation-wad) to collect Reliable Collections events, the Reliable Collections ETW manifest provider has been changed to 02d06793-efeb-48c8-8f7f-09713309a810, and should be accounted for in the WAD config.
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing b/c -
"We are planning to update the way Service Fabric performs equality comparison for Boolean values when evaluating placement constraints. Today Service Fabric uses case-sensitive comparison for Boolean values in this scenario. Starting in one of the subsequent releases, we will be changing this comparison to be case-insensitive (which is a common practice in the software industry)."


| Versions | Area | Description |
|-|-|-|
| **Windows - 7.0.457.9590<br>Ubuntu - 7.0.457.1** | Security configuration | For customers [using service fabric to export certificates into their linux containers](https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-securing-containers), the export mechanism will be changed in an upcoming CU to encrypt the private key included in the .pem file, with the password being stored in an adjacent .key file
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing b/c --
"Prevent Service Activations if you have specified a static port within ApplicationPortRange. This is a breaking change where service activations will FAIL if there is an endpoint with static port that is within the application port range."

| Versions | Area | Description |
|-|-|-|
| **Windows - 7.1.409.9590<br>Ubuntu - 7.1.410.1** | .Net Runtime | Service Fabric 7.2 and higher runtime drops support for .NET Core Service Fabric apps running with .NET Core 2.2 runtime. .NET Core runtime 2.2 is out of support from Dec 2019. Service Fabric runtime will not install .NET Core runtime 2.2 as part of its dependency. Customers should upgrade their .NET 2.2 runtime SF apps to the next .NET Core LTS version 3.1.
| **Windows - 7.1.409.9590<br>Ubuntu - 7.1.410.1** | Guest Executables and Containers | Guest executable and container applications created or upgraded in SF clusters with runtime versions 7.1+ are incompatible with prior SF runtime versions (e.g. SF 7.0).Following scenarios are impacted:<ul><li>An application with guest executables or containers is created or upgraded in an SF 7.1+ cluster. The cluster is then downgraded to a previous SF runtime version (e.g. SF 7.0). The application fails to activate.</li><li>A cluster upgrade from pre-SF 7.1 version to SF 7.1+ version is in progress.In parallel with the SF runtime upgrade, an application with guest executables or containers is created or upgraded.The SF runtime upgrade starts rolling back (due to any reason) to the pre-SF 7.1 version.The application fails to activate.</li></ul>To avoid issues when upgrading from a pre-SF 7.1 runtime version to an SF 7.1+ runtime version, do not create or upgrade applications with guest executables or containers while the SF runtime upgrade is in progress.<br><ul><li>The simplest mitigation, when possible, is to delete and recreate the application in SF 7.0.</li><li>The other option is to upgrade the application in SF 7.0 (for example, with a version only change).</li></ul>If the application is stuck in rollback, the rollback has to be first completed before the application can be upgraded again.
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing b/c --
"Service Fabric Managed Identity endpoint is now secure(HTTPs). There is additional guidance on how to validate the MITS server certificate in the docs."


| Versions | Area | Description |
|-|-|-|
| **Windows - 7.1.456.9590<br>Ubuntu 16 - 7.1.410.1<br>Ubuntu 18 - 7.1.452.1804** | .Net Runtime EOL | Dotnet core LTS 2.1 runtime will go out of support from Aug 21, 2021. Service Fabric release after that date will drop support for dotnet core 2.1 SF apps. Service Fabric SDK will take a dependency on dotnet 3.* features to support SF dotnet core SDK.
Copy link
Contributor

Choose a reason for hiding this comment

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

Upcoming b/c --
"SF 7.2 runtime will remove support for dotnet core SF apps build with dotnet core 2.2 runtime. Dotnet runtime 2.2 is out of support from Dec 2019. SF runtime 7.2 will remove installation of dotnet core 2.2 as part of its dependency. Customers should upgrade their app to the next dotnet core LTS version 3.1."

|-|-|-|
| **Windows - 7.2.457.9590<br>Ubuntu 16 - 7.2.456.1<br>Ubuntu 18 - 7.2.456.1804** | Windows Server EOL | Support for Windows Server 2016 and Windows Server 1809 will be discontinued in future Service Fabric releases. We recommend updating your cluster VMs to Windows Server 2019.


Copy link
Contributor

Choose a reason for hiding this comment

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

Add the upcoming b/c from 72CU5 -- (marking it as upcoming in 7.2 CU5 and also add to 7.2 CU6)

".NET core runtime LTS 2.1 runtime will go out of support from Aug 21, 2021. Service Fabric releases after that date will drop support for Service Fabric apps running with .NET core 2.1 runtime. Service Fabric .NET SDK will take a dependency on .Net runtime 3.* features to support Service Fabric .NET core apps. This has no impact on Service Fabric .NET Framework SDK."

"Support for Windows Server 2016 and Windows Server 1809 will be discontinued in future Service Fabric releases. We recommend updating your cluster VMs to Windows Server 2019."

Copy link
Contributor

Choose a reason for hiding this comment

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

in fact general question -- how do you plan to distinguish between "Upcoming b/c" announcements and "b/c announcements"?

| **Windows - 8.2.1235.9590<br>Ubuntu 18 - 8.2.1124.1** | ASP.NET Core 1.0 Support | Service Fabric ASP.NET Core packages are built against ASP.NET Core 1.0 binaries which are out of support. Starting Service Fabric 8.2, we will be building Service Fabric ASP.NET Core packages against .NET Core 3.1, .NET Core 5.0, .NET Core 6.0, .NET Framework 4.6.1. As a result, they can be used only to build services targeting .NET Core 3.1, .NET Core 5.0, .NET Core 6.0, >=.NET Framework 4.6.1 respectively.<br> For .NET Core 3.1, .NET Core 5.0, .NET Core 6.0, Service Fabric ASP.NET Core will be taking dependency on Microsoft.AspNetCore.App shared framework, whereas for NetFx target frameworks >=.NET Framework 4.6.1, Service Fabric ASP.NET Core will be taking dependency on ASP.NET Core 2.1 packages.<br>The package Microsoft.ServiceFabric.AspNetCore.WebListener will no longer be shipped, Microsoft.ServiceFabric.AspNetCore.HttpSys package should be used instead


## Breaking Changes 72CU6
Copy link
Contributor

Choose a reason for hiding this comment

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

nothing in 7.2CU6

| Versions | Area | Description |
|-|-|-|
| **Windows - 8.2.1235.9590<br>Ubuntu 18 - 8.2.1124.1** | ASP.NET Core 1.0 Support | Service Fabric ASP.NET Core packages are built against ASP.NET Core 1.0 binaries which are out of support. Starting Service Fabric 8.2, we will be building Service Fabric ASP.NET Core packages against .NET Core 3.1, .NET Core 5.0, .NET Core 6.0, .NET Framework 4.6.1. As a result, they can be used only to build services targeting .NET Core 3.1, .NET Core 5.0, .NET Core 6.0, >=.NET Framework 4.6.1 respectively.<br> For .NET Core 3.1, .NET Core 5.0, .NET Core 6.0, Service Fabric ASP.NET Core will be taking dependency on Microsoft.AspNetCore.App shared framework, whereas for NetFx target frameworks >=.NET Framework 4.6.1, Service Fabric ASP.NET Core will be taking dependency on ASP.NET Core 2.1 packages.<br>The package Microsoft.ServiceFabric.AspNetCore.WebListener will no longer be shipped, Microsoft.ServiceFabric.AspNetCore.HttpSys package should be used instead

Copy link
Contributor

Choose a reason for hiding this comment

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

Missing 8.0 Upcoming b/c --

"Support for Windows Server 2016 Version 1809 will be discontinued in future Service Fabric releases. We recommend updating your cluster VMs to Windows Server 2019."

"Support for Windows 10 Version 1809 will be discontinued in future Service Fabric releases. We recommend updating your cluster VMs to a supported version of Windows 10."

Copy link
Contributor

Choose a reason for hiding this comment

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

8.1 CU1 has the following upcoming b/c -- seems familiar -- might be a repeat --

".NET Core runtime LTS 2.1 runtime will go out of support from Aug 21, 2021. Service Fabric releases after that date will drop support for Service Fabric apps running with .NET Core 2.1 runtime. This includes the following release versions and beyond - 8.0 CU4 and above, 8.1 CU2 and above and 8.2 RTO release and above. Current apps running on .NET Core 2.1 runtime will continue to work, but requests for investigations or request for changes will no longer be entertained. Service Fabric .NET SDK will take a dependency on .NET runtime 3.* features to support Service Fabric .NET Core apps. This has no impact on Service Fabric .NET Framework SDK."

Copy link
Contributor

Choose a reason for hiding this comment

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

missing 8.1 CU2 b/c --

"Ubuntu 16.04 LTS reached it's 5-year end-of-life window on April 30, 2021 and is no longer supported by it's vendors. Service Fabric runtime will drop support for Ubuntu 16.04 after that date as well. Current applications running on it will continue to work, but requests for investigations or requests for change will no longer receive support. We recommend moving your applications to Ubuntu 18.04."

Copy link
Contributor

Choose a reason for hiding this comment

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

missing b/c -- 8.2 cu1 --

"Windows Server 2022: Service Fabric runtime has identified a bug during additional testing and is temporarily suspending support for Windows Server 2022. We are working to resume the support soon."


| Versions | Area | Description |
|-|-|-|
| **Windows - 8.2.1363.9590<br>Ubuntu 18 - 8.2.1204.1** | Windows Server EOL | Support for Windows Server 2016 and Windows Server 1809 will be discontinued in future Service Fabric releases. We recommend updating your cluster VMs to Windows Server 2019.
Copy link
Contributor

Choose a reason for hiding this comment

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

Windows Server 2016? or 2022?

|-|-|-|
| **Ubuntu 18 - 9.0.1086.1<br>Ubuntu 20 - 9.0.1086.1** | Service Fabric Runtime dependency | Customers running Azure Service Fabric Linux Clusters will not be able to scale out or reimage (manual or auto via VMSS OS Image Update) nodes or create new Linux clusters without upgrading to this version of Service Fabric (8.2.1483.1). Also, if your application requires JDK, then you will need to install a JDK of your choice since SF will not install the JDK as part of the SF installation. Starting 8/19/2022, the following [versions](https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-versions) will be deprecated and will not be available on Linux for new cluster creation or node reimage/scale out operations:<br> <ul><li>9.0 CU2/CU1/RTO</li><li>8.2 CU4/CU3/CU2.1/CU2/CU1/RTO</li></ul>Details: Service Fabric Runtime (for Linux) placed a dependency on Zulu for Azure build of OpenJDK which is no longer supported as announced in their dev [blog](https://devblogs.microsoft.com/java/end-of-updates-support-and-availability-of-zulu-for-azure/). Since the creation of new Linux clusters or scale-out/reimage of nodes required all the dependencies to be installed, these workflows broke when the dependency became unavailable.<br>Beginning with 8.2 CU 5.1 and 9.0 CU 2.1 release, Service Fabric Runtime will no longer install any JDK dependency which will ensure that customer can scale out, reimage, or create new Linux clusters. If your application needs JDK, please utilize an alternate mechanism to provision a JDK. To get the latest Service Fabric Runtime releases with this change, follow the [upgrade documentation](https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-tutorial-upgrade-cluster). If you depend on a JDK, please be sure to install one of your choices. For more information see: [Breaking change for Azure Service Fabric Linux customers](https://techcommunity.microsoft.com/t5/azure-service-fabric-blog/breaking-change-for-azure-service-fabric-linux-customers/ba-p/3604678)


Copy link
Contributor

Choose a reason for hiding this comment

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

and add the cu6 b/c here as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants