def upgrade()

in src/sfctl/custom_cluster_upgrade.py [0:0]


def upgrade( #pylint: disable=too-many-locals,missing-docstring,invalid-name,too-many-arguments
        client, code_version=None, config_version=None,
        rolling_upgrade_mode='UnmonitoredAuto', replica_set_check_timeout=None,
        force_restart=False, failure_action=None, health_check_wait=None,
        health_check_stable=None, health_check_retry=None,
        upgrade_timeout=None, upgrade_domain_timeout=None,
        warning_as_error=False, unhealthy_nodes=0, unhealthy_applications=0,
        app_type_health_map=None, delta_health_evaluation=False,
        delta_unhealthy_nodes=10, upgrade_domain_delta_unhealthy_nodes=15,
        app_health_map=None, timeout=60):
    from azure.servicefabric.models import StartClusterUpgradeDescription

    mon_policy = create_monitoring_policy(failure_action, health_check_wait,
                                          health_check_stable,
                                          health_check_retry, upgrade_timeout,
                                          upgrade_domain_timeout)
    cluster_policy = create_cluster_health_policy(
        warning_as_error, unhealthy_nodes, unhealthy_applications,
        app_type_health_map
    )
    cluster_upgrade_policy = create_upgrade_health_policy(
        delta_unhealthy_nodes, upgrade_domain_delta_unhealthy_nodes)
    app_health_policy = parse_app_health_policy(app_health_map)

    upgrade_desc = StartClusterUpgradeDescription(
        code_version=code_version, config_version=config_version,
        upgrade_kind='Rolling', rolling_upgrade_mode=rolling_upgrade_mode,
        upgrade_replica_set_check_timeout_in_seconds=replica_set_check_timeout,
        force_restart=force_restart, monitoring_policy=mon_policy,
        cluster_health_policy=cluster_policy,
        enable_delta_health_evaluation=delta_health_evaluation,
        cluster_upgrade_health_policy=cluster_upgrade_policy,
        application_health_policy_map=app_health_policy)

    client.start_cluster_upgrade(upgrade_desc, timeout=timeout)