From e774b2178cf0beaaf0ef0b36764e7a34616c93ff Mon Sep 17 00:00:00 2001 From: Yuval Brik Date: Mon, 14 Aug 2017 11:22:05 +0300 Subject: [PATCH] Fix OSC plan show, update, and create formatting Change-Id: I0b7377506e38bf31f45e5bb5ad75f423a344af62 --- karborclient/osc/v1/plans.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/karborclient/osc/v1/plans.py b/karborclient/osc/v1/plans.py index 68b0b2b..ae7cceb 100644 --- a/karborclient/osc/v1/plans.py +++ b/karborclient/osc/v1/plans.py @@ -12,6 +12,7 @@ """Data protection V1 plan action implementations""" +import json from oslo_utils import uuidutils from osc_lib.command import command @@ -23,6 +24,14 @@ from karborclient.i18n import _ from karborclient import utils +def format_plan(plan_info): + for key in ('resources', 'parameters'): + if key not in plan_info: + continue + plan_info[key] = json.dumps(plan_info[key], indent=2, sort_keys=True) + plan_info.pop("links", None) + + class ListPlans(command.Lister): _description = _("List plans.") @@ -118,7 +127,7 @@ class ShowPlan(command.ShowOne): client = self.app.client_manager.data_protection plan = osc_utils.find_resource(client.plans, parsed_args.plan) - plan._info.pop("links", None) + format_plan(plan._info) return zip(*sorted(plan._info.items())) @@ -182,7 +191,7 @@ class CreatePlan(command.ShowOne): plan_resources, plan_parameters, description=parsed_args.description) - plan._info.pop("links", None) + format_plan(plan._info) return zip(*sorted(plan._info.items())) @@ -231,7 +240,7 @@ class UpdatePlan(command.ShowOne): raise exceptions.CommandError( "Plan %s not found" % parsed_args.plan_id) else: - plan._info.pop("links", None) + format_plan(plan._info) return zip(*sorted(plan._info.items()))