def cluster_upgrade(ctx, cluster_name, template_name, template_revision, vdc, org_name, k8_runtime=None): """Upgrade cluster software to specified template's software versions. \b Example vcd cse cluster upgrade my-cluster ubuntu-16.04_k8-1.18_weave-2.6.4 1 Upgrade cluster 'mycluster' Docker-CE, Kubernetes, and CNI to match template 'ubuntu-16.04_k8-1.18_weave-2.6.4' at revision 1. Affected software: Docker-CE, Kubernetes, CNI """ CLIENT_LOGGER.debug(f'Executing command: {ctx.command_path}') # NOTE: Command is exposed only if CLI is enabled for native try: client_utils.cse_restore_session(ctx) if client_utils.is_cli_for_tkg_s_only(): if k8_runtime in [shared_constants.ClusterEntityKind.NATIVE.value, shared_constants.ClusterEntityKind.TKG_PLUS.value]: # noqa: E501 # Cannot run the command as cse cli is enabled only for native raise CseServerNotRunningError() k8_runtime = shared_constants.ClusterEntityKind.TKG_S.value client = ctx.obj['client'] cluster = Cluster(client, k8_runtime=k8_runtime) if not client.is_sysadmin() and org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = cluster.upgrade_cluster(cluster_name, template_name, template_revision, ovdc_name=vdc, org_name=org_name) stdout(result, ctx) CLIENT_LOGGER.debug(result) except Exception as e: stderr(e, ctx) CLIENT_LOGGER.error(str(e))
def cluster_upgrade(ctx, cluster_name, template_name, template_revision, vdc, org_name): """Upgrade cluster software to specified template's software versions. Affected software: Docker-CE, Kubernetes, CNI """ try: restore_session(ctx) client = ctx.obj['client'] cluster = Cluster(client) if not client.is_sysadmin() and org_name is None: org_name = ctx.obj['profiles'].get('org_in_use') result = cluster.upgrade_cluster(cluster_name, template_name, template_revision, ovdc_name=vdc, org_name=org_name) stdout(result, ctx) except Exception as e: stderr(e, ctx)