---
title: "Start upgrading the configuration of a Service Fabric standalone cluster."
method: POST
path: "/$/StartClusterConfigurationUpgrade"
tags: ["Cluster"]
---

# Start upgrading the configuration of a Service Fabric standalone cluster.

`POST /$/StartClusterConfigurationUpgrade`

Validate the supplied configuration upgrade parameters and start upgrading the cluster configuration if the parameters are valid.

## Query parameters

- `api-version` '6.0', required
- `timeout` integer

## Request body

- ClusterConfigurationUpgradeDescription — Describes the parameters for a standalone cluster configuration upgrade.
  - `ClusterConfig` string, required — The cluster configuration as a JSON string. For example, [this file](https://github.com/Azure-Samples/service-fabric-dotnet-standalone-cluster-configuration/blob/master/Samples/ClusterConfig.Unsecure.DevCluster.json) contains JSON describing the [nodes and other properties of the cluster](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-manifest).
  - `HealthCheckRetryTimeout` string, duration — The length of time between attempts to perform health checks if the application or cluster is not healthy.
  - `HealthCheckWaitDurationInSeconds` string, duration — The length of time to wait after completing an upgrade domain before starting the health checks process.
  - `HealthCheckStableDurationInSeconds` string, duration — The length of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain.
  - `UpgradeDomainTimeoutInSeconds` string, duration — The timeout for the upgrade domain.
  - `UpgradeTimeoutInSeconds` string, duration — The upgrade timeout.
  - `MaxPercentUnhealthyApplications` integer — The maximum allowed percentage of unhealthy applications during the upgrade. Allowed values are integer values from zero to 100.
  - `MaxPercentUnhealthyNodes` integer — The maximum allowed percentage of unhealthy nodes during the upgrade. Allowed values are integer values from zero to 100.
  - `MaxPercentDeltaUnhealthyNodes` integer — The maximum allowed percentage of delta health degradation during the upgrade. Allowed values are integer values from zero to 100.
  - `MaxPercentUpgradeDomainDeltaUnhealthyNodes` integer — The maximum allowed percentage of upgrade domain delta health degradation during the upgrade. Allowed values are integer values from zero to 100.
  - `ApplicationHealthPolicies` ApplicationHealthPolicies — Defines the application health policy map used to evaluate the health of an application or one of its children entities.
    - `ApplicationHealthPolicyMap` ApplicationHealthPolicyMapItem[] — Defines a map that contains specific application health policies for different applications. Each entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health. If an application is not specified in the map, the application health evaluation uses the ApplicationHealthPolicy found in its application manifest or the default application health policy (if no health policy is defined in the manifest). The map is empty by default.
      - `Key` string, required — The name of the application, including the 'fabric:' URI scheme.
      - `Value` ApplicationHealthPolicy, required — Defines a health policy used to evaluate the health of an application or one of its children entities.
        - `ConsiderWarningAsError` boolean — Indicates whether warnings are treated with the same severity as errors.
        - `MaxPercentUnhealthyDeployedApplications` integer — The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100. The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error. This is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster. The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
        - `DefaultServiceTypeHealthPolicy` ServiceTypeHealthPolicy — Represents the health policy used to evaluate the health of services belonging to a service type.
          - `MaxPercentUnhealthyPartitionsPerService` integer — The maximum allowed percentage of unhealthy partitions per service. Allowed values are Byte values from zero to 100 The percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error. If the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning. The percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service. The computation rounds up to tolerate one failure on small numbers of partitions. Default percentage is zero.
          - `MaxPercentUnhealthyReplicasPerPartition` integer — The maximum allowed percentage of unhealthy replicas per partition. Allowed values are Byte values from zero to 100. The percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error. If the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning. The percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition. The computation rounds up to tolerate one failure on small numbers of replicas. Default percentage is zero.
          - `MaxPercentUnhealthyServices` integer — The maximum allowed percentage of unhealthy services. Allowed values are Byte values from zero to 100. The percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error. If the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning. This is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type. The computation rounds up to tolerate one failure on small numbers of services. Default percentage is zero.
        - `ServiceTypeHealthPolicyMap` ServiceTypeHealthPolicyMapItem[] — Defines a ServiceTypeHealthPolicy per service type name. The entries in the map replace the default service type health policy for each specified service type. For example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently. With policy per service type, there's more granular control of the health of the service. If no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.
          - `Key` string, required — The key of the service type health policy map item. This is the name of the service type.
          - `Value` ServiceTypeHealthPolicy, required — Represents the health policy used to evaluate the health of services belonging to a service type.
            - `MaxPercentUnhealthyPartitionsPerService` integer — The maximum allowed percentage of unhealthy partitions per service. Allowed values are Byte values from zero to 100 The percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error. If the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning. The percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service. The computation rounds up to tolerate one failure on small numbers of partitions. Default percentage is zero.
            - `MaxPercentUnhealthyReplicasPerPartition` integer — The maximum allowed percentage of unhealthy replicas per partition. Allowed values are Byte values from zero to 100. The percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error. If the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning. The percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition. The computation rounds up to tolerate one failure on small numbers of replicas. Default percentage is zero.
            - `MaxPercentUnhealthyServices` integer — The maximum allowed percentage of unhealthy services. Allowed values are Byte values from zero to 100. The percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error. If the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning. This is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type. The computation rounds up to tolerate one failure on small numbers of services. Default percentage is zero.

## Response `202`

A successful response means that the cluster configuration upgrade has started. Use GetClusterConfigurationUpgradeStatus operation to get the status of the upgrade.

## Other responses

- `default` — The detailed error response.

---

[API](https://skmtc.net/azure/apis/servicefabric-servicefabric.md) · [All operations](https://skmtc.net/azure/apis/servicefabric-servicefabric/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/azure/servicefabric-servicefabric/revisions/8fd479ce0f16/schema)
