From 5055074db00f75285034c056b631d85f42cd9086 Mon Sep 17 00:00:00 2001 From: Anne Gentle Date: Mon, 24 Oct 2016 10:55:10 +0200 Subject: [PATCH] Adds information about private key generation for instance access - Also updated the help text in the command itself. Change-Id: Ib3d4f94ef415a3f12024d0d7c000d2de20de001b Partial-Bug: 1549410 --- doc/source/command-objects/keypair.rst | 22 ++++++++++-------- openstackclient/compute/v2/keypair.py | 23 ++++++++++--------- .../tests/unit/compute/v2/test_keypair.py | 3 +-- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/doc/source/command-objects/keypair.rst b/doc/source/command-objects/keypair.rst index af50a6511d..c9bf085b44 100644 --- a/doc/source/command-objects/keypair.rst +++ b/doc/source/command-objects/keypair.rst @@ -3,14 +3,16 @@ keypair ======= The badly named keypair is really the public key of an OpenSSH key pair to be -used for access to created servers. +used for access to created servers. You can also create a private key for +access to a created server by not passing any argument to the keypair create +command. Compute v2 keypair create -------------- -Create new public key +Create new public or private key for server ssh access .. program:: keypair create .. code:: bash @@ -21,16 +23,16 @@ Create new public key .. option:: --public-key - Filename for public key to add + Filename for public key to add. If not used, creates a private key. .. describe:: - New public key name + New public or private key name keypair delete -------------- -Delete public key(s) +Delete public or private key(s) .. program:: keypair delete .. code:: bash @@ -40,12 +42,12 @@ Delete public key(s) .. describe:: - Public key(s) to delete (name only) + Name of key(s) to delete (name only) keypair list ------------ -List public key fingerprints +List key fingerprints .. program:: keypair list .. code:: bash @@ -55,7 +57,7 @@ List public key fingerprints keypair show ------------ -Display public key details +Display key details .. program:: keypair show .. code:: bash @@ -66,8 +68,8 @@ Display public key details .. option:: --public-key - Show only bare public key (name only) + Show only bare public key paired with the generated key .. describe:: - Public key to display (name only) + Public or private key to display (name only) diff --git a/openstackclient/compute/v2/keypair.py b/openstackclient/compute/v2/keypair.py index d30fd429e3..d5c682f455 100644 --- a/openstackclient/compute/v2/keypair.py +++ b/openstackclient/compute/v2/keypair.py @@ -32,19 +32,20 @@ LOG = logging.getLogger(__name__) class CreateKeypair(command.ShowOne): - """Create new public key""" + """Create new public or private key for server ssh access""" def get_parser(self, prog_name): parser = super(CreateKeypair, self).get_parser(prog_name) parser.add_argument( 'name', metavar='', - help=_("New public key name") + help=_("New public or private key name") ) parser.add_argument( '--public-key', metavar='', - help=_("Filename for public key to add") + help=_("Filename for public key to add. If not used, " + "creates a private key.") ) return parser @@ -82,7 +83,7 @@ class CreateKeypair(command.ShowOne): class DeleteKeypair(command.Command): - """Delete public key(s)""" + """Delete public or private key(s)""" def get_parser(self, prog_name): parser = super(DeleteKeypair, self).get_parser(prog_name) @@ -90,7 +91,7 @@ class DeleteKeypair(command.Command): 'name', metavar='', nargs='+', - help=_("Public key(s) to delete (name only)") + help=_("Name of key(s) to delete (name only)") ) return parser @@ -104,19 +105,19 @@ class DeleteKeypair(command.Command): compute_client.keypairs.delete(data.name) except Exception as e: result += 1 - LOG.error(_("Failed to delete public key with name " + LOG.error(_("Failed to delete key with name " "'%(name)s': %(e)s") % {'name': n, 'e': e}) if result > 0: total = len(parsed_args.name) - msg = (_("%(result)s of %(total)s public keys failed " + msg = (_("%(result)s of %(total)s keys failed " "to delete.") % {'result': result, 'total': total}) raise exceptions.CommandError(msg) class ListKeypair(command.Lister): - """List public key fingerprints""" + """List key fingerprints""" def take_action(self, parsed_args): compute_client = self.app.client_manager.compute @@ -133,20 +134,20 @@ class ListKeypair(command.Lister): class ShowKeypair(command.ShowOne): - """Display public key details""" + """Display key details""" def get_parser(self, prog_name): parser = super(ShowKeypair, self).get_parser(prog_name) parser.add_argument( 'name', metavar='', - help=_("Public key to display (name only)") + help=_("Public or private key to display (name only)") ) parser.add_argument( '--public-key', action='store_true', default=False, - help=_("Show only bare public key (name only)") + help=_("Show only bare public key paired with the generated key") ) return parser diff --git a/openstackclient/tests/unit/compute/v2/test_keypair.py b/openstackclient/tests/unit/compute/v2/test_keypair.py index cb0085452d..efc5463cc6 100644 --- a/openstackclient/tests/unit/compute/v2/test_keypair.py +++ b/openstackclient/tests/unit/compute/v2/test_keypair.py @@ -179,8 +179,7 @@ class TestKeypairDelete(TestKeypair): self.cmd.take_action(parsed_args) self.fail('CommandError should be raised.') except exceptions.CommandError as e: - self.assertEqual('1 of 2 public keys failed to delete.', - str(e)) + self.assertEqual('1 of 2 keys failed to delete.', str(e)) find_mock.assert_any_call( self.keypairs_mock, self.keypairs[0].name)