RollingUpgradeUpdateDescription

Describes the parameters for updating a rolling upgrade of application or cluster.

Properties

Name Type Required
RollingUpgradeMode string (enum) Yes
ForceRestart boolean No
ReplicaSetCheckTimeoutInMilliseconds integer (int64) No
FailureAction string (enum) No
HealthCheckWaitDurationInMilliseconds string No
HealthCheckStableDurationInMilliseconds string No
HealthCheckRetryTimeoutInMilliseconds string No
UpgradeTimeoutInMilliseconds string No
UpgradeDomainTimeoutInMilliseconds string No
InstanceCloseDelayDurationInSeconds integer (int64) No

RollingUpgradeMode

Type: string (enum)
Required: Yes
Default: UnmonitoredAuto

The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred.

Possible values are:

  • Invalid - Indicates the upgrade mode is invalid. All Service Fabric enumerations have the invalid type. The value is zero.
  • UnmonitoredAuto - The upgrade will proceed automatically without performing any health monitoring. The value is 1
  • UnmonitoredManual - The upgrade will stop after completing each upgrade domain, giving the opportunity to manually monitor health before proceeding. The value is 2
  • Monitored - The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 3
  • UnmonitoredDeferred - Perform a node-by-node upgrade. No action is performed when upgrade starts; upgrade is applied on each node when it is deactivated with intent restart or higher. The value is 4

ForceRestart

Type: boolean
Required: No

If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).


ReplicaSetCheckTimeoutInMilliseconds

Type: integer (int64)
Required: No

The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).


FailureAction

Type: string (enum)
Required: No

The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations. Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically. Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode.

Possible values are:

  • Invalid - Indicates the failure action is invalid. All Service Fabric enumerations have the invalid type. The value is zero.
  • Rollback - The upgrade will start rolling back automatically. The value is 1
  • Manual - The upgrade will switch to UnmonitoredManual upgrade mode. The value is 2

HealthCheckWaitDurationInMilliseconds

Type: string
Required: No

The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.


HealthCheckStableDurationInMilliseconds

Type: string
Required: No

The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.


HealthCheckRetryTimeoutInMilliseconds

Type: string
Required: No

The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.


UpgradeTimeoutInMilliseconds

Type: string
Required: No

The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.


UpgradeDomainTimeoutInMilliseconds

Type: string
Required: No

The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds.


InstanceCloseDelayDurationInSeconds

Type: integer (int64)
Required: No

Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: "#/definitions/StatelessServiceDescription.yaml" for details. Note, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description.