summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/v2/server.py239
-rw-r--r--openstackclient/i18n.py2
-rw-r--r--openstackclient/identity/v2_0/catalog.py3
-rw-r--r--openstackclient/identity/v2_0/ec2creds.py15
-rw-r--r--openstackclient/identity/v2_0/endpoint.py17
-rw-r--r--openstackclient/identity/v2_0/project.py35
-rw-r--r--openstackclient/identity/v2_0/role.py31
-rw-r--r--openstackclient/identity/v2_0/service.py19
-rw-r--r--openstackclient/identity/v2_0/token.py4
-rw-r--r--openstackclient/identity/v2_0/user.py41
-rw-r--r--openstackclient/identity/v3/token.py4
-rw-r--r--openstackclient/tests/identity/v3/fakes.py4
-rw-r--r--openstackclient/tests/identity/v3/test_token.py3
13 files changed, 211 insertions, 206 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index ec7f212d..355774c3 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -25,11 +25,12 @@ import sys
from cliff import command
from cliff import lister
from cliff import show
-
from novaclient.v1_1 import servers
+
from openstackclient.common import exceptions
from openstackclient.common import parseractions
from openstackclient.common import utils
+from openstackclient.i18n import _ # noqa
def _format_servers_list_networks(networks):
@@ -106,17 +107,17 @@ class AddServerVolume(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
parser.add_argument(
'volume',
metavar='<volume>',
- help='Volume to add (name or ID)',
+ help=_('Volume to add (name or ID)'),
)
parser.add_argument(
'--device',
metavar='<device>',
- help='Server internal device name for volume',
+ help=_('Server internal device name for volume'),
)
return parser
@@ -152,12 +153,12 @@ class AddServerSecurityGroup(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Name or ID of server to use',
+ help=_('Name or ID of server to use'),
)
parser.add_argument(
'group',
metavar='<group>',
- help='Name or ID of security group to add to server',
+ help=_('Name or ID of security group to add to server'),
)
return parser
@@ -189,91 +190,91 @@ class CreateServer(show.ShowOne):
parser.add_argument(
'server_name',
metavar='<server-name>',
- help='New server name')
+ help=_('New server name'))
parser.add_argument(
'--image',
metavar='<image>',
required=True,
- help='Create server from this image')
+ help=_('Create server from this image'))
parser.add_argument(
'--flavor',
metavar='<flavor>',
required=True,
- help='Create server with this flavor')
+ help=_('Create server with this flavor'))
parser.add_argument(
'--security-group',
metavar='<security-group-name>',
action='append',
default=[],
- help='Security group to assign to this server '
- '(repeat for multiple groups)')
+ help=_('Security group to assign to this server '
+ '(repeat for multiple groups)'))
parser.add_argument(
'--key-name',
metavar='<key-name>',
- help='Keypair to inject into this server (optional extension)')
+ help=_('Keypair to inject into this server (optional extension)'))
parser.add_argument(
'--property',
metavar='<key=value>',
action=parseractions.KeyValueAction,
- help='Set a property on this server '
- '(repeat for multiple values)')
+ help=_('Set a property on this server '
+ '(repeat for multiple values)'))
parser.add_argument(
'--file',
metavar='<dest-filename=source-filename>',
action='append',
default=[],
- help='File to inject into image before boot '
- '(repeat for multiple files)')
+ help=_('File to inject into image before boot '
+ '(repeat for multiple files)'))
parser.add_argument(
'--user-data',
metavar='<user-data>',
- help='User data file to serve from the metadata server')
+ help=_('User data file to serve from the metadata server'))
parser.add_argument(
'--availability-zone',
metavar='<zone-name>',
- help='Select an availability zone for the server')
+ help=_('Select an availability zone for the server'))
parser.add_argument(
'--block-device-mapping',
metavar='<dev-name=mapping>',
action='append',
default=[],
- help='Map block devices; map is '
- '<id>:<type>:<size(GB)>:<delete_on_terminate> '
- '(optional extension)')
+ help=_('Map block devices; map is '
+ '<id>:<type>:<size(GB)>:<delete_on_terminate> '
+ '(optional extension)'))
parser.add_argument(
'--nic',
metavar='<nic-config-string>',
action='append',
default=[],
- help='Specify NIC configuration (optional extension)')
+ help=_('Specify NIC configuration (optional extension)'))
parser.add_argument(
'--hint',
metavar='<key=value>',
action='append',
default=[],
- help='Hints for the scheduler (optional extension)')
+ help=_('Hints for the scheduler (optional extension)'))
parser.add_argument(
'--config-drive',
metavar='<config-drive-volume>|True',
default=False,
- help='Use specified volume as the config drive, '
- 'or \'True\' to use an ephemeral drive')
+ help=_('Use specified volume as the config drive, '
+ 'or \'True\' to use an ephemeral drive'))
parser.add_argument(
'--min',
metavar='<count>',
type=int,
default=1,
- help='Minimum number of servers to launch (default=1)')
+ help=_('Minimum number of servers to launch (default=1)'))
parser.add_argument(
'--max',
metavar='<count>',
type=int,
default=1,
- help='Maximum number of servers to launch (default=1)')
+ help=_('Maximum number of servers to launch (default=1)'))
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for build to complete',
+ help=_('Wait for build to complete'),
)
return parser
@@ -300,13 +301,13 @@ class CreateServer(show.ShowOne):
raise exceptions.CommandError("Can't open '%s': %s" % (src, e))
if parsed_args.min > parsed_args.max:
- msg = "min instances should be <= max instances"
+ msg = _("min instances should be <= max instances")
raise exceptions.CommandError(msg)
if parsed_args.min < 1:
- msg = "min instances should be > 0"
+ msg = _("min instances should be > 0")
raise exceptions.CommandError(msg)
if parsed_args.max < 1:
- msg = "max instances should be > 0"
+ msg = _("max instances should be > 0")
raise exceptions.CommandError(msg)
userdata = None
@@ -315,8 +316,7 @@ class CreateServer(show.ShowOne):
userdata = open(parsed_args.user_data)
except IOError as e:
msg = "Can't open '%s': %s"
- raise exceptions.CommandError(msg %
- (parsed_args.user_data, e))
+ raise exceptions.CommandError(msg % (parsed_args.user_data, e))
block_device_mapping = dict(v.split('=', 1)
for v in parsed_args.block_device_mapping)
@@ -378,9 +378,9 @@ class CreateServer(show.ShowOne):
):
sys.stdout.write('\n')
else:
- self.log.error('Error creating server: %s',
+ self.log.error(_('Error creating server: %s'),
parsed_args.server_name)
- sys.stdout.write('\nError creating server')
+ sys.stdout.write(_('\nError creating server'))
raise SystemExit
details = _prep_server_detail(compute_client, server)
@@ -397,17 +397,17 @@ class CreateServerImage(show.ShowOne):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
parser.add_argument(
'--name',
metavar='<image-name>',
- help='Name of new image (default is server name)',
+ help=_('Name of new image (default is server name)'),
)
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for image create to complete',
+ help=_('Wait for image create to complete'),
)
return parser
@@ -437,11 +437,9 @@ class CreateServerImage(show.ShowOne):
):
sys.stdout.write('\n')
else:
- self.log.error(
- 'Error creating server snapshot: %s',
- parsed_args.image_name,
- )
- sys.stdout.write('\nError creating server snapshot')
+ self.log.error(_('Error creating server snapshot: %s'),
+ parsed_args.image_name)
+ sys.stdout.write(_('\nError creating server snapshot'))
raise SystemExit
image = utils.find_resource(
@@ -449,9 +447,7 @@ class CreateServerImage(show.ShowOne):
image_id,
)
- info = {}
- info.update(image._info)
- return zip(*sorted(six.iteritems(info)))
+ return zip(*sorted(six.iteritems(image._info)))
class DeleteServer(command.Command):
@@ -464,7 +460,7 @@ class DeleteServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Name or ID of server to delete')
+ help=_('Name or ID of server to delete'))
return parser
def take_action(self, parsed_args):
@@ -486,50 +482,50 @@ class ListServer(lister.Lister):
parser.add_argument(
'--reservation-id',
metavar='<reservation-id>',
- help='Only return instances that match the reservation')
+ help=_('Only return instances that match the reservation'))
parser.add_argument(
'--ip',
metavar='<ip-address-regex>',
- help='Regular expression to match IP addresses')
+ help=_('Regular expression to match IP addresses'))
parser.add_argument(
'--ip6',
metavar='<ip-address-regex>',
- help='Regular expression to match IPv6 addresses')
+ help=_('Regular expression to match IPv6 addresses'))
parser.add_argument(
'--name',
metavar='<name>',
- help='Regular expression to match names')
+ help=_('Regular expression to match names'))
parser.add_argument(
'--status',
metavar='<status>',
# FIXME(dhellmann): Add choices?
- help='Search by server status')
+ help=_('Search by server status'))
parser.add_argument(
'--flavor',
metavar='<flavor>',
- help='Search by flavor ID')
+ help=_('Search by flavor ID'))
parser.add_argument(
'--image',
metavar='<image>',
- help='Search by image ID')
+ help=_('Search by image ID'))
parser.add_argument(
'--host',
metavar='<hostname>',
- help='Search by hostname')
+ help=_('Search by hostname'))
parser.add_argument(
'--instance-name',
metavar='<server-name>',
- help='Regular expression to match instance name (admin only)')
+ help=_('Regular expression to match instance name (admin only)'))
parser.add_argument(
'--all-projects',
action='store_true',
default=bool(int(os.environ.get("ALL_PROJECTS", 0))),
- help='Include all projects (admin only)')
+ help=_('Include all projects (admin only)'))
parser.add_argument(
'--long',
action='store_true',
default=False,
- help='List additional fields in output')
+ help=_('List additional fields in output'))
return parser
def take_action(self, parsed_args):
@@ -598,7 +594,7 @@ class LockServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
return parser
@@ -632,17 +628,17 @@ class MigrateServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server to migrate (name or ID)',
+ help=_('Server to migrate (name or ID)'),
)
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for resize to complete',
+ help=_('Wait for resize to complete'),
)
parser.add_argument(
'--live',
metavar='<hostname>',
- help='Target hostname',
+ help=_('Target hostname'),
)
migration_group = parser.add_mutually_exclusive_group()
migration_group.add_argument(
@@ -650,13 +646,13 @@ class MigrateServer(command.Command):
dest='shared_migration',
action='store_true',
default=True,
- help='Perform a shared live migration (default)',
+ help=_('Perform a shared live migration (default)'),
)
migration_group.add_argument(
'--block-migration',
dest='shared_migration',
action='store_false',
- help='Perform a block live migration',
+ help=_('Perform a block live migration'),
)
disk_group = parser.add_mutually_exclusive_group()
disk_group.add_argument(
@@ -664,13 +660,14 @@ class MigrateServer(command.Command):
dest='disk_overcommit',
action='store_false',
default=False,
- help='Do not over-commit disk on the destination host (default)',
+ help=_('Do not over-commit disk on the'
+ ' destination host (default)'),
)
disk_group.add_argument(
'--disk-overcommit',
action='store_true',
default=False,
- help='Allow disk over-commit on the destination host',
+ help=_('Allow disk over-commit on the destination host'),
)
return parser
@@ -698,9 +695,9 @@ class MigrateServer(command.Command):
server.id,
callback=_show_progress,
):
- sys.stdout.write('Complete\n')
+ sys.stdout.write(_('Complete\n'))
else:
- sys.stdout.write('\nError migrating server')
+ sys.stdout.write(_('\nError migrating server'))
raise SystemExit
@@ -714,7 +711,7 @@ class PauseServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
return parser
@@ -738,7 +735,7 @@ class RebootServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
group = parser.add_mutually_exclusive_group()
group.add_argument(
@@ -747,7 +744,7 @@ class RebootServer(command.Command):
action='store_const',
const=servers.REBOOT_HARD,
default=servers.REBOOT_SOFT,
- help='Perform a hard reboot',
+ help=_('Perform a hard reboot'),
)
group.add_argument(
'--soft',
@@ -755,12 +752,12 @@ class RebootServer(command.Command):
action='store_const',
const=servers.REBOOT_SOFT,
default=servers.REBOOT_SOFT,
- help='Perform a soft reboot',
+ help=_('Perform a soft reboot'),
)
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for reboot to complete',
+ help=_('Wait for reboot to complete'),
)
return parser
@@ -777,9 +774,9 @@ class RebootServer(command.Command):
server.id,
callback=_show_progress,
):
- sys.stdout.write('\nReboot complete\n')
+ sys.stdout.write(_('\nReboot complete\n'))
else:
- sys.stdout.write('\nError rebooting server\n')
+ sys.stdout.write(_('\nError rebooting server\n'))
raise SystemExit
@@ -793,13 +790,13 @@ class RebuildServer(show.ShowOne):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
parser.add_argument(
'--image',
metavar='<image>',
required=True,
- help='Recreate server from this image',
+ help=_('Recreate server from this image'),
)
parser.add_argument(
'--password',
@@ -809,7 +806,7 @@ class RebuildServer(show.ShowOne):
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for rebuild to complete',
+ help=_('Wait for rebuild to complete'),
)
return parser
@@ -830,9 +827,9 @@ class RebuildServer(show.ShowOne):
server.id,
callback=_show_progress,
):
- sys.stdout.write('\nComplete\n')
+ sys.stdout.write(_('\nComplete\n'))
else:
- sys.stdout.write('\nError rebuilding server')
+ sys.stdout.write(_('\nError rebuilding server'))
raise SystemExit
details = _prep_server_detail(compute_client, server)
@@ -849,12 +846,12 @@ class RemoveServerSecurityGroup(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Name or ID of server to use',
+ help=_('Name or ID of server to use'),
)
parser.add_argument(
'group',
metavar='<group>',
- help='Name or ID of security group to remove from server',
+ help=_('Name or ID of security group to remove from server'),
)
return parser
@@ -885,12 +882,12 @@ class RemoveServerVolume(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
parser.add_argument(
'volume',
metavar='<volume>',
- help='Volume to remove (name or ID)',
+ help=_('Volume to remove (name or ID)'),
)
return parser
@@ -925,7 +922,7 @@ class RescueServer(show.ShowOne):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
return parser
@@ -951,27 +948,27 @@ class ResizeServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
phase_group.add_argument(
'--flavor',
metavar='<flavor>',
- help='Resize server to specified flavor',
+ help=_('Resize server to specified flavor'),
)
phase_group.add_argument(
'--verify',
action="store_true",
- help='Verify server resize is complete',
+ help=_('Verify server resize is complete'),
)
phase_group.add_argument(
'--revert',
action="store_true",
- help='Restore server state before resize',
+ help=_('Restore server state before resize'),
)
parser.add_argument(
'--wait',
action='store_true',
- help='Wait for resize to complete',
+ help=_('Wait for resize to complete'),
)
return parser
@@ -996,9 +993,9 @@ class ResizeServer(command.Command):
success_status=['active', 'verify_resize'],
callback=_show_progress,
):
- sys.stdout.write('Complete\n')
+ sys.stdout.write(_('Complete\n'))
else:
- sys.stdout.write('\nError resizing server')
+ sys.stdout.write(_('\nError resizing server'))
raise SystemExit
elif parsed_args.verify:
compute_client.servers.confirm_resize(server)
@@ -1016,7 +1013,7 @@ class ResumeServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
return parser
@@ -1040,24 +1037,24 @@ class SetServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
parser.add_argument(
'--name',
metavar='<new-name>',
- help='New server name',
+ help=_('New server name'),
)
parser.add_argument(
'--root-password',
action="store_true",
- help='Set new root password (interactive only)',
+ help=_('Set new root password (interactive only)'),
)
parser.add_argument(
"--property",
metavar="<key=value>",
action=parseractions.KeyValueAction,
- help='Property to add/change for this server '
- '(repeat option to set multiple properties)',
+ help=_('Property to add/change for this server '
+ '(repeat option to set multiple properties)'),
)
return parser
@@ -1080,12 +1077,12 @@ class SetServer(command.Command):
)
if parsed_args.root_password:
- p1 = getpass.getpass('New password: ')
- p2 = getpass.getpass('Retype new password: ')
+ p1 = getpass.getpass(_('New password: '))
+ p2 = getpass.getpass(_('Retype new password: '))
if p1 == p2:
server.change_password(p1)
else:
- msg = "Passwords do not match, password unchanged"
+ msg = _("Passwords do not match, password unchanged")
raise exceptions.CommandError(msg)
@@ -1099,13 +1096,13 @@ class ShowServer(show.ShowOne):
parser.add_argument(
'server',
metavar='<server>',
- help='Server to show (name or ID)',
+ help=_('Server to show (name or ID)'),
)
parser.add_argument(
'--diagnostics',
action='store_true',
default=False,
- help='Display diagnostics information for a given server',
+ help=_('Display diagnostics information for a given server'),
)
return parser
@@ -1118,7 +1115,7 @@ class ShowServer(show.ShowOne):
if parsed_args.diagnostics:
(resp, data) = server.diagnostics()
if not resp.status_code == 200:
- sys.stderr.write("Error retrieving diagnostics data")
+ sys.stderr.write(_("Error retrieving diagnostics data"))
return ({}, {})
else:
data = _prep_server_detail(compute_client, server)
@@ -1136,12 +1133,12 @@ class SshServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
parser.add_argument(
'--login',
metavar='<login-name>',
- help='Login name (ssh -l option)',
+ help=_('Login name (ssh -l option)'),
)
parser.add_argument(
'-l',
@@ -1152,7 +1149,7 @@ class SshServer(command.Command):
'--port',
metavar='<port>',
type=int,
- help='Destination port (ssh -p option)',
+ help=_('Destination port (ssh -p option)'),
)
parser.add_argument(
'-p',
@@ -1164,7 +1161,7 @@ class SshServer(command.Command):
parser.add_argument(
'--identity',
metavar='<keyfile>',
- help='Private key file (ssh -i option)',
+ help=_('Private key file (ssh -i option)'),
)
parser.add_argument(
'-i',
@@ -1175,7 +1172,7 @@ class SshServer(command.Command):
parser.add_argument(
'--option',
metavar='<config-options>',
- help='Options in ssh_config(5) format (ssh -o option)',
+ help=_('Options in ssh_config(5) format (ssh -o option)'),
)
parser.add_argument(
'-o',
@@ -1189,14 +1186,14 @@ class SshServer(command.Command):
dest='ipv4',
action='store_true',
default=False,
- help='Use only IPv4 addresses',
+ help=_('Use only IPv4 addresses'),
)
ip_group.add_argument(
'-6',
dest='ipv6',
action='store_true',
default=False,
- help='Use only IPv6 addresses',
+ help=_('Use only IPv6 addresses'),
)
type_group = parser.add_mutually_exclusive_group()
type_group.add_argument(
@@ -1205,7 +1202,7 @@ class SshServer(command.Command):
action='store_const',
const='public',
default='public',
- help='Use public IP address',
+ help=_('Use public IP address'),
)
type_group.add_argument(
'--private',
@@ -1213,14 +1210,14 @@ class SshServer(command.Command):
action='store_const',
const='private',
default='public',
- help='Use private IP address',
+ help=_('Use private IP address'),
)
type_group.add_argument(
'--address-type',
metavar='<address-type>',
dest='address_type',
default='public',
- help='Use other IP address (public, private, etc)',
+ help=_('Use other IP address (public, private, etc)'),
)
parser.add_argument(
'-v',
@@ -1294,7 +1291,7 @@ class SuspendServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
return parser
@@ -1318,7 +1315,7 @@ class UnlockServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
return parser
@@ -1342,7 +1339,7 @@ class UnpauseServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
return parser
@@ -1366,7 +1363,7 @@ class UnrescueServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
return parser
@@ -1390,15 +1387,15 @@ class UnsetServer(command.Command):
parser.add_argument(
'server',
metavar='<server>',
- help='Server (name or ID)',
+ help=_('Server (name or ID)'),
)
parser.add_argument(
'--property',
metavar='<key>',
action='append',
default=[],
- help='Property key to remove from server '
- '(repeat to set multiple values)',
+ help=_('Property key to remove from server '
+ '(repeat to set multiple values)'),
)
return parser
diff --git a/openstackclient/i18n.py b/openstackclient/i18n.py
index bd52d648..3611b315 100644
--- a/openstackclient/i18n.py
+++ b/openstackclient/i18n.py
@@ -15,7 +15,7 @@
from oslo import i18n
-_translators = i18n.TranslatorFactory(domain='openstackclient')
+_translators = i18n.TranslatorFactory(domain='python-openstackclient')
# The primary translation function using the well-known name "_"
_ = _translators.primary
diff --git a/openstackclient/identity/v2_0/catalog.py b/openstackclient/identity/v2_0/catalog.py
index 7bda1acb..1a96fdf6 100644
--- a/openstackclient/identity/v2_0/catalog.py
+++ b/openstackclient/identity/v2_0/catalog.py
@@ -20,6 +20,7 @@ from cliff import lister
from cliff import show
from openstackclient.common import utils
+from openstackclient.i18n import _ # noqa
def _format_endpoints(eps=None):
@@ -67,7 +68,7 @@ class ShowCatalog(show.ShowOne):
parser.add_argument(
'service',
metavar='<service>',
- help='Service to display (type, name or ID)',
+ help=_('Service to display (type, name or ID)'),
)
return parser
diff --git a/openstackclient/identity/v2_0/ec2creds.py b/openstackclient/identity/v2_0/ec2creds.py
index 74c9d5eb..fd8eef84 100644
--- a/openstackclient/identity/v2_0/ec2creds.py
+++ b/openstackclient/identity/v2_0/ec2creds.py
@@ -24,6 +24,7 @@ from cliff import lister
from cliff import show
from openstackclient.common import utils
+from openstackclient.i18n import _ # noqa
class CreateEC2Creds(show.ShowOne):
@@ -36,12 +37,12 @@ class CreateEC2Creds(show.ShowOne):
parser.add_argument(
'--project',
metavar='<project>',
- help='Specify a project [admin only]',
+ help=_('Specify a project [admin only]'),
)
parser.add_argument(
'--user',
metavar='<user>',
- help='Specify a user [admin only]',
+ help=_('Specify a user [admin only]'),
)
return parser
@@ -83,12 +84,12 @@ class DeleteEC2Creds(command.Command):
parser.add_argument(
'access_key',
metavar='<access-key>',
- help='Credentials access key',
+ help=_('Credentials access key'),
)
parser.add_argument(
'--user',
metavar='<user>',
- help='Specify a user [admin only]',
+ help=_('Specify a user [admin only]'),
)
return parser
@@ -118,7 +119,7 @@ class ListEC2Creds(lister.Lister):
parser.add_argument(
'--user',
metavar='<user>',
- help='Specify a user [admin only]',
+ help=_('Specify a user [admin only]'),
)
return parser
@@ -156,12 +157,12 @@ class ShowEC2Creds(show.ShowOne):
parser.add_argument(
'access_key',
metavar='<access-key>',
- help='Credentials access key',
+ help=_('Credentials access key'),
)
parser.add_argument(
'--user',
metavar='<user>',
- help='Specify a user [admin only]',
+ help=_('Specify a user [admin only]'),
)
return parser
diff --git a/openstackclient/identity/v2_0/endpoint.py b/openstackclient/identity/v2_0/endpoint.py
index 36f52cad..f7d78831 100644
--- a/openstackclient/identity/v2_0/endpoint.py
+++ b/openstackclient/identity/v2_0/endpoint.py
@@ -23,6 +23,7 @@ from cliff import lister
from cliff import show
from openstackclient.common import utils
+from openstackclient.i18n import _ # noqa
from openstackclient.identity import common
@@ -36,24 +37,24 @@ class CreateEndpoint(show.ShowOne):
parser.add_argument(
'service',
metavar='<endpoint-service>',
- help='New endpoint service')
+ help=_('New endpoint service'))
parser.add_argument(
'--region',
metavar='<region>',
- help='New endpoint region')
+ help=_('New endpoint region'))
parser.add_argument(
'--publicurl',
metavar='<public-url>',
required=True,
- help='New endpoint public URL')
+ help=_('New endpoint public URL'))
parser.add_argument(
'--adminurl',
metavar='<admin-url>',
- help='New endpoint admin URL')
+ help=_('New endpoint admin URL'))
parser.add_argument(
'--internalurl',
metavar='<internal-url>',
- help='New endpoint internal URL')
+ help=_('New endpoint internal URL'))
return parser
def take_action(self, parsed_args):
@@ -84,7 +85,7 @@ class DeleteEndpoint(command.Command):
parser.add_argument(
'endpoint',
metavar='<endpoint-id>',
- help='ID of endpoint to delete')
+ help=_('ID of endpoint to delete'))
return parser
def take_action(self, parsed_args):
@@ -105,7 +106,7 @@ class ListEndpoint(lister.Lister):
'--long',
action='store_true',
default=False,
- help='List additional fields in output')
+ help=_('List additional fields in output'))
return parser
def take_action(self, parsed_args):
@@ -139,7 +140,7 @@ class ShowEndpoint(show.ShowOne):
parser.add_argument(
'endpoint_or_service',
metavar='<endpoint_or_service>',
- help='Endpoint ID or name, type or ID of service to display')
+ help=_('Endpoint ID or name, type or ID of service to display'))
return parser
def take_action(self, parsed_args):
diff --git a/openstackclient/identity/v2_0/project.py b/openstackclient/identity/v2_0/project.py
index ebd65df7..7ead0890 100644
--- a/openstackclient/identity/v2_0/project.py
+++ b/openstackclient/identity/v2_0/project.py
@@ -21,10 +21,11 @@ import six
from cliff import command
from cliff import lister
from cliff import show
-
from keystoneclient.openstack.common.apiclient import exceptions as ksc_exc
+
from openstackclient.common import parseractions
from openstackclient.common import utils
+from openstackclient.i18n import _ # noqa
class CreateProject(show.ShowOne):
@@ -37,30 +38,30 @@ class CreateProject(show.ShowOne):
parser.add_argument(
'name',
metavar='<project-name>',
- help='New project name',
+ help=_('New project name'),
)
parser.add_argument(
'--description',
metavar='<project-description>',
- help='New project description',
+ help=_('New project description'),
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
'--enable',
action='store_true',
- help='Enable project (default)',
+ help=_('Enable project (default)'),
)
enable_group.add_argument(
'--disable',
action='store_true',
- help='Disable project',
+ help=_('Disable project'),
)
parser.add_argument(
'--property',
metavar='<key=value>',
action=parseractions.KeyValueAction,
- help='Property to add for this project '
- '(repeat option to set multiple properties)',
+ help=_('Property to add for this project '
+ '(repeat option to set multiple properties)'),
)
return parser
@@ -97,7 +98,7 @@ class DeleteProject(command.Command):
parser.add_argument(
'project',
metavar='<project>',
- help='Project to delete (name or ID)',
+ help=_('Project to delete (name or ID)'),
)
return parser
@@ -125,7 +126,7 @@ class ListProject(lister.Lister):
'--long',
action='store_true',
default=False,
- help='List additional fields in output',
+ help=_('List additional fields in output'),
)
return parser
@@ -153,35 +154,35 @@ class SetProject(command.Command):
parser.add_argument(
'project',
metavar='<project>',
- help='Project to change (name or ID)',
+ help=_('Project to change (name or ID)'),
)
parser.add_argument(
'--name',
metavar='<new-project-name>',
- help='New project name',
+ help=_('New project name'),
)
parser.add_argument(
'--description',
metavar='<project-description>',
- help='New project description',
+ help=_('New project description'),
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
'--enable',
action='store_true',
- help='Enable project',
+ help=_('Enable project'),
)
enable_group.add_argument(
'--disable',
action='store_true',
- help='Disable project',
+ help=_('Disable project'),
)
parser.add_argument(
'--property',
metavar='<key=value>',
action=parseractions.KeyValueAction,
- help='Property to add for this project '
- '(repeat option to set multiple properties)',
+ help=_('Property to add for this project '
+ '(repeat option to set multiple properties)'),
)
return parser
@@ -233,7 +234,7 @@ class ShowProject(show.ShowOne):
parser.add_argument(
'project',
metavar='<project>',
- help='Project to display (name or ID)')
+ help=_('Project to display (name or ID)'))
return parser
def take_action(self, parsed_args):
diff --git a/openstackclient/identity/v2_0/role.py b/openstackclient/identity/v2_0/role.py
index faf48ed9..4c45004d 100644
--- a/openstackclient/identity/v2_0/role.py
+++ b/openstackclient/identity/v2_0/role.py
@@ -24,6 +24,7 @@ from cliff import show
from openstackclient.common import exceptions
from openstackclient.common import utils
+from openstackclient.i18n import _ # noqa
class AddRole(show.ShowOne):
@@ -36,18 +37,17 @@ class AddRole(show.ShowOne):
parser.add_argument(
'role',
metavar='<role>',
- help='Role name or ID to add to user')
+ help=_('Role name or ID to add to user'))
parser.add_argument(
'--project',
metavar='<project>',
required=True,
- help='Include project (name or ID)',
- )
+ help=_('Include project (name or ID)'))
parser.add_argument(
'--user',
metavar='<user>',
required=True,
- help='Name or ID of user to include')
+ help=_('Name or ID of user to include'))
return parser
def take_action(self, parsed_args):
@@ -80,7 +80,7 @@ class CreateRole(show.ShowOne):
parser.add_argument(
'role_name',
metavar='<role-name>',
- help='New role name')
+ help=_('New role name'))
return parser
def take_action(self, parsed_args):
@@ -103,8 +103,7 @@ class DeleteRole(command.Command):
parser.add_argument(
'role',
metavar='<role>',
- help='Name or ID of role to delete',
- )
+ help=_('Name or ID of role to delete'))
return parser
def take_action(self, parsed_args):
@@ -147,12 +146,11 @@ class ListUserRole(lister.Lister):
'user',
metavar='<user>',
nargs='?',
- help='Name or ID of user to include')
+ help=_('Name or ID of user to include'))
parser.add_argument(
'--project',
metavar='<project>',
- help='Include project (name or ID)',
- )
+ help=_('Include project (name or ID)'))
return parser
def take_action(self, parsed_args):
@@ -167,13 +165,13 @@ class ListUserRole(lister.Lister):
if self.app.client_manager.auth_ref:
parsed_args.project = auth_ref.project_id
else:
- msg = "Project must be specified"
+ msg = _("Project must be specified")
raise exceptions.CommandError(msg)
if not parsed_args.user:
if self.app.client_manager.auth_ref:
parsed_args.user = auth_ref.user_id
else:
- msg = "User must be specified"
+ msg = _("User must be specified")
raise exceptions.CommandError(msg)
project = utils.find_resource(
@@ -213,18 +211,17 @@ class RemoveRole(command.Command):
parser.add_argument(
'role',
metavar='<role>',
- help='Role name or ID to remove from user')
+ help=_('Role name or ID to remove from user'))
parser.add_argument(
'--project',
metavar='<project>',
required=True,
- help='Project to include (name or ID)',
- )
+ help=_('Project to include (name or ID)'))
parser.add_argument(
'--user',
metavar='<user>',
required=True,
- help='Name or ID of user')
+ help=_('Name or ID of user'))
return parser
def take_action(self, parsed_args):
@@ -252,7 +249,7 @@ class ShowRole(show.ShowOne):
parser.add_argument(
'role',
metavar='<role>',
- help='Name or ID of role to display')
+ help=_('Name or ID of role to display'))
return parser
def take_action(self, parsed_args):
diff --git a/openstackclient/identity/v2_0/service.py b/openstackclient/identity/v2_0/service.py
index 138ed3b0..458dce7c 100644
--- a/openstackclient/identity/v2_0/service.py
+++ b/openstackclient/identity/v2_0/service.py
@@ -24,6 +24,7 @@ from cliff import show
from openstackclient.common import exceptions
from openstackclient.common import utils
+from openstackclient.i18n import _ # noqa
from openstackclient.identity import common
@@ -37,18 +38,18 @@ class CreateService(show.ShowOne):
parser.add_argument(
'name',
metavar='<service-name>',
- help='New service name',
+ help=_('New service name'),
)
parser.add_argument(
'--type',
metavar='<service-type>',
required=True,
- help='New service type (compute, image, identity, volume, etc)',
+ help=_('New service type (compute, image, identity, volume, etc)'),
)
parser.add_argument(
'--description',
metavar='<service-description>',
- help='New service description',
+ help=_('New service description'),
)
return parser
@@ -76,7 +77,7 @@ class DeleteService(command.Command):
parser.add_argument(
'service',
metavar='<service>',
- help='Service to delete (name or ID)',
+ help=_('Service to delete (name or ID)'),
)
return parser
@@ -99,7 +100,7 @@ class ListService(lister.Lister):
'--long',
action='store_true',
default=False,
- help='List additional fields in output')
+ help=_('List additional fields in output'))
return parser
def take_action(self, parsed_args):
@@ -127,13 +128,13 @@ class ShowService(show.ShowOne):
parser.add_argument(
'service',
metavar='<service>',
- help='Service to display (type, name or ID)',
+ help=_('Service to display (type, name or ID)'),
)
parser.add_argument(
'--catalog',
action='store_true',
default=False,
- help='Show service catalog information',
+ help=_('Show service catalog information'),
)
return parser
@@ -150,8 +151,8 @@ class ShowService(show.ShowOne):
info.update(service_endpoints[0])
return zip(*sorted(six.iteritems(info)))
- msg = ("No service catalog with a type, name or ID of '%s' "
- "exists." % (parsed_args.service))
+ msg = _("No service catalog with a type, name or ID of '%s' "
+ "exists.") % (parsed_args.service)
raise exceptions.CommandError(msg)
else:
service = common.find_service(identity_client, parsed_args.service)
diff --git a/openstackclient/identity/v2_0/token.py b/openstackclient/identity/v2_0/token.py
index f3fedc01..c8b003ee 100644
--- a/openstackclient/identity/v2_0/token.py
+++ b/openstackclient/identity/v2_0/token.py
@@ -21,6 +21,8 @@ import six
from cliff import command
from cliff import show
+from openstackclient.i18n import _ # noqa
+
class IssueToken(show.ShowOne):
"""Issue new token"""
@@ -49,7 +51,7 @@ class RevokeToken(command.Command):
parser.add_argument(
'token',
metavar='<token>',
- help='Token to be deleted',
+ help=_('Token to be deleted'),
)
return parser
diff --git a/openstackclient/identity/v2_0/user.py b/openstackclient/identity/v2_0/user.py
index 93ab94fe..729c6ac8 100644
--- a/openstackclient/identity/v2_0/user.py
+++ b/openstackclient/identity/v2_0/user.py
@@ -21,9 +21,10 @@ import six
from cliff import command
from cliff import lister
from cliff import show
-
from keystoneclient.openstack.common.apiclient import exceptions as ksc_exc
+
from openstackclient.common import utils
+from openstackclient.i18n import _ # noqa
class CreateUser(show.ShowOne):
@@ -36,39 +37,39 @@ class CreateUser(show.ShowOne):
parser.add_argument(
'name',
metavar='<user-name>',
- help='New user name',
+ help=_('New user name'),
)
parser.add_argument(
'--password',
metavar='<user-password>',
- help='New user password',
+ help=_('New user password'),
)
parser.add_argument(
'--password-prompt',
dest="password_prompt",
action="store_true",
- help='Prompt interactively for password',
+ help=_('Prompt interactively for password'),
)
parser.add_argument(
'--email',
metavar='<user-email>',
- help='New user email address',
+ help=_('New user email address'),
)
parser.add_argument(
'--project',
metavar='<project>',
- help='Set default project (name or ID)',
+ help=_('Set default project (name or ID)'),
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
'--enable',
action='store_true',
- help='Enable user (default)',
+ help=_('Enable user (default)'),
)
enable_group.add_argument(
'--disable',
action='store_true',
- help='Disable user',
+ help=_('Disable user'),
)
return parser
@@ -120,7 +121,7 @@ class DeleteUser(command.Command):
parser.add_argument(
'user',
metavar='<user>',
- help='User to delete (name or ID)',
+ help=_('User to delete (name or ID)'),
)
return parser
@@ -147,13 +148,13 @@ class ListUser(lister.Lister):
parser.add_argument(
'--project',
metavar='<project>',
- help='Filter users by project (name or ID)',
+ help=_('Filter users by project (name or ID)'),
)
parser.add_argument(
'--long',
action='store_true',
default=False,
- help='List additional fields in output')
+ help=_('List additional fields in output'))
return parser
def take_action(self, parsed_args):
@@ -237,44 +238,44 @@ class SetUser(command.Command):
parser.add_argument(
'user',
metavar='<user>',
- help='User to change (name or ID)',
+ help=_('User to change (name or ID)'),
)
parser.add_argument(
'--name',
metavar='<new-user-name>',
- help='New user name',
+ help=_('New user name'),
)
parser.add_argument(
'--password',
metavar='<user-password>',
- help='New user password',
+ help=_('New user password'),
)
parser.add_argument(
'--password-prompt',
dest="password_prompt",
action="store_true",
- help='Prompt interactively for password',
+ help=_('Prompt interactively for password'),
)
parser.add_argument(
'--email',
metavar='<user-email>',
- help='New user email address',
+ help=_('New user email address'),
)
parser.add_argument(
'--project',
metavar='<project>',
- help='New default project (name or ID)',
+ help=_('New default project (name or ID)'),
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
'--enable',
action='store_true',
- help='Enable user (default)',
+ help=_('Enable user (default)'),
)
enable_group.add_argument(
'--disable',
action='store_true',
- help='Disable user',
+ help=_('Disable user'),
)
return parser
@@ -340,7 +341,7 @@ class ShowUser(show.ShowOne):
parser.add_argument(
'user',
metavar='<user>',
- help='User to display (name or ID)',
+ help=_('User to display (name or ID)'),
)
return parser
diff --git a/openstackclient/identity/v3/token.py b/openstackclient/identity/v3/token.py
index 52ed439f..aca5c669 100644
--- a/openstackclient/identity/v3/token.py
+++ b/openstackclient/identity/v3/token.py
@@ -159,9 +159,9 @@ class IssueToken(show.ShowOne):
def take_action(self, parsed_args):
self.log.debug('take_action(%s)', parsed_args)
- identity_client = self.app.client_manager.identity
+ session = self.app.client_manager.identity.session
- token = identity_client.service_catalog.get_token()
+ token = session.auth.auth_ref.service_catalog.get_token()
if 'tenant_id' in token:
token['project_id'] = token.pop('tenant_id')
return zip(*sorted(six.iteritems(token)))
diff --git a/openstackclient/tests/identity/v3/fakes.py b/openstackclient/tests/identity/v3/fakes.py
index b0df16f0..1ca1c55d 100644
--- a/openstackclient/tests/identity/v3/fakes.py
+++ b/openstackclient/tests/identity/v3/fakes.py
@@ -292,7 +292,9 @@ class FakeIdentityv3Client(object):
self.roles.resource_class = fakes.FakeResource(None, {})
self.services = mock.Mock()
self.services.resource_class = fakes.FakeResource(None, {})
- self.service_catalog = mock.Mock()
+ self.session = mock.Mock()
+ self.session.auth.auth_ref.service_catalog.resource_class = \
+ fakes.FakeResource(None, {})
self.users = mock.Mock()
self.users.resource_class = fakes.FakeResource(None, {})
self.role_assignments = mock.Mock()
diff --git a/openstackclient/tests/identity/v3/test_token.py b/openstackclient/tests/identity/v3/test_token.py
index 8888b931..dbe85555 100644
--- a/openstackclient/tests/identity/v3/test_token.py
+++ b/openstackclient/tests/identity/v3/test_token.py
@@ -23,7 +23,8 @@ class TestToken(identity_fakes.TestIdentityv3):
super(TestToken, self).setUp()
# Get a shortcut to the Service Catalog Mock
- self.sc_mock = self.app.client_manager.identity.service_catalog
+ session = self.app.client_manager.identity.session
+ self.sc_mock = session.auth.auth_ref.service_catalog
self.sc_mock.reset_mock()