def _show_node(senlin_client, node_id, show_details=False):

    args = {'show_details': True} if show_details else None
    try:
        node = senlin_client.get_node(node_id, args=args)
    except sdk_exc.ResourceNotFound:
        raise exc.CommandError(_('Node not found: %s') % node_id)

    formatters = {
        'metadata': senlin_utils.json_formatter,
        'data': senlin_utils.json_formatter,
    }
    if show_details and node:
        formatters['details'] = senlin_utils.nested_dict_formatter(
            list(node['details'].keys()), ['property', 'value'])

    columns = sorted(list(six.iterkeys(node)))
    return columns, utils.get_dict_properties(node.to_dict(), columns,
                                              formatters=formatters)
Perform any operations necessary for migration and return any objects
dataset/ETHPy150Open openstack/python-senlinclient/senlinclient/v1/node.py/_show_node--crossover with--dataset/ETHPy150Open MirantisWorkloadMobility/CloudFerry/cloudferry/lib/os/migrate/base.py/ObjectTask.migrate