summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-10-25 10:28:14 +0000
committerGerrit Code Review <review@openstack.org>2016-10-25 10:28:15 +0000
commit7825e1a2c381aa0e2eb142396e4b4590dcc92fd7 (patch)
tree7c6d32c907bf03a2bbb9b290e07e3eb95e540443
parentb6a88229219bc6fe45426c4b235bc3d7062a1678 (diff)
parent5055074db00f75285034c056b631d85f42cd9086 (diff)
downloadpython-openstackclient-7825e1a2c381aa0e2eb142396e4b4590dcc92fd7.tar.gz
Merge "Adds information about private key generation for instance access"
-rw-r--r--doc/source/command-objects/keypair.rst22
-rw-r--r--openstackclient/compute/v2/keypair.py23
-rw-r--r--openstackclient/tests/unit/compute/v2/test_keypair.py3
3 files changed, 25 insertions, 23 deletions
diff --git a/doc/source/command-objects/keypair.rst b/doc/source/command-objects/keypair.rst
index af50a651..c9bf085b 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 <file>
- Filename for public key to add
+ Filename for public key to add. If not used, creates a private key.
.. describe:: <name>
- 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:: <key>
- 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:: <key>
- 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 d30fd429..d5c682f4 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='<name>',
- help=_("New public key name")
+ help=_("New public or private key name")
)
parser.add_argument(
'--public-key',
metavar='<file>',
- 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='<key>',
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='<key>',
- 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 cb008545..efc5463c 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)