diff --git a/distributedcloud-client/dcmanagerclient/api/v1/kube_upgrade_manager.py b/distributedcloud-client/dcmanagerclient/api/v1/kube_upgrade_manager.py index a977423..66b696e 100644 --- a/distributedcloud-client/dcmanagerclient/api/v1/kube_upgrade_manager.py +++ b/distributedcloud-client/dcmanagerclient/api/v1/kube_upgrade_manager.py @@ -25,3 +25,4 @@ class kube_upgrade_manager(sw_update_manager): super(kube_upgrade_manager, self).__init__( http_client, update_type=SW_UPDATE_TYPE_KUBERNETES) + self.extra_args = ['to-version'] diff --git a/distributedcloud-client/dcmanagerclient/commands/v1/kube_rootca_update_manager.py b/distributedcloud-client/dcmanagerclient/commands/v1/kube_rootca_update_manager.py index 9681f0f..e8d8086 100644 --- a/distributedcloud-client/dcmanagerclient/commands/v1/kube_rootca_update_manager.py +++ b/distributedcloud-client/dcmanagerclient/commands/v1/kube_rootca_update_manager.py @@ -56,7 +56,7 @@ class CreateKubeRootcaUpdateStrategy(KubeRootcaUpdateManagerMixin, # override validate_force_params defined in CreateSwUpdateStrategy def validate_force_params(self, parsed_args): - """Disable validation the force option. Allows multiple subclouds.""" + """Disable validating the force option. Allows multiple subclouds.""" pass diff --git a/distributedcloud-client/dcmanagerclient/commands/v1/kube_upgrade_manager.py b/distributedcloud-client/dcmanagerclient/commands/v1/kube_upgrade_manager.py index 8db5a85..446663a 100644 --- a/distributedcloud-client/dcmanagerclient/commands/v1/kube_upgrade_manager.py +++ b/distributedcloud-client/dcmanagerclient/commands/v1/kube_upgrade_manager.py @@ -27,7 +27,27 @@ class KubeUpgradeManagerMixin(object): class CreateKubeUpgradeStrategy(KubeUpgradeManagerMixin, sw_update_manager.CreateSwUpdateStrategy): """Create a kubernetes upgrade strategy.""" - pass + + def get_parser(self, prog_name): + parser = super(CreateKubeUpgradeStrategy, + self).get_parser(prog_name) + parser.add_argument( + '--to-version', + required=False, + help='Specify a version other than the system controller version.' + ) + return parser + + def process_custom_params(self, parsed_args, kwargs_dict): + """Updates kwargs dictionary from parsed_args for kube upgrade""" + # Note the "-" vs "_" when dealing with parsed_args + if parsed_args.to_version: + kwargs_dict['to-version'] = parsed_args.to_version + + # override validate_force_params defined in CreateSwUpdateStrategy + def validate_force_params(self, parsed_args): + """Disable validating the force option. Allows multiple subclouds.""" + pass class ShowKubeUpgradeStrategy(KubeUpgradeManagerMixin,