Merge "Fix OSC checkpoint show and create formatting"

This commit is contained in:
Jenkins
2017-08-14 10:27:11 +00:00
committed by Gerrit Code Review
2 changed files with 21 additions and 5 deletions

View File

@@ -12,6 +12,7 @@
"""Data protection V1 checkpoint action implementations"""
import json
from osc_lib.command import command
from osc_lib import utils as osc_utils
from oslo_log import log as logging
@@ -21,6 +22,17 @@ from karborclient.i18n import _
from karborclient import utils
def format_checkpoint(checkpoint_info):
if 'protection_plan' in checkpoint_info:
plan = checkpoint_info['protection_plan']
checkpoint_info['protection_plan'] = "Name: %s\nId: %s" % (
plan['name'], plan['id'])
if 'resource_graph' in checkpoint_info:
checkpoint_info['resource_graph'] = json.dumps(json.loads(
checkpoint_info['resource_graph']), indent=2, sort_keys=True)
checkpoint_info.pop("links", None)
class ListCheckpoints(command.Lister):
_description = _("List checkpoints.")
@@ -130,7 +142,7 @@ class ShowCheckpoint(command.ShowOne):
client = self.app.client_manager.data_protection
checkpoint = client.checkpoints.get(parsed_args.provider_id,
parsed_args.checkpoint_id)
checkpoint._info.pop("links", None)
format_checkpoint(checkpoint._info)
return zip(*sorted(checkpoint._info.items()))
@@ -167,7 +179,7 @@ class CreateCheckpoint(command.ShowOne):
checkpoint = client.checkpoints.create(parsed_args.provider_id,
parsed_args.plan_id,
checkpoint_extra_info)
checkpoint._info.pop("links", None)
format_checkpoint(checkpoint._info)
return zip(*sorted(checkpoint._info.items()))

View File

@@ -11,6 +11,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import json
from karborclient.osc.v1 import checkpoints as osc_checkpoints
from karborclient.tests.unit.osc.v1 import fakes
from karborclient.v1 import checkpoints
@@ -29,9 +31,11 @@ CHECKPOINT_INFO = {
"type": "OS::Glance::Image",
"name": "cirros-0.3.4-x86_64-uec"}]
},
"resource_graph": "[{'0x0': ['OS::Glance::Image', "
"'99777fdd-8a5b-45ab-ba2c-52420008103f', "
"'cirros-0.3.4-x86_64-uec']}, [[['0x0']]]]"
"resource_graph": json.dumps(
"[{'0x0': ['OS::Glance::Image', "
"'99777fdd-8a5b-45ab-ba2c-52420008103f', "
"'cirros-0.3.4-x86_64-uec']}, [[['0x0']]]]"
),
}