The python-openstackclient project, by Dean Troyer and
others, is a new command line tool to replace the existing command
line clients (including commands such as nova
, keystone
, cinder
,
etc).
This tool solves two problems I’ve encountered in the past:
Command line options between different command line clients are sometimes inconsistent.
The output from the legacy command line tools is not designed to be machine parse-able (and yet people do it anyway).
The new openstack
CLI framework is implement using the cliff
module for Python, which will help enforce a consistent interface to
the various subcommands (because common options can be shared, and
just having everything in the same codebase will help tremendously).
Cliff also provides flexible table formatters. It includes a number
of useful formatters out of the box, and can be extended via
setuptools entry points.