def do_overcloud_show_template_parameters(tuskar, args, outfile=sys.stdout):
    """Show the template parameters stored in the Tuskar API."""
    template_parameters = tuskar.overclouds.template_parameters()
    formatters = {
        '*': fmt.attributes_formatter
    }
    template_parameters_dict = template_parameters.to_dict()
    fmt.print_dict(template_parameters_dict, formatters, outfile=outfile)
def print_plan_detail(plan, outfile=sys.stdout):
    """Print detailed Plan information (for plan-show etc.)."""

    formatters = {
        'roles': fmt.parameters_v2_formatter,
        'parameters': fmt.parameters_v2_formatter,
    }
    plan_dict = plan.to_dict()
    fmt.print_dict(plan_dict, formatters, outfile=outfile)
def print_plan_detail(plan, outfile=sys.stdout):
    """Print detailed Plan information (for plan-show etc.)."""

    formatters = {
        'roles': fmt.parameters_v2_formatter,
        'parameters': fmt.parameters_v2_formatter,
    }
    plan_dict = plan.to_dict()
    fmt.print_dict(plan_dict, formatters, outfile=outfile)
def print_overcloud_detail(overcloud, outfile=sys.stdout):
    """Print detailed overcloud information (for overcloud-show etc.)."""

    formatters = {
        'attributes': fmt.attributes_formatter,
        'counts': fmt.counts_formatter,
    }
    overcloud_dict = overcloud.to_dict()
    fmt.print_dict(overcloud_dict, formatters, outfile=outfile)
    def test_print_dict(self, mock_out):
        dict_ = {'k': 'v', 'key': 'value'}
        formatters = {'key': lambda v: 'custom ' + v}
        custom_labels = {'k': 'custom_key'}

        fmt.print_dict(dict_, formatters, custom_labels)
        self.assertEqual(('+------------+--------------+\n'
                          '| Property   | Value        |\n'
                          '+------------+--------------+\n'
                          '| custom_key | v            |\n'
                          '| key        | custom value |\n'
                          '+------------+--------------+\n'),
                         mock_out.getvalue())
    def test_print_dict(self, mock_out):
        dict_ = {'k': 'v', 'key': 'value'}
        formatters = {'key': lambda v: 'custom ' + v}
        custom_labels = {'k': 'custom_key'}

        fmt.print_dict(dict_, formatters, custom_labels)
        self.assertEqual(
            ('+------------+--------------+\n'
             '| Property   | Value        |\n'
             '+------------+--------------+\n'
             '| custom_key | v            |\n'
             '| key        | custom value |\n'
             '+------------+--------------+\n'),
            mock_out.getvalue()
        )
Exemple #7
0
def do_rack_show(tuskar, args):
    try:
        rack = utils.find_resource(tuskar.racks, args.id)
    except exc.HTTPNotFound:
        raise exc.CommandError("Rack not found: %s" % args.id)
    formatters = {
        'capacities': fmt.capacities_formatter,
        'chassis': fmt.resource_link_formatter,
        'links': fmt.links_formatter,
        'nodes': fmt.resource_links_formatter,
        'resource_class': fmt.resource_link_formatter,
    }

    rack_dict = rack.to_dict()
    # Workaround for API inconsistency, where empty chassis link
    # prints out as '{}'.
    if 'chassis' in rack_dict and not rack_dict['chassis']:
        del rack_dict['chassis']

    fmt.print_dict(rack_dict, formatters)
def do_plan_show_flavors(tuskar, args, outfile=sys.stdout):
    """Show flavors assigned to roles of Plan."""
    plan = utils.find_resource(tuskar.plans, args.plan)
    flavors = filter_parameters_to_dict(plan.parameters, 'Flavor')
    fmt.print_dict(flavors, outfile=outfile)
def do_plan_show_scale(tuskar, args, outfile=sys.stdout):
    """Show scale counts of Plan."""
    plan = utils.find_resource(tuskar.plans, args.plan)
    scales = filter_parameters_to_dict(plan.parameters, 'count')
    fmt.print_dict(scales, outfile=outfile)
def do_plan_show_flavors(tuskar, args, outfile=sys.stdout):
    """Show flavors assigned to roles of Plan."""
    plan = utils.find_resource(tuskar.plans, args.plan)
    flavors = filter_parameters_to_dict(plan.parameters, 'Flavor')
    fmt.print_dict(flavors, outfile=outfile)
def do_plan_show_scale(tuskar, args, outfile=sys.stdout):
    """Show scale counts of Plan."""
    plan = utils.find_resource(tuskar.plans, args.plan)
    scales = filter_parameters_to_dict(plan.parameters, 'count')
    fmt.print_dict(scales, outfile=outfile)
def print_role_detail(overcloud_role, outfile=sys.stdout):
    """Print detailed Overcloud Role information (overcloud-role-show etc.)."""

    overcloud_role_dict = overcloud_role.to_dict()
    fmt.print_dict(overcloud_role_dict, outfile=outfile)