]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Imported Translations from Transifex
authorOpenStack Proposal Bot <openstack-infra@lists.openstack.org>
Sat, 9 Aug 2014 06:08:19 +0000 (06:08 +0000)
committerOpenStack Proposal Bot <openstack-infra@lists.openstack.org>
Sat, 9 Aug 2014 06:08:19 +0000 (06:08 +0000)
Change-Id: I39d60d1cc7d6c37455852de24356e3e262da8a86

37 files changed:
cinder/locale/cinder-log-error.pot
cinder/locale/cinder-log-info.pot
cinder/locale/cinder-log-warning.pot
cinder/locale/cinder.pot
cinder/locale/cs/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/de/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/de/LC_MESSAGES/cinder-log-info.po
cinder/locale/en_AU/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/en_AU/LC_MESSAGES/cinder-log-info.po
cinder/locale/en_GB/LC_MESSAGES/cinder-log-critical.po [new file with mode: 0644]
cinder/locale/en_GB/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/en_GB/LC_MESSAGES/cinder-log-info.po
cinder/locale/en_GB/LC_MESSAGES/cinder-log-warning.po [new file with mode: 0644]
cinder/locale/en_US/LC_MESSAGES/cinder.po
cinder/locale/es/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/es/LC_MESSAGES/cinder-log-info.po
cinder/locale/fr/LC_MESSAGES/cinder-log-error.po
cinder/locale/fr/LC_MESSAGES/cinder-log-info.po
cinder/locale/fr/LC_MESSAGES/cinder-log-warning.po [new file with mode: 0644]
cinder/locale/it/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/it/LC_MESSAGES/cinder-log-info.po
cinder/locale/ja/LC_MESSAGES/cinder-log-error.po
cinder/locale/ja/LC_MESSAGES/cinder-log-info.po [new file with mode: 0644]
cinder/locale/ko_KR/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/ko_KR/LC_MESSAGES/cinder-log-info.po [new file with mode: 0644]
cinder/locale/pt_BR/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/pt_BR/LC_MESSAGES/cinder-log-info.po
cinder/locale/ru/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/te_IN/LC_MESSAGES/cinder-log-critical.po [new file with mode: 0644]
cinder/locale/te_IN/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/te_IN/LC_MESSAGES/cinder-log-info.po [new file with mode: 0644]
cinder/locale/te_IN/LC_MESSAGES/cinder-log-warning.po [new file with mode: 0644]
cinder/locale/tr_TR/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/zh_CN/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/zh_CN/LC_MESSAGES/cinder-log-info.po
cinder/locale/zh_TW/LC_MESSAGES/cinder-log-error.po [new file with mode: 0644]
cinder/locale/zh_TW/LC_MESSAGES/cinder-log-info.po [new file with mode: 0644]

index 7f5dfaeb233f39ff7c63fd7737dae2869428b1f1..453ad7d55cf8849e50d89ec110874acffcc7b222 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: cinder 2014.2.dev145.gde4ae8b\n"
+"Project-Id-Version: cinder 2014.2.dev97.g057d9fe\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:03+0000\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,25 +17,8 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: cinder/openstack/common/periodic_task.py:179
+#: cinder/openstack/common/periodic_task.py:202
 #, python-format
 msgid "Error during %(full_task_name)s: %(e)s"
 msgstr ""
 
-#: cinder/openstack/common/db/api.py:72
-msgid "DB exceeded retry limit."
-msgstr ""
-
-#: cinder/openstack/common/db/api.py:76
-msgid "DB connection error."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/session.py:460
-msgid "DB exception wrapped."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/test_migrations.py:267
-#, python-format
-msgid "Failed to migrate to version %s on engine %s"
-msgstr ""
-
index f227d7e571ad00fc09a6e4dde139484c3e956534..9280007749282a41c1797ad11a4cc6be91f9bd3a 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: cinder 2014.2.dev145.gde4ae8b\n"
+"Project-Id-Version: cinder 2014.2.dev97.g057d9fe\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,18 +17,13 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: cinder/openstack/common/periodic_task.py:125
+#: cinder/openstack/common/periodic_task.py:126
 #, python-format
 msgid "Skipping periodic task %(task)s because its interval is negative"
 msgstr ""
 
-#: cinder/openstack/common/periodic_task.py:130
+#: cinder/openstack/common/periodic_task.py:131
 #, python-format
 msgid "Skipping periodic task %(task)s because it is disabled"
 msgstr ""
 
-#: cinder/openstack/common/db/sqlalchemy/utils.py:387
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr ""
-
index 6767788865d8c76b42a00b1f7b1b9d6ec989aea7..afbf037746e69a43d3fbd2b306d384ef997c14dd 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: cinder 2014.2.dev145.gde4ae8b\n"
+"Project-Id-Version: cinder 2014.2.dev97.g057d9fe\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -29,26 +29,3 @@ msgstr ""
 msgid "tcp_keepknt not available on your system"
 msgstr ""
 
-#: cinder/openstack/common/db/sqlalchemy/session.py:506
-#, python-format
-msgid "Database server has gone away: %s"
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/session.py:559
-msgid "Unable to detect effective SQL mode"
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/session.py:567
-#, python-format
-msgid "MySQL SQL mode is '%s', consider enabling TRADITIONAL or STRICT_ALL_TABLES"
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/session.py:673
-#, python-format
-msgid "SQL connection failed. %s attempts left."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:97
-msgid "Id not in sort_keys; is sort_keys unique?"
-msgstr ""
-
index 89367495d47ce0beb14f8420bc074f51a3dee01b..ff035d45a2f6694a4ce22dfca0ed4343b2261d4f 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: cinder 2014.2.dev145.gde4ae8b\n"
+"Project-Id-Version: cinder 2014.2.dev97.g057d9fe\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,12 +17,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: cinder/context.py:63
-#, python-format
-msgid "Arguments dropped when creating context: %s"
-msgstr ""
-
-#: cinder/context.py:106
+#: cinder/context.py:104
 #, python-format
 msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r"
 msgstr ""
@@ -606,142 +601,157 @@ msgid "Coraid ESM not available with reason: %(reason)s"
 msgstr ""
 
 #: cinder/exception.py:618
-msgid "Zadara Cinder Driver exception."
+#, python-format
+msgid "Pure Storage Cinder driver failure: %(reason)s"
 msgstr ""
 
 #: cinder/exception.py:622
 #, python-format
+msgid "Bad response from Pure Storage REST API: %(reason)s"
+msgstr ""
+
+#: cinder/exception.py:627
+msgid "Zadara Cinder Driver exception."
+msgstr ""
+
+#: cinder/exception.py:631
+#, python-format
 msgid "Unable to create server object for initiator %(name)s"
 msgstr ""
 
-#: cinder/exception.py:626
+#: cinder/exception.py:635
 #, python-format
 msgid "Unable to find server object for initiator %(name)s"
 msgstr ""
 
-#: cinder/exception.py:630
+#: cinder/exception.py:639
 msgid "Unable to find any active VPSA controller"
 msgstr ""
 
-#: cinder/exception.py:634
+#: cinder/exception.py:643
 #, python-format
 msgid "Failed to retrieve attachments for volume %(name)s"
 msgstr ""
 
-#: cinder/exception.py:638
+#: cinder/exception.py:647
 #, python-format
 msgid "Invalid attachment info for volume %(name)s: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:642
+#: cinder/exception.py:651
 #, python-format
 msgid "Bad HTTP response status %(status)s"
 msgstr ""
 
-#: cinder/exception.py:647
+#: cinder/exception.py:656
 msgid "Bad response from SolidFire API"
 msgstr ""
 
-#: cinder/exception.py:651
+#: cinder/exception.py:660
 msgid "SolidFire Cinder Driver exception"
 msgstr ""
 
-#: cinder/exception.py:655
+#: cinder/exception.py:664
 #, python-format
 msgid "Error in SolidFire API response: data=%(data)s"
 msgstr ""
 
-#: cinder/exception.py:659
+#: cinder/exception.py:668
 #, python-format
 msgid "Unable to locate account %(account_name)s on Solidfire device"
 msgstr ""
 
-#: cinder/exception.py:665
+#: cinder/exception.py:674
 #, python-format
 msgid "Invalid 3PAR Domain: %(err)s"
 msgstr ""
 
-#: cinder/exception.py:670
+#: cinder/exception.py:679
 msgid "Unknown NFS exception"
 msgstr ""
 
-#: cinder/exception.py:674
+#: cinder/exception.py:683
 msgid "No mounted NFS shares found"
 msgstr ""
 
-#: cinder/exception.py:678 cinder/exception.py:691
+#: cinder/exception.py:687 cinder/exception.py:700
 #, python-format
 msgid "There is no share which can host %(volume_size)sG"
 msgstr ""
 
-#: cinder/exception.py:683
+#: cinder/exception.py:692
 msgid "Unknown Gluster exception"
 msgstr ""
 
-#: cinder/exception.py:687
+#: cinder/exception.py:696
 msgid "No mounted Gluster shares found"
 msgstr ""
 
-#: cinder/exception.py:695
+#: cinder/exception.py:704
 #, python-format
 msgid "Failed to remove export for volume %(volume)s: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:700
+#: cinder/exception.py:709
 msgid "HP MSA Volume Driver exception"
 msgstr ""
 
-#: cinder/exception.py:704
+#: cinder/exception.py:713
 #, python-format
 msgid "VDisk doesn't exist (%(vdisk)s)"
 msgstr ""
 
-#: cinder/exception.py:708
+#: cinder/exception.py:717
 msgid "Unable to connect to MSA array"
 msgstr ""
 
-#: cinder/exception.py:712
+#: cinder/exception.py:721
 #, python-format
 msgid "Not enough space on VDisk (%(vdisk)s)"
 msgstr ""
 
-#: cinder/exception.py:717
+#: cinder/exception.py:726
 #, python-format
 msgid "Fibre Channel connection control failure: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:721
+#: cinder/exception.py:730
 #, python-format
 msgid "Fibre Channel Zone operation failed: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:725
+#: cinder/exception.py:734
 #, python-format
 msgid "Fibre Channel SAN Lookup failure: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:729
+#: cinder/exception.py:738
 #, python-format
 msgid "Fibre Channel Zoning CLI error: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:733
+#: cinder/exception.py:742
 msgid "NetApp Cinder Driver exception."
 msgstr ""
 
-#: cinder/flow_utils.py:76
+#: cinder/exception.py:751
+#, python-format
+msgid "EMCVnxCLICmdError : %(cmd)s (Return Code: %(rc)s) (Output: %(out)s) "
+msgstr ""
+
+#: cinder/flow_utils.py:77
 #, python-format
 msgid ""
 "Flow '%(flow_name)s' (%(flow_uuid)s) transitioned into state '%(state)s' "
 "from state '%(old_state)s'"
 msgstr ""
 
-#: cinder/flow_utils.py:91 cinder/flow_utils.py:115 cinder/flow_utils.py:126
+#: cinder/flow_utils.py:92 cinder/flow_utils.py:116 cinder/flow_utils.py:127
 #, python-format
 msgid "Task '%(task_name)s' (%(task_uuid)s) transitioned into state '%(state)s'"
 msgstr ""
 
-#: cinder/flow_utils.py:107
+#: cinder/flow_utils.py:108
 #, python-format
 msgid ""
 "Task '%(task_name)s' (%(task_uuid)s) transitioned into state '%(state)s' "
@@ -756,7 +766,7 @@ msgstr ""
 msgid "Rule checked when requested rule is not found"
 msgstr ""
 
-#: cinder/quota.py:106
+#: cinder/quota.py:107
 #, python-format
 msgid ""
 "Default quota for resource: %(res)s is set by the default quota flag: "
@@ -764,45 +774,45 @@ msgid ""
 "for default quota."
 msgstr ""
 
-#: cinder/quota.py:771
+#: cinder/quota.py:772
 #, python-format
 msgid "Failed to commit reservations %s"
 msgstr ""
 
-#: cinder/quota.py:791
+#: cinder/quota.py:792
 #, python-format
 msgid "Failed to roll back reservations %s"
 msgstr ""
 
-#: cinder/quota.py:875
+#: cinder/quota.py:876
 msgid "Cannot register resource"
 msgstr ""
 
-#: cinder/quota.py:878
+#: cinder/quota.py:879
 msgid "Cannot register resources"
 msgstr ""
 
-#: cinder/quota_utils.py:46
+#: cinder/quota_utils.py:47
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to create %(s_size)sG volume - "
 "(%(d_consumed)dG of %(d_quota)dG already consumed)"
 msgstr ""
 
-#: cinder/quota_utils.py:56 cinder/transfer/api.py:171
-#: cinder/volume/flows/api/create_volume.py:525
+#: cinder/quota_utils.py:57 cinder/transfer/api.py:173
+#: cinder/volume/flows/api/create_volume.py:526
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to create volume (%(d_consumed)d "
 "volumes already consumed)"
 msgstr ""
 
-#: cinder/service.py:99
+#: cinder/service.py:104
 #, python-format
 msgid "Starting %(topic)s node (version %(version_string)s)"
 msgstr ""
 
-#: cinder/service.py:145
+#: cinder/service.py:150
 #, python-format
 msgid ""
 "Report interval must be less than service down time. Current config "
@@ -811,354 +821,359 @@ msgid ""
 "%(new_down_time)s"
 msgstr ""
 
-#: cinder/service.py:213
+#: cinder/service.py:218
 msgid "Service killed that has no database entry"
 msgstr ""
 
-#: cinder/service.py:266
+#: cinder/service.py:271
 msgid "Recovered model server connection!"
 msgstr ""
 
-#: cinder/service.py:272
+#: cinder/service.py:277
 msgid "model server went away"
 msgstr ""
 
-#: cinder/service.py:294
+#: cinder/service.py:300
 #, python-format
 msgid ""
 "Value of config option %(name)s_workers must be integer greater than 1.  "
 "Input value ignored."
 msgstr ""
 
-#: cinder/service.py:369
+#: cinder/service.py:383
 msgid "serve() can only be called once"
 msgstr ""
 
-#: cinder/utils.py:97
-#, python-format
-msgid "Can not translate %s to integer."
+#: cinder/ssh_utils.py:77
+msgid "Specify a password or private_key"
 msgstr ""
 
-#: cinder/utils.py:128
+#: cinder/ssh_utils.py:93
 #, python-format
-msgid "May specify only one of %s"
+msgid "Error connecting via ssh: %s"
 msgstr ""
 
-#: cinder/utils.py:225
-msgid "Specify a password or private_key"
+#: cinder/utils.py:95
+#, python-format
+msgid "Can not translate %s to integer."
 msgstr ""
 
-#: cinder/utils.py:241
+#: cinder/utils.py:126
 #, python-format
-msgid "Error connecting via ssh: %s"
+msgid "May specify only one of %s"
 msgstr ""
 
-#: cinder/utils.py:425
+#: cinder/utils.py:283
 #, python-format
 msgid "Invalid backend: %s"
 msgstr ""
 
-#: cinder/utils.py:772
+#: cinder/utils.py:630
 #, python-format
 msgid "Volume driver %s not initialized"
 msgstr ""
 
-#: cinder/utils.py:826
+#: cinder/utils.py:687
 #, python-format
 msgid "Unable to get a block device for file '%s'"
 msgstr ""
 
-#: cinder/utils.py:838
+#: cinder/utils.py:699
 #, python-format
 msgid "%s is not a string or unicode"
 msgstr ""
 
-#: cinder/utils.py:842
+#: cinder/utils.py:703
 #, python-format
 msgid "%(name)s has a minimum character requirement of %(min_length)s."
 msgstr ""
 
-#: cinder/utils.py:847
+#: cinder/utils.py:708
 #, python-format
 msgid "%(name)s has more than %(max_length)s characters."
 msgstr ""
 
-#: cinder/wsgi.py:147 cinder/openstack/common/sslutils.py:50
+#: cinder/wsgi.py:145 cinder/openstack/common/sslutils.py:50
 #, python-format
 msgid "Unable to find cert_file : %s"
 msgstr ""
 
-#: cinder/wsgi.py:150 cinder/openstack/common/sslutils.py:53
+#: cinder/wsgi.py:149 cinder/openstack/common/sslutils.py:53
 #, python-format
 msgid "Unable to find ca_file : %s"
 msgstr ""
 
-#: cinder/wsgi.py:153 cinder/openstack/common/sslutils.py:56
+#: cinder/wsgi.py:152 cinder/openstack/common/sslutils.py:56
 #, python-format
 msgid "Unable to find key_file : %s"
 msgstr ""
 
-#: cinder/wsgi.py:156 cinder/openstack/common/sslutils.py:59
+#: cinder/wsgi.py:156
 msgid ""
 "When running server in SSL mode, you must specify both a cert_file and "
-"key_file option value in your configuration file"
+"key_file option value in your configuration file."
 msgstr ""
 
-#: cinder/wsgi.py:189
+#: cinder/wsgi.py:172
 #, python-format
 msgid "Could not bind to %(host)s:%(port)s after trying for 30 seconds"
 msgstr ""
 
-#: cinder/wsgi.py:226
+#: cinder/wsgi.py:177
+#, python-format
+msgid "%(name)s listening on %(_host)s:%(_port)s"
+msgstr ""
+
+#: cinder/wsgi.py:218
 #, python-format
-msgid "Started %(name)s on %(host)s:%(port)s"
+msgid "Failed to start %(name)s on %(_host)s:%(_port)s with SSL support."
 msgstr ""
 
-#: cinder/wsgi.py:246
+#: cinder/wsgi.py:249
 msgid "Stopping WSGI server."
 msgstr ""
 
-#: cinder/wsgi.py:264
+#: cinder/wsgi.py:267
 msgid "WSGI server has stopped."
 msgstr ""
 
-#: cinder/wsgi.py:333
+#: cinder/wsgi.py:344
 msgid "You must implement __call__"
 msgstr ""
 
-#: cinder/api/auth.py:26
+#: cinder/api/auth.py:27
 msgid ""
 "cinder.api.auth:CinderKeystoneContext is deprecated. Please use "
 "cinder.api.middleware.auth:CinderKeystoneContext instead."
 msgstr ""
 
-#: cinder/api/auth.py:34
+#: cinder/api/auth.py:35
 msgid ""
 "cinder.api.auth:pipeline_factory is deprecated. Please use "
 "cinder.api.middleware.auth:pipeline_factory instead."
 msgstr ""
 
-#: cinder/api/common.py:92 cinder/api/common.py:126 cinder/volume/api.py:304
+#: cinder/api/common.py:93 cinder/api/common.py:127 cinder/volume/api.py:305
 msgid "limit param must be an integer"
 msgstr ""
 
-#: cinder/api/common.py:95 cinder/api/common.py:130 cinder/volume/api.py:301
+#: cinder/api/common.py:96 cinder/api/common.py:131 cinder/volume/api.py:302
 msgid "limit param must be positive"
 msgstr ""
 
-#: cinder/api/common.py:120
+#: cinder/api/common.py:121
 msgid "offset param must be an integer"
 msgstr ""
 
-#: cinder/api/common.py:134
+#: cinder/api/common.py:135
 msgid "offset param must be positive"
 msgstr ""
 
-#: cinder/api/common.py:162
+#: cinder/api/common.py:163
 #, python-format
 msgid "marker [%s] not found"
 msgstr ""
 
-#: cinder/api/extensions.py:183
+#: cinder/api/extensions.py:184
 msgid "Initializing extension manager."
 msgstr ""
 
-#: cinder/api/extensions.py:198
+#: cinder/api/extensions.py:199
 #, python-format
 msgid "Loaded extension: %s"
 msgstr ""
 
-#: cinder/api/extensions.py:243
+#: cinder/api/extensions.py:244
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr ""
 
-#: cinder/api/extensions.py:277
+#: cinder/api/extensions.py:278
 #, python-format
 msgid "osapi_volume_extension is set to deprecated path: %s"
 msgstr ""
 
-#: cinder/api/extensions.py:279
+#: cinder/api/extensions.py:280
 #, python-format
 msgid ""
 "Please set your flag or cinder.conf settings for osapi_volume_extension "
 "to: %s"
 msgstr ""
 
-#: cinder/api/extensions.py:288
+#: cinder/api/extensions.py:289
 #, python-format
 msgid "Failed to load extension %(ext_factory)s: %(exc)s"
 msgstr ""
 
-#: cinder/api/extensions.py:357
+#: cinder/api/extensions.py:358
 #, python-format
 msgid "Failed to load extension %(classpath)s: %(exc)s"
 msgstr ""
 
-#: cinder/api/extensions.py:382
+#: cinder/api/extensions.py:383
 #, python-format
 msgid "Failed to load extension %(ext_name)s: %(exc)s"
 msgstr ""
 
-#: cinder/api/sizelimit.py:25
+#: cinder/api/sizelimit.py:26
 msgid ""
 "cinder.api.sizelimit:RequestBodySizeLimiter is deprecated. Please use "
 "cinder.api.middleware.sizelimit:RequestBodySizeLimiter instead"
 msgstr ""
 
-#: cinder/api/xmlutil.py:266
+#: cinder/api/xmlutil.py:267
 msgid "element is not a child"
 msgstr ""
 
-#: cinder/api/xmlutil.py:463
+#: cinder/api/xmlutil.py:465
 msgid "root element selecting a list"
 msgstr ""
 
-#: cinder/api/xmlutil.py:786
+#: cinder/api/xmlutil.py:788
 #, python-format
 msgid "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s"
 msgstr ""
 
-#: cinder/api/xmlutil.py:907
+#: cinder/api/xmlutil.py:909
 msgid "subclasses must implement construct()!"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:64
+#: cinder/api/contrib/admin_actions.py:65
 msgid "Must specify 'status'"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:67
+#: cinder/api/contrib/admin_actions.py:68
 msgid "Must specify a valid status"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:81
+#: cinder/api/contrib/admin_actions.py:82
 #, python-format
 msgid "Updating %(resource)s '%(id)s' with '%(update)r'"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:157
+#: cinder/api/contrib/admin_actions.py:158
 msgid "Must specify a valid attach status"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:164
+#: cinder/api/contrib/admin_actions.py:165
 msgid "Must specify a valid migration status"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:170
+#: cinder/api/contrib/admin_actions.py:171
 msgid "Must specify 'status', 'attach_status' or 'migration_status' for update."
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:201
+#: cinder/api/contrib/admin_actions.py:202
 msgid "Must specify 'host'"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:209
+#: cinder/api/contrib/admin_actions.py:210
 msgid "Bad value for 'force_host_copy'"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:212
+#: cinder/api/contrib/admin_actions.py:213
 msgid "'force_host_copy' not string or bool"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:230
+#: cinder/api/contrib/admin_actions.py:231
 msgid "Must specify 'new_volume'"
 msgstr ""
 
-#: cinder/api/contrib/backups.py:176
+#: cinder/api/contrib/backups.py:177
 #, python-format
 msgid "Delete backup with id: %s"
 msgstr ""
 
-#: cinder/api/contrib/backups.py:243 cinder/api/contrib/backups.py:275
-#: cinder/api/contrib/volume_transfer.py:157
-#: cinder/api/contrib/volume_transfer.py:193
+#: cinder/api/contrib/backups.py:244 cinder/api/contrib/backups.py:276
+#: cinder/api/contrib/volume_transfer.py:158
+#: cinder/api/contrib/volume_transfer.py:194
 msgid "Incorrect request body format"
 msgstr ""
 
-#: cinder/api/contrib/backups.py:249
+#: cinder/api/contrib/backups.py:250
 #, python-format
 msgid "Creating backup of volume %(volume_id)s in container %(container)s"
 msgstr ""
 
-#: cinder/api/contrib/backups.py:282
+#: cinder/api/contrib/backups.py:283
 #, python-format
 msgid "Restoring backup %(backup_id)s to volume %(volume_id)s"
 msgstr ""
 
-#: cinder/api/contrib/backups.py:337 cinder/api/contrib/backups.py:346
+#: cinder/api/contrib/backups.py:338 cinder/api/contrib/backups.py:347
 msgid "Incorrect request body format."
 msgstr ""
 
-#: cinder/api/contrib/extended_snapshot_attributes.py:60
+#: cinder/api/contrib/extended_snapshot_attributes.py:61
 msgid "Snapshot not found."
 msgstr ""
 
-#: cinder/api/contrib/hosts.py:86 cinder/api/openstack/wsgi.py:237
+#: cinder/api/contrib/hosts.py:87 cinder/api/openstack/wsgi.py:238
 msgid "cannot understand XML"
 msgstr ""
 
-#: cinder/api/contrib/hosts.py:136
+#: cinder/api/contrib/hosts.py:137
 #, python-format
 msgid "Host '%s' could not be found."
 msgstr ""
 
-#: cinder/api/contrib/hosts.py:165
+#: cinder/api/contrib/hosts.py:166
 #, python-format
 msgid "Invalid status: '%s'"
 msgstr ""
 
-#: cinder/api/contrib/hosts.py:168
+#: cinder/api/contrib/hosts.py:169
 #, python-format
 msgid "Invalid update setting: '%s'"
 msgstr ""
 
-#: cinder/api/contrib/hosts.py:180
+#: cinder/api/contrib/hosts.py:181
 #, python-format
 msgid "Setting host %(host)s to %(state)s."
 msgstr ""
 
-#: cinder/api/contrib/hosts.py:206
+#: cinder/api/contrib/hosts.py:207
 msgid "Describe-resource is admin only functionality"
 msgstr ""
 
-#: cinder/api/contrib/hosts.py:214
+#: cinder/api/contrib/hosts.py:215
 msgid "Host not found"
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:78
+#: cinder/api/contrib/qos_specs_manage.py:79
 msgid "Unable to parse XML input."
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:79
+#: cinder/api/contrib/qos_specs_manage.py:80
 msgid "Unable to parse XML request. Please provide XML in correct format."
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:131
+#: cinder/api/contrib/qos_specs_manage.py:132
 msgid "Please specify a name for QoS specs."
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:242
+#: cinder/api/contrib/qos_specs_manage.py:243
 msgid "Failed to disassociate qos specs."
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:244
+#: cinder/api/contrib/qos_specs_manage.py:245
 msgid "Qos specs still in use."
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:321
-#: cinder/api/contrib/qos_specs_manage.py:375
+#: cinder/api/contrib/qos_specs_manage.py:322
+#: cinder/api/contrib/qos_specs_manage.py:376
 msgid "Volume Type id must not be None."
 msgstr ""
 
-#: cinder/api/contrib/quota_classes.py:72
+#: cinder/api/contrib/quota_classes.py:73
 msgid "Missing required element quota_class_set in request body."
 msgstr ""
 
-#: cinder/api/contrib/quota_classes.py:81
+#: cinder/api/contrib/quota_classes.py:82
 msgid "Quota class limit must be specified as an integer value."
 msgstr ""
 
-#: cinder/api/contrib/quota_classes.py:85
+#: cinder/api/contrib/quota_classes.py:86
 msgid "Quota class limit must be -1 or greater."
 msgstr ""
 
@@ -1179,617 +1194,624 @@ msgstr ""
 msgid "Bad key(s) in quota set: %s"
 msgstr ""
 
-#: cinder/api/contrib/scheduler_hints.py:36
+#: cinder/api/contrib/scheduler_hints.py:37
 msgid "Malformed scheduler_hints attribute"
 msgstr ""
 
-#: cinder/api/contrib/services.py:91
+#: cinder/api/contrib/services.py:92
 msgid ""
 "Query by service parameter is deprecated. Please use binary parameter "
 "instead."
 msgstr ""
 
-#: cinder/api/contrib/services.py:150
+#: cinder/api/contrib/services.py:151
 msgid "Unknown action"
 msgstr ""
 
-#: cinder/api/contrib/services.py:161
+#: cinder/api/contrib/services.py:162
 msgid "Disabled reason contains invalid characters or is too long"
 msgstr ""
 
-#: cinder/api/contrib/services.py:177
+#: cinder/api/contrib/services.py:178
 msgid "Unknown service"
 msgstr ""
 
-#: cinder/api/contrib/services.py:181
+#: cinder/api/contrib/services.py:182
 msgid "service not found"
 msgstr ""
 
-#: cinder/api/contrib/snapshot_actions.py:51
+#: cinder/api/contrib/snapshot_actions.py:52
 msgid "'status' must be specified."
 msgstr ""
 
-#: cinder/api/contrib/snapshot_actions.py:61
+#: cinder/api/contrib/snapshot_actions.py:62
 #, python-format
 msgid "Snapshot status %(cur)s not allowed for update_snapshot_status"
 msgstr ""
 
-#: cinder/api/contrib/snapshot_actions.py:67
+#: cinder/api/contrib/snapshot_actions.py:68
 #, python-format
 msgid ""
 "Provided snapshot status %(provided)s not allowed for snapshot with "
 "status %(current)s."
 msgstr ""
 
-#: cinder/api/contrib/snapshot_actions.py:79
+#: cinder/api/contrib/snapshot_actions.py:80
 msgid "progress must be an integer percentage"
 msgstr ""
 
-#: cinder/api/contrib/types_extra_specs.py:101
+#: cinder/api/contrib/types_extra_specs.py:102
 msgid "Request body empty"
 msgstr ""
 
-#: cinder/api/contrib/types_extra_specs.py:105
-#: cinder/api/v1/snapshot_metadata.py:75 cinder/api/v1/volume_metadata.py:75
-#: cinder/api/v2/snapshot_metadata.py:75 cinder/api/v2/volume_metadata.py:74
+#: cinder/api/contrib/types_extra_specs.py:106
+#: cinder/api/v1/snapshot_metadata.py:76 cinder/api/v1/volume_metadata.py:76
+#: cinder/api/v2/snapshot_metadata.py:76 cinder/api/v2/volume_metadata.py:75
 msgid "Request body and URI mismatch"
 msgstr ""
 
-#: cinder/api/contrib/types_extra_specs.py:108
-#: cinder/api/v1/snapshot_metadata.py:79 cinder/api/v1/volume_metadata.py:79
-#: cinder/api/v2/snapshot_metadata.py:79 cinder/api/v2/volume_metadata.py:78
+#: cinder/api/contrib/types_extra_specs.py:109
+#: cinder/api/v1/snapshot_metadata.py:80 cinder/api/v1/volume_metadata.py:80
+#: cinder/api/v2/snapshot_metadata.py:80 cinder/api/v2/volume_metadata.py:79
 msgid "Request body contains too many items"
 msgstr ""
 
-#: cinder/api/contrib/types_extra_specs.py:152
+#: cinder/api/contrib/types_extra_specs.py:153
 msgid ""
 "Key names can only contain alphanumeric characters, underscores, periods,"
 " colons and hyphens."
 msgstr ""
 
-#: cinder/api/contrib/types_manage.py:99
+#: cinder/api/contrib/types_manage.py:100
 msgid "Target volume type is still in use."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:100
+#: cinder/api/contrib/volume_actions.py:101
 #, python-format
 msgid ""
 "Invalid request to attach volume to an instance %(instance_uuid)s and a "
 "host %(host_name)s simultaneously"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:108
+#: cinder/api/contrib/volume_actions.py:109
 msgid "Invalid request to attach volume to an invalid target"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:112
+#: cinder/api/contrib/volume_actions.py:113
 msgid ""
 "Invalid request to attach volume with an invalid mode. Attaching mode "
 "should be 'rw' or 'ro'"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:192
-#: cinder/api/contrib/volume_actions.py:215
+#: cinder/api/contrib/volume_actions.py:193
+#: cinder/api/contrib/volume_actions.py:216
 msgid "Must specify 'connector'"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:198
+#: cinder/api/contrib/volume_actions.py:199
 msgid "Unable to fetch connection information from backend."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:219
+#: cinder/api/contrib/volume_actions.py:220
 msgid "Unable to terminate volume connection from backend."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:232
+#: cinder/api/contrib/volume_actions.py:233
 msgid "No image_name was specified in request."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:240
+#: cinder/api/contrib/volume_actions.py:241
 msgid "Bad value for 'force' parameter."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:243
+#: cinder/api/contrib/volume_actions.py:244
 msgid "'force' is not string or bool."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:285
+#: cinder/api/contrib/volume_actions.py:286
 msgid "New volume size must be specified as an integer."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:304
+#: cinder/api/contrib/volume_actions.py:305
 msgid "Must specify readonly in request."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:312
+#: cinder/api/contrib/volume_actions.py:313
 msgid "Bad value for 'readonly'"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:316
+#: cinder/api/contrib/volume_actions.py:317
 msgid "'readonly' not string or bool"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:330
+#: cinder/api/contrib/volume_actions.py:331
 msgid "New volume type must be specified."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:349
+#: cinder/api/contrib/volume_actions.py:350
 msgid "Must specify bootable in request."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:357
+#: cinder/api/contrib/volume_actions.py:358
 msgid "Bad value for 'bootable'"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:361
+#: cinder/api/contrib/volume_actions.py:362
 msgid "'bootable' not string or bool"
 msgstr ""
 
-#: cinder/api/contrib/volume_manage.py:98 cinder/api/v2/snapshots.py:173
-#: cinder/api/v2/snapshots.py:233 cinder/api/v2/volumes.py:268
-#: cinder/api/v2/volumes.py:372
+#: cinder/api/contrib/volume_manage.py:100 cinder/api/v2/snapshots.py:174
+#: cinder/api/v2/snapshots.py:234 cinder/api/v2/volumes.py:269
+#: cinder/api/v2/volumes.py:373
 #, python-format
 msgid "Missing required element '%s' in request body"
 msgstr ""
 
-#: cinder/api/contrib/volume_manage.py:109
+#: cinder/api/contrib/volume_manage.py:111
 #, python-format
 msgid "The following elements are required: %s"
 msgstr ""
 
-#: cinder/api/contrib/volume_manage.py:127 cinder/api/v2/volumes.py:299
+#: cinder/api/contrib/volume_manage.py:129 cinder/api/v2/volumes.py:300
 msgid "Volume type not found."
 msgstr ""
 
-#: cinder/api/contrib/volume_manage.py:143
+#: cinder/api/contrib/volume_manage.py:145
 msgid "Service not found."
 msgstr ""
 
-#: cinder/api/contrib/volume_transfer.py:162
+#: cinder/api/contrib/volume_transfer.py:163
 #, python-format
 msgid "Creating transfer of volume %s"
 msgstr ""
 
-#: cinder/api/contrib/volume_transfer.py:196
+#: cinder/api/contrib/volume_transfer.py:197
 #, python-format
 msgid "Accepting transfer %s"
 msgstr ""
 
-#: cinder/api/contrib/volume_transfer.py:217
+#: cinder/api/contrib/volume_transfer.py:218
 #, python-format
 msgid "Delete transfer with id: %s"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:64
+#: cinder/api/contrib/volume_type_encryption.py:65
 msgid "key_size must be non-negative"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:67
+#: cinder/api/contrib/volume_type_encryption.py:68
 msgid "key_size must be an integer"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:73
+#: cinder/api/contrib/volume_type_encryption.py:74
 msgid "provider must be defined"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:75
+#: cinder/api/contrib/volume_type_encryption.py:76
 msgid "control_location must be defined"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:83
+#: cinder/api/contrib/volume_type_encryption.py:84
 #, python-format
 msgid "Valid control location are: %s"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:111
+#: cinder/api/contrib/volume_type_encryption.py:112
 msgid "Cannot create encryption specs. Volume type in use."
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:115
+#: cinder/api/contrib/volume_type_encryption.py:116
 msgid "Create body is not valid."
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:141
+#: cinder/api/contrib/volume_type_encryption.py:142
 msgid "Request body empty."
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:144
+#: cinder/api/contrib/volume_type_encryption.py:145
 msgid "Update body is not valid. It must contain \"encryption.\""
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:147
+#: cinder/api/contrib/volume_type_encryption.py:148
 msgid "Request body contains too many items."
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:153
+#: cinder/api/contrib/volume_type_encryption.py:154
 msgid "Cannot update encryption specs. Volume type in use."
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:187
+#: cinder/api/contrib/volume_type_encryption.py:188
 msgid "Cannot delete encryption specs. Volume type in use."
 msgstr ""
 
-#: cinder/api/contrib/volume_unmanage.py:53
+#: cinder/api/contrib/volume_unmanage.py:54
 #, python-format
 msgid "Unmanage volume with id: %s"
 msgstr ""
 
-#: cinder/api/contrib/volume_unmanage.py:59 cinder/api/v2/snapshots.py:189
-#: cinder/api/v2/volumes.py:170 cinder/api/v2/volumes.py:187
-#: cinder/api/v2/volumes.py:406
+#: cinder/api/contrib/volume_unmanage.py:60 cinder/api/v2/snapshots.py:190
+#: cinder/api/v2/volumes.py:171 cinder/api/v2/volumes.py:188
+#: cinder/api/v2/volumes.py:407
 msgid "Volume could not be found"
 msgstr ""
 
-#: cinder/api/contrib/volume_unmanage.py:62 cinder/api/v2/volumes.py:190
+#: cinder/api/contrib/volume_unmanage.py:63 cinder/api/v2/volumes.py:191
 msgid "Volume cannot be deleted while in attached state"
 msgstr ""
 
-#: cinder/api/middleware/auth.py:112
+#: cinder/api/middleware/auth.py:113
 msgid "Invalid service catalog json."
 msgstr ""
 
-#: cinder/api/middleware/fault.py:45
+#: cinder/api/middleware/fault.py:46
 #, python-format
 msgid "Caught error: %s"
 msgstr ""
 
-#: cinder/api/middleware/fault.py:53 cinder/api/openstack/wsgi.py:978
+#: cinder/api/middleware/fault.py:54 cinder/api/openstack/wsgi.py:979
 #, python-format
 msgid "%(url)s returned with HTTP %(status)d"
 msgstr ""
 
-#: cinder/api/middleware/fault.py:69
+#: cinder/api/middleware/fault.py:70
 #, python-format
 msgid "%(exception)s: %(explanation)s"
 msgstr ""
 
-#: cinder/api/middleware/sizelimit.py:55 cinder/api/middleware/sizelimit.py:64
-#: cinder/api/middleware/sizelimit.py:78
+#: cinder/api/middleware/sizelimit.py:56 cinder/api/middleware/sizelimit.py:65
+#: cinder/api/middleware/sizelimit.py:79
 msgid "Request is too large."
 msgstr ""
 
-#: cinder/api/openstack/__init__.py:78
+#: cinder/api/openstack/__init__.py:79
 msgid "Must specify an ExtensionManager class"
 msgstr ""
 
-#: cinder/api/openstack/__init__.py:113
+#: cinder/api/openstack/__init__.py:114
 #, python-format
 msgid ""
 "Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
 "resource"
 msgstr ""
 
-#: cinder/api/openstack/__init__.py:135
+#: cinder/api/openstack/__init__.py:136
 msgid ""
 "cinder.api.openstack:FaultWrapper is deprecated. Please use "
 "cinder.api.middleware.fault:FaultWrapper instead."
 msgstr ""
 
-#: cinder/api/openstack/urlmap.py:25
+#: cinder/api/openstack/urlmap.py:26
 msgid ""
 "cinder.api.openstack.urlmap:urlmap_factory is deprecated. Please use "
 "cinder.api.urlmap:urlmap_factory instead."
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:212 cinder/api/openstack/wsgi.py:628
+#: cinder/api/openstack/wsgi.py:213 cinder/api/openstack/wsgi.py:629
 msgid "cannot understand JSON"
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:633
+#: cinder/api/openstack/wsgi.py:634
 msgid "too many body keys"
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:671
+#: cinder/api/openstack/wsgi.py:672
 #, python-format
 msgid "Exception handling resource: %s"
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:676
+#: cinder/api/openstack/wsgi.py:677
 #, python-format
 msgid "Fault thrown: %s"
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:679
+#: cinder/api/openstack/wsgi.py:680
 #, python-format
 msgid "HTTP exception thrown: %s"
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:908
+#: cinder/api/openstack/wsgi.py:909
 #, python-format
 msgid "There is no such action: %s"
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:911 cinder/api/openstack/wsgi.py:924
-#: cinder/api/v1/snapshot_metadata.py:53 cinder/api/v1/snapshot_metadata.py:71
-#: cinder/api/v1/snapshot_metadata.py:96 cinder/api/v1/snapshot_metadata.py:121
-#: cinder/api/v1/volume_metadata.py:53 cinder/api/v1/volume_metadata.py:71
-#: cinder/api/v1/volume_metadata.py:96 cinder/api/v1/volume_metadata.py:121
-#: cinder/api/v2/snapshot_metadata.py:53 cinder/api/v2/snapshot_metadata.py:71
-#: cinder/api/v2/snapshot_metadata.py:96 cinder/api/v2/snapshot_metadata.py:121
-#: cinder/api/v2/volume_metadata.py:52 cinder/api/v2/volume_metadata.py:70
-#: cinder/api/v2/volume_metadata.py:95 cinder/api/v2/volume_metadata.py:120
+#: cinder/api/openstack/wsgi.py:912 cinder/api/openstack/wsgi.py:925
+#: cinder/api/v1/snapshot_metadata.py:54 cinder/api/v1/snapshot_metadata.py:72
+#: cinder/api/v1/snapshot_metadata.py:97 cinder/api/v1/snapshot_metadata.py:122
+#: cinder/api/v1/volume_metadata.py:54 cinder/api/v1/volume_metadata.py:72
+#: cinder/api/v1/volume_metadata.py:97 cinder/api/v1/volume_metadata.py:122
+#: cinder/api/v2/snapshot_metadata.py:54 cinder/api/v2/snapshot_metadata.py:72
+#: cinder/api/v2/snapshot_metadata.py:97 cinder/api/v2/snapshot_metadata.py:122
+#: cinder/api/v2/volume_metadata.py:53 cinder/api/v2/volume_metadata.py:71
+#: cinder/api/v2/volume_metadata.py:96 cinder/api/v2/volume_metadata.py:121
 msgid "Malformed request body"
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:921
+#: cinder/api/openstack/wsgi.py:922
 msgid "Unsupported Content-Type"
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:933
+#: cinder/api/openstack/wsgi.py:934
 msgid "Malformed request url"
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:981
+#: cinder/api/openstack/wsgi.py:982
 #, python-format
 msgid "%(url)s returned a fault: %(e)s"
 msgstr ""
 
-#: cinder/api/openstack/volume/__init__.py:25
+#: cinder/api/openstack/volume/__init__.py:26
 msgid ""
 "cinder.api.openstack.volume:APIRouter is deprecated. Please use "
 "cinder.api.v1.router:APIRouter instead."
 msgstr ""
 
-#: cinder/api/openstack/volume/versions.py:26
+#: cinder/api/openstack/volume/versions.py:27
 msgid ""
 "cinder.api.openstack.volume.versions.Versions is deprecated. Please use "
 "cinder.api.versions.Versions instead."
 msgstr ""
 
-#: cinder/api/v1/limits.py:139 cinder/api/v2/limits.py:138
+#: cinder/api/v1/limits.py:139 cinder/api/v2/limits.py:139
 #, python-format
 msgid ""
 "Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
 "%(unit_string)s."
 msgstr ""
 
-#: cinder/api/v1/limits.py:264 cinder/api/v2/limits.py:261
+#: cinder/api/v1/limits.py:264 cinder/api/v2/limits.py:262
 msgid "This request was rate-limited."
 msgstr ""
 
-#: cinder/api/v1/snapshot_metadata.py:37 cinder/api/v1/snapshot_metadata.py:117
-#: cinder/api/v1/snapshot_metadata.py:156 cinder/api/v2/snapshot_metadata.py:37
-#: cinder/api/v2/snapshot_metadata.py:117
-#: cinder/api/v2/snapshot_metadata.py:156
+#: cinder/api/v1/snapshot_metadata.py:38 cinder/api/v1/snapshot_metadata.py:118
+#: cinder/api/v1/snapshot_metadata.py:157 cinder/api/v2/snapshot_metadata.py:38
+#: cinder/api/v2/snapshot_metadata.py:118
+#: cinder/api/v2/snapshot_metadata.py:157
 msgid "snapshot does not exist"
 msgstr ""
 
-#: cinder/api/v1/snapshot_metadata.py:139
-#: cinder/api/v1/snapshot_metadata.py:149 cinder/api/v1/volume_metadata.py:139
-#: cinder/api/v1/volume_metadata.py:149 cinder/api/v2/snapshot_metadata.py:139
-#: cinder/api/v2/snapshot_metadata.py:149 cinder/api/v2/volume_metadata.py:138
-#: cinder/api/v2/volume_metadata.py:148
+#: cinder/api/v1/snapshot_metadata.py:140
+#: cinder/api/v1/snapshot_metadata.py:150 cinder/api/v1/volume_metadata.py:140
+#: cinder/api/v1/volume_metadata.py:150 cinder/api/v2/snapshot_metadata.py:140
+#: cinder/api/v2/snapshot_metadata.py:150 cinder/api/v2/volume_metadata.py:139
+#: cinder/api/v2/volume_metadata.py:149
 msgid "Metadata item was not found"
 msgstr ""
 
-#: cinder/api/v1/snapshots.py:118 cinder/api/v2/snapshots.py:119
+#: cinder/api/v1/snapshots.py:119 cinder/api/v2/snapshots.py:120
 #, python-format
 msgid "Delete snapshot with id: %s"
 msgstr ""
 
-#: cinder/api/v1/snapshots.py:172 cinder/api/v2/snapshots.py:183
+#: cinder/api/v1/snapshots.py:173 cinder/api/v2/snapshots.py:184
 msgid "'volume_id' must be specified"
 msgstr ""
 
-#: cinder/api/v1/snapshots.py:181 cinder/api/v2/snapshots.py:192
+#: cinder/api/v1/snapshots.py:182 cinder/api/v2/snapshots.py:193
 #, python-format
 msgid "Create snapshot from volume %s"
 msgstr ""
 
-#: cinder/api/v1/snapshots.py:185 cinder/api/v2/snapshots.py:201
+#: cinder/api/v1/snapshots.py:186 cinder/api/v2/snapshots.py:202
 #, python-format
 msgid "Invalid value '%s' for force. "
 msgstr ""
 
-#: cinder/api/v1/volume_metadata.py:37 cinder/api/v1/volume_metadata.py:117
-#: cinder/api/v1/volume_metadata.py:156 cinder/api/v2/volume_metadata.py:36
-#: cinder/api/v2/volume_metadata.py:116 cinder/api/v2/volume_metadata.py:155
+#: cinder/api/v1/volume_metadata.py:38 cinder/api/v1/volume_metadata.py:118
+#: cinder/api/v1/volume_metadata.py:157 cinder/api/v2/volume_metadata.py:37
+#: cinder/api/v2/volume_metadata.py:117 cinder/api/v2/volume_metadata.py:156
 msgid "volume does not exist"
 msgstr ""
 
-#: cinder/api/v1/volumes.py:114
+#: cinder/api/v1/volumes.py:115
 #, python-format
 msgid "vol=%s"
 msgstr ""
 
-#: cinder/api/v1/volumes.py:245 cinder/api/v2/volumes.py:181
+#: cinder/api/v1/volumes.py:246 cinder/api/v2/volumes.py:182
 #, python-format
 msgid "Delete volume with id: %s"
 msgstr ""
 
-#: cinder/api/v1/volumes.py:301 cinder/api/v1/volumes.py:305
-#: cinder/api/v2/volumes.py:253 cinder/api/v2/volumes.py:257
+#: cinder/api/v1/volumes.py:302 cinder/api/v1/volumes.py:306
+#: cinder/api/v2/volumes.py:254 cinder/api/v2/volumes.py:258
 msgid "Invalid imageRef provided."
 msgstr ""
 
-#: cinder/api/v1/volumes.py:345 cinder/api/v2/volumes.py:310
+#: cinder/api/v1/volumes.py:346 cinder/api/v2/volumes.py:311
 #, python-format
 msgid "snapshot id:%s not found"
 msgstr ""
 
-#: cinder/api/v1/volumes.py:358
+#: cinder/api/v1/volumes.py:359
 #, python-format
 msgid "source vol id:%s not found"
 msgstr ""
 
-#: cinder/api/v1/volumes.py:369 cinder/api/v2/volumes.py:333
+#: cinder/api/v1/volumes.py:370 cinder/api/v2/volumes.py:334
 #, python-format
 msgid "Create volume of %s GB"
 msgstr ""
 
-#: cinder/api/v2/snapshots.py:110 cinder/api/v2/snapshots.py:125
-#: cinder/api/v2/snapshots.py:266
+#: cinder/api/v2/snapshots.py:111 cinder/api/v2/snapshots.py:126
+#: cinder/api/v2/snapshots.py:267
 msgid "Snapshot could not be found"
 msgstr ""
 
-#: cinder/api/v2/snapshots.py:229 cinder/api/v2/volumes.py:368
+#: cinder/api/v2/snapshots.py:230 cinder/api/v2/volumes.py:369
 msgid "Missing request body"
 msgstr ""
 
-#: cinder/api/v2/types.py:70
+#: cinder/api/v2/types.py:71
 msgid "Volume type not found"
 msgstr ""
 
-#: cinder/api/v2/volumes.py:322
+#: cinder/api/v2/volumes.py:323
 #, python-format
 msgid "source volume id:%s not found"
 msgstr ""
 
-#: cinder/backup/api.py:66
+#: cinder/backup/api.py:67
 msgid "Backup status must be available or error"
 msgstr ""
 
-#: cinder/backup/api.py:117
+#: cinder/backup/api.py:118
 msgid "Volume to be backed up must be available"
 msgstr ""
 
-#: cinder/backup/api.py:152
+#: cinder/backup/api.py:153
 msgid "Backup status must be available"
 msgstr ""
 
-#: cinder/backup/api.py:157
+#: cinder/backup/api.py:158
 msgid "Backup to be restored has invalid size"
 msgstr ""
 
-#: cinder/backup/api.py:166
+#: cinder/backup/api.py:167
 #, python-format
 msgid "Creating volume of %(size)s GB for restore of backup %(backup_id)s"
 msgstr ""
 
-#: cinder/backup/api.py:182
+#: cinder/backup/api.py:183
 msgid "Volume to be restored to must be available"
 msgstr ""
 
-#: cinder/backup/api.py:188
+#: cinder/backup/api.py:189
 #, python-format
 msgid ""
 "volume size %(volume_size)d is too small to restore backup of size "
 "%(size)d."
 msgstr ""
 
-#: cinder/backup/api.py:193
+#: cinder/backup/api.py:194
 #, python-format
 msgid "Overwriting volume %(volume_id)s with restore of backup %(backup_id)s"
 msgstr ""
 
-#: cinder/backup/api.py:227
+#: cinder/backup/api.py:228
 #, python-format
 msgid "Backup status must be available and not %s."
 msgstr ""
 
-#: cinder/backup/driver.py:53
+#: cinder/backup/driver.py:54
 #, python-format
 msgid "Value with type=%s is not serializable"
 msgstr ""
 
-#: cinder/backup/driver.py:73 cinder/backup/driver.py:96
-#: cinder/backup/driver.py:120
+#: cinder/backup/driver.py:74 cinder/backup/driver.py:97
+#: cinder/backup/driver.py:121
 #, python-format
 msgid "Unable to serialize field '%s' - excluding from backup"
 msgstr ""
 
-#: cinder/backup/driver.py:229
+#: cinder/backup/driver.py:230
 #, python-format
 msgid "Unsupported backup metadata version (%s)"
 msgstr ""
 
-#: cinder/backup/manager.py:102
+#: cinder/backup/manager.py:103
 msgid "NULL host not allowed for volume backend lookup."
 msgstr ""
 
-#: cinder/backup/manager.py:112
+#: cinder/backup/manager.py:113
 #, python-format
 msgid "Backend not found in hostname (%s) so using default."
 msgstr ""
 
-#: cinder/backup/manager.py:128
+#: cinder/backup/manager.py:129
 #, python-format
 msgid "Volume manager for backend '%s' does not exist."
 msgstr ""
 
-#: cinder/backup/manager.py:163
+#: cinder/backup/manager.py:164
 #, python-format
 msgid "Starting volume driver %(driver_name)s (%(version)s)."
 msgstr ""
 
-#: cinder/backup/manager.py:170
+#: cinder/backup/manager.py:171
 #, python-format
 msgid "Error encountered during initialization of driver: %(name)s."
 msgstr ""
 
-#: cinder/backup/manager.py:189
+#: cinder/backup/manager.py:190
 msgid "Cleaning up incomplete backup operations."
 msgstr ""
 
-#: cinder/backup/manager.py:194
+#: cinder/backup/manager.py:195
 #, python-format
 msgid "Resetting volume %s to available (was backing-up)."
 msgstr ""
 
-#: cinder/backup/manager.py:199
+#: cinder/backup/manager.py:200
 #, python-format
 msgid "Resetting volume %s to error_restoring (was restoring-backup)."
 msgstr ""
 
-#: cinder/backup/manager.py:211
+#: cinder/backup/manager.py:212
 #, python-format
 msgid "Resetting backup %s to error (was creating)."
 msgstr ""
 
-#: cinder/backup/manager.py:217
+#: cinder/backup/manager.py:218
 #, python-format
 msgid "Resetting backup %s to available (was restoring)."
 msgstr ""
 
-#: cinder/backup/manager.py:222
+#: cinder/backup/manager.py:223
 #, python-format
 msgid "Resuming delete on backup: %s."
 msgstr ""
 
-#: cinder/backup/manager.py:230
+#: cinder/backup/manager.py:231
 #, python-format
 msgid "Create backup started, backup: %(backup_id)s volume: %(volume_id)s."
 msgstr ""
 
-#: cinder/backup/manager.py:242
+#: cinder/backup/manager.py:243
 #, python-format
 msgid ""
 "Create backup aborted, expected volume status %(expected_status)s but got"
 " %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:254
+#: cinder/backup/manager.py:255
 #, python-format
 msgid ""
 "Create backup aborted, expected backup status %(expected_status)s but got"
 " %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:287
+#: cinder/backup/manager.py:288
 #, python-format
 msgid "Create backup finished. backup: %s."
 msgstr ""
 
-#: cinder/backup/manager.py:291
+#: cinder/backup/manager.py:292
 #, python-format
 msgid "Restore backup started, backup: %(backup_id)s volume: %(volume_id)s."
 msgstr ""
 
-#: cinder/backup/manager.py:304
+#: cinder/backup/manager.py:305
 #, python-format
 msgid ""
 "Restore backup aborted, expected volume status %(expected_status)s but "
 "got %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:314
+#: cinder/backup/manager.py:315
 #, python-format
 msgid ""
 "Restore backup aborted: expected backup status %(expected_status)s but "
 "got %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:332
+#: cinder/backup/manager.py:325
+#, python-format
+msgid ""
+"Volume: %(vol_id)s, size: %(vol_size)d is larger than backup: "
+"%(backup_id)s, size: %(backup_size)d, continuing with restore."
+msgstr ""
+
+#: cinder/backup/manager.py:336
 #, python-format
 msgid ""
 "Restore backup aborted, the backup service currently configured "
@@ -1797,26 +1819,26 @@ msgid ""
 "create this backup [%(backup_service)s]."
 msgstr ""
 
-#: cinder/backup/manager.py:363
+#: cinder/backup/manager.py:367
 #, python-format
 msgid ""
 "Restore backup finished, backup %(backup_id)s restored to volume "
 "%(volume_id)s."
 msgstr ""
 
-#: cinder/backup/manager.py:382
+#: cinder/backup/manager.py:386
 #, python-format
 msgid "Delete backup started, backup: %s."
 msgstr ""
 
-#: cinder/backup/manager.py:389
+#: cinder/backup/manager.py:393
 #, python-format
 msgid ""
 "Delete_backup aborted, expected backup status %(expected_status)s but got"
 " %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:402
+#: cinder/backup/manager.py:406
 #, python-format
 msgid ""
 "Delete backup aborted, the backup service currently configured "
@@ -1824,24 +1846,24 @@ msgid ""
 "create this backup [%(backup_service)s]."
 msgstr ""
 
-#: cinder/backup/manager.py:425
+#: cinder/backup/manager.py:429
 #, python-format
 msgid "Delete backup finished, backup %s deleted."
 msgstr ""
 
-#: cinder/backup/manager.py:440
+#: cinder/backup/manager.py:444
 #, python-format
 msgid "Export record started, backup: %s."
 msgstr ""
 
-#: cinder/backup/manager.py:447
+#: cinder/backup/manager.py:451
 #, python-format
 msgid ""
 "Export backup aborted, expected backup status %(expected_status)s but got"
 " %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:458
+#: cinder/backup/manager.py:462
 #, python-format
 msgid ""
 "Export record aborted, the backup service currently configured "
@@ -1849,112 +1871,112 @@ msgid ""
 "create this backup [%(backup_service)s]."
 msgstr ""
 
-#: cinder/backup/manager.py:476
+#: cinder/backup/manager.py:480
 #, python-format
 msgid "Export record finished, backup %s exported."
 msgstr ""
 
-#: cinder/backup/manager.py:495
+#: cinder/backup/manager.py:499
 #, python-format
 msgid "Import record started, backup_url: %s."
 msgstr ""
 
-#: cinder/backup/manager.py:511
+#: cinder/backup/manager.py:515
 #, python-format
 msgid ""
 "Import record failed, cannot find backup service to perform the import. "
 "Request service %(service)s"
 msgstr ""
 
-#: cinder/backup/manager.py:546
+#: cinder/backup/manager.py:550
 #, python-format
 msgid "Backup metadata received from driver for import is missing %s."
 msgstr ""
 
-#: cinder/backup/manager.py:561
+#: cinder/backup/manager.py:565
 #, python-format
 msgid ""
 "Backup service %(service)s does not support verify. Backup id %(id)s is "
 "not verified. Skipping verify."
 msgstr ""
 
-#: cinder/backup/manager.py:572
+#: cinder/backup/manager.py:576
 #, python-format
 msgid "Import record id %s metadata from driver finished."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:127 cinder/tests/test_backup_ceph.py:823
+#: cinder/backup/drivers/ceph.py:129 cinder/tests/test_backup_ceph.py:967
 #, python-format
 msgid "Metadata backup object '%s' already exists"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:178
+#: cinder/backup/drivers/ceph.py:180
 msgid ""
 "RBD striping not supported - ignoring configuration settings for rbd "
 "striping"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:201
+#: cinder/backup/drivers/ceph.py:203
 #, python-format
 msgid "invalid user '%s'"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:267
+#: cinder/backup/drivers/ceph.py:269
 msgid "Backup id required"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:324
+#: cinder/backup/drivers/ceph.py:326
 #, python-format
 msgid "Transferred chunk %(chunk)s of %(chunks)s (%(rate)dK/s)"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:425
+#: cinder/backup/drivers/ceph.py:427
 #, python-format
 msgid "image %s not found"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:433
+#: cinder/backup/drivers/ceph.py:435
 #, python-format
 msgid ""
 "Backup base image of volume %(volume)s still has %(snapshots)s snapshots "
 "so skipping base image delete."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:440
+#: cinder/backup/drivers/ceph.py:442
 #, python-format
 msgid "Deleting backup base image='%(basename)s' of volume %(volume)s."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:449
+#: cinder/backup/drivers/ceph.py:451
 #, python-format
 msgid ""
 "Backup image of volume %(volume)s is busy, retrying %(retries)s more "
 "time(s) in %(delay)ss."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:457
+#: cinder/backup/drivers/ceph.py:459
 #, python-format
 msgid ""
 "Max retries reached deleting backup %(basename)s image of volume "
 "%(volume)s."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:492
+#: cinder/backup/drivers/ceph.py:494
 #, python-format
 msgid "Pipe1 failed - %s "
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:506
+#: cinder/backup/drivers/ceph.py:508
 #, python-format
 msgid "Pipe2 failed - %s "
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:550
+#: cinder/backup/drivers/ceph.py:552
 #, python-format
 msgid "RBD diff op failed - (ret=%(ret)s stderr=%(stderr)s)"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:630
+#: cinder/backup/drivers/ceph.py:632
 #, python-format
 msgid ""
 "Snapshot='%(snap)s' does not exist in base image='%(base)s' - aborting "
@@ -1986,8 +2008,8 @@ msgid ""
 "forcing full copy."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:1142 cinder/backup/drivers/swift.py:457
-#: cinder/tests/test_backup_ceph.py:812
+#: cinder/backup/drivers/ceph.py:1142 cinder/backup/drivers/swift.py:460
+#: cinder/tests/test_backup_ceph.py:956
 msgid "Metadata restore failed due to incompatible version"
 msgstr ""
 
@@ -2010,17 +2032,17 @@ msgid ""
 "warning."
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:105
+#: cinder/backup/drivers/swift.py:107
 #, python-format
 msgid "unsupported compression algorithm: %s"
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:122
+#: cinder/backup/drivers/swift.py:124
 #, python-format
 msgid "single_user auth mode enabled, but %(param)s not set"
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:197
+#: cinder/backup/drivers/swift.py:199
 #, python-format
 msgid ""
 "error writing metadata file to swift, MD5 of metadata file in swift "
@@ -2028,44 +2050,44 @@ msgid ""
 "[%(md5)s]"
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:222
+#: cinder/backup/drivers/swift.py:224
 #, python-format
 msgid "volume size %d is invalid."
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:293
+#: cinder/backup/drivers/swift.py:295
 #, python-format
 msgid ""
 "error writing object to swift, MD5 of object in swift %(etag)s is not the"
 " same as MD5 of object sent to swift %(md5)s"
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:352
+#: cinder/backup/drivers/swift.py:356
 #, python-format
 msgid "Backup volume metadata to swift failed: %s"
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:373
+#: cinder/backup/drivers/swift.py:376
 msgid ""
 "restore_backup aborted, actual swift object list in swift does not match "
 "object list stored in metadata"
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:445
+#: cinder/backup/drivers/swift.py:448
 #, python-format
 msgid "No support to restore swift backup version %s"
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:475
+#: cinder/backup/drivers/swift.py:478
 msgid "swift error while listing objects, continuing with delete"
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:484
+#: cinder/backup/drivers/swift.py:487
 #, python-format
 msgid "swift error while deleting object %s, continuing with delete"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:78
+#: cinder/backup/drivers/tsm.py:79
 #, python-format
 msgid ""
 "%(op)s: backup %(bck_id)s, volume %(vol_id)s failed. Backup object has "
@@ -2073,7 +2095,7 @@ msgid ""
 "%(vol_mode)s."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:113
+#: cinder/backup/drivers/tsm.py:114
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed to create device hardlink from %(vpath)s to "
@@ -2082,24 +2104,24 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:211
+#: cinder/backup/drivers/tsm.py:212
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed. %(path)s is unexpected file type. Block or "
 "regular files supported, actual file mode is %(vol_mode)s."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:221
+#: cinder/backup/drivers/tsm.py:222
 #, python-format
 msgid "backup: %(vol_id)s failed. Cannot obtain real path to volume at %(path)s."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:228
+#: cinder/backup/drivers/tsm.py:229
 #, python-format
 msgid "backup: %(vol_id)s failed. %(path)s is not a file."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:251
+#: cinder/backup/drivers/tsm.py:252
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed to remove backup hardlink from %(vpath)s to "
@@ -2108,7 +2130,7 @@ msgid ""
 " stderr: %(err)s."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:298
+#: cinder/backup/drivers/tsm.py:299
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed to obtain backup success notification from "
@@ -2117,7 +2139,7 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:339
+#: cinder/backup/drivers/tsm.py:340
 #, python-format
 msgid ""
 "restore: %(vol_id)s failed.\n"
@@ -2125,13 +2147,13 @@ msgid ""
 " stderr: %(err)s."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:362
+#: cinder/backup/drivers/tsm.py:363
 msgid ""
 "Volume metadata backup requested but this driver does not yet support "
 "this feature."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:391
+#: cinder/backup/drivers/tsm.py:392
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed to run dsmc on %(bpath)s.\n"
@@ -2139,7 +2161,7 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:401
+#: cinder/backup/drivers/tsm.py:402
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed to run dsmc due to invalid arguments on "
@@ -2148,7 +2170,7 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:452
+#: cinder/backup/drivers/tsm.py:453
 #, python-format
 msgid ""
 "restore: %(vol_id)s failed to run dsmc on %(bpath)s.\n"
@@ -2156,7 +2178,7 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:462
+#: cinder/backup/drivers/tsm.py:463
 #, python-format
 msgid ""
 "restore: %(vol_id)s failed to run dsmc due to invalid arguments on "
@@ -2165,14 +2187,14 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:508
+#: cinder/backup/drivers/tsm.py:509
 #, python-format
 msgid ""
 "delete: %(vol_id)s failed to run dsmc with stdout: %(out)s\n"
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:516
+#: cinder/backup/drivers/tsm.py:517
 #, python-format
 msgid ""
 "delete: %(vol_id)s failed to run dsmc due to invalid arguments with "
@@ -2180,7 +2202,7 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:530
+#: cinder/backup/drivers/tsm.py:531
 #, python-format
 msgid ""
 "delete: %(vol_id)s failed with stdout: %(out)s\n"
@@ -2257,31 +2279,31 @@ msgstr ""
 msgid "Could not find the iSCSI Initiator File %s"
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:609
+#: cinder/brick/initiator/connector.py:610
 msgid "We are unable to locate any Fibre Channel devices"
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:629
+#: cinder/brick/initiator/connector.py:630
 msgid "Fibre Channel volume device not found."
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:633
+#: cinder/brick/initiator/connector.py:634
 #, python-format
 msgid "Fibre volume not yet found. Will rescan & retry.  Try number: %(tries)s"
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:777
+#: cinder/brick/initiator/connector.py:778
 #, python-format
 msgid "AoE volume not yet found at: %(path)s. Try number: %(tries)s"
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:859
+#: cinder/brick/initiator/connector.py:860
 msgid ""
 "Connection details not present. RemoteFsClient may not initialize "
 "properly."
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:916
+#: cinder/brick/initiator/connector.py:917
 msgid "Invalid connection_properties specified no device_path attribute"
 msgstr ""
 
@@ -2306,87 +2328,87 @@ msgstr ""
 msgid "Couldn't find multipath device %(line)s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:137
+#: cinder/brick/iscsi/iscsi.py:140
 msgid "Attempting recreate of backing lun..."
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:155
+#: cinder/brick/iscsi/iscsi.py:158
 #, python-format
 msgid ""
 "Failed to recover attempt to create iscsi backing lun for volume "
 "id:%(vol_id)s: %(e)s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:174
+#: cinder/brick/iscsi/iscsi.py:179
 #, python-format
 msgid "Creating iscsi_target for: %s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:213 cinder/brick/iscsi/iscsi.py:393
+#: cinder/brick/iscsi/iscsi.py:218 cinder/brick/iscsi/iscsi.py:398
 #, python-format
 msgid "Failed to create iscsi target for volume id:%(vol_id)s: %(e)s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:224
+#: cinder/brick/iscsi/iscsi.py:229
 #, python-format
 msgid ""
 "Failed to create iscsi target for volume id:%(vol_id)s. Please ensure "
 "your tgtd config file contains 'include %(volumes_dir)s/*'"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:254
+#: cinder/brick/iscsi/iscsi.py:259
 #, python-format
 msgid "Removing iscsi_target for: %s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:258
+#: cinder/brick/iscsi/iscsi.py:263
 #, python-format
 msgid "Volume path %s does not exist, nothing to remove."
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:276 cinder/brick/iscsi/iscsi.py:300
+#: cinder/brick/iscsi/iscsi.py:281 cinder/brick/iscsi/iscsi.py:305
 #, python-format
 msgid "Failed to remove iscsi target for volume id:%(vol_id)s: %(e)s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:293
+#: cinder/brick/iscsi/iscsi.py:298
 msgid "Silent failure of target removal detected, retry...."
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:318 cinder/brick/iscsi/iscsi.py:572
+#: cinder/brick/iscsi/iscsi.py:323 cinder/brick/iscsi/iscsi.py:577
 msgid "valid iqn needed for show_target"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:400
+#: cinder/brick/iscsi/iscsi.py:405
 #, python-format
 msgid "Removing iscsi_target for volume: %s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:494
+#: cinder/brick/iscsi/iscsi.py:499
 msgid "cinder-rtstool is not installed correctly"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:514
+#: cinder/brick/iscsi/iscsi.py:519
 #, python-format
 msgid "Creating iscsi_target for volume: %s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:538 cinder/brick/iscsi/iscsi.py:547
+#: cinder/brick/iscsi/iscsi.py:543 cinder/brick/iscsi/iscsi.py:552
 #, python-format
 msgid "Failed to create iscsi target for volume id:%s."
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:554
+#: cinder/brick/iscsi/iscsi.py:559
 #, python-format
 msgid "Removing iscsi_target: %s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:564
+#: cinder/brick/iscsi/iscsi.py:569
 #, python-format
 msgid "Failed to remove iscsi target for volume id:%s."
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:593
+#: cinder/brick/iscsi/iscsi.py:598
 #, python-format
 msgid "Failed to add initiator iqn %s to target"
 msgstr ""
@@ -2495,264 +2517,278 @@ msgstr ""
 msgid "Deploy v2 of the Cinder API."
 msgstr ""
 
-#: cinder/common/sqlalchemyutils.py:66
+#: cinder/common/sqlalchemyutils.py:67
 msgid "Id not in sort_keys; is sort_keys unique?"
 msgstr ""
 
-#: cinder/common/sqlalchemyutils.py:114
-#: cinder/openstack/common/db/sqlalchemy/utils.py:119
+#: cinder/common/sqlalchemyutils.py:115
 msgid "Unknown sort direction, must be 'desc' or 'asc'"
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:89
+#: cinder/db/sqlalchemy/api.py:91
 msgid "Use of empty request context is deprecated"
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:216
-#: cinder/openstack/common/db/sqlalchemy/utils.py:174
+#: cinder/db/sqlalchemy/api.py:203
+#, python-format
+msgid "Deadlock detected when running '%(func_name)s': Retrying..."
+msgstr ""
+
+#: cinder/db/sqlalchemy/api.py:236
 #, python-format
 msgid "Unrecognized read_deleted value '%s'"
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:828
+#: cinder/db/sqlalchemy/api.py:852
 #, python-format
 msgid "Change will make usage less than 0 for the following resources: %s"
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:1241
+#: cinder/db/sqlalchemy/api.py:1271
 msgid "'migration_status' column could not be found."
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:1251
+#: cinder/db/sqlalchemy/api.py:1281
 msgid "'metadata' filter value is not valid."
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:1261
+#: cinder/db/sqlalchemy/api.py:1291
 #, python-format
 msgid "'%s' filter key is not valid, it maps to a relationship."
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:1266
+#: cinder/db/sqlalchemy/api.py:1296
 #, python-format
 msgid "'%s' filter key is not valid."
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:1933
+#: cinder/db/sqlalchemy/api.py:1972
 #, python-format
 msgid "VolumeType %s deletion failed, VolumeType in use."
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:2653
+#: cinder/db/sqlalchemy/api.py:2692
 #, python-format
 msgid "No backup with id %s"
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:2737
+#: cinder/db/sqlalchemy/api.py:2776
 msgid "Volume must be available"
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:2762
+#: cinder/db/sqlalchemy/api.py:2802
 #, python-format
 msgid "Volume in unexpected state %s, expected awaiting-transfer"
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:2784
+#: cinder/db/sqlalchemy/api.py:2824
 #, python-format
 msgid ""
 "Transfer %(transfer_id)s: Volume id %(volume_id)s in unexpected state "
 "%(status)s, expected awaiting-transfer"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migration.py:37
-#: cinder/openstack/common/db/sqlalchemy/migration.py:190
+#: cinder/db/sqlalchemy/migration.py:38
 msgid "version should be an integer"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migration.py:64
+#: cinder/db/sqlalchemy/migration.py:65
 msgid "Upgrade DB using Essex release first."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py:240
+#: cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py:241
 msgid "Exception while creating table."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py:269
+#: cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py:270
 msgid "Downgrade from initial Cinder install is unsupported."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:49
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:74
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:105
-#: cinder/db/sqlalchemy/migrate_repo/versions/008_add_backup.py:56
-#: cinder/db/sqlalchemy/migrate_repo/versions/009_add_snapshot_metadata_table.py:45
-#: cinder/db/sqlalchemy/migrate_repo/versions/010_add_transfers_table.py:48
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:80
-#: cinder/db/sqlalchemy/migrate_repo/versions/020_add_volume_admin_metadata_table.py:46
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:50
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:75
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:106
+#: cinder/db/sqlalchemy/migrate_repo/versions/008_add_backup.py:57
+#: cinder/db/sqlalchemy/migrate_repo/versions/009_add_snapshot_metadata_table.py:46
+#: cinder/db/sqlalchemy/migrate_repo/versions/010_add_transfers_table.py:49
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:81
+#: cinder/db/sqlalchemy/migrate_repo/versions/020_add_volume_admin_metadata_table.py:47
 #, python-format
 msgid "Table |%s| not created!"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:127
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:128
 msgid "Dropping foreign key reservations_ibfk_1 failed."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:133
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:134
 msgid "quota_classes table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:140
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:141
 msgid "quota_usages table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:147
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:148
 msgid "reservations table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/003_glance_metadata.py:58
+#: cinder/db/sqlalchemy/migrate_repo/versions/003_glance_metadata.py:59
 msgid "Exception while creating table 'volume_glance_metadata'"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/003_glance_metadata.py:73
+#: cinder/db/sqlalchemy/migrate_repo/versions/003_glance_metadata.py:74
 msgid "volume_glance_metadata table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/008_add_backup.py:68
+#: cinder/db/sqlalchemy/migrate_repo/versions/008_add_backup.py:69
 msgid "backups table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/009_add_snapshot_metadata_table.py:58
+#: cinder/db/sqlalchemy/migrate_repo/versions/009_add_snapshot_metadata_table.py:59
 msgid "snapshot_metadata table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/010_add_transfers_table.py:61
+#: cinder/db/sqlalchemy/migrate_repo/versions/010_add_transfers_table.py:62
 msgid "transfers table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/015_drop_migrations_table.py:31
+#: cinder/db/sqlalchemy/migrate_repo/versions/015_drop_migrations_table.py:32
 msgid "migrations table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/015_drop_migrations_table.py:61
+#: cinder/db/sqlalchemy/migrate_repo/versions/015_drop_migrations_table.py:62
 #, python-format
 msgid "Table |%s| not created"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/016_drop_sm_tables.py:37
+#: cinder/db/sqlalchemy/migrate_repo/versions/016_drop_sm_tables.py:38
 #, python-format
 msgid "Exception while dropping table %s."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/016_drop_sm_tables.py:100
+#: cinder/db/sqlalchemy/migrate_repo/versions/016_drop_sm_tables.py:101
 #, python-format
 msgid "Exception while creating table %s."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:34
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:43
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:49
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:35
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:44
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:50
 #, python-format
 msgid "Column |%s| not created!"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:92
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:93
 msgid "encryption_key_id column not dropped from volumes"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:100
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:101
 msgid "encryption_key_id column not dropped from snapshots"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:105
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:106
 msgid "volume_type_id column not dropped from snapshots"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:113
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:114
 msgid "encryption table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:49
+#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:50
 msgid "Table quality_of_service_specs not created!"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:60
+#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:61
 msgid "Added qos_specs_id column to volume type table failed."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:85
+#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:86
 msgid "Dropping foreign key volume_types_ibfk_1 failed"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:93
+#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:94
 msgid "Dropping qos_specs_id column failed."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:100
+#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:101
 msgid "Dropping quality_of_service_specs table failed."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/020_add_volume_admin_metadata_table.py:59
+#: cinder/db/sqlalchemy/migrate_repo/versions/020_add_volume_admin_metadata_table.py:60
 msgid "volume_admin_metadata table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:48
+#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:49
 msgid ""
 "Found existing 'default' entries in the quota_classes table.  Skipping "
 "insertion of default values."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:72
+#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:73
 msgid "Added default quota class data into the DB."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:74
+#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:75
 msgid "Default quota class data not inserted into the DB."
 msgstr ""
 
-#: cinder/image/glance.py:170 cinder/image/glance.py:178
+#: cinder/db/sqlalchemy/migrate_repo/versions/023_add_expire_reservations_index.py:36
+msgid ""
+"Skipped adding reservations_deleted_expire_idx because an equivalent "
+"index already exists."
+msgstr ""
+
+#: cinder/db/sqlalchemy/migrate_repo/versions/023_add_expire_reservations_index.py:58
+msgid ""
+"Skipped removing reservations_deleted_expire_idx because index does not "
+"exist."
+msgstr ""
+
+#: cinder/image/glance.py:171 cinder/image/glance.py:179
 #, python-format
 msgid "Error contacting glance server '%(netloc)s' for '%(method)s', %(extra)s."
 msgstr ""
 
-#: cinder/image/image_utils.py:98 cinder/image/image_utils.py:203
+#: cinder/image/image_utils.py:99 cinder/image/image_utils.py:204
 msgid "'qemu-img info' parsing failed."
 msgstr ""
 
-#: cinder/image/image_utils.py:105
+#: cinder/image/image_utils.py:106
 #, python-format
 msgid "fmt=%(fmt)s backed by: %(backing_file)s"
 msgstr ""
 
-#: cinder/image/image_utils.py:113 cinder/image/image_utils.py:196
+#: cinder/image/image_utils.py:114 cinder/image/image_utils.py:197
 #, python-format
 msgid ""
 "Size is %(image_size)dGB and doesn't fit in a volume of size "
 "%(volume_size)dGB."
 msgstr ""
 
-#: cinder/image/image_utils.py:161
+#: cinder/image/image_utils.py:162
 #, python-format
 msgid ""
 "qemu-img is not installed and image is of type %s.  Only RAW images can "
 "be used if qemu-img is not installed."
 msgstr ""
 
-#: cinder/image/image_utils.py:168
+#: cinder/image/image_utils.py:169
 msgid ""
 "qemu-img is not installed and the disk format is not specified.  Only RAW"
 " images can be used if qemu-img is not installed."
 msgstr ""
 
-#: cinder/image/image_utils.py:210
+#: cinder/image/image_utils.py:211
 #, python-format
 msgid "fmt=%(fmt)s backed by:%(backing_file)s"
 msgstr ""
 
-#: cinder/image/image_utils.py:229
+#: cinder/image/image_utils.py:230
 #, python-format
 msgid "Converted to %(vol_format)s, but format is now %(file_format)s"
 msgstr ""
 
-#: cinder/image/image_utils.py:266
+#: cinder/image/image_utils.py:267
 #, python-format
 msgid "Converted to %(f1)s, but format is now %(f2)s"
 msgstr ""
@@ -2792,11 +2828,11 @@ msgstr ""
 msgid "Reloading cached file %s"
 msgstr ""
 
-#: cinder/openstack/common/gettextutils.py:320
+#: cinder/openstack/common/gettextutils.py:301
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: cinder/openstack/common/gettextutils.py:330
+#: cinder/openstack/common/gettextutils.py:311
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -2836,22 +2872,22 @@ msgstr ""
 msgid "Released file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
 msgstr ""
 
-#: cinder/openstack/common/log.py:327
+#: cinder/openstack/common/log.py:287
 #, python-format
 msgid "Deprecated: %s"
 msgstr ""
 
-#: cinder/openstack/common/log.py:436
+#: cinder/openstack/common/log.py:396
 #, python-format
 msgid "Error loading logging config %(log_config)s: %(err_msg)s"
 msgstr ""
 
-#: cinder/openstack/common/log.py:486
+#: cinder/openstack/common/log.py:457
 #, python-format
 msgid "syslog facility must be one of: %s"
 msgstr ""
 
-#: cinder/openstack/common/log.py:729
+#: cinder/openstack/common/log.py:700
 #, python-format
 msgid "Fatal call to deprecated config: %(msg)s"
 msgstr ""
@@ -2862,7 +2898,7 @@ msgid "task run outlasted interval by %s sec"
 msgstr ""
 
 #: cinder/openstack/common/loopingcall.py:89
-#: cinder/tests/brick/test_brick_connector.py:461
+#: cinder/tests/brick/test_brick_connector.py:462
 msgid "in fixed duration looping call"
 msgstr ""
 
@@ -2875,7 +2911,7 @@ msgstr ""
 msgid "in dynamic looping call"
 msgstr ""
 
-#: cinder/openstack/common/periodic_task.py:39
+#: cinder/openstack/common/periodic_task.py:40
 #, python-format
 msgid "Unexpected argument for periodic task creation: %(arg)s."
 msgstr ""
@@ -3012,22 +3048,28 @@ msgstr ""
 msgid "Waiting on %d children to exit"
 msgstr ""
 
+#: cinder/openstack/common/sslutils.py:59
+msgid ""
+"When running server in SSL mode, you must specify both a cert_file and "
+"key_file option value in your configuration file"
+msgstr ""
+
 #: cinder/openstack/common/sslutils.py:98
 #, python-format
 msgid "Invalid SSL version : %s"
 msgstr ""
 
-#: cinder/openstack/common/strutils.py:92
+#: cinder/openstack/common/strutils.py:114
 #, python-format
 msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
 msgstr ""
 
-#: cinder/openstack/common/strutils.py:197
+#: cinder/openstack/common/strutils.py:219
 #, python-format
 msgid "Invalid unit system: \"%s\""
 msgstr ""
 
-#: cinder/openstack/common/strutils.py:206
+#: cinder/openstack/common/strutils.py:228
 #, python-format
 msgid "Invalid string format: %s"
 msgstr ""
@@ -3046,61 +3088,6 @@ msgid ""
 "%(remove_in)s. It will not be superseded."
 msgstr ""
 
-#: cinder/openstack/common/db/exception.py:44
-msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/migration.py:226
-#, python-format
-msgid ""
-"Tables \"%s\" have non utf8 collation, please make sure all tables are "
-"CHARSET=utf8"
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/migration.py:250
-msgid ""
-"The database is not under version control, but has tables. Please stamp "
-"the current version of the schema manually."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:162
-#, python-format
-msgid ""
-"There is no `deleted` column in `%s` table. Project doesn't use soft-"
-"deleted feature."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:181
-#, python-format
-msgid "There is no `project_id` column in `%s` table."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:243
-msgid "model should be a subclass of ModelBase"
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:294
-#, python-format
-msgid ""
-"Please specify column %s in col_name_col_instance param. It is required "
-"because column has unsupported type by sqlite)."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:300
-#, python-format
-msgid ""
-"col_name_col_instance param has wrong type of column instance for column "
-"%s It should be instance of sqlalchemy.Column."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:408
-msgid "Unsupported id columns type"
-msgstr ""
-
 #: cinder/openstack/common/scheduler/filters/capabilities_filter.py:54
 #, python-format
 msgid "extra_spec requirement '%(req)s' does not match '%(cap)s'"
@@ -3120,66 +3107,71 @@ msgstr ""
 msgid "Host %(host)s %(pass_msg)s.  Previously tried hosts: %(hosts)s"
 msgstr ""
 
-#: cinder/scheduler/driver.py:69
+#: cinder/scheduler/driver.py:70
 msgid "Must implement host_passes_filters"
 msgstr ""
 
-#: cinder/scheduler/driver.py:74
+#: cinder/scheduler/driver.py:75
 msgid "Must implement find_retype_host"
 msgstr ""
 
-#: cinder/scheduler/driver.py:78
+#: cinder/scheduler/driver.py:79
 msgid "Must implement a fallback schedule"
 msgstr ""
 
-#: cinder/scheduler/driver.py:82
+#: cinder/scheduler/driver.py:83
 msgid "Must implement schedule_create_volume"
 msgstr ""
 
-#: cinder/scheduler/filter_scheduler.py:98
+#: cinder/scheduler/filter_scheduler.py:99
 #, python-format
 msgid "cannot place volume %(id)s on %(host)s"
 msgstr ""
 
-#: cinder/scheduler/filter_scheduler.py:114
+#: cinder/scheduler/filter_scheduler.py:116
 #, python-format
 msgid "No valid hosts for volume %(id)s with type %(type)s"
 msgstr ""
 
-#: cinder/scheduler/filter_scheduler.py:125
+#: cinder/scheduler/filter_scheduler.py:127
 #, python-format
 msgid ""
 "Current host not valid for volume %(id)s with type %(type)s, migration "
 "not allowed"
 msgstr ""
 
-#: cinder/scheduler/filter_scheduler.py:156
+#: cinder/scheduler/filter_scheduler.py:158
 msgid "Invalid value for 'scheduler_max_attempts', must be >=1"
 msgstr ""
 
-#: cinder/scheduler/filter_scheduler.py:174
+#: cinder/scheduler/filter_scheduler.py:176
 #, python-format
 msgid ""
 "Error scheduling %(volume_id)s from last vol-service: %(last_host)s : "
 "%(exc)s"
 msgstr ""
 
-#: cinder/scheduler/filter_scheduler.py:207
+#: cinder/scheduler/filter_scheduler.py:209
 #, python-format
 msgid "Exceeded max scheduling attempts %(max_attempts)d for volume %(volume_id)s"
 msgstr ""
 
-#: cinder/scheduler/host_manager.py:299
+#: cinder/scheduler/filter_scheduler.py:272
+#, python-format
+msgid "No weighed hosts found for volume with properties: %s"
+msgstr ""
+
+#: cinder/scheduler/host_manager.py:300
 #, python-format
 msgid "volume service is down. (host: %s)"
 msgstr ""
 
-#: cinder/scheduler/host_manager.py:320
+#: cinder/scheduler/host_manager.py:321
 #, python-format
 msgid "Removing non-active host: %(host)s from scheduler cache."
 msgstr ""
 
-#: cinder/scheduler/manager.py:67
+#: cinder/scheduler/manager.py:68
 msgid ""
 "ChanceScheduler and SimpleScheduler have been deprecated due to lack of "
 "support for advanced features like: volume types, volume encryption, QoS "
@@ -3187,145 +3179,154 @@ msgid ""
 "certain combination of filters and weighers."
 msgstr ""
 
-#: cinder/scheduler/manager.py:102 cinder/scheduler/manager.py:104
+#: cinder/scheduler/manager.py:103 cinder/scheduler/manager.py:105
 msgid "Failed to create scheduler manager volume flow"
 msgstr ""
 
-#: cinder/scheduler/manager.py:165
+#: cinder/scheduler/manager.py:166
 msgid "New volume type not specified in request_spec."
 msgstr ""
 
-#: cinder/scheduler/manager.py:180
+#: cinder/scheduler/manager.py:181
 #, python-format
 msgid "Could not find a host for volume %(volume_id)s with type %(type_id)s."
 msgstr ""
 
-#: cinder/scheduler/manager.py:222
+#: cinder/scheduler/manager.py:223
 #, python-format
 msgid "Failed to schedule_%(method)s: %(ex)s"
 msgstr ""
 
-#: cinder/scheduler/scheduler_options.py:68
+#: cinder/scheduler/scheduler_options.py:69
 #, python-format
 msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
 msgstr ""
 
-#: cinder/scheduler/scheduler_options.py:78
+#: cinder/scheduler/scheduler_options.py:79
 #, python-format
 msgid "Could not decode scheduler options: '%s'"
 msgstr ""
 
-#: cinder/scheduler/filters/capacity_filter.py:43
+#: cinder/scheduler/filters/capacity_filter.py:44
 msgid "Free capacity not set: volume node info collection broken."
 msgstr ""
 
-#: cinder/scheduler/filters/capacity_filter.py:57
+#: cinder/scheduler/filters/capacity_filter.py:58
 #, python-format
 msgid ""
 "Insufficient free space for volume creation (requested / avail): "
 "%(requested)s/%(available)s"
 msgstr ""
 
-#: cinder/scheduler/flows/create_volume.py:52
+#: cinder/scheduler/flows/create_volume.py:53
 msgid "No volume_id provided to populate a request_spec from"
 msgstr ""
 
-#: cinder/scheduler/flows/create_volume.py:102
+#: cinder/scheduler/flows/create_volume.py:103
 #, python-format
 msgid "Failed to run task %(name)s: %(cause)s"
 msgstr ""
 
-#: cinder/scheduler/flows/create_volume.py:119
+#: cinder/scheduler/flows/create_volume.py:120
 #, python-format
 msgid "Failed notifying on %(topic)s payload %(payload)s"
 msgstr ""
 
-#: cinder/tests/fake_driver.py:97
+#: cinder/tests/fake_driver.py:135
 msgid "local_path not implemented"
 msgstr ""
 
-#: cinder/tests/test_backup_ceph.py:836
+#: cinder/tests/test_backup_ceph.py:499 cinder/tests/test_backup_ceph.py:511
+#: cinder/tests/test_backup_ceph.py:573
+msgid "mock"
+msgstr ""
+
+#: cinder/tests/test_backup_ceph.py:980
 #, python-format
 msgid ""
 "Failed to backup volume metadata - Metadata backup object "
 "'backup.%s.meta' already exists"
 msgstr ""
 
-#: cinder/tests/test_glusterfs.py:756
+#: cinder/tests/test_backup_swift.py:146 cinder/tests/test_backup_swift.py:171
+msgid "fake"
+msgstr ""
+
+#: cinder/tests/test_glusterfs.py:757
 msgid "umount: <mnt_path>: target is busy"
 msgstr ""
 
-#: cinder/tests/test_glusterfs.py:771
+#: cinder/tests/test_glusterfs.py:772
 msgid "umount: <mnt_path>: some other error"
 msgstr ""
 
-#: cinder/tests/test_glusterfs.py:902
+#: cinder/tests/test_glusterfs.py:903
 #, python-format
 msgid "umount: %s: not mounted"
 msgstr ""
 
-#: cinder/tests/test_glusterfs.py:914 cinder/tests/test_glusterfs.py:926
+#: cinder/tests/test_glusterfs.py:915 cinder/tests/test_glusterfs.py:927
 #, python-format
 msgid "umount: %s: target is busy"
 msgstr ""
 
-#: cinder/tests/test_ibm_xiv_ds8k.py:102
+#: cinder/tests/test_ibm_xiv_ds8k.py:121
 #, python-format
 msgid "Volume not found for instance %(instance_id)s."
 msgstr ""
 
-#: cinder/tests/test_misc.py:58
+#: cinder/tests/test_misc.py:59
 #, python-format
 msgid ""
 "The following migrations are missing a downgrade:\n"
 "\t%s"
 msgstr ""
 
-#: cinder/tests/test_netapp.py:1327
+#: cinder/tests/test_netapp.py:1328
 msgid "Error not a TypeError."
 msgstr ""
 
-#: cinder/tests/test_netapp.py:1336
+#: cinder/tests/test_netapp.py:1337
 msgid "Error not a KeyError."
 msgstr ""
 
-#: cinder/tests/test_netapp_nfs.py:362
+#: cinder/tests/test_netapp_nfs.py:363
 #, python-format
 msgid "Share %(share)s and file name %(file_name)s"
 msgstr ""
 
-#: cinder/tests/test_rbd.py:851 cinder/volume/drivers/rbd.py:175
+#: cinder/tests/test_rbd.py:927 cinder/volume/drivers/rbd.py:176
 msgid "flush() not supported in this version of librbd"
 msgstr ""
 
-#: cinder/tests/test_storwize_svc.py:252
+#: cinder/tests/test_storwize_svc.py:254
 #, python-format
 msgid "unrecognized argument %s"
 msgstr ""
 
-#: cinder/tests/test_volume_types.py:60
+#: cinder/tests/test_volume_types.py:61
 #, python-format
 msgid "Given data: %s"
 msgstr ""
 
-#: cinder/tests/test_volume_types.py:61
+#: cinder/tests/test_volume_types.py:62
 #, python-format
 msgid "Result data: %s"
 msgstr ""
 
-#: cinder/tests/api/contrib/test_backups.py:776
+#: cinder/tests/api/contrib/test_backups.py:777
 msgid "Invalid input"
 msgstr ""
 
-#: cinder/tests/brick/test_brick_remotefs.py:99
+#: cinder/tests/brick/test_brick_remotefs.py:100
 msgid "Unexpected call to _execute."
 msgstr ""
 
-#: cinder/tests/brick/test_brick_remotefs.py:132
+#: cinder/tests/brick/test_brick_remotefs.py:133
 msgid "mount failed."
 msgstr ""
 
-#: cinder/tests/integrated/api/client.py:34
+#: cinder/tests/integrated/api/client.py:35
 #, python-format
 msgid ""
 "%(message)s\n"
@@ -3333,377 +3334,372 @@ msgid ""
 "Body: %(_body)s"
 msgstr ""
 
-#: cinder/tests/integrated/api/client.py:44
+#: cinder/tests/integrated/api/client.py:45
 msgid "Authentication error"
 msgstr ""
 
-#: cinder/tests/integrated/api/client.py:52
+#: cinder/tests/integrated/api/client.py:53
 msgid "Authorization error"
 msgstr ""
 
-#: cinder/tests/integrated/api/client.py:60
+#: cinder/tests/integrated/api/client.py:61
 msgid "Item not found"
 msgstr ""
 
-#: cinder/tests/integrated/api/client.py:97
+#: cinder/tests/integrated/api/client.py:98
 #, python-format
 msgid "Doing %(method)s on %(relative_url)s"
 msgstr ""
 
-#: cinder/tests/integrated/api/client.py:100
+#: cinder/tests/integrated/api/client.py:101
 #, python-format
 msgid "Body: %s"
 msgstr ""
 
-#: cinder/tests/integrated/api/client.py:158
+#: cinder/tests/integrated/api/client.py:159
 msgid "Unexpected status code"
 msgstr ""
 
-#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:124
-#, python-format
-msgid "In Add GlobalVars._active_cfg: %s"
-msgstr ""
-
-#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:126
+#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:128
 #, python-format
 msgid "In Add GlobalVars._is_normal_test: %s"
 msgstr ""
 
-#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:128
+#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:130
 #, python-format
 msgid "In Add GlobalVars._zone_state: %s"
 msgstr ""
 
-#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:179
+#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:185
 #, python-format
 msgid "User: %s"
 msgstr ""
 
-#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:180
+#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:186
 #, python-format
 msgid "_zone_state: %s"
 msgstr ""
 
-#: cinder/transfer/api.py:67
+#: cinder/transfer/api.py:68
 msgid "Volume in unexpected state"
 msgstr ""
 
-#: cinder/transfer/api.py:105
+#: cinder/transfer/api.py:107
 msgid "status must be available"
 msgstr ""
 
-#: cinder/transfer/api.py:122
+#: cinder/transfer/api.py:124
 #, python-format
 msgid "Failed to create transfer record for %s"
 msgstr ""
 
-#: cinder/transfer/api.py:139
+#: cinder/transfer/api.py:141
 #, python-format
 msgid "Attempt to transfer %s with invalid auth key."
 msgstr ""
 
-#: cinder/transfer/api.py:159 cinder/volume/flows/api/create_volume.py:513
+#: cinder/transfer/api.py:161 cinder/volume/flows/api/create_volume.py:514
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to create %(s_size)sG volume "
 "(%(d_consumed)dG of %(d_quota)dG already consumed)"
 msgstr ""
 
-#: cinder/transfer/api.py:185
+#: cinder/transfer/api.py:187
 #, python-format
 msgid "Failed to update quota donating volumetransfer id %s"
 msgstr ""
 
-#: cinder/transfer/api.py:202
+#: cinder/transfer/api.py:204
 #, python-format
 msgid "Volume %s has been transferred."
 msgstr ""
 
-#: cinder/volume/api.py:158
+#: cinder/volume/api.py:159
 msgid ""
 "Invalid volume_type provided (requested type must match source volume, or"
 " be omitted). You should omit the argument."
 msgstr ""
 
-#: cinder/volume/api.py:165
+#: cinder/volume/api.py:166
 msgid ""
 "Invalid volume_type provided (requested type must match source snapshot, "
 "or be omitted). You should omit the argument."
 msgstr ""
 
-#: cinder/volume/api.py:202 cinder/volume/api.py:204
+#: cinder/volume/api.py:203 cinder/volume/api.py:205
 msgid "Failed to create api volume flow"
 msgstr ""
 
-#: cinder/volume/api.py:236
+#: cinder/volume/api.py:237
 msgid "Failed to update quota for deleting volume"
 msgstr ""
 
-#: cinder/volume/api.py:248
+#: cinder/volume/api.py:249
 #, python-format
 msgid "Volume status must be available or error, but current status is: %s"
 msgstr ""
 
-#: cinder/volume/api.py:258
+#: cinder/volume/api.py:259
 msgid "Volume cannot be deleted while migrating"
 msgstr ""
 
-#: cinder/volume/api.py:263
+#: cinder/volume/api.py:264
 #, python-format
 msgid "Volume still has %d dependent snapshots"
 msgstr ""
 
-#: cinder/volume/api.py:378
+#: cinder/volume/api.py:379
 msgid "Volume status must be available to reserve"
 msgstr ""
 
-#: cinder/volume/api.py:397
+#: cinder/volume/api.py:398
 #, python-format
 msgid ""
-"Unable to detach volume. Volume status must be 'in-use' and "
-"attached_status must be 'attached' to detach. Currently: status: "
-"'%(status)s', attach_status: '%(attach_status)s'"
+"Unable to detach volume. Volume status must be 'in-use' and attach_status"
+" must be 'attached' to detach. Currently: status: '%(status)s', "
+"attach_status: '%(attach_status)s'"
 msgstr ""
 
-#: cinder/volume/api.py:466
+#: cinder/volume/api.py:467
 msgid "Snapshot cannot be created while volume is migrating"
 msgstr ""
 
-#: cinder/volume/api.py:470
+#: cinder/volume/api.py:471
 msgid "must be available"
 msgstr ""
 
-#: cinder/volume/api.py:492
+#: cinder/volume/api.py:493
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to create %(s_size)sG snapshot "
 "(%(d_consumed)dG of %(d_quota)dG already consumed)"
 msgstr ""
 
-#: cinder/volume/api.py:504
+#: cinder/volume/api.py:505
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to create snapshot (%(d_consumed)d "
 "snapshots already consumed)"
 msgstr ""
 
-#: cinder/volume/api.py:555
+#: cinder/volume/api.py:556
 msgid "Volume Snapshot status must be available or error"
 msgstr ""
 
-#: cinder/volume/api.py:583 cinder/volume/flows/api/create_volume.py:212
+#: cinder/volume/api.py:584 cinder/volume/flows/api/create_volume.py:213
 msgid "Metadata property key blank"
 msgstr ""
 
-#: cinder/volume/api.py:587
+#: cinder/volume/api.py:588
 msgid "Metadata property key greater than 255 characters"
 msgstr ""
 
-#: cinder/volume/api.py:591
+#: cinder/volume/api.py:592
 msgid "Metadata property value greater than 255 characters"
 msgstr ""
 
-#: cinder/volume/api.py:722 cinder/volume/api.py:815
+#: cinder/volume/api.py:723 cinder/volume/api.py:816
 msgid "Volume status must be available/in-use."
 msgstr ""
 
-#: cinder/volume/api.py:725
+#: cinder/volume/api.py:726
 msgid "Volume status is in-use."
 msgstr ""
 
-#: cinder/volume/api.py:773
+#: cinder/volume/api.py:774
 msgid "Volume status must be available to extend."
 msgstr ""
 
-#: cinder/volume/api.py:778
+#: cinder/volume/api.py:779
 #, python-format
 msgid ""
 "New size for extend must be greater than current size. (current: "
 "%(size)s, extended: %(new_size)s)"
 msgstr ""
 
-#: cinder/volume/api.py:793
+#: cinder/volume/api.py:794
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to extend volume by %(s_size)sG, "
 "(%(d_consumed)dG of %(d_quota)dG already consumed)."
 msgstr ""
 
-#: cinder/volume/api.py:821
+#: cinder/volume/api.py:822
 msgid "Volume is already part of an active migration"
 msgstr ""
 
-#: cinder/volume/api.py:827
+#: cinder/volume/api.py:828
 msgid "volume must not have snapshots"
 msgstr ""
 
-#: cinder/volume/api.py:842
+#: cinder/volume/api.py:843
 #, python-format
 msgid "No available service named %s"
 msgstr ""
 
-#: cinder/volume/api.py:848
+#: cinder/volume/api.py:849
 msgid "Destination host must be different than current host"
 msgstr ""
 
-#: cinder/volume/api.py:878
+#: cinder/volume/api.py:879
 msgid "Source volume not mid-migration."
 msgstr ""
 
-#: cinder/volume/api.py:882
+#: cinder/volume/api.py:883
 msgid "Destination volume not mid-migration."
 msgstr ""
 
-#: cinder/volume/api.py:887
+#: cinder/volume/api.py:888
 #, python-format
 msgid "Destination has migration_status %(stat)s, expected %(exp)s."
 msgstr ""
 
-#: cinder/volume/api.py:898
+#: cinder/volume/api.py:899
 msgid "Volume status must be available to update readonly flag."
 msgstr ""
 
-#: cinder/volume/api.py:907
+#: cinder/volume/api.py:908
 #, python-format
 msgid "Unable to update type due to incorrect status on volume: %s"
 msgstr ""
 
-#: cinder/volume/api.py:913
+#: cinder/volume/api.py:914
 #, python-format
 msgid "Volume %s is already part of an active migration."
 msgstr ""
 
-#: cinder/volume/api.py:919
+#: cinder/volume/api.py:920
 #, python-format
 msgid "migration_policy must be 'on-demand' or 'never', passed: %s"
 msgstr ""
 
-#: cinder/volume/api.py:932
+#: cinder/volume/api.py:933
 #, python-format
 msgid "Invalid volume_type passed: %s"
 msgstr ""
 
-#: cinder/volume/api.py:945
+#: cinder/volume/api.py:946
 #, python-format
 msgid "New volume_type same as original: %s"
 msgstr ""
 
-#: cinder/volume/api.py:960
+#: cinder/volume/api.py:961
 msgid "Retype cannot change encryption requirements"
 msgstr ""
 
-#: cinder/volume/api.py:972
+#: cinder/volume/api.py:973
 msgid "Retype cannot change front-end qos specs for in-use volumes"
 msgstr ""
 
-#: cinder/volume/api.py:1004
+#: cinder/volume/api.py:1005
 msgid "Unable to find service for given host."
 msgstr ""
 
-#: cinder/volume/driver.py:203 cinder/volume/drivers/hds/nfs.py:351
-#: cinder/volume/drivers/netapp/nfs.py:176
+#: cinder/volume/driver.py:221 cinder/volume/drivers/hds/nfs.py:352
+#: cinder/volume/drivers/netapp/nfs.py:177
 #, python-format
 msgid "Recovering from a failed execute.  Try number %s"
 msgstr ""
 
-#: cinder/volume/driver.py:299 cinder/volume/driver.py:313
+#: cinder/volume/driver.py:246 cinder/volume/manager.py:860
+#, python-format
+msgid "Unable to terminate volume connection: %(err)s"
+msgstr ""
+
+#: cinder/volume/driver.py:255 cinder/volume/manager.py:869
+#, python-format
+msgid "Error detaching volume %(volume)s, due to remove export failure."
+msgstr ""
+
+#: cinder/volume/driver.py:328 cinder/volume/driver.py:342
 #, python-format
 msgid "Failed to attach volume %(vol)s"
 msgstr ""
 
-#: cinder/volume/driver.py:331
+#: cinder/volume/driver.py:360
 #, python-format
 msgid "Failed to copy volume %(src)s to %(dest)s."
 msgstr ""
 
-#: cinder/volume/driver.py:393 cinder/volume/manager.py:806
+#: cinder/volume/driver.py:422 cinder/volume/manager.py:801
 #, python-format
 msgid ""
 "Failed updating model of volume %(volume_id)s with driver provided model "
 "%(model)s"
 msgstr ""
 
-#: cinder/volume/driver.py:404 cinder/volume/manager.py:783
-#: cinder/volume/manager.py:814
+#: cinder/volume/driver.py:433 cinder/volume/manager.py:778
+#: cinder/volume/manager.py:809
 #, python-format
 msgid "Unable to fetch connection information from backend: %(err)s"
 msgstr ""
 
-#: cinder/volume/driver.py:410
+#: cinder/volume/driver.py:439
 #, python-format
 msgid "Error encountered during cleanup of a failed attach: %(ex)s"
 msgstr ""
 
-#: cinder/volume/driver.py:430
+#: cinder/volume/driver.py:459
 #, python-format
 msgid "Unable to access the backend storage via the path %(path)s."
 msgstr ""
 
-#: cinder/volume/driver.py:458 cinder/volume/manager.py:880
-#, python-format
-msgid "Unable to terminate volume connection: %(err)s"
-msgstr ""
-
-#: cinder/volume/driver.py:467 cinder/volume/manager.py:889
-#, python-format
-msgid "Error detaching volume %(volume)s, due to remove export failure."
-msgstr ""
-
-#: cinder/volume/driver.py:537
+#: cinder/volume/driver.py:530
 msgid "Extend volume not implemented"
 msgstr ""
 
-#: cinder/volume/driver.py:601 cinder/volume/driver.py:609
+#: cinder/volume/driver.py:594 cinder/volume/driver.py:602
 msgid "Manage existing volume not implemented."
 msgstr ""
 
-#: cinder/volume/driver.py:647 cinder/volume/drivers/emc/emc_smis_iscsi.py:151
+#: cinder/volume/driver.py:685 cinder/volume/drivers/emc/emc_smis_iscsi.py:152
 msgid "ISCSI provider_location not stored, using discovery"
 msgstr ""
 
-#: cinder/volume/driver.py:660
+#: cinder/volume/driver.py:698
 #, python-format
 msgid "ISCSI discovery attempt failed for:%s"
 msgstr ""
 
-#: cinder/volume/driver.py:709
+#: cinder/volume/driver.py:747
 #, python-format
 msgid "Could not find iSCSI export for volume %s"
 msgstr ""
 
-#: cinder/volume/driver.py:810
+#: cinder/volume/driver.py:849
 msgid "The volume driver requires the iSCSI initiator name in the connector."
 msgstr ""
 
-#: cinder/volume/driver.py:1068
+#: cinder/volume/driver.py:1107
 msgid "Driver must implement initialize_connection"
 msgstr ""
 
-#: cinder/volume/driver.py:1083
+#: cinder/volume/driver.py:1122
 #, python-format
 msgid ""
 "FibreChannelDriver validate_connector failed. No '%s'. Make sure HBA "
 "state is Online."
 msgstr ""
 
-#: cinder/volume/iscsi.py:67 cinder/volume/iscsi.py:93
-#: cinder/volume/iscsi.py:237
+#: cinder/volume/iscsi.py:69 cinder/volume/iscsi.py:95
+#: cinder/volume/iscsi.py:240
 #, python-format
 msgid "Skipping remove_export. No iscsi_target provisioned for volume: %s"
 msgstr ""
 
-#: cinder/volume/iscsi.py:82
+#: cinder/volume/iscsi.py:84
 #, python-format
 msgid ""
 "Skipping remove_export. No iscsi_target is presently exported for volume:"
 " %s"
 msgstr ""
 
-#: cinder/volume/iscsi.py:102
+#: cinder/volume/iscsi.py:104
 msgid "Detected inconsistency in provider_location id"
 msgstr ""
 
-#: cinder/volume/iscsi.py:255
+#: cinder/volume/iscsi.py:258
 #, python-format
 msgid "Skipping ensure_export. No iscsi_target provision for volume: %s"
 msgstr ""
@@ -3713,1066 +3709,1301 @@ msgstr ""
 msgid "Driver path %s is deprecated, update your configuration to the new path."
 msgstr ""
 
-#: cinder/volume/manager.py:205
-#, python-format
-msgid ""
-"Starting FC Zone Manager %(zm_version)s, Driver %(drv_name)s "
-"%(drv_version)s"
-msgstr ""
-
-#: cinder/volume/manager.py:211
+#: cinder/volume/manager.py:202
 #, python-format
 msgid "Starting volume driver %(driver_name)s (%(version)s)"
 msgstr ""
 
-#: cinder/volume/manager.py:218
+#: cinder/volume/manager.py:209
 #, python-format
 msgid "Error encountered during initialization of driver: %(name)s"
 msgstr ""
 
-#: cinder/volume/manager.py:240
+#: cinder/volume/manager.py:231
 #, python-format
 msgid "Failed to re-export volume %s: setting to error state"
 msgstr ""
 
-#: cinder/volume/manager.py:247
+#: cinder/volume/manager.py:238
 #, python-format
 msgid "volume %s stuck in a downloading state"
 msgstr ""
 
-#: cinder/volume/manager.py:254
+#: cinder/volume/manager.py:245
 #, python-format
 msgid "volume %s: skipping export"
 msgstr ""
 
-#: cinder/volume/manager.py:256
+#: cinder/volume/manager.py:247
 #, python-format
 msgid ""
 "Error encountered during re-exporting phase of driver initialization:  "
 "%(name)s"
 msgstr ""
 
-#: cinder/volume/manager.py:269
+#: cinder/volume/manager.py:260
 #, python-format
 msgid "Resuming delete on volume: %s"
 msgstr ""
 
-#: cinder/volume/manager.py:311 cinder/volume/manager.py:313
+#: cinder/volume/manager.py:302 cinder/volume/manager.py:304
 msgid "Failed to create manager volume flow"
 msgstr ""
 
-#: cinder/volume/manager.py:357
+#: cinder/volume/manager.py:348
 #, python-format
 msgid "Tried to delete volume %s, but it no longer exists, moving on"
 msgstr ""
 
-#: cinder/volume/manager.py:366
+#: cinder/volume/manager.py:357
 #, python-format
 msgid "volume %s: deleting"
 msgstr ""
 
-#: cinder/volume/manager.py:372
+#: cinder/volume/manager.py:363
 msgid "volume is not local to this node"
 msgstr ""
 
-#: cinder/volume/manager.py:389
+#: cinder/volume/manager.py:380
 #, python-format
 msgid "Cannot delete volume %s: volume is busy"
 msgstr ""
 
-#: cinder/volume/manager.py:416
+#: cinder/volume/manager.py:407
 msgid "Failed to update usages deleting volume"
 msgstr ""
 
-#: cinder/volume/manager.py:422
+#: cinder/volume/manager.py:413
 #, python-format
 msgid "volume %s: deleted successfully"
 msgstr ""
 
-#: cinder/volume/manager.py:439
+#: cinder/volume/manager.py:430
 #, python-format
 msgid "snapshot %s: creating"
 msgstr ""
 
-#: cinder/volume/manager.py:474
+#: cinder/volume/manager.py:465
 #, python-format
 msgid ""
 "Failed updating %(snapshot_id)s metadata using the provided volumes "
 "%(volume_id)s metadata"
 msgstr ""
 
-#: cinder/volume/manager.py:488
+#: cinder/volume/manager.py:479
 #, python-format
 msgid "snapshot %s: created successfully"
 msgstr ""
 
-#: cinder/volume/manager.py:500
+#: cinder/volume/manager.py:491
 #, python-format
 msgid "snapshot %s: deleting"
 msgstr ""
 
-#: cinder/volume/manager.py:518
+#: cinder/volume/manager.py:509
 #, python-format
 msgid "Cannot delete snapshot %s: snapshot is busy"
 msgstr ""
 
-#: cinder/volume/manager.py:548
+#: cinder/volume/manager.py:539
 msgid "Failed to update usages deleting snapshot"
 msgstr ""
 
-#: cinder/volume/manager.py:551
+#: cinder/volume/manager.py:542
 #, python-format
 msgid "snapshot %s: deleted successfully"
 msgstr ""
 
-#: cinder/volume/manager.py:571
+#: cinder/volume/manager.py:562
 msgid "being attached by another instance"
 msgstr ""
 
-#: cinder/volume/manager.py:575
+#: cinder/volume/manager.py:566
 msgid "being attached by another host"
 msgstr ""
 
-#: cinder/volume/manager.py:579
+#: cinder/volume/manager.py:570
 msgid "being attached by different mode"
 msgstr ""
 
-#: cinder/volume/manager.py:582
+#: cinder/volume/manager.py:574
 msgid "status must be available or attaching"
 msgstr ""
 
-#: cinder/volume/manager.py:675
+#: cinder/volume/manager.py:670
 #, python-format
 msgid "Error detaching volume %(volume)s, due to uninitialized driver."
 msgstr ""
 
-#: cinder/volume/manager.py:706
+#: cinder/volume/manager.py:701
 #, python-format
 msgid "Error occurred while uploading volume %(volume_id)s to image %(image_id)s."
 msgstr ""
 
-#: cinder/volume/manager.py:736
+#: cinder/volume/manager.py:731
 #, python-format
 msgid "Error occurred while deleting image %s."
 msgstr ""
 
-#: cinder/volume/manager.py:795
+#: cinder/volume/manager.py:790
 #, python-format
 msgid "Unable to create export for volume %(volume_id)s"
 msgstr ""
 
-#: cinder/volume/manager.py:936
-msgid "failed to create new_volume on destination host"
+#: cinder/volume/manager.py:898
+#, python-format
+msgid ""
+"Failed updating model of volume %(volume_id)s with drivers update "
+"%(model)s during xfr."
 msgstr ""
 
 #: cinder/volume/manager.py:939
+msgid "failed to create new_volume on destination host"
+msgstr ""
+
+#: cinder/volume/manager.py:942
 msgid "timeout creating new_volume on destination host"
 msgstr ""
 
-#: cinder/volume/manager.py:962
+#: cinder/volume/manager.py:965
 #, python-format
 msgid "Failed to copy volume %(vol1)s to %(vol2)s"
 msgstr ""
 
-#: cinder/volume/manager.py:991
+#: cinder/volume/manager.py:994
 #, python-format
 msgid ""
 "migrate_volume_completion: completing migration for volume %(vol1)s "
 "(temporary volume %(vol2)s"
 msgstr ""
 
-#: cinder/volume/manager.py:1003
+#: cinder/volume/manager.py:1006
 #, python-format
 msgid ""
 "migrate_volume_completion is cleaning up an error for volume %(vol1)s "
 "(temporary volume %(vol2)s"
 msgstr ""
 
-#: cinder/volume/manager.py:1022
+#: cinder/volume/manager.py:1027
 #, python-format
 msgid "Failed to delete migration source vol %(vol)s: %(err)s"
 msgstr ""
 
-#: cinder/volume/manager.py:1098
+#: cinder/volume/manager.py:1113
 msgid "Updating volume status"
 msgstr ""
 
-#: cinder/volume/manager.py:1106
+#: cinder/volume/manager.py:1121
 #, python-format
 msgid ""
 "Unable to update stats, %(driver_name)s -%(driver_version)s "
 "%(config_group)s driver is uninitialized."
 msgstr ""
 
-#: cinder/volume/manager.py:1128
+#: cinder/volume/manager.py:1143
 #, python-format
 msgid "Notification {%s} received"
 msgstr ""
 
-#: cinder/volume/manager.py:1163
+#: cinder/volume/manager.py:1178
 #, python-format
 msgid "volume %s: extending"
 msgstr ""
 
-#: cinder/volume/manager.py:1165
+#: cinder/volume/manager.py:1180
 #, python-format
 msgid "volume %s: extended successfully"
 msgstr ""
 
-#: cinder/volume/manager.py:1167
+#: cinder/volume/manager.py:1182
 #, python-format
 msgid "volume %s: Error trying to extend volume"
 msgstr ""
 
-#: cinder/volume/manager.py:1172
+#: cinder/volume/manager.py:1187
 #, python-format
 msgid "Volume %s: Error trying to extend volume"
 msgstr ""
 
-#: cinder/volume/manager.py:1232
+#: cinder/volume/manager.py:1247
 msgid "Failed to update usages while retyping volume."
 msgstr ""
 
-#: cinder/volume/manager.py:1233
+#: cinder/volume/manager.py:1248
 msgid "Failed to get old volume type quota reservations"
 msgstr ""
 
-#: cinder/volume/manager.py:1253
+#: cinder/volume/manager.py:1268
 #, python-format
 msgid "Volume %s: retyped successfully"
 msgstr ""
 
-#: cinder/volume/manager.py:1256
+#: cinder/volume/manager.py:1271
 #, python-format
 msgid ""
 "Volume %s: driver error when trying to retype, falling back to generic "
 "mechanism."
 msgstr ""
 
-#: cinder/volume/manager.py:1267
+#: cinder/volume/manager.py:1282
 msgid "Retype requires migration but is not allowed."
 msgstr ""
 
-#: cinder/volume/manager.py:1275
+#: cinder/volume/manager.py:1290
 msgid "Volume must not have snapshots."
 msgstr ""
 
-#: cinder/volume/manager.py:1311
+#: cinder/volume/manager.py:1326
 msgid "Failed to create manage_existing flow."
 msgstr ""
 
-#: cinder/volume/manager.py:1313
+#: cinder/volume/manager.py:1328
 msgid "Failed to create manage existing flow."
 msgstr ""
 
-#: cinder/volume/qos_specs.py:57
+#: cinder/volume/qos_specs.py:58
 #, python-format
 msgid "Valid consumer of QoS specs are: %s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:84 cinder/volume/qos_specs.py:105
-#: cinder/volume/qos_specs.py:155 cinder/volume/qos_specs.py:197
-#: cinder/volume/qos_specs.py:211 cinder/volume/qos_specs.py:225
-#: cinder/volume/volume_types.py:43
+#: cinder/volume/qos_specs.py:85 cinder/volume/qos_specs.py:106
+#: cinder/volume/qos_specs.py:156 cinder/volume/qos_specs.py:198
+#: cinder/volume/qos_specs.py:212 cinder/volume/qos_specs.py:226
+#: cinder/volume/volume_types.py:45
 #, python-format
 msgid "DB error: %s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:123 cinder/volume/qos_specs.py:140
-#: cinder/volume/qos_specs.py:272 cinder/volume/volume_types.py:52
-#: cinder/volume/volume_types.py:99
+#: cinder/volume/qos_specs.py:124 cinder/volume/qos_specs.py:141
+#: cinder/volume/qos_specs.py:274 cinder/volume/volume_types.py:54
+#: cinder/volume/volume_types.py:102
 msgid "id cannot be None"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:156
+#: cinder/volume/qos_specs.py:157
 #, python-format
 msgid "Failed to get all associations of qos specs %s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:189
+#: cinder/volume/qos_specs.py:190
 #, python-format
 msgid ""
 "Type %(type_id)s is already associated with another qos specs: "
 "%(qos_specs_id)s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:198
+#: cinder/volume/qos_specs.py:199
 #, python-format
 msgid "Failed to associate qos specs %(id)s with type: %(vol_type_id)s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:212
+#: cinder/volume/qos_specs.py:213
 #, python-format
 msgid "Failed to disassociate qos specs %(id)s with type: %(vol_type_id)s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:226
+#: cinder/volume/qos_specs.py:227
 #, python-format
 msgid "Failed to disassociate qos specs %s."
 msgstr ""
 
-#: cinder/volume/qos_specs.py:284 cinder/volume/volume_types.py:111
+#: cinder/volume/qos_specs.py:286 cinder/volume/volume_types.py:114
 msgid "name cannot be None"
 msgstr ""
 
-#: cinder/volume/utils.py:113
+#: cinder/volume/utils.py:116
 #, python-format
 msgid "Failed to get device number for read throttling: %(error)s"
 msgstr ""
 
-#: cinder/volume/utils.py:121
+#: cinder/volume/utils.py:124
 #, python-format
 msgid "Failed to get device number for write throttling: %(error)s"
 msgstr ""
 
-#: cinder/volume/utils.py:133
+#: cinder/volume/utils.py:136
 msgid "Failed to create blkio cgroup"
 msgstr ""
 
-#: cinder/volume/utils.py:144
+#: cinder/volume/utils.py:147
 #, python-format
 msgid "Failed to setup blkio cgroup to throttle the devices: '%(src)s','%(dst)s'"
 msgstr ""
 
-#: cinder/volume/utils.py:163
+#: cinder/volume/utils.py:166
 #, python-format
 msgid ""
 "Incorrect value error: %(blocksize)s, it may indicate that "
 "'volume_dd_blocksize' was configured incorrectly. Fall back to default."
 msgstr ""
 
-#: cinder/volume/utils.py:229
+#: cinder/volume/utils.py:232
 #, python-format
 msgid "Performing secure delete on volume: %s"
 msgstr ""
 
-#: cinder/volume/volume_types.py:130
+#: cinder/volume/volume_types.py:133
 #, python-format
 msgid ""
 "Default volume type is not found, please check default_volume_type "
 "config: %s"
 msgstr ""
 
-#: cinder/volume/drivers/block_device.py:141 cinder/volume/drivers/lvm.py:284
-#: cinder/volume/drivers/nexenta/nfs.py:190
+#: cinder/volume/drivers/block_device.py:142 cinder/volume/drivers/lvm.py:285
+#: cinder/volume/drivers/nexenta/nfs.py:191
 #, python-format
 msgid "Creating clone of volume: %s"
 msgstr ""
 
-#: cinder/volume/drivers/block_device.py:209
+#: cinder/volume/drivers/block_device.py:210
 msgid "No free disk"
 msgstr ""
 
-#: cinder/volume/drivers/block_device.py:222
+#: cinder/volume/drivers/block_device.py:223
 msgid "No big enough free disk"
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:84
+#: cinder/volume/drivers/coraid.py:85
 #, python-format
 msgid "Invalid ESM url scheme \"%s\". Supported https only."
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:111
+#: cinder/volume/drivers/coraid.py:112
 msgid "Invalid REST handle name. Expected path."
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:134
+#: cinder/volume/drivers/coraid.py:135
 #, python-format
 msgid "Call to json.loads() failed: %(ex)s. Response: %(resp)s"
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:244
+#: cinder/volume/drivers/coraid.py:245
 msgid "Reply is empty."
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:246
+#: cinder/volume/drivers/coraid.py:247
 msgid "Error message is empty."
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:385
+#: cinder/volume/drivers/coraid.py:386
 msgid "Cannot create clone volume in different repository."
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:169
+#: cinder/volume/drivers/eqlx.py:171
 msgid "Error executing EQL command"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:199
+#: cinder/volume/drivers/eqlx.py:202
 #, python-format
 msgid "EQL-driver: executing \"%s\""
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:208
+#: cinder/volume/drivers/eqlx.py:211
 #, python-format
 msgid "SSH Command failed after '%(total_attempts)r' attempts : '%(command)s'"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:215 cinder/volume/drivers/san/san.py:148
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:414
+#: cinder/volume/drivers/eqlx.py:218 cinder/volume/drivers/san/san.py:151
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:417
 #, python-format
 msgid "Error running SSH command: %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:300
+#: cinder/volume/drivers/eqlx.py:325
 #, python-format
 msgid "EQL-driver: Setup is complete, group IP is %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:304
+#: cinder/volume/drivers/eqlx.py:329
 msgid "Failed to setup the Dell EqualLogic driver"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:320
+#: cinder/volume/drivers/eqlx.py:346
 #, python-format
 msgid "Failed to create volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:329
+#: cinder/volume/drivers/eqlx.py:356
+#, python-format
+msgid "Failed to add multi-host access for volume %s"
+msgstr ""
+
+#: cinder/volume/drivers/eqlx.py:366
 #, python-format
 msgid "Volume %s was not found while trying to delete it"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:333
+#: cinder/volume/drivers/eqlx.py:370
 #, python-format
 msgid "Failed to delete volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:348
+#: cinder/volume/drivers/eqlx.py:385
 #, python-format
 msgid "Failed to create snapshot of volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:361
+#: cinder/volume/drivers/eqlx.py:399
 #, python-format
 msgid "Failed to create volume from snapshot %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:374
+#: cinder/volume/drivers/eqlx.py:413
 #, python-format
 msgid "Failed to create clone of volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:384
+#: cinder/volume/drivers/eqlx.py:423
 #, python-format
 msgid "Failed to delete snapshot %(snap)s of volume %(vol)s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:405
+#: cinder/volume/drivers/eqlx.py:444
 #, python-format
 msgid "Failed to initialize connection to volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:415
+#: cinder/volume/drivers/eqlx.py:458
 #, python-format
 msgid "Failed to terminate connection to volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:436
+#: cinder/volume/drivers/eqlx.py:479
 #, python-format
 msgid "Volume %s is not found!, it may have been deleted"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:440
+#: cinder/volume/drivers/eqlx.py:483
 #, python-format
 msgid "Failed to ensure export of volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:459
+#: cinder/volume/drivers/eqlx.py:502
 #, python-format
 msgid "Failed to extend_volume %(name)s from %(current_size)sGB to %(new_size)sGB"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:102
+#: cinder/volume/drivers/glusterfs.py:103
 #, python-format
 msgid "There's no Gluster config file configured (%s)"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:107
+#: cinder/volume/drivers/glusterfs.py:108
 #, python-format
 msgid "Gluster config file at %(config)s doesn't exist"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:119
+#: cinder/volume/drivers/glusterfs.py:120
 msgid "mount.glusterfs is not installed"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:131
+#: cinder/volume/drivers/glusterfs.py:132
 #, python-format
 msgid "Exception during unmounting %s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:140
+#: cinder/volume/drivers/glusterfs.py:141
 #, python-format
 msgid "%s is already umounted"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:142
+#: cinder/volume/drivers/glusterfs.py:143
 #, python-format
 msgid "Failed to umount %(share)s, reason=%(stderr)s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:151
+#: cinder/volume/drivers/glusterfs.py:152
 #, python-format
 msgid "Failed to refresh mounts, reason=%s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:210
+#: cinder/volume/drivers/glusterfs.py:211
 #, python-format
 msgid "Cloning volume %(src)s to volume %(dst)s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:215
+#: cinder/volume/drivers/glusterfs.py:216
 msgid "Volume status must be 'available'."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:251 cinder/volume/drivers/nfs.py:141
-#: cinder/volume/drivers/netapp/nfs.py:787
+#: cinder/volume/drivers/glusterfs.py:252 cinder/volume/drivers/nfs.py:142
+#: cinder/volume/drivers/netapp/nfs.py:788
 #, python-format
 msgid "casted to %s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:265
+#: cinder/volume/drivers/glusterfs.py:266
 msgid "Snapshot status must be \"available\" to clone."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:324 cinder/volume/drivers/nfs.py:191
+#: cinder/volume/drivers/glusterfs.py:325 cinder/volume/drivers/nfs.py:192
 #, python-format
 msgid "Volume %s does not have provider_location specified, skipping"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:432
+#: cinder/volume/drivers/glusterfs.py:433
 #, python-format
 msgid "Volume status must be \"available\" or \"in-use\" for snapshot. (is %s)"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:464
+#: cinder/volume/drivers/glusterfs.py:465
 msgid "Call to Nova to create snapshot failed"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:486
+#: cinder/volume/drivers/glusterfs.py:487
 msgid "Nova returned \"error\" status while creating snapshot."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:503
+#: cinder/volume/drivers/glusterfs.py:504
 #, python-format
 msgid "Timed out while waiting for Nova update for creation of snapshot %s."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:593
+#: cinder/volume/drivers/glusterfs.py:594
 msgid "'active' must be present when writing snap_info."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:627
+#: cinder/volume/drivers/glusterfs.py:628
 msgid "Volume status must be \"available\" or \"in-use\"."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:643
+#: cinder/volume/drivers/glusterfs.py:644
 #, python-format
 msgid ""
 "Snapshot record for %s is not present, allowing snapshot_delete to "
 "proceed."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:669
+#: cinder/volume/drivers/glusterfs.py:670
 #, python-format
 msgid "No backing file found for %s, allowing snapshot to be deleted."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:746
+#: cinder/volume/drivers/glusterfs.py:747
 #, python-format
 msgid "No file found with %s as backing file."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:756
+#: cinder/volume/drivers/glusterfs.py:757
 #, python-format
 msgid "No snap found with %s as backing file."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:793
+#: cinder/volume/drivers/glusterfs.py:794
 #, python-format
 msgid "Check condition failed: %s expected to be None."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:844
+#: cinder/volume/drivers/glusterfs.py:845
 msgid "Call to Nova delete snapshot failed"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:868
+#: cinder/volume/drivers/glusterfs.py:869
 #, python-format
 msgid "Unable to delete snapshot %(id)s, status: %(status)s."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:881
+#: cinder/volume/drivers/glusterfs.py:882
 #, python-format
 msgid "Timed out while waiting for Nova update for deletion of snapshot %(id)s."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:906
+#: cinder/volume/drivers/glusterfs.py:907
 #, python-format
 msgid "Deleting stale snapshot: %s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:987
+#: cinder/volume/drivers/glusterfs.py:988
 #, python-format
 msgid "%s must be a valid raw or qcow2 image."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1051
+#: cinder/volume/drivers/glusterfs.py:1052
 msgid "Extend volume is only supported for this driver when no snapshots exist."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1059
+#: cinder/volume/drivers/glusterfs.py:1060
 #, python-format
 msgid "Unrecognized backing format: %s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1077
+#: cinder/volume/drivers/glusterfs.py:1078
 #, python-format
 msgid "file already exists at %s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1103 cinder/volume/drivers/nfs.py:178
+#: cinder/volume/drivers/glusterfs.py:1104 cinder/volume/drivers/nfs.py:179
 #, python-format
 msgid "Exception during mounting %s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1122
+#: cinder/volume/drivers/glusterfs.py:1123
 #, python-format
 msgid ""
 "GlusterFS share at %(dir)s is not writable by the Cinder volume service. "
 "Snapshot operations will not be supported."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1228
+#: cinder/volume/drivers/glusterfs.py:1229
 msgid "Backup is not supported for GlusterFS volumes with snapshots."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1243
+#: cinder/volume/drivers/glusterfs.py:1244
 #, python-format
 msgid ""
 "No snapshots found in database, but %(path)s has backing file "
 "%(backing_file)s!"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1251
+#: cinder/volume/drivers/glusterfs.py:1252
 msgid "Backup is only supported for raw-formatted GlusterFS volumes."
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:152
+#: cinder/volume/drivers/lvm.py:153
 #, python-format
 msgid "Volume device file path %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:159
+#: cinder/volume/drivers/lvm.py:160
 #, python-format
 msgid "Size for volume: %s not found, cannot secure delete."
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:229
+#: cinder/volume/drivers/lvm.py:230
 #, python-format
 msgid "Unabled to delete due to existing snapshot for volume: %s"
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:246
+#: cinder/volume/drivers/lvm.py:247
 #, python-format
 msgid "snapshot: %s not found, skipping delete operations"
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:347
+#: cinder/volume/drivers/lvm.py:349
 #, python-format
 msgid "Unable to update stats on non-initialized Volume Group: %s"
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:403
+#: cinder/volume/drivers/lvm.py:405
 #, python-format
 msgid "Failed to rename logical volume %(name)s, error message was: %(err_msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:419
-msgid "Reference must contain lv_name element."
+#: cinder/volume/drivers/lvm.py:421 cinder/volume/drivers/rbd.py:906
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:366
+msgid "Reference must contain source-name element."
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:436
+#: cinder/volume/drivers/lvm.py:438 cinder/volume/drivers/rbd.py:930
 #, python-format
 msgid ""
 "Failed to manage existing volume %(name)s, because reported size %(size)s"
 " was not a floating-point number."
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:506
+#: cinder/volume/drivers/lvm.py:508
 #, python-format
 msgid "Error creating iSCSI target, retrying creation for target: %s"
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:576
+#: cinder/volume/drivers/lvm.py:579
 #, python-format
 msgid "Destination Volume Group %s does not exist"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:282
+#: cinder/volume/drivers/nfs.py:283
 #, python-format
 msgid "Expected volume size was %d"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:283
+#: cinder/volume/drivers/nfs.py:284
 #, python-format
 msgid " but size is now %d"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:380
+#: cinder/volume/drivers/nfs.py:381
 #, python-format
 msgid "%s is already mounted"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:432
+#: cinder/volume/drivers/nfs.py:433
 #, python-format
 msgid "There's no NFS config file configured (%s)"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:437
+#: cinder/volume/drivers/nfs.py:438
 #, python-format
 msgid "NFS config file at %(config)s doesn't exist"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:442
+#: cinder/volume/drivers/nfs.py:443
 #, python-format
 msgid "NFS config 'nfs_oversub_ratio' invalid.  Must be > 0: %s"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:450
+#: cinder/volume/drivers/nfs.py:451
 #, python-format
 msgid "NFS config 'nfs_used_ratio' invalid.  Must be > 0 and <= 1.0: %s"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:576 cinder/volume/drivers/ibm/ibmnas.py:197
-#: cinder/volume/drivers/netapp/nfs.py:611
+#: cinder/volume/drivers/nfs.py:577 cinder/volume/drivers/ibm/ibmnas.py:198
+#: cinder/volume/drivers/netapp/nfs.py:612
 #, python-format
 msgid "Extending volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:584
+#: cinder/volume/drivers/nfs.py:585
 #, python-format
 msgid "Resizing file to %sG..."
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:74
-msgid "Volumes will be chunked into objects of this size (in megabytes)."
+#: cinder/volume/drivers/nimble.py:63
+msgid "Nimble Cinder Driver exception"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:77
-msgid ""
-"Timeout value (in seconds) used when connecting to ceph cluster. If value"
-" < 0, no timeout is set and default librados value is used."
+#: cinder/volume/drivers/nimble.py:67
+msgid "Unexpected response from Nimble API"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:160
+#: cinder/volume/drivers/nimble.py:90
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:88
 #, python-format
-msgid "Invalid argument - whence=%s not supported"
-msgstr ""
-
-#: cinder/volume/drivers/rbd.py:164
-msgid "Invalid argument"
-msgstr ""
-
-#: cinder/volume/drivers/rbd.py:183
-msgid "fileno() not supported by RBD()"
+msgid "%s is not set."
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:213
+#: cinder/volume/drivers/nimble.py:100
 #, python-format
-msgid "error opening rbd image %s"
+msgid "Exploring array subnet label %s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:269
-msgid "rados and rbd python libraries not found"
-msgstr ""
-
-#: cinder/volume/drivers/rbd.py:275
-msgid "error connecting to ceph cluster"
+#: cinder/volume/drivers/nimble.py:104
+#, python-format
+msgid "Discovery ip %(disc_ip)s is used on data subnet %(net_label)s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:367 cinder/volume/drivers/sheepdog.py:178
-msgid "error refreshing volume stats"
+#: cinder/volume/drivers/nimble.py:111
+#, python-format
+msgid "Discovery ip %(disc_ip)s is found on mgmt+data subnet %(net_label)s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:398
+#: cinder/volume/drivers/nimble.py:118
 #, python-format
-msgid "clone depth exceeds limit of %s"
+msgid "Discovery ip %(disc_ip)s is used on subnet %(net_label)s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:615
+#: cinder/volume/drivers/nimble.py:124
 #, python-format
-msgid "volume %s no longer exists in backend"
+msgid "Discovery ip %s is used on mgmt+data subnet"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:651
-msgid ""
-"ImageBusy error raised while deleting rbd volume. This may have been "
-"caused by a connection from a client that has crashed and, if so, may be "
-"resolved by retrying the delete after 30 seconds has elapsed."
+#: cinder/volume/drivers/nimble.py:128
+msgid "No suitable discovery ip found"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:730
-msgid "Not stored in rbd"
+#: cinder/volume/drivers/nimble.py:140
+msgid ""
+"Failed to create SOAP client.Check san_ip, username, password and make "
+"sure the array version is compatible"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:734
-msgid "Blank components"
+#: cinder/volume/drivers/nimble.py:153
+#, python-format
+msgid "vol_name=%(name)s provider_location=%(loc)s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:737
-msgid "Not an rbd snapshot"
+#: cinder/volume/drivers/nimble.py:248
+msgid "SpaceInfo returned byarray is invalid"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:753
+#: cinder/volume/drivers/nimble.py:277
 #, python-format
-msgid "%s is in a different ceph cluster"
+msgid "Entering extend_volume volume=%(vol)s new_size=%(size)s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:758
-msgid "rbd image clone requires image format to be 'raw' but image {0} is '{1}'"
+#: cinder/volume/drivers/nimble.py:294
+#, python-format
+msgid "Creating initiator group %(grp)s with initiator %(iname)s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:867 cinder/volume/drivers/sheepdog.py:195
+#: cinder/volume/drivers/nimble.py:306
 #, python-format
-msgid "Failed to Extend Volume %(volname)s"
+msgid "igroup %(grp)s found for initiator %(iname)s"
 msgstr ""
 
-#: cinder/volume/drivers/scality.py:67
-msgid "Value required for 'scality_sofs_config'"
+#: cinder/volume/drivers/nimble.py:310
+#, python-format
+msgid "No igroup found for initiator %s"
 msgstr ""
 
-#: cinder/volume/drivers/scality.py:78
+#: cinder/volume/drivers/nimble.py:315
 #, python-format
-msgid "Cannot access 'scality_sofs_config': %s"
+msgid ""
+"Entering initialize_connection volume=%(vol)s connector=%(conn)s "
+"location=%(loc)s"
 msgstr ""
 
-#: cinder/volume/drivers/scality.py:84
-msgid "Cannot execute /sbin/mount.sofs"
+#: cinder/volume/drivers/nimble.py:326
+#, python-format
+msgid "Initiator group name is %(grp)s for initiator %(iname)s"
 msgstr ""
 
-#: cinder/volume/drivers/scality.py:105
-msgid "Cannot mount Scality SOFS, check syslog for errors"
+#: cinder/volume/drivers/nimble.py:343
+#, python-format
+msgid ""
+"Entering terminate_connection volume=%(vol)s connector=%(conn)s "
+"location=%(loc)s."
 msgstr ""
 
-#: cinder/volume/drivers/scality.py:139
+#: cinder/volume/drivers/nimble.py:353
 #, python-format
-msgid "Cannot find volume dir for Scality SOFS at '%s'"
+msgid "No initiator group found for initiator %s"
 msgstr ""
 
-#: cinder/volume/drivers/sheepdog.py:59
+#: cinder/volume/drivers/nimble.py:370
 #, python-format
-msgid "Sheepdog is not working: %s"
+msgid "API %(name)s failed with error string %(err)s"
 msgstr ""
 
-#: cinder/volume/drivers/sheepdog.py:64
-msgid "Sheepdog is not working"
+#: cinder/volume/drivers/nimble.py:389
+msgid "Session might have expired. Trying to relogin"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:149
+#: cinder/volume/drivers/nimble.py:394
 #, python-format
-msgid ""
-"Failed to make httplib connection SolidFire Cluster: %s (verify san_ip "
-"settings)"
+msgid "Re-throwing Exception %s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:152
+#: cinder/volume/drivers/nimble.py:450
 #, python-format
-msgid "Failed to make httplib connection: %s"
+msgid "Successful login by user %s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:159
+#: cinder/volume/drivers/nimble.py:478
 #, python-format
 msgid ""
-"Request to SolidFire cluster returned bad status: %(status)s / %(reason)s"
-" (check san_login/san_password settings)"
+"Creating a new volume=%(vol)s size=%(size)s reserve=%(reserve)s in "
+"pool=%(pool)s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:164
+#: cinder/volume/drivers/nimble.py:500
 #, python-format
-msgid "HTTP request failed, with status: %(status)s and reason: %(reason)s"
+msgid "Successfully create volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:175
+#: cinder/volume/drivers/nimble.py:519
 #, python-format
-msgid "Call to json.loads() raised an exception: %s"
+msgid "Adding ACL to volume=%(vol)s with initiator group name %(igrp)s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:185
+#: cinder/volume/drivers/nimble.py:534
 #, python-format
-msgid "Clone operation encountered: %s"
+msgid "Removing ACL from volume=%(vol)s for initiator group %(igrp)s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:187
+#: cinder/volume/drivers/nimble.py:548
 #, python-format
-msgid "Waiting for outstanding operation before retrying snapshot: %s"
+msgid "Getting volume information for vol_name=%s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:193
+#: cinder/volume/drivers/nimble.py:555
 #, python-format
-msgid "Detected xDBVersionMismatch, retry %s of 5"
+msgid "Successfully got volume information for volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:200
-#: cinder/volume/drivers/solidfire.py:269
-#: cinder/volume/drivers/solidfire.py:364
+#: cinder/volume/drivers/nimble.py:563
 #, python-format
-msgid "API response: %s"
+msgid "Setting volume %(vol)s to online_flag %(flag)s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:313
+#: cinder/volume/drivers/nimble.py:573
 #, python-format
-msgid "Failed to retrieve volume SolidFire-ID: %s in get_by_account!"
-msgstr ""
-
-#: cinder/volume/drivers/solidfire.py:396
-msgid "Failed to get model update from clone"
+msgid "Setting snapshot %(snap)s to online_flag %(flag)s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:408
+#: cinder/volume/drivers/nimble.py:584
 #, python-format
-msgid "Failed volume create: %s"
+msgid "Dissociating volume %s "
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:423
+#: cinder/volume/drivers/nimble.py:593
 #, python-format
-msgid "More than one valid preset was detected, using %s"
+msgid "Deleting volume %s "
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:458
+#: cinder/volume/drivers/nimble.py:612
 #, python-format
-msgid "Failed to get SolidFire Volume: %s"
+msgid ""
+"Creating snapshot for volume_name=%(vol)s snap_name=%(name)s "
+"snap_description=%(desc)s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:476
+#: cinder/volume/drivers/nimble.py:627
 #, python-format
-msgid "Volume %s, not found on SF Cluster."
+msgid "Deleting snapshot %s "
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:479
+#: cinder/volume/drivers/nimble.py:641
 #, python-format
-msgid "Found %(count)s volumes mapped to id: %(uuid)s."
+msgid ""
+"Cloning volume from snapshot volume=%(vol)s snapshot=%(snap)s "
+"clone=%(clone)s snap_size=%(size)sreserve=%(reserve)s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:552
+#: cinder/volume/drivers/nimble.py:666
 #, python-format
-msgid "Account for Volume ID %s was not found on the SolidFire Cluster!"
+msgid "Editing Volume %(vol)s with mask %(mask)s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:554
-msgid "This usually means the volume was never successfully created."
+#: cinder/volume/drivers/nimble.py:676
+msgid "Getting getInitiatorGrpList"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:567
-#, python-format
-msgid "Failed to delete SolidFire Volume: %s"
+#: cinder/volume/drivers/nimble.py:683
+msgid "Successfully retrieved InitiatorGrpList"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:570
-#: cinder/volume/drivers/solidfire.py:644
-#: cinder/volume/drivers/solidfire.py:708
-#: cinder/volume/drivers/solidfire.py:733
+#: cinder/volume/drivers/nimble.py:691
 #, python-format
-msgid "Volume ID %s was not found on the SolidFire Cluster!"
+msgid "Creating initiator group %(igrp)s with one initiator %(iname)s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:671
-msgid "Failed to get updated stats"
+#: cinder/volume/drivers/nimble.py:704
+#, python-format
+msgid "Deleting deleteInitiatorGrp %s "
 msgstr ""
 
-#: cinder/volume/drivers/zadara.py:408 cinder/volume/drivers/zadara.py:531
-#, python-format
-msgid "Volume %(name)s could not be found. It might be already deleted"
+#: cinder/volume/drivers/pure.py:130 cinder/volume/drivers/pure.py:152
+#: cinder/volume/drivers/pure.py:234
+msgid "Disconnection failed with message: {}"
 msgstr ""
 
-#: cinder/volume/drivers/zadara.py:445 cinder/volume/drivers/zadara.py:490
-#: cinder/volume/drivers/zadara.py:516
-#, python-format
-msgid "Volume %(name)s not found"
+#: cinder/volume/drivers/pure.py:181
+msgid "iSCSI discovery of port {0[name]} at {0[portal]} failed with error: {1}"
 msgstr ""
 
-#: cinder/volume/drivers/zadara.py:464
-#, python-format
-msgid "snapshot: original volume %s not found, skipping delete operation"
+#: cinder/volume/drivers/pure.py:200
+msgid "Using port {0[name]} on the array at {0[portal]} for iSCSI connectivity."
 msgstr ""
 
-#: cinder/volume/drivers/zadara.py:472
-#, python-format
-msgid "snapshot: snapshot %s not found, skipping delete operation"
+#: cinder/volume/drivers/pure.py:204
+msgid "No reachable iSCSI-enabled ports on target array."
 msgstr ""
 
-#: cinder/volume/drivers/zadara.py:496
-#, python-format
-msgid "Snapshot %(name)s not found"
+#: cinder/volume/drivers/pure.py:219
+msgid "No host object on target array with IQN: "
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_cli_iscsi.py:125
-#, python-format
-msgid "iSCSI provider_location not stored for volume %s, using discovery."
+#: cinder/volume/drivers/pure.py:309
+msgid ""
+"Unable to find usable REST API version. Response from Pure Storage REST "
+"API: "
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_cli_iscsi.py:165
-#: cinder/volume/drivers/emc/emc_smis_iscsi.py:190
-#, python-format
-msgid "Could not find iSCSI export  for volume %s"
+#: cinder/volume/drivers/pure.py:324
+msgid "Unable to connect to {0!r}. Check san_ip."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_cli_iscsi.py:176
-#: cinder/volume/drivers/emc/emc_smis_iscsi.py:199
-#, python-format
-msgid "Cannot find device number for volume %s"
+#: cinder/volume/drivers/pure.py:331
+msgid "Response not in JSON: "
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_cli_iscsi.py:209
-#, python-format
-msgid "ISCSI endpoint not found for SP %(sp)s "
+#: cinder/volume/drivers/pure.py:343
+msgid ""
+"All REST API versions supported by this version of the Pure Storage iSCSI"
+" driver are unavailable on array."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_cli_iscsi.py:241
-#, python-format
-msgid "update_volume_status:%s"
+#: cinder/volume/drivers/rbd.py:75
+msgid "Volumes will be chunked into objects of this size (in megabytes)."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:40
+#: cinder/volume/drivers/rbd.py:78
 msgid ""
-"Module PyWBEM not installed.  Install PyWBEM using the python-pywbem "
-"package."
+"Timeout value (in seconds) used when connecting to ceph cluster. If value"
+" < 0, no timeout is set and default librados value is used."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:86
+#: cinder/volume/drivers/rbd.py:161
 #, python-format
-msgid "Create Volume: %(volume)s  Size: %(size)lu"
+msgid "Invalid argument - whence=%s not supported"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:110
-#, python-format
-msgid ""
-"Error Create Volume: %(volumename)s. Storage Configuration Service not "
-"found for pool %(storage_type)s."
+#: cinder/volume/drivers/rbd.py:165
+msgid "Invalid argument"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:143
-#, python-format
-msgid ""
-"Error Create Volume: %(volumename)s.  Return code: %(rc)lu.  Error: "
-"%(error)s"
+#: cinder/volume/drivers/rbd.py:184
+msgid "fileno() not supported by RBD()"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:181
+#: cinder/volume/drivers/rbd.py:214
+#, python-format
+msgid "error opening rbd image %s"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:270
+msgid "rados and rbd python libraries not found"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:276
+msgid "error connecting to ceph cluster"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:368 cinder/volume/drivers/sheepdog.py:179
+msgid "error refreshing volume stats"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:399
+#, python-format
+msgid "clone depth exceeds limit of %s"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:616
+#, python-format
+msgid "volume %s no longer exists in backend"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:652
+msgid ""
+"ImageBusy error raised while deleting rbd volume. This may have been "
+"caused by a connection from a client that has crashed and, if so, may be "
+"resolved by retrying the delete after 30 seconds has elapsed."
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:731
+msgid "Not stored in rbd"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:735
+msgid "Blank components"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:738
+msgid "Not an rbd snapshot"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:754
+#, python-format
+msgid "%s is in a different ceph cluster"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:759
+msgid "rbd image clone requires image format to be 'raw' but image {0} is '{1}'"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:868 cinder/volume/drivers/sheepdog.py:196
+#, python-format
+msgid "Failed to Extend Volume %(volname)s"
+msgstr ""
+
+#: cinder/volume/drivers/scality.py:68
+msgid "Value required for 'scality_sofs_config'"
+msgstr ""
+
+#: cinder/volume/drivers/scality.py:79
+#, python-format
+msgid "Cannot access 'scality_sofs_config': %s"
+msgstr ""
+
+#: cinder/volume/drivers/scality.py:85
+msgid "Cannot execute /sbin/mount.sofs"
+msgstr ""
+
+#: cinder/volume/drivers/scality.py:106
+msgid "Cannot mount Scality SOFS, check syslog for errors"
+msgstr ""
+
+#: cinder/volume/drivers/scality.py:140
+#, python-format
+msgid "Cannot find volume dir for Scality SOFS at '%s'"
+msgstr ""
+
+#: cinder/volume/drivers/sheepdog.py:60
+#, python-format
+msgid "Sheepdog is not working: %s"
+msgstr ""
+
+#: cinder/volume/drivers/sheepdog.py:65
+msgid "Sheepdog is not working"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:150
+#, python-format
+msgid ""
+"Failed to make httplib connection SolidFire Cluster: %s (verify san_ip "
+"settings)"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:153
+#, python-format
+msgid "Failed to make httplib connection: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:160
+#, python-format
+msgid ""
+"Request to SolidFire cluster returned bad status: %(status)s / %(reason)s"
+" (check san_login/san_password settings)"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:165
+#, python-format
+msgid "HTTP request failed, with status: %(status)s and reason: %(reason)s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:176
+#, python-format
+msgid "Call to json.loads() raised an exception: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:186
+#, python-format
+msgid "Clone operation encountered: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:188
+#, python-format
+msgid "Waiting for outstanding operation before retrying snapshot: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:194
+#, python-format
+msgid "Detected xDBVersionMismatch, retry %s of 5"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:201
+#: cinder/volume/drivers/solidfire.py:270
+#: cinder/volume/drivers/solidfire.py:365
+#, python-format
+msgid "API response: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:314
+#, python-format
+msgid "Failed to retrieve volume SolidFire-ID: %s in get_by_account!"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:397
+msgid "Failed to get model update from clone"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:409
+#, python-format
+msgid "Failed volume create: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:424
+#, python-format
+msgid "More than one valid preset was detected, using %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:459
+#, python-format
+msgid "Failed to get SolidFire Volume: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:477
+#, python-format
+msgid "Volume %s, not found on SF Cluster."
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:480
+#, python-format
+msgid "Found %(count)s volumes mapped to id: %(uuid)s."
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:553
+#, python-format
+msgid "Account for Volume ID %s was not found on the SolidFire Cluster!"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:555
+msgid "This usually means the volume was never successfully created."
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:568
+#, python-format
+msgid "Failed to delete SolidFire Volume: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:571
+#: cinder/volume/drivers/solidfire.py:645
+#: cinder/volume/drivers/solidfire.py:709
+#: cinder/volume/drivers/solidfire.py:734
+#, python-format
+msgid "Volume ID %s was not found on the SolidFire Cluster!"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:672
+msgid "Failed to get updated stats"
+msgstr ""
+
+#: cinder/volume/drivers/zadara.py:409 cinder/volume/drivers/zadara.py:532
+#, python-format
+msgid "Volume %(name)s could not be found. It might be already deleted"
+msgstr ""
+
+#: cinder/volume/drivers/zadara.py:446 cinder/volume/drivers/zadara.py:491
+#: cinder/volume/drivers/zadara.py:517
+#, python-format
+msgid "Volume %(name)s not found"
+msgstr ""
+
+#: cinder/volume/drivers/zadara.py:465
+#, python-format
+msgid "snapshot: original volume %s not found, skipping delete operation"
+msgstr ""
+
+#: cinder/volume/drivers/zadara.py:473
+#, python-format
+msgid "snapshot: snapshot %s not found, skipping delete operation"
+msgstr ""
+
+#: cinder/volume/drivers/zadara.py:497
+#, python-format
+msgid "Snapshot %(name)s not found"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_smis_common.py:41
+msgid ""
+"Module PyWBEM not installed.  Install PyWBEM using the python-pywbem "
+"package."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_smis_common.py:87
+#, python-format
+msgid "Create Volume: %(volume)s  Size: %(size)lu"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_smis_common.py:111
+#, python-format
+msgid ""
+"Error Create Volume: %(volumename)s. Storage Configuration Service not "
+"found for pool %(storage_type)s."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_smis_common.py:144
+#, python-format
+msgid ""
+"Error Create Volume: %(volumename)s.  Return code: %(rc)lu.  Error: "
+"%(error)s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_smis_common.py:182
 #, python-format
 msgid ""
 "Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
 "%(snapshotname)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:201
+#: cinder/volume/drivers/emc/emc_smis_common.py:202
 #, python-format
 msgid ""
 "Error Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
 "%(snapshotname)s. Create Volume from Snapshot is NOT supported on VMAX."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:212
+#: cinder/volume/drivers/emc/emc_smis_common.py:213
 #, python-format
 msgid ""
 "Error Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
@@ -4780,572 +5011,746 @@ msgid ""
 "snapshot."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:242
+#: cinder/volume/drivers/emc/emc_smis_common.py:243
 #, python-format
 msgid ""
 "Error Create Volume from Snapshot: Volume: %(volumename)s  "
-"Snapshot:%(snapshotname)s.  Return code: %(rc)lu.Error: %(error)s"
+"Snapshot:%(snapshotname)s.  Return code: %(rc)lu. Error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:305
+#: cinder/volume/drivers/emc/emc_smis_common.py:306
 #, python-format
 msgid ""
 "Error Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
 "%(snapshotname)s.  Return code: %(rc)lu.  Error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:333
+#: cinder/volume/drivers/emc/emc_smis_common.py:335
 #, python-format
 msgid ""
 "Create a Clone from Volume: Volume: %(volumename)s  Source Volume: "
 "%(srcname)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:353
+#: cinder/volume/drivers/emc/emc_smis_common.py:355
 #, python-format
 msgid ""
 "Error Create Cloned Volume: Volume: %(volumename)s  Source Volume: "
 "%(srcname)s. Cannot find Replication Service to create cloned volume."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:383
+#: cinder/volume/drivers/emc/emc_smis_common.py:385
 #, python-format
 msgid ""
 "Error Create Cloned Volume: Volume: %(volumename)s  Source "
 "Volume:%(srcname)s.  Return code: %(rc)lu.Error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:446
+#: cinder/volume/drivers/emc/emc_smis_common.py:448
 #, python-format
 msgid ""
 "Error Create Cloned Volume: Volume: %(volumename)s  Source Volume: "
 "%(srcname)s.  Return code: %(rc)lu.  Error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:471
+#: cinder/volume/drivers/emc/emc_smis_common.py:474
 #, python-format
 msgid "Delete Volume: %(volume)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:478
+#: cinder/volume/drivers/emc/emc_smis_common.py:481
 #, python-format
 msgid "Volume %(name)s not found on the array. No volume to delete."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:488
+#: cinder/volume/drivers/emc/emc_smis_common.py:491
 #, python-format
 msgid ""
 "Error Delete Volume: %(volumename)s. Storage Configuration Service not "
 "found."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:514
+#: cinder/volume/drivers/emc/emc_smis_common.py:517
 #, python-format
 msgid ""
 "Error Delete Volume: %(volumename)s.  Return code: %(rc)lu.  Error: "
 "%(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:534
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:278
+#: cinder/volume/drivers/emc/emc_smis_common.py:538
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1705
 #, python-format
 msgid "Create snapshot: %(snapshot)s: volume: %(volume)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:551
-#: cinder/volume/drivers/emc/emc_smis_common.py:553
-#: cinder/volume/drivers/emc/emc_smis_common.py:639
+#: cinder/volume/drivers/emc/emc_smis_common.py:555
+#: cinder/volume/drivers/emc/emc_smis_common.py:557
+#: cinder/volume/drivers/emc/emc_smis_common.py:644
 #, python-format
 msgid "Cannot find Replication Service to create snapshot for volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:583
+#: cinder/volume/drivers/emc/emc_smis_common.py:587
 #, python-format
 msgid ""
 "Error Create Snapshot: %(snapshot)s Volume: %(volume)s Error: "
 "%(errordesc)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:617
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:306
+#: cinder/volume/drivers/emc/emc_smis_common.py:622
 #, python-format
 msgid "Delete Snapshot: %(snapshot)s: volume: %(volume)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:631
+#: cinder/volume/drivers/emc/emc_smis_common.py:636
 #, python-format
 msgid ""
 "Snapshot: %(snapshot)s: volume: %(volume)s not found on the array. No "
 "snapshot to delete."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:671
+#: cinder/volume/drivers/emc/emc_smis_common.py:676
 #, python-format
 msgid ""
 "Error Delete Snapshot: Volume: %(volumename)s  Snapshot: "
-"%(snapshotname)s. Return code: %(rc)lu. Error: %(error)s"
+"%(snapshotname)s. Return code: %(rc)lu.  Error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:696
-#: cinder/volume/drivers/emc/emc_smis_common.py:711
+#: cinder/volume/drivers/emc/emc_smis_common.py:701
+#: cinder/volume/drivers/emc/emc_smis_common.py:716
 #, python-format
 msgid "Snapshot: %(snapshot)s: volume: %(volume)s. Snapshot is deleted."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:703
+#: cinder/volume/drivers/emc/emc_smis_common.py:708
 #, python-format
 msgid ""
 "Snapshot: %(snapshot)s: volume: %(volume)s. Snapshot deleted but cleanup "
 "timed out."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:716
+#: cinder/volume/drivers/emc/emc_smis_common.py:721
 #, python-format
 msgid ""
 "Snapshot: %(snapshot)s: volume: %(volume)s. Snapshot deleted but error "
 "during cleanup. Error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:771
+#: cinder/volume/drivers/emc/emc_smis_common.py:776
 #, python-format
 msgid "Error mapping volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:804
+#: cinder/volume/drivers/emc/emc_smis_common.py:809
 #, python-format
 msgid "Error unmapping volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:836
+#: cinder/volume/drivers/emc/emc_smis_common.py:841
 #, python-format
 msgid "Error mapping volume %(vol)s. %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:867
+#: cinder/volume/drivers/emc/emc_smis_common.py:872
 #, python-format
 msgid "Error unmapping volume %(vol)s. %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:878
+#: cinder/volume/drivers/emc/emc_smis_common.py:883
 #, python-format
 msgid "Map volume: %(volume)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:887
-#: cinder/volume/drivers/emc/emc_smis_common.py:917
+#: cinder/volume/drivers/emc/emc_smis_common.py:892
+#: cinder/volume/drivers/emc/emc_smis_common.py:922
 #, python-format
 msgid "Cannot find Controller Configuration Service for storage system %s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:901
+#: cinder/volume/drivers/emc/emc_smis_common.py:906
 #, python-format
 msgid "Unmap volume: %(volume)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:907
+#: cinder/volume/drivers/emc/emc_smis_common.py:912
 #, python-format
 msgid "Volume %s is not mapped. No volume to unmap."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:931
+#: cinder/volume/drivers/emc/emc_smis_common.py:936
 #, python-format
 msgid "Initialize connection: %(volume)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:937
+#: cinder/volume/drivers/emc/emc_smis_common.py:942
 #, python-format
 msgid "Volume %s is already mapped."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:949
+#: cinder/volume/drivers/emc/emc_smis_common.py:954
 #, python-format
 msgid "Terminate connection: %(volume)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:960
+#: cinder/volume/drivers/emc/emc_smis_common.py:965
 #, python-format
 msgid "Extend Volume: %(volume)s  New size: %(size)lu"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:980
+#: cinder/volume/drivers/emc/emc_smis_common.py:985
 #, python-format
 msgid ""
 "Error Extend Volume: %(volumename)s. Storage Configuration Service not "
 "found."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1011
+#: cinder/volume/drivers/emc/emc_smis_common.py:1016
 #, python-format
 msgid ""
 "Error Extend Volume: %(volumename)s.  Return code: %(rc)lu.  Error: "
 "%(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1063
+#: cinder/volume/drivers/emc/emc_smis_common.py:1068
 msgid "Storage type not found."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1153
+#: cinder/volume/drivers/emc/emc_smis_common.py:1158
 msgid "Cannot connect to ECOM server"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1248
+#: cinder/volume/drivers/emc/emc_smis_common.py:1253
 #, python-format
 msgid "Pool %(storage_type)s is not found."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1254
+#: cinder/volume/drivers/emc/emc_smis_common.py:1259
 #, python-format
 msgid "Storage system not found for pool %(storage_type)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1353
+#: cinder/volume/drivers/emc/emc_smis_common.py:1358
 #, python-format
 msgid "Error finding %s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1472
+#: cinder/volume/drivers/emc/emc_smis_common.py:1477
 #, python-format
 msgid ""
 "Volume %(name)s not found on the array. Cannot determine if there are "
 "volumes mapped."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1592
+#: cinder/volume/drivers/emc/emc_smis_common.py:1597
 #, python-format
 msgid "Device number not found for volume %(volumename)s %(vol_instance)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1720
+#: cinder/volume/drivers/emc/emc_smis_common.py:1725
 msgid "Error finding Storage Hardware ID Service."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1738
+#: cinder/volume/drivers/emc/emc_smis_common.py:1743
 msgid "Error finding Target WWNs."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_iscsi.py:236
+#: cinder/volume/drivers/emc/emc_smis_iscsi.py:191
+#, python-format
+msgid "Could not find iSCSI export  for volume %s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_smis_iscsi.py:200
+#, python-format
+msgid "Cannot find device number for volume %s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_smis_iscsi.py:237
 #, python-format
 msgid "ISCSI endpoint not found for SP %(sp)s on storage system %(storage)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:77
-msgid "Pool name is not specified."
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:199
+#, python-format
+msgid "naviseccli_path: Could not find NAVISECCLI tool %(path)s."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:209
+msgid "san_secondary_ip is configured as the same value as san_ip."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:98
-msgid "Could not find NAVISECCLI tool."
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:213
+msgid "san_ip: Mandatory field configuration. san_ip is not set."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:107
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:227
 #, python-format
-msgid "Failed to find pool %s"
+msgid "Invalid VNX authentication type: %s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:129
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:234
 #, python-format
-msgid "Create Volume: %(volume)s  Size: %(size)s"
+msgid "Using security file in %s for authentication"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:242
+msgid "Plain text credentials are being used for authentication"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:245
+msgid ""
+"Neither security file nor plain text credentials are specified. Security "
+"file under home directory will be used for authentication if present."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:151
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:254
 #, python-format
-msgid "Volume %s already exists"
+msgid "iscsi_initiators: %s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:153
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:308
 #, python-format
-msgid "Failed to create %(volumename)s: %(out)s"
+msgid "Failed to enable compression on lun: %s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:167
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:317
 #, python-format
-msgid "LUN %s failed to become Ready"
+msgid "LUN already exists, LUN name %(name)s. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:190
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:335
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:345
 #, python-format
-msgid "Failed to destroy %s"
+msgid "LUN is already deleted, LUN name %(name)s. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:214
-msgid ""
-"The LUN cannot be expanded or shrunk because it has snapshots. Command to"
-" extend the specified volume failed."
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:371
+#, python-format
+msgid "CommandLineHelper._wait_for_condition: %s timeout"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:220
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:392
 #, python-format
-msgid "Failed to expand %s"
+msgid "LUN %(name)s is already expanded. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:240
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:268
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:450
 #, python-format
-msgid "Failed to list %s"
+msgid "Snapshot %(name)s already exists. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:296
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:456
 #, python-format
-msgid "Failed to create snap %s"
+msgid "Failed to get LUN ID for volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:328
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:470
 #, python-format
-msgid "Snapshot %s is in use"
+msgid "Snapshot %(name)s may deleted already. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:330
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:477
 #, python-format
-msgid "Failed to destroy %s  because snapshot is in use."
+msgid "Snapshot %(name)s is in use, retry. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:360
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:484
 #, python-format
-msgid "Creating Destination Volume : %s "
+msgid "Snapshot %s was deleted successfully."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:377
-msgid "Command to create the destination volume failed"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:504
+#, python-format
+msgid "Mount point %(name)s already exists. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:395
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:523
 #, python-format
-msgid "Failed to create SMP %s"
+msgid ""
+"Snapshot %(snapname)s is attached to snapshot mount point %(mpname)s "
+"already. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:413
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:577
 #, python-format
-msgid "Failed to attach snapshotname %s"
+msgid ""
+"Migration command may get network timeout. Double check whether migration"
+" in fact started successfully. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:420
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:588
 #, python-format
-msgid "Migrating Mount Point Volume: %s "
+msgid "Start migration failed. Message: %s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:614
+msgid "Querying migrating status error."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:437
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:671
 #, python-format
-msgid "Failed to start migrating SMP %s"
+msgid "Storage group %(name)s already exists. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:451
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:688
 #, python-format
-msgid "Waiting for the update on Sync status of %s"
+msgid ""
+"Storage group %(name)s doesn't exist, may have already been deleted. "
+"Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:454
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:720
 #, python-format
-msgid "Failed to really migrate %s"
+msgid ""
+"Host %(host)s has already disconnected from storage group %(sgname)s. "
+"Message: %(msg)s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:740
+#, python-format
+msgid ""
+"LUN %(lun)s has already added to Storage Group %(sgname)s. Message: "
+"%(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:482
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:760
 #, python-format
-msgid "Failed to create cloned volume %s"
+msgid "HLU %(hlu)s has already been removed from %(sgname)s. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:510
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:851
 #, python-format
-msgid "Failed to create SG %s"
+msgid "Invalid value for %(key)s, value is %(value)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:528
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:894
 #, python-format
-msgid "Failed to connect %s"
+msgid "Error happened during storage pool querying, %s."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:915
+msgid "No array serial number returned, set as unknown."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:545
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1094
 #, python-format
-msgid "NO LUNs in the storagegroup : %s "
+msgid "See unavailable iSCSI target: %s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:603
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1221
 #, python-format
+msgid "Toggle storage_vnx_ip_adress from %(old)s to %(new)s."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1300
+msgid ""
+"destroy_empty_storage_group: True. Empty storage group will be deleted "
+"after volume is detached."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1304
 msgid ""
-"The storage group has reached the maximum capacity of LUNs. Command to "
-"add LUN for volume - %s in storagegroup failed"
+"initiator_auto_registration: False. Initiator auto registration is not "
+"enabled. Please register initiator manually."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:613
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1337
 #, python-format
 msgid ""
-"Unable to get new host lun id. Please check if the storage group can "
-"accommodate new LUN. Command to add LUN for volume - %s in storagegroup "
-"failed"
+"Create Volume: %(volume)s  Size: %(size)s pool: %(pool)s provisioning: "
+"%(provisioning)s tiering: %(tiering)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:637
-msgid "Requested Host LUN Number already in use"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1385
+msgid "The given extra_spec or valid_values is None."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:640
-msgid "LUN was already added in the storage group"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1387
+#, python-format
+msgid "The extra_spec: %s is invalid."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1413
+msgid "deduplicated and auto tiering can't be both enabled."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:644
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1417
+msgid "Compression Enabler is not installed. Can not create compressed volume."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1423
+msgid "Deduplication Enabler is not installed. Can not create deduplicated volume"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1429
+msgid "ThinProvisioning Enabler is not installed. Can not create thin volume"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1434
+msgid "FAST VP Enabler is not installed. Can't set tiering policy for the volume"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1463
+msgid ""
+"Failed to get target_pool_name and target_array_serial. 'location_info' "
+"is not in host['capabilities']."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1476
+msgid "Error on parsing target_pool_name/target_array_serial."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1594
+msgid "Storage-assisted migration failed during retype."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1717
 #, python-format
-msgid "Failed to add %s into SG"
+msgid "Delete Snapshot: %(snapshot)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:663
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1748
 #, python-format
-msgid "Failed to remove %(hlu)s from %(sg)s"
+msgid "Command to create the temporary Volume %s failed"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:684
-msgid "Could not locate the attached volume."
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1833
+#, python-format
+msgid "Storage Group %s is not found. Create it."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:731
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1875
 #, python-format
-msgid "Invalid value of extra spec 'storagetype:provisioning': %(provisioning)s"
+msgid "Host %s has no iSCSI initiator"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:735
-msgid "No extra spec 'storagetype:provisioning' exist"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1886
+#, python-format
+msgid "Host %s has no FC initiators"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1923
+#, python-format
+msgid "Get ISCSI targets %(tg)s to register initiator %(in)s."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1948
+#, python-format
+msgid "Get FC targets %(tg)s to register initiator %(in)s."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2039
+#, python-format
+msgid ""
+"Reach limitation set by configuration option max_luns_per_storage_group. "
+"Operation to add %(vol)s into Storage Group %(sg)s is rejected."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2063
+#, python-format
+msgid "Failed to add %(vol)s into %(sg)s after %(retries)s tries."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2099
+#, python-format
+msgid "Failed to find an available iSCSI targets for %s."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2163
+#, python-format
+msgid "Storage Group %s is not found. terminate_connection() is unnecessary."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2171
+#, python-format
+msgid "Volume %s is not found. It has probably been removed in VNX."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2179
+#, python-format
+msgid "Volume %(vol)s was not in Storage Group %(sg)s."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2187
+#, python-format
+msgid "Storage Group %s was empty, destroy it."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2197
+#, python-format
+msgid "Failed to destroy Storage Group %s."
 msgstr ""
 
-#: cinder/volume/drivers/hds/hds.py:93 cinder/volume/drivers/hds/iscsi.py:71
-#: cinder/volume/drivers/hds/nfs.py:61
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2223
+msgid "Reference must contain lun_id element."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2231
+msgid "Find no lun with the specified lun_id."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2292
+#, python-format
+msgid "Storage pool %s is not supported by this Cinder Volume"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2316
+msgid "Error parsing output for FastCache Command."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2356
+msgid "The input lun is not in a manageable pool backend by cinder"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2384
+#, python-format
+msgid "Failed to find storage pool for source volume %s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2396
+#, python-format
+msgid "Failed to find storage pool to create volume %s."
+msgstr ""
+
+#: cinder/volume/drivers/hds/hds.py:94 cinder/volume/drivers/hds/iscsi.py:72
+#: cinder/volume/drivers/hds/nfs.py:62
 #, python-format
 msgid "%(element)s: %(val)s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/hds.py:104 cinder/volume/drivers/hds/hds.py:106
-#: cinder/volume/drivers/hds/iscsi.py:82 cinder/volume/drivers/hds/iscsi.py:84
-#: cinder/volume/drivers/hds/nfs.py:72 cinder/volume/drivers/hds/nfs.py:74
+#: cinder/volume/drivers/hds/hds.py:105 cinder/volume/drivers/hds/hds.py:107
+#: cinder/volume/drivers/hds/iscsi.py:83 cinder/volume/drivers/hds/iscsi.py:85
+#: cinder/volume/drivers/hds/nfs.py:73 cinder/volume/drivers/hds/nfs.py:75
 #, python-format
 msgid "XML exception reading parameter: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/hds.py:179
+#: cinder/volume/drivers/hds/hds.py:180
 #, python-format
 msgid "portal: %(ip)s:%(ipp)s, CTL: %(ctl)s, port: %(port)s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/hds.py:198 cinder/volume/drivers/hds/iscsi.py:269
-#: cinder/volume/drivers/hds/nfs.py:191
+#: cinder/volume/drivers/hds/hds.py:199 cinder/volume/drivers/hds/iscsi.py:270
+#: cinder/volume/drivers/hds/nfs.py:192
 #, python-format
 msgid "No configuration found for service: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/hds.py:251 cinder/volume/drivers/hds/iscsi.py:347
+#: cinder/volume/drivers/hds/hds.py:252 cinder/volume/drivers/hds/iscsi.py:348
 #, python-format
 msgid "HDP not found: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/hds.py:290 cinder/volume/drivers/hds/iscsi.py:394
+#: cinder/volume/drivers/hds/hds.py:291 cinder/volume/drivers/hds/iscsi.py:395
 #, python-format
 msgid "iSCSI portal not found for service: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:145
+#: cinder/volume/drivers/hds/iscsi.py:146
 #, python-format
 msgid "Backend type: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:203
+#: cinder/volume/drivers/hds/iscsi.py:204
 #, python-format
 msgid "Using default: instead of %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:204
-#: cinder/volume/drivers/hds/iscsi.py:267 cinder/volume/drivers/hds/nfs.py:189
+#: cinder/volume/drivers/hds/iscsi.py:205
+#: cinder/volume/drivers/hds/iscsi.py:268 cinder/volume/drivers/hds/nfs.py:190
 #, python-format
 msgid "Available services: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:216
+#: cinder/volume/drivers/hds/iscsi.py:217
 #, python-format
 msgid "Retrieving secret for service: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:250
+#: cinder/volume/drivers/hds/iscsi.py:251
 #, python-format
 msgid "Retrieving target for service: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:309
+#: cinder/volume/drivers/hds/iscsi.py:310
 #, python-format
 msgid "stats: stats: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:332
+#: cinder/volume/drivers/hds/iscsi.py:333
 #, python-format
 msgid "HDP list: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:383
+#: cinder/volume/drivers/hds/iscsi.py:384
 #, python-format
 msgid "do_setup: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:387
+#: cinder/volume/drivers/hds/iscsi.py:388
 #, python-format
 msgid "iSCSI portal found for service: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:440
+#: cinder/volume/drivers/hds/iscsi.py:441
 #, python-format
 msgid "create_volume: create_lu returns %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:446
+#: cinder/volume/drivers/hds/iscsi.py:447
 #, python-format
 msgid "LUN %(lun)s of size %(sz)s MB is created."
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:497
+#: cinder/volume/drivers/hds/iscsi.py:498
 #, python-format
 msgid "LUN %(lun)s extended to %(size)s GB."
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:679
+#: cinder/volume/drivers/hds/iscsi.py:680
 #, python-format
 msgid "Array mismatch %(myid)s vs %(arid)s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:215 cinder/volume/drivers/ibm/ibmnas.py:183
-#: cinder/volume/drivers/netapp/nfs.py:485
+#: cinder/volume/drivers/hds/nfs.py:216 cinder/volume/drivers/ibm/ibmnas.py:184
+#: cinder/volume/drivers/netapp/nfs.py:486
 #, python-format
 msgid "Resizing file to %sG"
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:218
+#: cinder/volume/drivers/hds/nfs.py:219
 #, python-format
 msgid "LUN %(id)s extended to %(size)s GB."
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:223 cinder/volume/drivers/netapp/nfs.py:491
+#: cinder/volume/drivers/hds/nfs.py:224 cinder/volume/drivers/netapp/nfs.py:492
 msgid "Resizing image file failed."
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:244
+#: cinder/volume/drivers/hds/nfs.py:245
 #, python-format
 msgid ""
 "Cannot create volume of size %(vol_size)s from snapshot of size "
 "%(snap_size)s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:378
+#: cinder/volume/drivers/hds/nfs.py:379
 #, python-format
 msgid ""
 "Cannot create clone of size %(vol_size)s from volume of size "
 "%(src_vol_size)s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:423
+#: cinder/volume/drivers/hds/nfs.py:424
 #, python-format
 msgid ""
 "nfs_info: %(key)s: %(path)s, HDP:                         %(fslabel)s "
 "FSID: %(hdp)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/__init__.py:58
+#: cinder/volume/drivers/huawei/__init__.py:59
 msgid "_instantiate_driver: configuration not found."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/__init__.py:85
+#: cinder/volume/drivers/huawei/__init__.py:86
 #, python-format
 msgid ""
 "\"Product\" or \"Protocol\" is illegal. \"Product\" should be set to "
@@ -5353,118 +5758,118 @@ msgid ""
 "FC. Product: %(product)s Protocol: %(protocol)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_t.py:159
-#: cinder/volume/drivers/huawei/rest_common.py:1278
+#: cinder/volume/drivers/huawei/huawei_t.py:161
+#: cinder/volume/drivers/huawei/rest_common.py:1279
 #, python-format
 msgid ""
 "_get_iscsi_params: Failed to get target IP for initiator %(ini)s, please "
 "check config file."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_t.py:248
+#: cinder/volume/drivers/huawei/huawei_t.py:250
 #, python-format
 msgid ""
 "_get_iscsi_tgt_port_info: Failed to get iSCSI port info. Please make sure"
 " the iSCSI port IP %s is configured in array."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_t.py:351
+#: cinder/volume/drivers/huawei/huawei_t.py:353
 #, python-format
 msgid "_remove_iscsi_port: iSCSI port was not found on host %(hostid)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_t.py:436
+#: cinder/volume/drivers/huawei/huawei_t.py:438
 msgid "validate_connector: The FC driver requires thewwpns in the connector."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_t.py:578
+#: cinder/volume/drivers/huawei/huawei_t.py:582
 #, python-format
 msgid "_remove_fc_ports: FC port was not found on host %(hostid)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_utils.py:40
+#: cinder/volume/drivers/huawei/huawei_utils.py:41
 #, python-format
 msgid "parse_xml_file: %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:75
+#: cinder/volume/drivers/huawei/rest_common.py:76
 #, python-format
 msgid "Bad response from server: %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:82
+#: cinder/volume/drivers/huawei/rest_common.py:83
 msgid "JSON transfer error"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:102
+#: cinder/volume/drivers/huawei/rest_common.py:103
 #, python-format
 msgid "Login error, reason is %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:166
+#: cinder/volume/drivers/huawei/rest_common.py:167
 #, python-format
 msgid ""
 "%(err)s\n"
 "result: %(res)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:173
+#: cinder/volume/drivers/huawei/rest_common.py:174
 #, python-format
 msgid "%s \"data\" was not in result."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:208
+#: cinder/volume/drivers/huawei/rest_common.py:209
 msgid "Can't find the Qos policy in array"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:246
+#: cinder/volume/drivers/huawei/rest_common.py:247
 msgid "Can't find lun or lun group in array"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:280
+#: cinder/volume/drivers/huawei/rest_common.py:281
 #, python-format
 msgid "Invalid resource pool: %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:298
+#: cinder/volume/drivers/huawei/rest_common.py:299
 #, python-format
 msgid "Get pool info error, pool name is:%s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:688
+#: cinder/volume/drivers/huawei/rest_common.py:689
 #, python-format
 msgid "JSON transfer data error. %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:937
+#: cinder/volume/drivers/huawei/rest_common.py:938
 #, python-format
 msgid ""
 "Config file is wrong. LUNType must be \"Thin\" or \"Thick\". "
 "LUNType:%(fetchtype)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:964
+#: cinder/volume/drivers/huawei/rest_common.py:965
 #, python-format
 msgid ""
 "PrefetchType config is wrong. PrefetchType must in 1,2,3,4. fetchtype "
 "is:%(fetchtype)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:982
+#: cinder/volume/drivers/huawei/rest_common.py:983
 #, python-format
 msgid ""
 "_wait_for_luncopy:LUNcopy status is not normal.LUNcopy name: "
 "%(luncopyname)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1056
+#: cinder/volume/drivers/huawei/rest_common.py:1057
 #, python-format
 msgid ""
 "_get_iscsi_port_info: Failed to get iscsi port info through config IP "
 "%(ip)s, please check config file."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1157
+#: cinder/volume/drivers/huawei/rest_common.py:1158
 #, python-format
 msgid ""
 "_parse_volume_type: Unacceptable parameter %(key)s. Please check this key"
@@ -5472,57 +5877,57 @@ msgid ""
 "%(conf)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1225
+#: cinder/volume/drivers/huawei/rest_common.py:1226
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1239
-#: cinder/volume/drivers/huawei/ssh_common.py:118
-#: cinder/volume/drivers/huawei/ssh_common.py:1263
+#: cinder/volume/drivers/huawei/rest_common.py:1240
+#: cinder/volume/drivers/huawei/ssh_common.py:120
+#: cinder/volume/drivers/huawei/ssh_common.py:1266
 #, python-format
 msgid "_check_conf_file: Config file invalid. %s must be set."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1246
-#: cinder/volume/drivers/huawei/ssh_common.py:125
+#: cinder/volume/drivers/huawei/rest_common.py:1247
+#: cinder/volume/drivers/huawei/ssh_common.py:127
 msgid "_check_conf_file: Config file invalid. StoragePool must be set."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1256
+#: cinder/volume/drivers/huawei/rest_common.py:1257
 #, python-format
 msgid ""
 "_check_conf_file: Config file invalid. Host OSType invalid.\n"
 "The valid values are: %(os_list)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1300
+#: cinder/volume/drivers/huawei/rest_common.py:1301
 msgid "Can not find lun in array"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:54
+#: cinder/volume/drivers/huawei/ssh_common.py:56
 #, python-format
 msgid "ssh_read: Read SSH timeout. %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:70
+#: cinder/volume/drivers/huawei/ssh_common.py:72
 msgid "No response message. Please check system status."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:135
-#: cinder/volume/drivers/huawei/ssh_common.py:1285
+#: cinder/volume/drivers/huawei/ssh_common.py:137
+#: cinder/volume/drivers/huawei/ssh_common.py:1288
 #, python-format
 msgid ""
 "_check_conf_file: Config file invalid. Host OSType is invalid.\n"
 "The valid values are: %(os_list)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:169
+#: cinder/volume/drivers/huawei/ssh_common.py:171
 #, python-format
 msgid "_get_login_info: %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:279
+#: cinder/volume/drivers/huawei/ssh_common.py:281
 #, python-format
 msgid ""
 "_parse_volume_type: Unacceptable parameter %(key)s. Please check this key"
@@ -5530,78 +5935,78 @@ msgid ""
 "file %(conf)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:373
-#: cinder/volume/drivers/huawei/ssh_common.py:1449
+#: cinder/volume/drivers/huawei/ssh_common.py:375
+#: cinder/volume/drivers/huawei/ssh_common.py:1452
 #, python-format
 msgid "LUNType must be \"Thin\" or \"Thick\". LUNType:%(type)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:419
+#: cinder/volume/drivers/huawei/ssh_common.py:421
 #, python-format
 msgid ""
 "_get_maximum_capacity_pool_id: Failed to get pool id. Please check config"
 " file and make sure the StoragePool %s is created in storage array."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:464
+#: cinder/volume/drivers/huawei/ssh_common.py:467
 #, python-format
 msgid ""
 "_execute_cli: Can not connect to IP %(old)s, try to connect to the other "
 "IP %(new)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:499
+#: cinder/volume/drivers/huawei/ssh_common.py:502
 #, python-format
 msgid "_execute_cli: %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:514
+#: cinder/volume/drivers/huawei/ssh_common.py:517
 #, python-format
 msgid "delete_volume: Volume %(name)s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:578
+#: cinder/volume/drivers/huawei/ssh_common.py:581
 #, python-format
 msgid "create_volume_from_snapshot: Snapshot %(name)s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:648
+#: cinder/volume/drivers/huawei/ssh_common.py:651
 #, python-format
 msgid "_wait_for_luncopy: LUNcopy %(luncopyname)s status is %(status)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:695
+#: cinder/volume/drivers/huawei/ssh_common.py:698
 #, python-format
 msgid "Source volume %(name)s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:745
+#: cinder/volume/drivers/huawei/ssh_common.py:748
 #, python-format
 msgid "extend_volume: volume %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:783
+#: cinder/volume/drivers/huawei/ssh_common.py:786
 msgid "create_snapshot: Resource pool needs 1GB valid size at least."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:790
+#: cinder/volume/drivers/huawei/ssh_common.py:793
 #, python-format
 msgid "create_snapshot: Volume %(name)s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:863
+#: cinder/volume/drivers/huawei/ssh_common.py:866
 #, python-format
 msgid ""
 "delete_snapshot: Can not delete snapshot %s for it is a source LUN of "
 "LUNCopy."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:871
+#: cinder/volume/drivers/huawei/ssh_common.py:874
 #, python-format
 msgid "delete_snapshot: Snapshot %(snap)s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:914
+#: cinder/volume/drivers/huawei/ssh_common.py:917
 #, python-format
 msgid ""
 "%(func)s: %(msg)s\n"
@@ -5609,572 +6014,573 @@ msgid ""
 "CLI out: %(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:931
+#: cinder/volume/drivers/huawei/ssh_common.py:934
 #, python-format
 msgid "map_volume: Volume %s was not found."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1100
+#: cinder/volume/drivers/huawei/ssh_common.py:1103
 #, python-format
 msgid "remove_map: Host %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1104
+#: cinder/volume/drivers/huawei/ssh_common.py:1107
 #, python-format
 msgid "remove_map: Volume %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1117
+#: cinder/volume/drivers/huawei/ssh_common.py:1120
 #, python-format
 msgid "remove_map: No map between host %(host)s and volume %(volume)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1144
+#: cinder/volume/drivers/huawei/ssh_common.py:1147
 #, python-format
 msgid ""
 "_delete_map: Failed to delete host map %(mapid)s.\n"
 "CLI out: %(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1275
+#: cinder/volume/drivers/huawei/ssh_common.py:1278
 msgid "_check_conf_file: Config file invalid. StoragePool must be specified."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1309
+#: cinder/volume/drivers/huawei/ssh_common.py:1312
 msgid ""
 "_get_device_type: The driver only supports Dorado5100 and Dorado 2100 G2 "
 "now."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1387
+#: cinder/volume/drivers/huawei/ssh_common.py:1390
 #, python-format
 msgid ""
 "create_volume_from_snapshot: %(device)s does not support create volume "
 "from snapshot."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1394
+#: cinder/volume/drivers/huawei/ssh_common.py:1397
 #, python-format
 msgid "create_cloned_volume: %(device)s does not support clone volume."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1402
+#: cinder/volume/drivers/huawei/ssh_common.py:1405
 #, python-format
 msgid "extend_volume: %(device)s does not support extend volume."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1411
+#: cinder/volume/drivers/huawei/ssh_common.py:1414
 #, python-format
 msgid "create_snapshot: %(device)s does not support snapshot."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:125
+#: cinder/volume/drivers/ibm/gpfs.py:126
 #, python-format
 msgid "Failed to issue mmgetstate command, error: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:136
+#: cinder/volume/drivers/ibm/gpfs.py:137
 #, python-format
 msgid "GPFS is not active.  Detailed output: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:137
+#: cinder/volume/drivers/ibm/gpfs.py:138
 #, python-format
 msgid "GPFS is not running, state: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:149
+#: cinder/volume/drivers/ibm/gpfs.py:150
 #, python-format
 msgid "Failed to issue df command for path %(path)s, error: %(error)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:165 cinder/volume/drivers/ibm/gpfs.py:254
+#: cinder/volume/drivers/ibm/gpfs.py:166 cinder/volume/drivers/ibm/gpfs.py:255
 #, python-format
 msgid "Failed to issue mmlsconfig command, error: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:176
+#: cinder/volume/drivers/ibm/gpfs.py:177
 #, python-format
 msgid "Failed to issue mmlsattr command on path %(path)s, error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:185
+#: cinder/volume/drivers/ibm/gpfs.py:186
 #, python-format
 msgid "Failed to find fileset for path %(path)s, command output: %(cmdout)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:207
+#: cinder/volume/drivers/ibm/gpfs.py:208
 #, python-format
 msgid "Invalid storage pool %s requested.  Retype failed."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:234
+#: cinder/volume/drivers/ibm/gpfs.py:235
 #, python-format
 msgid "Failed to issue mmlsfs command for path %(path)s, error: %(error)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:271
+#: cinder/volume/drivers/ibm/gpfs.py:272
 #, python-format
 msgid "Failed to issue mmlsattr command for path %(path)s, error: %(error)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:321
+#: cinder/volume/drivers/ibm/gpfs.py:322
 #, python-format
 msgid "Could not find GPFS cluster id: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:329
+#: cinder/volume/drivers/ibm/gpfs.py:330
 #, python-format
 msgid "Could not find GPFS file system device: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:337
+#: cinder/volume/drivers/ibm/gpfs.py:338
 #, python-format
 msgid "Invalid storage pool %s specificed."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:347
+#: cinder/volume/drivers/ibm/gpfs.py:348
 msgid "Option gpfs_mount_point_base is not set correctly."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:354
+#: cinder/volume/drivers/ibm/gpfs.py:355
 msgid "Option gpfs_images_share_mode is not set correctly."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:360
+#: cinder/volume/drivers/ibm/gpfs.py:361
 msgid "Option gpfs_images_dir is not set correctly."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:367
+#: cinder/volume/drivers/ibm/gpfs.py:368
 #, python-format
 msgid ""
 "gpfs_images_share_mode is set to copy_on_write, but %(vol)s and %(img)s "
 "belong to different file systems."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:378
+#: cinder/volume/drivers/ibm/gpfs.py:379
 #, python-format
 msgid ""
 "gpfs_images_share_mode is set to copy_on_write, but %(vol)s and %(img)s "
 "belong to different filesets."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:387
+#: cinder/volume/drivers/ibm/gpfs.py:388
 #, python-format
 msgid ""
 "Downlevel GPFS Cluster Detected.  GPFS Clone feature not enabled in "
 "cluster daemon level %(cur)s - must be at least at level %(min)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:401
+#: cinder/volume/drivers/ibm/gpfs.py:402
 #, python-format
 msgid "%s must be an absolute path."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:406
+#: cinder/volume/drivers/ibm/gpfs.py:407
 #, python-format
 msgid "%s is not a directory."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:416
+#: cinder/volume/drivers/ibm/gpfs.py:417
 #, python-format
 msgid ""
 "The GPFS filesystem %(fs)s is not at the required release level.  Current"
 " level is %(cur)s, must be at least %(min)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:797
+#: cinder/volume/drivers/ibm/gpfs.py:798
 #, python-format
 msgid "Failed to resize volume %(volume_id)s, error: %(error)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:871
+#: cinder/volume/drivers/ibm/gpfs.py:872
 #, python-format
 msgid ""
 "Driver-based migration of volume %(vol)s failed. Move from %(src)s to "
 "%(dst)s failed with error: %(error)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:943
+#: cinder/volume/drivers/ibm/gpfs.py:944
 #, python-format
 msgid "mkfs failed on volume %(vol)s, error message was: %(err)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:976
+#: cinder/volume/drivers/ibm/gpfs.py:977
 #, python-format
 msgid ""
 "%s cannot be accessed. Verify that GPFS is active and file system is "
 "mounted."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:87
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:232
-#: cinder/volume/drivers/netapp/iscsi.py:122
-#: cinder/volume/drivers/netapp/nfs.py:669
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:178
+#: cinder/volume/drivers/ibm/ibmnas.py:88
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:245
+#: cinder/volume/drivers/netapp/iscsi.py:123
+#: cinder/volume/drivers/netapp/nfs.py:670
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:195
 #, python-format
 msgid "%s is not set"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:93
+#: cinder/volume/drivers/ibm/ibmnas.py:94
 msgid ""
 "Password or SSH private key is required for authentication: set either "
 "nas_password or nas_private_key option"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:146
+#: cinder/volume/drivers/ibm/ibmnas.py:147
 #, python-format
 msgid "Failed in _create_ibmnas_snap during create_snapshot. Error: %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:160
+#: cinder/volume/drivers/ibm/ibmnas.py:161
 #, python-format
 msgid ""
 "Failed in _create_ibmnas_snap during create_volume_from_snapshot. Error: "
 "%s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:176
+#: cinder/volume/drivers/ibm/ibmnas.py:177
 #, python-format
 msgid "Failed in _create_ibmnas_copy. Error: %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:187
+#: cinder/volume/drivers/ibm/ibmnas.py:188
 #, python-format
 msgid "Failed to resize volume %(volume_id)s, error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:210
+#: cinder/volume/drivers/ibm/ibmnas.py:211
 #, python-format
 msgid "Failed in _delete_snapfiles. Error: %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:248
+#: cinder/volume/drivers/ibm/ibmnas.py:249
 #, python-format
 msgid "Volume %s does not have provider_location specified, skipping."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:153
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:166
 #, python-format
 msgid "Failed getting details for pool %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:189
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:202
 msgid "do_setup: No configured nodes."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:222
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:235
 msgid "Unable to determine system name"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:225
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:238
 msgid "Unable to determine system id"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:238
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:251
 msgid ""
 "Password or SSH private key is required for authentication: set either "
 "san_password or san_private_key option"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:246
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:259
 #, python-format
 msgid ""
 "Illegal value %d specified for storwize_svc_flashcopy_timeout: valid "
 "values are between 0 and 600"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:264
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:277
 #, python-format
 msgid "ensure_export: Volume %s not found on storage"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:283
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:296
 msgid "The connector does not contain the required information."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:338
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:352
 msgid "CHAP secret exists for host but CHAP is disabled"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:343
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:357
 #, python-format
 msgid "initialize_connection: Failed to get attributes for volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:355
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:369
 #, python-format
 msgid "Did not find expected column name in lsvdisk: %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:357
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:371
 #, python-format
 msgid "initialize_connection: Missing volume attribute for volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:374
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:388
 #, python-format
 msgid ""
 "initialize_connection: No node found in I/O group %(gid)s for volume "
 "%(vol)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:383
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:397
 #, python-format
 msgid "initialize_connection: Did not find a preferred node for volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:406
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:429
 msgid ""
 "Could not get FC connection information for the host-volume connection. "
 "Is the host configured properly for FC connections?"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:421
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:448
 #, python-format
 msgid ""
 "Unable to find a preferred node match for node %(node)s in the list of "
 "available WWPNs on %(host)s. Using first available."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:441
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:468
 #, python-format
 msgid ""
 "initialize_connection: Failed to collect return properties for volume "
 "%(vol)s and connector %(conn)s.\n"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:490
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:518
 msgid "terminate_connection: Failed to get host name from connector."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:534
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:562
 msgid "create_snapshot: get source volume failed."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:547
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:575
 msgid "create_volume_from_snapshot: Source and destination size differ."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:559
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:587
 msgid "create_cloned_volume: Source and destination size differ."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:574
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:602
 msgid "extend_volume: Extending a volume with snapshots is not supported."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:617
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:645
 #, python-format
 msgid ""
 "_rm_vdisk_copy_op: Volume %s does not have any registered vdisk copy "
 "operations."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:622
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:650
 #, python-format
 msgid ""
 "_rm_vdisk_copy_op: Volume %(vol)s does not have the specified vdisk copy "
 "operation: orig=%(orig)s new=%(new)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:634
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:662
 #, python-format
 msgid ""
 "_rm_vdisk_copy_op: Volume metadata %s does not have any registered vdisk "
 "copy operations."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:642
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:670
 #, python-format
 msgid ""
 "_rm_vdisk_copy_op: Volume %(vol)s metadata does not have the specified "
 "vdisk copy operation: orig=%(orig)s new=%(new)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:667
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:695
 #, python-format
 msgid "Volume %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:679
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:707
 #, python-format
 msgid ""
 "_check_volume_copy_ops: Volume %(vol)s does not have the specified vdisk "
 "copy operation: orig=%(orig)s new=%(new)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:791
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:819
 #, python-format
 msgid ""
 "Unable to retype:  A copy of volume %s exists. Retyping would exceed the "
 "limit of 2 copies."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:818
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:844
-msgid "No vdisk with the specified vdisk_UID."
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:846
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:873
+#, python-format
+msgid "No vdisk with the UID specified by source-id %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:837
-msgid "Reference must contain vdisk_UID element."
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:866
+msgid "Reference must contain source-id element."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:852
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:882
 msgid "The specified vdisk is mapped to a host."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:892
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:922
 msgid "Could not get pool data from the storage"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:893
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:923
 msgid "_update_volume_stats: Could not get storage pool data"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:44
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:45
 #, python-format
 msgid "Could not find key in output of command %(cmd)s: %(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:64
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:65
 #, python-format
 msgid "Failed to get code level (%s)."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:86
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:87
 #, python-format
 msgid "Expected integer for node_count, svcinfo lsiogrp returned: %(node)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:143
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:144
 #, python-format
 msgid "WWPN on node %(node)s: %(wwpn)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:165
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:166
 #, python-format
 msgid "Failed to find host %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:229
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:239
 msgid "create_host: Host name is not unicode or string"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:240
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:250
 msgid "create_host: No initiators or wwpns supplied."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:323
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:333
 #, python-format
 msgid "unmap_vol_from_host: No mapping of volume %(vol_name)s to any host found."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:329
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:339
 #, python-format
 msgid ""
 "unmap_vol_from_host: Multiple mappings of volume %(vol_name)s found, no "
 "host specified."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:341
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:351
 #, python-format
 msgid ""
 "unmap_vol_from_host: No mapping of volume %(vol_name)s to host %(host)s "
 "found."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:382
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:392
 msgid ""
 "Illegal value specified for storwize_svc_vol_rsize: set to either a "
 "percentage (0-100) or -1"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:388
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:398
 msgid ""
 "Illegal value specified for storwize_svc_vol_warning: set to a percentage"
 " (0-100)"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:395
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:405
 msgid ""
 "Illegal value specified for storwize_svc_vol_grainsize: set to either 32,"
 " 64, 128, or 256"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:402
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:412
 msgid "System does not support compression"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:407
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:417
 msgid "If compression is set to True, rsize must also be set (not equal to -1)"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:413
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:423
 #, python-format
 msgid ""
 "Illegal value %(prot)s specified for storwize_svc_connection_protocol: "
 "valid values are %(enabled)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:422
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:432
 #, python-format
 msgid "I/O group %(iogrp)d is not valid; available I/O groups are %(avail)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:458
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:468
 msgid "Protocol must be specified as '<in> iSCSI' or '<in> FC'."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:531
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:541
 #, python-format
 msgid ""
 "Unexecpted mapping status %(status)s for mapping%(id)s. Attributes: "
 "%(attr)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:541
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:551
 #, python-format
 msgid ""
 "Mapping %(id)s prepare failed to complete within theallotted %(to)d "
 "seconds timeout. Terminating."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:601
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:611
 #, python-format
 msgid "Vdisk %(name)s not involved in mapping %(src)s -> %(tgt)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:647
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:657
 #, python-format
 msgid "Tried to delete non-existant vdisk %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:660
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:670
 #, python-format
 msgid "create_copy: Source vdisk %(src)s (%(src_id)s) does not exist"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:686
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:696
 #, python-format
 msgid ""
 "add_vdisk_copy failed: A copy of volume %s exists. Adding another copy "
 "would exceed the limit of 2 copies."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:693
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:703
 msgid "add_vdisk_copy started without a vdisk copy in the expected pool."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:762
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:772
 msgid ""
 "Expected single vdisk returned from lsvdisk when filtering on vdisk_UID."
 "  %{count}s were returned."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:35
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:213
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:250
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:36
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:214
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:251
 #, python-format
 msgid ""
 "CLI Exception output:\n"
@@ -6183,13 +6589,13 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:53
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:54
 #, python-format
 msgid "Expected no output from CLI command %(cmd)s, got %(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:65
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:262
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:66
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:263
 #, python-format
 msgid ""
 "Failed to parse CLI output:\n"
@@ -6198,421 +6604,421 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:144
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:145
 msgid "Must pass wwpn or host to lsfabric."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:160
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:161
 #, python-format
 msgid "Did not find success message nor error for %(fun)s: %(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:165
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:166
 msgid ""
 "storwize_svc_multihostmap_enabled is set to False, not allowing multi "
 "host mapping."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:361
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:362
 #, python-format
 msgid "Did not find expected key %(key)s in %(fun)s: %(raw)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:396
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:397
 #, python-format
 msgid ""
 "Unexpected CLI response: header/row mismatch. header: %(header)s, row: "
 "%(row)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/api.py:424
+#: cinder/volume/drivers/netapp/api.py:425
 #, python-format
 msgid "No element by given name %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/api.py:444
+#: cinder/volume/drivers/netapp/api.py:445
 msgid "Not a valid value for NaElement."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/api.py:448
+#: cinder/volume/drivers/netapp/api.py:449
 msgid "NaElement name cannot be null."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/api.py:491
+#: cinder/volume/drivers/netapp/api.py:492
 msgid "Type cannot be converted into NaElement."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:80
+#: cinder/volume/drivers/netapp/common.py:83
 msgid "Required configuration not found"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:108
+#: cinder/volume/drivers/netapp/common.py:111
 #, python-format
 msgid "Requested unified config: %(storage_family)s and %(storage_protocol)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:114
+#: cinder/volume/drivers/netapp/common.py:117
 #, python-format
 msgid "Storage family %s is not supported"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:121
+#: cinder/volume/drivers/netapp/common.py:124
 #, python-format
 msgid "No default storage protocol found for storage family %(storage_family)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:128
+#: cinder/volume/drivers/netapp/common.py:131
 #, python-format
 msgid ""
 "Protocol %(storage_protocol)s is not supported for storage family "
 "%(storage_family)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:135
+#: cinder/volume/drivers/netapp/common.py:138
 #, python-format
 msgid ""
 "NetApp driver of family %(storage_family)s and protocol "
 "%(storage_protocol)s loaded"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:144
+#: cinder/volume/drivers/netapp/common.py:147
 msgid "Only loading netapp drivers supported."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:163
+#: cinder/volume/drivers/netapp/common.py:166
 #, python-format
 msgid ""
 "The configured NetApp driver is deprecated. Please refer the link to "
 "resolve the issue '%s'."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:69
+#: cinder/volume/drivers/netapp/iscsi.py:70
 #, python-format
 msgid "No metadata property %(prop)s defined for the LUN %(name)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:175
+#: cinder/volume/drivers/netapp/iscsi.py:176
 #, python-format
 msgid "No entry in LUN table for volume/snapshot %(name)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:227
+#: cinder/volume/drivers/netapp/iscsi.py:228
 #, python-format
 msgid "Mapped LUN %(name)s to the initiator %(initiator_name)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:232
+#: cinder/volume/drivers/netapp/iscsi.py:233
 #, python-format
 msgid ""
 "Successfully fetched target details for LUN %(name)s and initiator "
 "%(initiator_name)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:238
+#: cinder/volume/drivers/netapp/iscsi.py:239
 #, python-format
 msgid "Failed to get LUN target details for the LUN %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:249
+#: cinder/volume/drivers/netapp/iscsi.py:250
 #, python-format
 msgid "Failed to get target portal for the LUN %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:252
+#: cinder/volume/drivers/netapp/iscsi.py:253
 #, python-format
 msgid "Failed to get target IQN for the LUN %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:310
-#: cinder/volume/drivers/netapp/iscsi.py:557
-#: cinder/volume/drivers/netapp/nfs.py:101
-#: cinder/volume/drivers/netapp/nfs.py:208
+#: cinder/volume/drivers/netapp/iscsi.py:311
+#: cinder/volume/drivers/netapp/iscsi.py:558
+#: cinder/volume/drivers/netapp/nfs.py:102
+#: cinder/volume/drivers/netapp/nfs.py:209
 #, python-format
 msgid "Resizing %s failed. Cleaning volume."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:325
+#: cinder/volume/drivers/netapp/iscsi.py:326
 #, python-format
 msgid "Unmapped LUN %(name)s from the initiator %(initiator_name)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:414
+#: cinder/volume/drivers/netapp/iscsi.py:415
 #, python-format
 msgid "Error mapping lun. Code :%(code)s, Message:%(message)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:433
+#: cinder/volume/drivers/netapp/iscsi.py:434
 #, python-format
 msgid "Error unmapping lun. Code :%(code)s, Message:%(message)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:503
+#: cinder/volume/drivers/netapp/iscsi.py:504
 msgid "Object is not a NetApp LUN."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:535
+#: cinder/volume/drivers/netapp/iscsi.py:536
 #, python-format
 msgid "Message: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:537
+#: cinder/volume/drivers/netapp/iscsi.py:538
 #, python-format
 msgid "Error getting lun attribute. Exception: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:593
+#: cinder/volume/drivers/netapp/iscsi.py:594
 #, python-format
 msgid "No need to extend volume %s as it is already the requested new size."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:599
+#: cinder/volume/drivers/netapp/iscsi.py:600
 #, python-format
 msgid "Resizing lun %s directly to new size."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:626
+#: cinder/volume/drivers/netapp/iscsi.py:627
 #, python-format
 msgid "Lun %(path)s geometry failed. Message - %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:670
+#: cinder/volume/drivers/netapp/iscsi.py:671
 #, python-format
 msgid "Resizing lun %s using sub clone to new size."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:677
+#: cinder/volume/drivers/netapp/iscsi.py:678
 #, python-format
 msgid "%s cannot be sub clone resized as it is hosted on compressed volume"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:683
+#: cinder/volume/drivers/netapp/iscsi.py:684
 #, python-format
 msgid "%s cannot be sub clone resized as it contains no blocks."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:700
+#: cinder/volume/drivers/netapp/iscsi.py:701
 #, python-format
 msgid "Post clone resize lun %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:711
+#: cinder/volume/drivers/netapp/iscsi.py:712
 #, python-format
 msgid "Failure staging lun %s to tmp."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:716
+#: cinder/volume/drivers/netapp/iscsi.py:717
 #, python-format
 msgid "Failure moving new cloned lun to %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:720
+#: cinder/volume/drivers/netapp/iscsi.py:721
 #, python-format
 msgid "Failure deleting staged tmp lun %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:723
+#: cinder/volume/drivers/netapp/iscsi.py:724
 #, python-format
 msgid "Unknown exception in post clone resize lun %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:725
+#: cinder/volume/drivers/netapp/iscsi.py:726
 #, python-format
 msgid "Exception details: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:734
+#: cinder/volume/drivers/netapp/iscsi.py:735
 #, python-format
 msgid "Failure getting lun info for %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:781
+#: cinder/volume/drivers/netapp/iscsi.py:782
 #, python-format
 msgid "Failed to get vol with required size and extra specs for volume: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:793
+#: cinder/volume/drivers/netapp/iscsi.py:794
 #, python-format
 msgid "Error provisioning vol %(name)s on %(volume)s. Details: %(ex)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1012
+#: cinder/volume/drivers/netapp/iscsi.py:1013
 #, python-format
 msgid "No cloned lun named %s found on the filer"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1113
+#: cinder/volume/drivers/netapp/iscsi.py:1114
 msgid "Cluster ssc is not updated. No volume stats found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1175
-#: cinder/volume/drivers/netapp/nfs.py:1300
+#: cinder/volume/drivers/netapp/iscsi.py:1176
+#: cinder/volume/drivers/netapp/nfs.py:1301
 msgid "Unsupported ONTAP version. ONTAP version 7.3.1 and above is supported."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1179
-#: cinder/volume/drivers/netapp/nfs.py:1304
-#: cinder/volume/drivers/netapp/utils.py:323
+#: cinder/volume/drivers/netapp/iscsi.py:1180
+#: cinder/volume/drivers/netapp/nfs.py:1305
+#: cinder/volume/drivers/netapp/utils.py:325
 msgid "Api version could not be determined."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1190
+#: cinder/volume/drivers/netapp/iscsi.py:1191
 #, python-format
 msgid "Failed to get vol with required size for volume: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1299
+#: cinder/volume/drivers/netapp/iscsi.py:1300
 #, python-format
 msgid "Error finding luns for volume %s. Verify volume exists."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1509
+#: cinder/volume/drivers/netapp/iscsi.py:1510
 msgid "Volume refresh job already running. Returning..."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1515
+#: cinder/volume/drivers/netapp/iscsi.py:1516
 #, python-format
 msgid "Error refreshing vol capacity. Message: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1523
+#: cinder/volume/drivers/netapp/iscsi.py:1524
 #, python-format
 msgid "Refreshing capacity info for %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:106
-#: cinder/volume/drivers/netapp/nfs.py:213
+#: cinder/volume/drivers/netapp/nfs.py:107
+#: cinder/volume/drivers/netapp/nfs.py:214
 #, python-format
 msgid "NFS file %s not discovered."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:226
+#: cinder/volume/drivers/netapp/nfs.py:227
 #, python-format
 msgid "Copied image to volume %s using regular download."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:233
+#: cinder/volume/drivers/netapp/nfs.py:234
 #, python-format
 msgid "Registering image in cache %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:240
+#: cinder/volume/drivers/netapp/nfs.py:241
 #, python-format
 msgid ""
 "Exception while registering image %(image_id)s in cache. Exception: "
 "%(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:266
+#: cinder/volume/drivers/netapp/nfs.py:267
 #, python-format
 msgid "Cloning from cache to destination %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:296
+#: cinder/volume/drivers/netapp/nfs.py:297
 #, python-format
 msgid "Cleaning cache for share %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:308
+#: cinder/volume/drivers/netapp/nfs.py:309
 #, python-format
 msgid "Exception during cache cleaning %(share)s. Message - %(ex)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:366
+#: cinder/volume/drivers/netapp/nfs.py:367
 #, python-format
 msgid "Exception during deleting %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:398
+#: cinder/volume/drivers/netapp/nfs.py:399
 #, python-format
 msgid "Image cloning unsuccessful for image %(image_id)s. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:414
+#: cinder/volume/drivers/netapp/nfs.py:415
 #, python-format
 msgid "Cloning image %s from cache"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:428
+#: cinder/volume/drivers/netapp/nfs.py:429
 #, python-format
 msgid "Unexpected exception during image cloning in share %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:434
+#: cinder/volume/drivers/netapp/nfs.py:435
 #, python-format
 msgid "Checking image clone %s from glance share."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:453
+#: cinder/volume/drivers/netapp/nfs.py:454
 #, python-format
 msgid "Image will locally be converted to raw %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:460
+#: cinder/volume/drivers/netapp/nfs.py:461
 #, python-format
 msgid "Converted to raw, but format is now %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:470
+#: cinder/volume/drivers/netapp/nfs.py:471
 #, python-format
 msgid "Performing post clone for %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:477
+#: cinder/volume/drivers/netapp/nfs.py:478
 msgid "NFS file could not be discovered."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:513
+#: cinder/volume/drivers/netapp/nfs.py:514
 msgid "Discover file retries exhausted."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:571
+#: cinder/volume/drivers/netapp/nfs.py:572
 msgid "Unexpected exception while short listing used share."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:586
+#: cinder/volume/drivers/netapp/nfs.py:587
 msgid "Image location not present."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:623
+#: cinder/volume/drivers/netapp/nfs.py:624
 msgid "Container size smaller than required file size."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:631
+#: cinder/volume/drivers/netapp/nfs.py:632
 #, python-format
 msgid "Destination %s already exists."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:639
+#: cinder/volume/drivers/netapp/nfs.py:640
 #, python-format
 msgid "Exception moving file %(src)s. Message - %(e)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:741
+#: cinder/volume/drivers/netapp/nfs.py:742
 #, python-format
 msgid "Shares on vserver %s will only be used for provisioning."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:745
-#: cinder/volume/drivers/netapp/nfs.py:947
+#: cinder/volume/drivers/netapp/nfs.py:746
+#: cinder/volume/drivers/netapp/nfs.py:948
 msgid "No vserver set in config. SSC will be disabled."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:794
+#: cinder/volume/drivers/netapp/nfs.py:795
 #, python-format
 msgid "Exception creating vol %(name)s on share %(share)s. Details: %(ex)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:803
+#: cinder/volume/drivers/netapp/nfs.py:804
 #, python-format
 msgid "Volume %s could not be created on shares."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:866
+#: cinder/volume/drivers/netapp/nfs.py:867
 #, python-format
 msgid "No interface found on cluster for ip %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:907
+#: cinder/volume/drivers/netapp/nfs.py:908
 #, python-format
 msgid ""
 "No volume on cluster with vserver\n"
@@ -6621,1364 +7027,1548 @@ msgid ""
 "                                   "
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:914
+#: cinder/volume/drivers/netapp/nfs.py:915
 #, python-format
 msgid ""
 "Cloning with params volume %(volume)s, src %(src_path)s,\n"
 "                    dest %(dest_path)s, vserver %(vserver)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:979
+#: cinder/volume/drivers/netapp/nfs.py:980
 msgid "No cluster ssc stats found. Wait for next volume stats update."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:996
+#: cinder/volume/drivers/netapp/nfs.py:997
 msgid "No shares found hence skipping ssc refresh."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1126
+#: cinder/volume/drivers/netapp/nfs.py:1127
 #, python-format
 msgid "Copied image %(img)s to volume %(vol)s using copy offload workflow."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1133
+#: cinder/volume/drivers/netapp/nfs.py:1134
 #, python-format
 msgid "Copy offload workflow unsuccessful. %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1157
+#: cinder/volume/drivers/netapp/nfs.py:1158
 #, python-format
 msgid "No vserver owning the ip %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1193
+#: cinder/volume/drivers/netapp/nfs.py:1194
 #, python-format
 msgid "Error in workflow copy from cache. %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1213
+#: cinder/volume/drivers/netapp/nfs.py:1214
 msgid "Source host details not found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1263
+#: cinder/volume/drivers/netapp/nfs.py:1264
 #, python-format
 msgid "Converted to raw, but format is now %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1349
+#: cinder/volume/drivers/netapp/nfs.py:1350
 #, python-format
 msgid "No storage path found for export path %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:421
+#: cinder/volume/drivers/netapp/ssc_utils.py:422
 #, python-format
 msgid "Running stale ssc refresh job for %(server)s and vserver %(vs)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:455
+#: cinder/volume/drivers/netapp/ssc_utils.py:456
 #, python-format
 msgid "Successfully completed stale refresh job for %(server)s and vserver %(vs)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:482
+#: cinder/volume/drivers/netapp/ssc_utils.py:483
 #, python-format
 msgid "Running cluster latest ssc job for %(server)s and vserver %(vs)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:488
+#: cinder/volume/drivers/netapp/ssc_utils.py:489
 #, python-format
 msgid "Successfully completed ssc job for %(server)s and vserver %(vs)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:500
+#: cinder/volume/drivers/netapp/ssc_utils.py:501
 msgid "Backend not a VolumeDriver."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:502
+#: cinder/volume/drivers/netapp/ssc_utils.py:503
 msgid "Backend server not NaServer."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:505
+#: cinder/volume/drivers/netapp/ssc_utils.py:506
 msgid "ssc job in progress. Returning... "
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:517
+#: cinder/volume/drivers/netapp/ssc_utils.py:518
 msgid "refresh stale ssc job in progress. Returning... "
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:613
+#: cinder/volume/drivers/netapp/ssc_utils.py:614
 msgid "Fatal error: User not permitted to query NetApp volumes."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:620
+#: cinder/volume/drivers/netapp/ssc_utils.py:621
 #, python-format
 msgid ""
 "The user does not have access or sufficient privileges to use all netapp "
 "apis. The following extra_specs will fail or be ignored: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/utils.py:127
+#: cinder/volume/drivers/netapp/utils.py:128
 #, python-format
 msgid "Failed to invoke ems. Message : %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/utils.py:140
+#: cinder/volume/drivers/netapp/utils.py:141
 msgid ""
 "It is not the recommended way to use drivers by NetApp. Please use "
 "NetAppDriver to achieve the functionality."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/utils.py:163
+#: cinder/volume/drivers/netapp/utils.py:164
 msgid "Requires an NaServer instance."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/utils.py:320
+#: cinder/volume/drivers/netapp/utils.py:322
 msgid "Unsupported Clustered Data ONTAP version."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:45
+#: cinder/volume/drivers/netapp/eseries/client.py:46
 msgid "One of the required inputs from host, port or scheme not found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:49
+#: cinder/volume/drivers/netapp/eseries/client.py:50
 msgid "Invalid transport type."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:73
+#: cinder/volume/drivers/netapp/eseries/client.py:74
 #, python-format
 msgid "Unexpected error while invoking web service. Error - %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:76
+#: cinder/volume/drivers/netapp/eseries/client.py:77
 msgid "Invoking web service failed."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:109
+#: cinder/volume/drivers/netapp/eseries/client.py:110
 msgid "Storage system id not set."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:135
+#: cinder/volume/drivers/netapp/eseries/client.py:136
 msgid "Content type not supported."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:145
+#: cinder/volume/drivers/netapp/eseries/client.py:146
 #, python-format
 msgid "Response error - %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:147
+#: cinder/volume/drivers/netapp/eseries/client.py:148
 #, python-format
 msgid "Response error code - %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:87
-#, python-format
-msgid "%s is not set."
-msgstr ""
-
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:101
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:102
 #, python-format
 msgid "Error resolving host %(host)s. Error - %(e)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:111
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:112
 msgid "Controller ips not valid after resolution."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:114
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:115
 msgid "Embedded mode detected."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:117
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:118
 msgid "Proxy mode detected."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:128
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:129
 #, python-format
 msgid "System with controller addresses [%s] is not registered with web service."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:146
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:147
 msgid "Waiting for web service array communication."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:150
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:151
 #, python-format
 msgid ""
 "Failure in communication between web service and array. Waited %s "
 "seconds. Verify array configuration parameters."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:160
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:161
 #, python-format
 msgid "System %(id)s found with bad status - %(status)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:162
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:163
 #, python-format
 msgid "System %(id)s has %(status)s status."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:178
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:179
 #, python-format
 msgid "Configured storage pools %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:274
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:275
 #, python-format
 msgid "No pit image found in snapshot group %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:300
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:334
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:301
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:335
 #, python-format
 msgid "Created volume with label %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:303
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:304
 #, python-format
 msgid "Error creating volume. Msg - %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:304
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:305
 #, python-format
 msgid "Failure creating volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:320
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:321
 #, python-format
 msgid "No storage pool found with available capacity %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:343
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:344
 #, python-format
 msgid "Failure deleting snap vol. Error: %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:345
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:346
 msgid "Snapshot volume not found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:361
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:362
 #, python-format
 msgid "Copying src vol %(src)s to dest vol %(dst)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:374
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:375
 #, python-format
 msgid "Vol copy job status %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:375
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:376
 #, python-format
 msgid "Vol copy job for dest %s failed."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:378
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:379
 #, python-format
 msgid "Vol copy job completed for dest %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:386
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:387
 #, python-format
 msgid "Failure deleting job %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:388
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:389
 #, python-format
 msgid "Volume copy job for src vol %s not found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:390
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:391
 #, python-format
 msgid "Copy job to dest vol %s completed."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:402
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:403
 #, python-format
 msgid "Failure deleting temp snapshot %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:411
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:412
 #, python-format
 msgid "Volume %s already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:435
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:436
 #, python-format
 msgid "Created snap grp with label %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:446
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:447
 #, python-format
 msgid "Snapshot %s already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:472
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:473
 #, python-format
 msgid "Mapped volume %(id)s to the initiator %(initiator_name)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:475
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:476
 #, python-format
 msgid ""
 "Successfully fetched target details for volume %(id)s and initiator "
 "%(initiator_name)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:515
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:516
 #, python-format
 msgid "No good iscsi portal information found for %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:540
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:541
 #, python-format
 msgid "Message - %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:555
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:556
 #, python-format
 msgid "Host with port %(port)s and type %(type)s not found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:560
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:561
 #, python-format
 msgid "Creating host with port %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:573
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:574
 #, python-format
 msgid "Host type %s not supported."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:583
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:584
 msgid "No free luns. Host might exceeded max luns."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:613
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:614
 #, python-format
 msgid "Mapping not found for %(vol)s to host %(ht)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:667
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:668
 #, python-format
 msgid "Extended volume with label %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:681
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:682
 msgid "Returning as clean tmp vol job already running."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:105
+#: cinder/volume/drivers/nexenta/iscsi.py:106
 #, python-format
 msgid "Volume %s does not exist in Nexenta SA"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:151
+#: cinder/volume/drivers/nexenta/iscsi.py:152
 #, python-format
 msgid "Extending volume: %(id)s New size: %(size)s GB"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:167
+#: cinder/volume/drivers/nexenta/iscsi.py:168
 #, python-format
 msgid "Volume %s does not exist, it seems it was already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:180
+#: cinder/volume/drivers/nexenta/iscsi.py:181
 #, python-format
 msgid "Cannot delete snapshot %(origin)s: %(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:201
-#: cinder/volume/drivers/nexenta/nfs.py:201
+#: cinder/volume/drivers/nexenta/iscsi.py:202
+#: cinder/volume/drivers/nexenta/nfs.py:202
 #, python-format
 msgid "Volume creation failed, deleting created snapshot %(volume_name)s@%(name)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:206
-#: cinder/volume/drivers/nexenta/nfs.py:206
+#: cinder/volume/drivers/nexenta/iscsi.py:207
+#: cinder/volume/drivers/nexenta/nfs.py:207
 #, python-format
 msgid "Failed to delete zfs snapshot %(volume_name)s@%(name)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:268
+#: cinder/volume/drivers/nexenta/iscsi.py:269
 #, python-format
 msgid "Remote NexentaStor appliance at %s should be SSH-bound."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:288
+#: cinder/volume/drivers/nexenta/iscsi.py:289
 #, python-format
 msgid ""
 "Cannot send source snapshot %(src)s to destination %(dst)s. Reason: "
 "%(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:296
+#: cinder/volume/drivers/nexenta/iscsi.py:297
 #, python-format
 msgid ""
 "Cannot delete temporary source snapshot %(src)s on NexentaStor Appliance:"
 " %(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:302
+#: cinder/volume/drivers/nexenta/iscsi.py:303
 #, python-format
 msgid "Cannot delete source volume %(volume)s on NexentaStor Appliance: %(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:312
+#: cinder/volume/drivers/nexenta/iscsi.py:313
 #, python-format
 msgid ""
 "Cannot delete temporary destination snapshot %(dst)s on NexentaStor "
 "Appliance: %(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:355
+#: cinder/volume/drivers/nexenta/iscsi.py:356
 #, python-format
 msgid "Snapshot %s does not exist, it seems it was already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:476
+#: cinder/volume/drivers/nexenta/iscsi.py:477
 #: cinder/volume/drivers/windows/windows_utils.py:273
 #, python-format
 msgid "Ignored target creation error \"%s\" while ensuring export"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:486
+#: cinder/volume/drivers/nexenta/iscsi.py:487
 #, python-format
 msgid "Ignored target group creation error \"%s\" while ensuring export"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:498
+#: cinder/volume/drivers/nexenta/iscsi.py:499
 #, python-format
 msgid "Ignored target group member addition error \"%s\" while ensuring export"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:508
+#: cinder/volume/drivers/nexenta/iscsi.py:509
 #, python-format
 msgid "Ignored LU creation error \"%s\" while ensuring export"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:518
+#: cinder/volume/drivers/nexenta/iscsi.py:519
 #, python-format
 msgid "Ignored LUN mapping entry addition error \"%s\" while ensuring export"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:551
+#: cinder/volume/drivers/nexenta/iscsi.py:552
 #, python-format
 msgid ""
 "Got error trying to destroy target group %(target_group)s, assuming it is"
 " already gone: %(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:559
+#: cinder/volume/drivers/nexenta/iscsi.py:560
 #, python-format
 msgid ""
 "Got error trying to delete target %(target)s, assuming it is already "
 "gone: %(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/jsonrpc.py:88
+#: cinder/volume/drivers/nexenta/jsonrpc.py:89
 msgid "No headers in server response"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/jsonrpc.py:89
+#: cinder/volume/drivers/nexenta/jsonrpc.py:90
 msgid "Bad response from server"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/jsonrpc.py:90
+#: cinder/volume/drivers/nexenta/jsonrpc.py:91
 #, python-format
 msgid "Auto switching to HTTPS connection to %s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:86
+#: cinder/volume/drivers/nexenta/nfs.py:87
 #, python-format
 msgid "Volume %s does not exist in Nexenta Store appliance"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:90
+#: cinder/volume/drivers/nexenta/nfs.py:91
 #, python-format
 msgid "Folder %s does not exist in Nexenta Store appliance"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:147
+#: cinder/volume/drivers/nexenta/nfs.py:148
 #, python-format
 msgid "Cannot destroy created folder: %(vol)s/%(folder)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:177
+#: cinder/volume/drivers/nexenta/nfs.py:178
 #, python-format
 msgid "Cannot destroy cloned folder: %(vol)s/%(folder)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:228
+#: cinder/volume/drivers/nexenta/nfs.py:229
 #, python-format
 msgid "Folder %s does not exist, it was already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:238
-#: cinder/volume/drivers/nexenta/nfs.py:269
+#: cinder/volume/drivers/nexenta/nfs.py:239
+#: cinder/volume/drivers/nexenta/nfs.py:270
 #, python-format
 msgid "Snapshot %s does not exist, it was already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:299
+#: cinder/volume/drivers/nexenta/nfs.py:300
 #, python-format
 msgid "Creating regular file: %s.This may take some time."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:310
+#: cinder/volume/drivers/nexenta/nfs.py:311
 #, python-format
 msgid "Regular file: %s created."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/utils.py:47
+#: cinder/volume/drivers/nexenta/utils.py:48
 #, python-format
 msgid "Invalid value: \"%s\""
 msgstr ""
 
-#: cinder/volume/drivers/san/san.py:168
+#: cinder/volume/drivers/san/san.py:171
 msgid "Specify san_password or san_private_key"
 msgstr ""
 
-#: cinder/volume/drivers/san/san.py:172
+#: cinder/volume/drivers/san/san.py:175
 msgid "san_ip must be set"
 msgstr ""
 
-#: cinder/volume/drivers/san/solaris.py:78
+#: cinder/volume/drivers/san/solaris.py:79
 #, python-format
 msgid "Cannot parse list-view output: %s"
 msgstr ""
 
-#: cinder/volume/drivers/san/solaris.py:173
+#: cinder/volume/drivers/san/solaris.py:174
 #, python-format
 msgid "LUID not found for %(zfs_poolname)s. Output=%(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:187
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:204
 #, python-format
 msgid ""
 "Invalid hp3parclient version found (%(found)s). Version %(minimum)s or "
 "greater required."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:209
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:226
 #, python-format
 msgid "Failed to Login to 3PAR (%(url)s) because %(err)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:220
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:237
 msgid "You must install hp3parclient before using 3PAR drivers."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:226
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:243
 #, python-format
 msgid "HP3PARCommon %(common_ver)s, hp3parclient %(rest_ver)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:244
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:583
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:261
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:604
 #, python-format
 msgid "CPG (%s) doesn't exist on array"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:252
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:269
 #, python-format
 msgid "Failed to get domain because CPG (%s) doesn't exist on array."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:278
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:361
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:299
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:382
 #, python-format
 msgid "Virtual volume '%s' doesn't exist on array."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:314
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:335
 #, python-format
 msgid "Volume type ID '%s' is invalid."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:329
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:350
 #, python-format
 msgid "Virtual volume '%(ref)s' renamed to '%(new)s'."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:331
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:352
 #, python-format
 msgid "Virtual volume %(disp)s '%(new)s' is now being managed."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:345
-msgid "Reference must contain name element."
-msgstr ""
-
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:352
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:373
 msgid "Reference must be for an unmanaged virtual volume."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:376
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:397
 #, python-format
 msgid ""
 "Virtual volume %(disp)s '%(vol)s' is no longer managed. Volume renamed to"
 " '%(new)s'."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:405
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:426
 #, python-format
 msgid "Error extending volume: %(vol)s. Exception: %(ex)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:610
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:631
 #, python-format
 msgid "3PAR vlun %(name)s not found on host %(host)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:633
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:654
 #, python-format
 msgid "3PAR vlun for volume %(name)s not found on host %(host)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:672
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:693
 #, python-format
 msgid ""
 "3PAR vlun for volume '%(name)s' was deleted, but the host '%(host)s' was "
 "not deleted because: %(reason)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:772
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:793
 #, python-format
 msgid "Error creating QOS rule %s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:781
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:802
 #, python-format
 msgid "VV Set %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:823
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:844
 #, python-format
-msgid "Must specify a valid persona %(valid)s, value '%(persona)s' is invalid."
+msgid "Must specify a valid persona %(valid)s,value '%(persona)s' is invalid."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:874
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:923
 #, python-format
 msgid ""
 "Must specify a valid provisioning type %(valid)s, value '%(prov)s' is "
 "invalid."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:942
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1009
 #, python-format
 msgid "Volume (%s) already exists on array"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1055
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1120
+msgid ""
+"The volume is currently busy on the 3PAR and cannot be deleted at this "
+"time. You can try again later."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1132
 #, python-format
 msgid "Delete volume id not found. Removing from cinder: %(id)s Ex: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1126
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1196
 #, python-format
 msgid "Error extending volume %(id)s. Ex: %(ex)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1210
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1280
 #, python-format
 msgid "Failure in update_volume_key_value_pair:%s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1224
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1294
 #, python-format
 msgid "Failure in clear_volume_key_value_pair:%s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1236
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1306
 #, python-format
 msgid "Error attaching volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1244
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1314
 #, python-format
 msgid "Error detaching volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1344
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1414
 #, python-format
 msgid ""
 "Copy volume task failed: convert_to_base_volume: id=%(id)s, "
 "status=%(status)s."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1365
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1435
 #, python-format
 msgid "Completed: convert_to_base_volume: id=%s."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1368
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1438
 #, python-format
 msgid "Volume (%s) already exists on array."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1397
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1467
 #, python-format
 msgid "Delete Snapshot id not found. Removing from cinder: %(id)s Ex: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_fc.py:240
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1547
+#, python-format
+msgid "Modifying %(volume_name)s userCPG from %(old_cpg)s to %(new_cpg)s"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1559
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1595
+#, python-format
+msgid ""
+"Tune volume task stopped before it was done: volume_name=%(volume_name)s,"
+" task-status=%(status)s."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1567
+#, python-format
+msgid "Converting %(volume_name)s to full provisioning with userCPG=%(new_cpg)s"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1572
+#, python-format
+msgid "Converting %(volume_name)s to thin provisioning with userCPG=%(new_cpg)s"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1588
+#, python-format
+msgid "tunevv failed because the volume '%s' has snapshots."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1617
+#, python-format
+msgid "Cannot retype from HP3PARDriver to %s."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1622
+msgid "Cannot retype from one 3PAR array to another."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1626
+#, python-format
+msgid ""
+"Invalid current snapCPG name for retype.  The volume may be in a "
+"transitioning state.  snapCpg='%s'."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1634
+#, python-format
+msgid "Invalid new snapCPG name for retype.  new_snap_cpg='%s'."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1640
+msgid "Cannot retype to a CPG in a different domain."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1644
+msgid "Cannot retype to a snap CPG in a different domain."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1815
+#, python-format
+msgid ""
+"Modifying %(volume_name)s snap_cpg from %(old_snap_cpg)s to "
+"%(new_snap_cpg)s."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1826
+#, python-format
+msgid "Modifying %s comments."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1835
+#, python-format
+msgid ""
+"Retype revert %(volume_name)s snap_cpg from %(new_snap_cpg)s back to "
+"%(old_snap_cpg)s."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1845
+#, python-format
+msgid "Exception during snapCPG revert: %s"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1914
+#, python-format
+msgid "Unexpected error when retype() tried to deleteVolumeSet(%s)"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1936
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1940
+#, python-format
+msgid "Unexpected error when retype() revert tried to deleteVolumeSet(%s)"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1949
+#, python-format
+msgid ""
+"%(exception)s: Exception during revert of retype for volume "
+"%(volume_name)s. Original volume set/QOS settings may not have been fully"
+" restored."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1961
+#, python-format
+msgid ""
+"%(exception)s: Exception during revert of retype for volume "
+"%(volume_name)s. Failed to remove from new volume set %(new_vvs)s."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_fc.py:245
 msgid "Need to remove FC Zone, building initiator target map"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:131
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:139
 #, python-format
 msgid "Invalid IP address format '%s'"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:165
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:173
 #, python-format
 msgid ""
 "Found invalid iSCSI IP address(s) in configuration option(s) "
 "hp3par_iscsi_ips or iscsi_ip_address '%s.'"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:171
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:179
 msgid "At least one valid iSCSI IP address must be set."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:273
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:280
 msgid "Least busy iSCSI port not found, using first iSCSI port in list."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:93
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:417
+msgid ""
+"Host exists without CHAP credentials set and has iSCSI attachments but "
+"CHAP is enabled.  Updating host with new CHAP credentials."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:444
+msgid "Host has no CHAP key, but CHAP is enabled."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:448
+msgid "No host or VLUNs exist. Generating new CHAP key."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:476
+msgid "Non-iSCSI VLUN detected."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:480
+msgid "No VLUN contained CHAP credentials. Generating new CHAP key."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:514
+#, python-format
+msgid "Volume %s doesn't exist on array."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:94
 #, python-format
 msgid "CLIQ %(proxy_ver)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:114
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:115
 #, python-format
 msgid "Malformed response to CLIQ command %(verb)s %(cliq_args)s. Result=%(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:122
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:123
 #, python-format
 msgid "Error running CLIQ command %(verb)s %(cliq_args)s.  Result=%(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:152
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:153
 #, python-format
 msgid ""
 "Unexpected number of virtual ips for cluster  %(cluster_name)s. "
 "Result=%(_xml)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:319
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:184
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:320
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:187
 msgid "Volume did not exist. It will not be deleted"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:331
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:217
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:332
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:220
 msgid "Snapshot did not exist. It will not be deleted"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:343
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:344
 msgid "local_path not supported"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_iscsi.py:79
+#: cinder/volume/drivers/san/hp/hp_lefthand_iscsi.py:80
 #, python-format
 msgid "HPLeftHand driver %(driver_ver)s, proxy %(proxy_ver)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:34
-msgid "Module hplefthandclient not installed."
-msgstr ""
-
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:102
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:105
 msgid "HPLeftHand url not found"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:128
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:131
 msgid "LeftHand cluster not found"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:136
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:139
 #, python-format
 msgid "REST %(proxy_ver)s hplefthandclient %(rest_ver)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:342
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:359
 #, python-format
 msgid "'%(value)s' is an invalid value for extra spec '%(key)s'"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:362
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:379
 #, python-format
 msgid "CHAP secret exists for host %s but CHAP is disabled"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:365
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:382
 #, python-format
 msgid "CHAP is enabled, but server secret not configured on server %s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:483
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:500
 #, python-format
 msgid ""
 "Cannot provide backend assisted migration for volume: %s because volume "
 "is from a different backend."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:488
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:494
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:505
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:511
 #, python-format
 msgid ""
 "Cannot provide backend assisted migration for volume: %s because cluster "
 "exists in different management group."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:505
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:522
 #, python-format
 msgid ""
 "Cannot provide backend assisted migration for volume: %s because the "
 "volume has been exported."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:516
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:533
 #, python-format
 msgid ""
 "Cannot provide backend assisted migration for volume: %s because the "
 "volume has snapshots."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:524
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:541
 #, python-format
 msgid ""
 "Cannot provide backend assisted migration for volume: %s because volume "
 "does not exist in this management group."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:66
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:67
 #, python-format
 msgid "Failed to connect to MSA Array (%(host)s): %(err)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:71
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:72
 msgid "Failed to log on MSA Array (invalid login?)"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:125
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:126
 #, python-format
 msgid "%s configuration option is not set"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:166
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:167
 msgid "Volume must be detached to perform a clone operation."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:243
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:244
 #, python-format
 msgid "Unable to get stats for VDisk (%s)"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:252
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:253
 msgid "Connector doesn't provide wwpns"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:71
+#: cinder/volume/drivers/vmware/api.py:72
 #, python-format
 msgid "Failure while invoking function: %(func)s. Error: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:169
+#: cinder/volume/drivers/vmware/api.py:170
 #, python-format
 msgid "Error while terminating session: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:182
+#: cinder/volume/drivers/vmware/api.py:183
 msgid "Successfully established connection to the server."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:189
+#: cinder/volume/drivers/vmware/api.py:190
 #, python-format
 msgid "Error while logging out from vim session: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:195
+#: cinder/volume/drivers/vmware/api.py:196
 #, python-format
 msgid "Error while logging out from pbm session: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:244
+#: cinder/volume/drivers/vmware/api.py:245
 #, python-format
 msgid ""
 "Current session: %(session)s is inactive; re-creating the session while "
 "invoking method %(module)s.%(method)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:270
+#: cinder/volume/drivers/vmware/api.py:271
 #, python-format
 msgid "Error occurred while checking whether the current session: %s is active."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:312
-#: cinder/volume/drivers/vmware/api.py:316
+#: cinder/volume/drivers/vmware/api.py:313
+#: cinder/volume/drivers/vmware/api.py:317
 #, python-format
 msgid "Task: %(task)s failed with error: %(err)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:344
+#: cinder/volume/drivers/vmware/api.py:345
 #, python-format
 msgid "Error: unknown lease state %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/error_util.py:63
+#: cinder/volume/drivers/vmware/error_util.py:64
 msgid "VMware VMDK driver exception."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/error_util.py:69
+#: cinder/volume/drivers/vmware/error_util.py:70
 msgid "VMware VMDK driver configuration error."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/error_util.py:74
+#: cinder/volume/drivers/vmware/error_util.py:75
 #, python-format
 msgid "Invalid disk adapter type: %(invalid_type)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/io_util.py:126
+#: cinder/volume/drivers/vmware/error_util.py:80
+#, python-format
+msgid "Invalid disk type: %(disk_type)s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/io_util.py:127
 #, python-format
 msgid "Glance image: %s is in killed state."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/io_util.py:135
+#: cinder/volume/drivers/vmware/io_util.py:136
 #, python-format
 msgid "Glance image %(id)s is in unknown state - %(state)s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/read_write_util.py:204
-#: cinder/volume/drivers/vmware/read_write_util.py:293
+#: cinder/volume/drivers/vmware/read_write_util.py:205
+#: cinder/volume/drivers/vmware/read_write_util.py:294
 msgid "Could not retrieve URL from lease."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/read_write_util.py:207
+#: cinder/volume/drivers/vmware/read_write_util.py:208
 #, python-format
 msgid "Opening vmdk url: %s for write."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/read_write_util.py:296
+#: cinder/volume/drivers/vmware/read_write_util.py:297
 #, python-format
 msgid "Opening vmdk url: %s for read."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:143
+#: cinder/volume/drivers/vmware/vim.py:144
 #, python-format
 msgid "Error(s): %s occurred in the call to RetrievePropertiesEx."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:182
+#: cinder/volume/drivers/vmware/vim.py:183
 #, python-format
 msgid "No such SOAP method %(attr)s. Detailed error: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:191
+#: cinder/volume/drivers/vmware/vim.py:192
 #, python-format
 msgid "httplib error in %(attr)s: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:199
+#: cinder/volume/drivers/vmware/vim.py:200
 #, python-format
 msgid "urllib2 error in %(attr)s: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:208
+#: cinder/volume/drivers/vmware/vim.py:209
 #, python-format
 msgid "Socket error in %(attr)s: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:217
+#: cinder/volume/drivers/vmware/vim.py:218
 #, python-format
 msgid "Type error in %(attr)s: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:224
+#: cinder/volume/drivers/vmware/vim.py:225
 #, python-format
 msgid "Error in %(attr)s. Detailed error: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:149
+#: cinder/volume/drivers/vmware/vmdk.py:174
+#, python-format
+msgid "Invalid disk type: %s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:187
 msgid ""
 "The VMware ESX VMDK driver is now deprecated and will be removed in the "
 "Juno release. The VMware vCenter VMDK driver will remain and continue to "
 "be supported."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:201
+#: cinder/volume/drivers/vmware/vmdk.py:239
 #, python-format
 msgid "%s not set."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:209
-#: cinder/volume/drivers/vmware/vmdk.py:1235
+#: cinder/volume/drivers/vmware/vmdk.py:247
+#: cinder/volume/drivers/vmware/vmdk.py:1479
 #, python-format
 msgid "Successfully setup driver: %(driver)s for server: %(ip)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:251
+#: cinder/volume/drivers/vmware/vmdk.py:289
 #, python-format
 msgid "Not able to find a suitable datastore for the volume: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:274
+#: cinder/volume/drivers/vmware/vmdk.py:312
 msgid "Backing not available, no operation to be performed."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:342
+#: cinder/volume/drivers/vmware/vmdk.py:380
 #, python-format
 msgid ""
 "Unable to pick datastore to accommodate %(size)s bytes from the "
 "datastores: %(dss)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:378
+#: cinder/volume/drivers/vmware/vmdk.py:416
 #, python-format
 msgid "No such storage profile '%s; is defined in vCenter."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:405
+#: cinder/volume/drivers/vmware/vmdk.py:443
 #, python-format
 msgid "Aborting since none of the datastores match the given storage profile %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:410
+#: cinder/volume/drivers/vmware/vmdk.py:448
 #, python-format
 msgid ""
 "Ignoring storage profile %s requirement for this volume since policy "
 "based placement is disabled."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:512
+#: cinder/volume/drivers/vmware/vmdk.py:555
 #, python-format
 msgid ""
 "Unable to find suitable datastore for volume of size: %(vol)s GB under "
 "host: %(host)s. More details: %(excep)s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:522
+#: cinder/volume/drivers/vmware/vmdk.py:565
 #, python-format
 msgid "Unable to find host to accommodate a disk of size: %s in the inventory."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:553
+#: cinder/volume/drivers/vmware/vmdk.py:596
 #, python-format
 msgid ""
 "Unable to find suitable datastore for volume: %(vol)s under host: "
 "%(host)s. More details: %(excep)s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:563
+#: cinder/volume/drivers/vmware/vmdk.py:606
 #, python-format
 msgid "Unable to create volume: %s in the inventory."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:589
+#: cinder/volume/drivers/vmware/vmdk.py:632
 #, python-format
 msgid "There is no backing for the volume: %s. Need to create one."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:602
+#: cinder/volume/drivers/vmware/vmdk.py:645
 #, python-format
 msgid "Trying to boot from an empty volume: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:611
+#: cinder/volume/drivers/vmware/vmdk.py:654
 #, python-format
 msgid ""
 "Returning connection_info: %(info)s for volume: %(volume)s with "
 "connector: %(connector)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:659
+#: cinder/volume/drivers/vmware/vmdk.py:702
 #, python-format
 msgid "Snapshot of volume not supported in state: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:664
+#: cinder/volume/drivers/vmware/vmdk.py:707
 #, python-format
 msgid "There is no backing, so will not create snapshot: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:669
+#: cinder/volume/drivers/vmware/vmdk.py:712
 #, python-format
 msgid "Successfully created snapshot: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:690
+#: cinder/volume/drivers/vmware/vmdk.py:733
 #, python-format
 msgid "Delete snapshot of volume not supported in state: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:695
+#: cinder/volume/drivers/vmware/vmdk.py:738
 #, python-format
 msgid "There is no backing, and so there is no snapshot: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:699
+#: cinder/volume/drivers/vmware/vmdk.py:742
 #, python-format
 msgid "Successfully deleted snapshot: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:740
+#: cinder/volume/drivers/vmware/vmdk.py:783
 #, python-format
 msgid "Successfully cloned new backing: %(back)s from source VMDK file: %(vmdk)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:757
+#: cinder/volume/drivers/vmware/vmdk.py:800
 #, python-format
 msgid ""
 "There is no backing for the source volume: %(svol)s. Not creating any "
 "backing for the volume: %(vol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:788
+#: cinder/volume/drivers/vmware/vmdk.py:831
 #, python-format
 msgid ""
 "There is no backing for the source snapshot: %(snap)s. Not creating any "
 "backing for the volume: %(vol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:797
-#: cinder/volume/drivers/vmware/vmdk.py:1351
+#: cinder/volume/drivers/vmware/vmdk.py:840
+#: cinder/volume/drivers/vmware/vmdk.py:1595
 #, python-format
 msgid ""
 "There is no snapshot point for the snapshotted volume: %(snap)s. Not "
 "creating any backing for the volume: %(vol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:834
+#: cinder/volume/drivers/vmware/vmdk.py:875
 #, python-format
 msgid "Cannot create image of disk format: %s. Only vmdk disk format is accepted."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:878
-#: cinder/volume/drivers/vmware/vmdk.py:953
+#: cinder/volume/drivers/vmware/vmdk.py:914
 #, python-format
-msgid "Done copying image: %(id)s to volume: %(vol)s."
+msgid "Error occurred while deleting temporary disk: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:881
+#: cinder/volume/drivers/vmware/vmdk.py:928
 #, python-format
-msgid ""
-"Exception in copy_image_to_volume: %(excep)s. Deleting the backing: "
-"%(back)s."
+msgid "Error occurred while copying %(src)s to %(dst)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:901
+#: cinder/volume/drivers/vmware/vmdk.py:990
+#, python-format
+msgid "Error occurred while copying image: %(image_id)s to %(path)s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:1000
+#, python-format
+msgid "Error occurred while deleting descriptor: %s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:1029
+#, python-format
+msgid "Error occurred while deleting backing: %s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:1114
+#, python-format
+msgid "Error occured while creating volume: %(id)s from image: %(image_id)s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:1137
 #, python-format
 msgid "Exception in _select_ds_for_volume: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:945
+#: cinder/volume/drivers/vmware/vmdk.py:1181
 #, python-format
 msgid "Exception in copy_image_to_volume: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:949
+#: cinder/volume/drivers/vmware/vmdk.py:1185
 #, python-format
 msgid "Deleting the backing: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:964
+#: cinder/volume/drivers/vmware/vmdk.py:1189
+#, python-format
+msgid "Done copying image: %(id)s to volume: %(vol)s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:1200
 #, python-format
 msgid ""
 "The backing is not found, so there is no need to extend the vmdk virtual "
 "disk for the volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:986
+#: cinder/volume/drivers/vmware/vmdk.py:1222
 #, python-format
 msgid "Unable to extend the size of the vmdk virtual disk at the path %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1033
+#: cinder/volume/drivers/vmware/vmdk.py:1272
 #, python-format
 msgid "Exception in copying the image to the volume: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1062
+#: cinder/volume/drivers/vmware/vmdk.py:1306
 msgid "Upload to glance of attached volume is not supported."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1073
+#: cinder/volume/drivers/vmware/vmdk.py:1317
 #, python-format
 msgid "Backing not found, creating for volume: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1092
+#: cinder/volume/drivers/vmware/vmdk.py:1336
 #, python-format
 msgid "Done copying volume %(vol)s to a new image %(img)s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1109
-#: cinder/volume/drivers/vmware/vmdk.py:1138
+#: cinder/volume/drivers/vmware/vmdk.py:1353
+#: cinder/volume/drivers/vmware/vmdk.py:1382
 #, python-format
 msgid "Done extending volume %(vol)s to size %(size)s GB."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1113
+#: cinder/volume/drivers/vmware/vmdk.py:1357
 #, python-format
 msgid ""
 "Relocating volume %s vmdk to a different datastore since trying to extend"
 " vmdk file in place failed."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1121
+#: cinder/volume/drivers/vmware/vmdk.py:1365
 #, python-format
 msgid "Not able to find a different datastore to place the extended volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1124
+#: cinder/volume/drivers/vmware/vmdk.py:1368
 #, python-format
 msgid "Selected datastore %(ds)s to place extended volume of size %(size)s GB."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1136
+#: cinder/volume/drivers/vmware/vmdk.py:1380
 #, python-format
 msgid "Not able to relocate volume %s for extending."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1185
+#: cinder/volume/drivers/vmware/vmdk.py:1429
 #, python-format
 msgid "PBM WSDL file %s is missing!"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1188
+#: cinder/volume/drivers/vmware/vmdk.py:1432
 #, python-format
 msgid "Using PBM WSDL location: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1199
+#: cinder/volume/drivers/vmware/vmdk.py:1443
 #, python-format
 msgid "Using overridden vmware_host_version from config: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1203
+#: cinder/volume/drivers/vmware/vmdk.py:1447
 #, python-format
 msgid "Fetched VC server version: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1210
+#: cinder/volume/drivers/vmware/vmdk.py:1454
 #, python-format
 msgid "Version string '%s' is not parseable"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1224
+#: cinder/volume/drivers/vmware/vmdk.py:1468
 #, python-format
 msgid "Not able to configure PBM for VC server: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1283
+#: cinder/volume/drivers/vmware/vmdk.py:1527
 #, python-format
 msgid "Relocating volume: %(backing)s to %(ds)s and %(rp)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1329
-#: cinder/volume/drivers/vmware/volumeops.py:792
+#: cinder/volume/drivers/vmware/vmdk.py:1573
+#: cinder/volume/drivers/vmware/volumeops.py:1035
 #, python-format
 msgid "Successfully created clone: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1343
+#: cinder/volume/drivers/vmware/vmdk.py:1587
 #, python-format
 msgid ""
 "There is no backing for the snapshotted volume: %(snap)s. Not creating "
 "any backing for the volume: %(vol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1380
+#: cinder/volume/drivers/vmware/vmdk.py:1624
 #, python-format
 msgid ""
 "There is no backing for the source volume: %(src)s. Not creating any "
 "backing for volume: %(vol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1388
+#: cinder/volume/drivers/vmware/vmdk.py:1632
 #, python-format
 msgid "Linked clone of source volume not supported in state: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmware_images.py:107
-#: cinder/volume/drivers/vmware/vmware_images.py:126
+#: cinder/volume/drivers/vmware/vmware_images.py:108
+#: cinder/volume/drivers/vmware/vmware_images.py:127
 #, python-format
 msgid "Downloaded image: %s from glance image server."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmware_images.py:158
+#: cinder/volume/drivers/vmware/vmware_images.py:159
 #, python-format
 msgid "Uploaded image: %s to the Glance image server."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:137
+#: cinder/volume/drivers/vmware/volumeops.py:304
 #, python-format
 msgid "Deleted the VM backing: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:293
+#: cinder/volume/drivers/vmware/volumeops.py:460
 #, python-format
 msgid "There are no valid datastores attached to %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:400
+#: cinder/volume/drivers/vmware/volumeops.py:567
 #, python-format
 msgid "Successfully extended the volume %(name)s to %(size)s GB."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:500
+#: cinder/volume/drivers/vmware/volumeops.py:712
 #, python-format
 msgid "Successfully created volume backing: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:626
+#: cinder/volume/drivers/vmware/volumeops.py:857
 #, python-format
 msgid ""
 "Successfully relocated volume backing: %(backing)s to datastore: %(ds)s "
 "and resource pool: %(rp)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:644
+#: cinder/volume/drivers/vmware/volumeops.py:875
 #, python-format
 msgid "Successfully moved volume backing: %(backing)s into the folder: %(fol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:667
+#: cinder/volume/drivers/vmware/volumeops.py:898
 #, python-format
 msgid "Successfully created snapshot: %(snap)s for volume backing: %(backing)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:720
+#: cinder/volume/drivers/vmware/volumeops.py:951
 #, python-format
 msgid ""
 "Did not find the snapshot: %(name)s for backing: %(backing)s. Need not "
 "delete anything."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:731
+#: cinder/volume/drivers/vmware/volumeops.py:962
 #, python-format
 msgid "Successfully deleted snapshot: %(name)s of backing: %(backing)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:810
+#: cinder/volume/drivers/vmware/volumeops.py:1083
 #, python-format
 msgid "Successfully deleted file: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:875
+#: cinder/volume/drivers/vmware/volumeops.py:1129
+#, python-format
+msgid "Invalid disk backing: %s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/volumeops.py:1219
 #, python-format
 msgid "Successfully copied disk at: %(src)s to: %(dest)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:893
+#: cinder/volume/drivers/vmware/volumeops.py:1237
 #, python-format
 msgid "Deleted vmdk file: %s."
 msgstr ""
 
+#: cinder/volume/drivers/windows/vhdutils.py:132
+#, python-format
+msgid "Opening virtual disk failed with error: %s"
+msgstr ""
+
+#: cinder/volume/drivers/windows/vhdutils.py:143
+#, python-format
+msgid "Unsupported virtual disk extension: %s"
+msgstr ""
+
+#: cinder/volume/drivers/windows/vhdutils.py:163
+#, python-format
+msgid "Virtual disk resize failed with error: %s"
+msgstr ""
+
+#: cinder/volume/drivers/windows/vhdutils.py:206
+#, python-format
+msgid "Virtual disk conversion failed with error: %s"
+msgstr ""
+
 #: cinder/volume/drivers/windows/windows_utils.py:56
 #, python-format
 msgid ""
@@ -8095,464 +8685,440 @@ msgid ""
 "%(wmi_exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/windows/windows_utils.py:379
-#, python-format
-msgid "Operation failed with return value: %s"
-msgstr ""
-
-#: cinder/volume/drivers/windows/windows_utils.py:391
+#: cinder/volume/drivers/windows/windows_utils.py:384
 #, python-format
 msgid "The file copy from %(src)s to %(dest)s failed."
 msgstr ""
 
-#: cinder/volume/drivers/windows/windows_utils.py:408
-#, python-format
-msgid ""
-"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
-" - %(err_desc)s - Error code: %(err_code)d"
-msgstr ""
-
-#: cinder/volume/drivers/windows/windows_utils.py:420
-#, python-format
-msgid ""
-"WMI job failed with status %(job_state)d. Job path: %(job_path)s Error "
-"details: %(error)s"
-msgstr ""
-
-#: cinder/volume/drivers/windows/windows_utils.py:427
-#, python-format
-msgid "WMI job failed with status %d. No error description available"
-msgstr ""
-
-#: cinder/volume/flows/common.py:59
+#: cinder/volume/flows/common.py:60
 #, python-format
 msgid ""
 "Failed setting source volume %(source_volid)s back to its initial "
 "%(source_status)s status"
 msgstr ""
 
-#: cinder/volume/flows/common.py:91
-#: cinder/volume/flows/manager/create_volume.py:649
+#: cinder/volume/flows/common.py:92
+#: cinder/volume/flows/manager/create_volume.py:650
 #, python-format
 msgid "Failed updating volume %(volume_id)s with %(update)s"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:79
+#: cinder/volume/flows/api/create_volume.py:80
 #, python-format
 msgid "Originating snapshot status must be one of %s values"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:101
+#: cinder/volume/flows/api/create_volume.py:102
 #, python-format
 msgid ""
 "Unable to create a volume from an originating source volume when its "
 "status is not one of %s values"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:124
+#: cinder/volume/flows/api/create_volume.py:125
 #, python-format
 msgid ""
 "Volume size %(size)sGB cannot be smaller than the snapshot size "
 "%(snap_size)sGB. They must be >= original snapshot size."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:133
+#: cinder/volume/flows/api/create_volume.py:134
 #, python-format
 msgid ""
 "Volume size %(size)sGB cannot be smaller than original volume size  "
 "%(source_size)sGB. They must be >= original volume size."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:142
+#: cinder/volume/flows/api/create_volume.py:143
 #, python-format
 msgid "Volume size %(size)s must be an integer and greater than 0"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:182
+#: cinder/volume/flows/api/create_volume.py:183
 #, python-format
 msgid "Image %(image_id)s is not active."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:190
+#: cinder/volume/flows/api/create_volume.py:191
 #, python-format
 msgid ""
 "Size of specified image %(image_size)sGB is larger than volume size "
 "%(volume_size)sGB."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:198
+#: cinder/volume/flows/api/create_volume.py:199
 #, python-format
 msgid ""
 "Volume size %(volume_size)sGB cannot be smaller than the image minDisk "
 "size %(min_disk)sGB."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:216
+#: cinder/volume/flows/api/create_volume.py:217
 #, python-format
 msgid "Metadata property key %s greater than 255 characters"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:221
+#: cinder/volume/flows/api/create_volume.py:222
 #, python-format
 msgid "Metadata property key %s value greater than 255 characters"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:258
+#: cinder/volume/flows/api/create_volume.py:259
 #, python-format
 msgid "Availability zone '%s' is invalid"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:271
+#: cinder/volume/flows/api/create_volume.py:272
 msgid "Volume must be in the same availability zone as the snapshot"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:280
+#: cinder/volume/flows/api/create_volume.py:281
 msgid "Volume must be in the same availability zone as the source volume"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:319
+#: cinder/volume/flows/api/create_volume.py:320
 msgid "Volume type will be changed to be the same as the source volume."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:468
+#: cinder/volume/flows/api/create_volume.py:469
 #, python-format
 msgid "Failed destroying volume entry %s"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:552
+#: cinder/volume/flows/api/create_volume.py:553
 #, python-format
 msgid "Failed rolling back quota for %s reservations"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:598
+#: cinder/volume/flows/api/create_volume.py:599
 #, python-format
 msgid "Failed to update quota for deleting volume: %s"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:686
-#: cinder/volume/flows/manager/create_volume.py:193
+#: cinder/volume/flows/api/create_volume.py:687
+#: cinder/volume/flows/manager/create_volume.py:194
 #, python-format
 msgid "Volume %s: create failed"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:690
+#: cinder/volume/flows/api/create_volume.py:691
 msgid "Unexpected build error:"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:142
+#: cinder/volume/flows/manager/create_volume.py:143
 #, python-format
 msgid "Volume %s: resetting 'creating' status failed."
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:161
+#: cinder/volume/flows/manager/create_volume.py:162
 #, python-format
 msgid "Volume %s: rescheduling failed"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:308
+#: cinder/volume/flows/manager/create_volume.py:309
 #, python-format
 msgid ""
 "Failed notifying about the volume action %(event)s for volume "
 "%(volume_id)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:336
+#: cinder/volume/flows/manager/create_volume.py:337
 #, python-format
 msgid "Copying metadata from %(src_type)s %(src_id)s to %(vol_id)s."
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:338
+#: cinder/volume/flows/manager/create_volume.py:339
 #, python-format
 msgid ""
 "Failed updating volume %(vol_id)s metadata using the provided "
 "%(src_type)s %(src_id)s metadata"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:396
+#: cinder/volume/flows/manager/create_volume.py:397
 #, python-format
 msgid ""
 "Failed fetching snapshot %(snapshot_id)s bootable flag using the provided"
 " glance snapshot %(snapshot_ref_id)s volume reference"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:412
+#: cinder/volume/flows/manager/create_volume.py:413
 #, python-format
 msgid "Failed updating volume %(volume_id)s bootable flag to true"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:446
-#: cinder/volume/flows/manager/create_volume.py:457
+#: cinder/volume/flows/manager/create_volume.py:447
+#: cinder/volume/flows/manager/create_volume.py:458
 #, python-format
 msgid ""
 "Failed to copy image %(image_id)s to volume: %(volume_id)s, error: "
 "%(error)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:452
+#: cinder/volume/flows/manager/create_volume.py:453
 #, python-format
 msgid "Failed to copy image to volume: %(volume_id)s, error: %(error)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:543
+#: cinder/volume/flows/manager/create_volume.py:544
 #, python-format
 msgid "Failed updating volume %(volume_id)s with %(updates)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:567
+#: cinder/volume/flows/manager/create_volume.py:568
 #, python-format
 msgid "Unable to create volume. Volume driver %s not initialized"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:575
+#: cinder/volume/flows/manager/create_volume.py:576
 #, python-format
 msgid ""
 "Volume %(volume_id)s: being created as %(create_type)s with "
 "specification: %(volume_spec)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:606
-#: cinder/volume/flows/manager/manage_existing.py:84
+#: cinder/volume/flows/manager/create_volume.py:607
+#: cinder/volume/flows/manager/manage_existing.py:85
 #, python-format
 msgid ""
 "Failed updating model of volume %(volume_id)s with creation provided "
 "model %(model)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:653
+#: cinder/volume/flows/manager/create_volume.py:654
 #, python-format
 msgid "Volume %(volume_name)s (%(volume_id)s): created successfully"
 msgstr ""
 
-#: cinder/volume/flows/manager/manage_existing.py:45
+#: cinder/volume/flows/manager/manage_existing.py:46
 #, python-format
 msgid "Unable to manage existing volume. Volume driver %s not initialized."
 msgstr ""
 
-#: cinder/volume/flows/manager/manage_existing.py:48
+#: cinder/volume/flows/manager/manage_existing.py:49
 #, python-format
 msgid "Volume driver %s not initialized."
 msgstr ""
 
-#: cinder/zonemanager/fc_san_lookup_service.py:82
+#: cinder/zonemanager/fc_san_lookup_service.py:83
 msgid ""
 "Lookup service not configured. Config option for fc_san_lookup_service "
 "need to specify a concrete implementation of lookup service"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:130
+#: cinder/zonemanager/fc_zone_manager.py:145
 #, python-format
 msgid "Final filtered map for fabric: %s"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:136
+#: cinder/zonemanager/fc_zone_manager.py:151
 msgid "Add Connection: Finished iterating over all target list"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:139
+#: cinder/zonemanager/fc_zone_manager.py:154
 #, python-format
 msgid "Failed adding connection for fabric=%(fabric)s: Error:%(err)s"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:160
+#: cinder/zonemanager/fc_zone_manager.py:175
 #, python-format
 msgid "Delete connection Target List:%s"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:176
+#: cinder/zonemanager/fc_zone_manager.py:191
 #, python-format
 msgid "Final filtered map for delete connection: %s"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:186
+#: cinder/zonemanager/fc_zone_manager.py:201
 #, python-format
 msgid "Failed removing connection for fabric=%(fabric)s: Error:%(err)s"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:227
+#: cinder/zonemanager/fc_zone_manager.py:242
 #, python-format
 msgid "No targets to add or remove connection for I: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:105
+#: cinder/zonemanager/utils.py:39
+#, python-format
+msgid "Using FC Zone Manager %(zm_version)s, Driver %(drv_name)s %(drv_version)s."
+msgstr ""
+
+#: cinder/zonemanager/utils.py:55
+msgid "Driver didn't return connection info, can't add zone."
+msgstr ""
+
+#: cinder/zonemanager/utils.py:80
+msgid "Driver didn't return connection info from terminate_connection call."
+msgstr ""
+
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:106
 msgid "Missing Fibre Channel SAN configuration param - fc_fabric_names"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:139
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:140
 #, python-format
 msgid "Failed collecting name server info from fabric %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:142
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:143
 #, python-format
 msgid "SSH connection failed for %(fabric)s with error: %(err)s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:198
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:199
 msgid "Failed collecting nsshow info for fabric"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:205
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:206
 msgid "Failed collecting nscamshow"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:218
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:219
 #, python-format
 msgid "SSH Command failed with error '%(err)s' '%(command)s'"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:249
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:367
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:250
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:370
 #, python-format
 msgid "Malformed nameserver string: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:80
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:82
 #, python-format
 msgid "Failed getting active zone set from fabric %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:106
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:108
 #, python-format
 msgid ""
 "Malformed zone configuration: (switch=%(switch)s "
 "zone_config=%(zone_config)s)."
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:147
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:151
 #, python-format
 msgid "Deleting zone failed %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:179
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:184
 #, python-format
 msgid ""
 "Creating and activating zone set failed: (Zone set=%(cfg_name)s "
 "error=%(err)s)."
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:231
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:239
 #, python-format
 msgid "Deleting zones failed: (command=%(cmd)s error=%(err)s)."
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:249
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:260
 #, python-format
 msgid "Failed collecting nsshow info for fabric %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:257
-#, python-format
-msgid "Failed collecting nscamshow info for fabric %s"
-msgstr ""
-
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:288
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:291
 #, python-format
 msgid "Error while checking transaction status: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:304
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:307
 #, python-format
 msgid "Error while running zoning CLI: (command=%(cmd)s error=%(err)s)."
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:329
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:332
 msgid "No CLI output for firmware version check"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:332
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:345
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:335
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:348
 #, python-format
 msgid "Error while getting data via ssh: (command=%(cmd)s error=%(err)s)."
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:479
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:482
 #, python-format
 msgid "Error executing command via ssh: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:134
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:137
 #, python-format
 msgid "BrcdFCZoneDriver - Add connection for I-T map: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:146
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:145
 #, python-format
 msgid "Zoning policy for Fabric %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:156
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:265
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:405
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:463
-#, python-format
-msgid ""
-"Unsupported firmware on switch %s. Make sure switch is running firmware "
-"v6.4 or higher"
-msgstr ""
-
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:165
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:227
-#, python-format
-msgid "Failed to add zoning configuration %s"
-msgstr ""
-
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:193
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:172
 #, python-format
 msgid "Zone exists in I-T mode. Skipping zone creation %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:211
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:339
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:190
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:295
 #, python-format
 msgid "Zoning Policy: %s, not recognized"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:216
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:195
 #, python-format
 msgid "Zone map to add: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:243
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:207
 #, python-format
-msgid "BrcdFCZoneDriver - Delete connection for I-T map: %s"
+msgid "Failed to add zoning configuration %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:255
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:223
 #, python-format
-msgid "Zoning policy for fabric %s"
+msgid "BrcdFCZoneDriver - Delete connection for I-T map: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:274
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:231
 #, python-format
-msgid "Failed to delete zoning configuration %s"
+msgid "Zoning policy for fabric %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:366
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:324
 msgid "Failed to update or delete zoning configuration"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:414
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:357
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:393
 #, python-format
-msgid "Failed to get SAN context %s"
+msgid ""
+"Unsupported firmware on switch %s. Make sure switch is running firmware "
+"v6.4 or higher"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:426
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:363
 #, python-format
 msgid "Error getting name server info: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:429
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:366
 #, python-format
 msgid "Failed to get name server info:%s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:437
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:374
 #, python-format
 msgid "Filtered targets for SAN is: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:473
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:400
+#, python-format
+msgid "Failed to retrieve active zoning configuration %s"
+msgstr ""
+
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:424
 #, python-format
-msgid "Failed to access active zoning configuration:%s"
+msgid "Failed to create sb connector for %s"
 msgstr ""
 
diff --git a/cinder/locale/cs/LC_MESSAGES/cinder-log-error.po b/cinder/locale/cs/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..f762b00
--- /dev/null
@@ -0,0 +1,26 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+# Zbyněk Schwarz <zbynek.schwarz@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Czech (http://www.transifex.com/projects/p/cinder/language/"
+"cs/)\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "Chyba při %(full_task_name)s: %(e)s"
diff --git a/cinder/locale/de/LC_MESSAGES/cinder-log-error.po b/cinder/locale/de/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..e3249c5
--- /dev/null
@@ -0,0 +1,25 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: German (http://www.transifex.com/projects/p/cinder/language/"
+"de/)\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "Fehler bei %(full_task_name)s: %(e)s"
index 1231e9124017bcf61c5827c4fd3a106ba4dbc46c..fc19d5cbe3b2051ea91126889057728148f0ba73 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
-"PO-Revision-Date: 2014-06-30 20:07+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: German (http://www.transifex.com/projects/p/cinder/language/"
 "de/)\n"
@@ -19,18 +19,13 @@ msgstr ""
 "Generated-By: Babel 1.3\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: cinder/openstack/common/periodic_task.py:125
+#: cinder/openstack/common/periodic_task.py:126
 #, python-format
 msgid "Skipping periodic task %(task)s because its interval is negative"
 msgstr ""
 "Überspringe periodische Aufgabe %(task)s weil der Intervall negativ ist"
 
-#: cinder/openstack/common/periodic_task.py:130
+#: cinder/openstack/common/periodic_task.py:131
 #, python-format
 msgid "Skipping periodic task %(task)s because it is disabled"
 msgstr "Überspringe periodische Aufgabe %(task)s weil sie deaktiviert ist"
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:387
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr "Lösche doppelte Zeile mit der ID %(id)s aus der Tabelle %(table)s"
diff --git a/cinder/locale/en_AU/LC_MESSAGES/cinder-log-error.po b/cinder/locale/en_AU/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..153d108
--- /dev/null
@@ -0,0 +1,25 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: English (Australia) (http://www.transifex.com/projects/p/"
+"cinder/language/en_AU/)\n"
+"Language: en_AU\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "Error during %(full_task_name)s: %(e)s"
index 795f0840e61faa1f4bd4ddb96dc69f5c96f00ce3..e71fb9654271d22a8654b5098bf7abb047533420 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
-"PO-Revision-Date: 2014-06-30 20:07+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: English (Australia) (http://www.transifex.com/projects/p/"
 "cinder/language/en_AU/)\n"
@@ -19,17 +19,12 @@ msgstr ""
 "Generated-By: Babel 1.3\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: cinder/openstack/common/periodic_task.py:125
+#: cinder/openstack/common/periodic_task.py:126
 #, python-format
 msgid "Skipping periodic task %(task)s because its interval is negative"
 msgstr "Skipping periodic task %(task)s because its interval is negative"
 
-#: cinder/openstack/common/periodic_task.py:130
+#: cinder/openstack/common/periodic_task.py:131
 #, python-format
 msgid "Skipping periodic task %(task)s because it is disabled"
 msgstr "Skipping periodic task %(task)s because it is disabled"
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:387
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr "Deleting duplicated row with id: %(id)s from table: %(table)s"
diff --git a/cinder/locale/en_GB/LC_MESSAGES/cinder-log-critical.po b/cinder/locale/en_GB/LC_MESSAGES/cinder-log-critical.po
new file mode 100644 (file)
index 0000000..87fc054
--- /dev/null
@@ -0,0 +1,20 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-05-30 06:18+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
+"cinder/language/en_GB/)\n"
+"Language: en_GB\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/cinder/locale/en_GB/LC_MESSAGES/cinder-log-error.po b/cinder/locale/en_GB/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..239ffb8
--- /dev/null
@@ -0,0 +1,25 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
+"cinder/language/en_GB/)\n"
+"Language: en_GB\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "Error during %(full_task_name)s: %(e)s"
index 0084b293957082e244f334e1ea3e58ad2b95edcd..f335523871d9554759b9c88db845382ebb58d95e 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
-"PO-Revision-Date: 2014-06-30 20:07+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
 "cinder/language/en_GB/)\n"
@@ -19,17 +19,12 @@ msgstr ""
 "Generated-By: Babel 1.3\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: cinder/openstack/common/periodic_task.py:125
+#: cinder/openstack/common/periodic_task.py:126
 #, python-format
 msgid "Skipping periodic task %(task)s because its interval is negative"
 msgstr "Skipping periodic task %(task)s because its interval is negative"
 
-#: cinder/openstack/common/periodic_task.py:130
+#: cinder/openstack/common/periodic_task.py:131
 #, python-format
 msgid "Skipping periodic task %(task)s because it is disabled"
 msgstr "Skipping periodic task %(task)s because it is disabled"
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:387
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr "Deleting duplicated row with id: %(id)s from table: %(table)s"
diff --git a/cinder/locale/en_GB/LC_MESSAGES/cinder-log-warning.po b/cinder/locale/en_GB/LC_MESSAGES/cinder-log-warning.po
new file mode 100644 (file)
index 0000000..bb4b967
--- /dev/null
@@ -0,0 +1,32 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
+"cinder/language/en_GB/)\n"
+"Language: en_GB\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: cinder/openstack/common/network_utils.py:146
+msgid "tcp_keepidle not available on your system"
+msgstr "tcp_keepidle not available on your system"
+
+#: cinder/openstack/common/network_utils.py:153
+msgid "tcp_keepintvl not available on your system"
+msgstr "tcp_keepintvl not available on your system"
+
+#: cinder/openstack/common/network_utils.py:160
+msgid "tcp_keepknt not available on your system"
+msgstr "tcp_keepknt not available on your system"
index 4cb1bb5cfd95c71d24e2e5956bd5d68389791e10..43c088c7d89b8a70ceeb05291881147a4cda8642 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
 "PO-Revision-Date: 2013-05-08 11:44+0000\n"
 "Last-Translator: markmc <markmc@redhat.com>\n"
 "Language-Team: en_US <LL@li.org>\n"
@@ -17,12 +17,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 1.3\n"
 
-#: cinder/context.py:63
-#, python-format
-msgid "Arguments dropped when creating context: %s"
-msgstr "Arguments dropped when creating context: %s"
-
-#: cinder/context.py:106
+#: cinder/context.py:104
 #, python-format
 msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r"
 msgstr "read_deleted can only be one of 'no', 'yes' or 'only', not %r"
@@ -612,142 +607,157 @@ msgid "Coraid ESM not available with reason: %(reason)s"
 msgstr ""
 
 #: cinder/exception.py:618
-msgid "Zadara Cinder Driver exception."
+#, python-format
+msgid "Pure Storage Cinder driver failure: %(reason)s"
 msgstr ""
 
 #: cinder/exception.py:622
 #, python-format
+msgid "Bad response from Pure Storage REST API: %(reason)s"
+msgstr ""
+
+#: cinder/exception.py:627
+msgid "Zadara Cinder Driver exception."
+msgstr ""
+
+#: cinder/exception.py:631
+#, python-format
 msgid "Unable to create server object for initiator %(name)s"
 msgstr "Unable to create server object for initiator %(name)s"
 
-#: cinder/exception.py:626
+#: cinder/exception.py:635
 #, python-format
 msgid "Unable to find server object for initiator %(name)s"
 msgstr "Unable to find server object for initiator %(name)s"
 
-#: cinder/exception.py:630
+#: cinder/exception.py:639
 msgid "Unable to find any active VPSA controller"
 msgstr "Unable to find any active VPSA controller"
 
-#: cinder/exception.py:634
+#: cinder/exception.py:643
 #, python-format
 msgid "Failed to retrieve attachments for volume %(name)s"
 msgstr "Failed to retrieve attachments for volume %(name)s"
 
-#: cinder/exception.py:638
+#: cinder/exception.py:647
 #, python-format
 msgid "Invalid attachment info for volume %(name)s: %(reason)s"
 msgstr "Invalid attachment info for volume %(name)s: %(reason)s"
 
-#: cinder/exception.py:642
+#: cinder/exception.py:651
 #, python-format
 msgid "Bad HTTP response status %(status)s"
 msgstr "Bad HTTP response status %(status)s"
 
-#: cinder/exception.py:647
+#: cinder/exception.py:656
 msgid "Bad response from SolidFire API"
 msgstr "Bad response from SolidFire API"
 
-#: cinder/exception.py:651
+#: cinder/exception.py:660
 msgid "SolidFire Cinder Driver exception"
 msgstr ""
 
-#: cinder/exception.py:655
+#: cinder/exception.py:664
 #, python-format
 msgid "Error in SolidFire API response: data=%(data)s"
 msgstr "Error in SolidFire API response: data=%(data)s"
 
-#: cinder/exception.py:659
+#: cinder/exception.py:668
 #, python-format
 msgid "Unable to locate account %(account_name)s on Solidfire device"
 msgstr "Unable to locate account %(account_name)s on Solidfire device"
 
-#: cinder/exception.py:665
+#: cinder/exception.py:674
 #, python-format
 msgid "Invalid 3PAR Domain: %(err)s"
 msgstr "Invalid 3PAR Domain: %(err)s"
 
-#: cinder/exception.py:670
+#: cinder/exception.py:679
 msgid "Unknown NFS exception"
 msgstr "Unknown NFS exception"
 
-#: cinder/exception.py:674
+#: cinder/exception.py:683
 msgid "No mounted NFS shares found"
 msgstr "No mounted NFS shares found"
 
-#: cinder/exception.py:678 cinder/exception.py:691
+#: cinder/exception.py:687 cinder/exception.py:700
 #, python-format
 msgid "There is no share which can host %(volume_size)sG"
 msgstr "There is no share which can host %(volume_size)sG"
 
-#: cinder/exception.py:683
+#: cinder/exception.py:692
 msgid "Unknown Gluster exception"
 msgstr "Unknown Gluster exception"
 
-#: cinder/exception.py:687
+#: cinder/exception.py:696
 msgid "No mounted Gluster shares found"
 msgstr "No mounted Gluster shares found"
 
-#: cinder/exception.py:695
+#: cinder/exception.py:704
 #, python-format
 msgid "Failed to remove export for volume %(volume)s: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:700
+#: cinder/exception.py:709
 msgid "HP MSA Volume Driver exception"
 msgstr ""
 
-#: cinder/exception.py:704
+#: cinder/exception.py:713
 #, python-format
 msgid "VDisk doesn't exist (%(vdisk)s)"
 msgstr ""
 
-#: cinder/exception.py:708
+#: cinder/exception.py:717
 msgid "Unable to connect to MSA array"
 msgstr ""
 
-#: cinder/exception.py:712
+#: cinder/exception.py:721
 #, python-format
 msgid "Not enough space on VDisk (%(vdisk)s)"
 msgstr ""
 
-#: cinder/exception.py:717
+#: cinder/exception.py:726
 #, python-format
 msgid "Fibre Channel connection control failure: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:721
+#: cinder/exception.py:730
 #, python-format
 msgid "Fibre Channel Zone operation failed: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:725
+#: cinder/exception.py:734
 #, python-format
 msgid "Fibre Channel SAN Lookup failure: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:729
+#: cinder/exception.py:738
 #, python-format
 msgid "Fibre Channel Zoning CLI error: %(reason)s"
 msgstr ""
 
-#: cinder/exception.py:733
+#: cinder/exception.py:742
 msgid "NetApp Cinder Driver exception."
 msgstr ""
 
-#: cinder/flow_utils.py:76
+#: cinder/exception.py:751
+#, python-format
+msgid "EMCVnxCLICmdError : %(cmd)s (Return Code: %(rc)s) (Output: %(out)s) "
+msgstr ""
+
+#: cinder/flow_utils.py:77
 #, python-format
 msgid ""
 "Flow '%(flow_name)s' (%(flow_uuid)s) transitioned into state '%(state)s' "
 "from state '%(old_state)s'"
 msgstr ""
 
-#: cinder/flow_utils.py:91 cinder/flow_utils.py:115 cinder/flow_utils.py:126
+#: cinder/flow_utils.py:92 cinder/flow_utils.py:116 cinder/flow_utils.py:127
 #, python-format
 msgid "Task '%(task_name)s' (%(task_uuid)s) transitioned into state '%(state)s'"
 msgstr ""
 
-#: cinder/flow_utils.py:107
+#: cinder/flow_utils.py:108
 #, python-format
 msgid ""
 "Task '%(task_name)s' (%(task_uuid)s) transitioned into state '%(state)s' "
@@ -762,7 +772,7 @@ msgstr "JSON file representing policy"
 msgid "Rule checked when requested rule is not found"
 msgstr "Rule checked when requested rule is not found"
 
-#: cinder/quota.py:106
+#: cinder/quota.py:107
 #, python-format
 msgid ""
 "Default quota for resource: %(res)s is set by the default quota flag: "
@@ -770,33 +780,33 @@ msgid ""
 "for default quota."
 msgstr ""
 
-#: cinder/quota.py:771
+#: cinder/quota.py:772
 #, python-format
 msgid "Failed to commit reservations %s"
 msgstr ""
 
-#: cinder/quota.py:791
+#: cinder/quota.py:792
 #, python-format
 msgid "Failed to roll back reservations %s"
 msgstr ""
 
-#: cinder/quota.py:875
+#: cinder/quota.py:876
 msgid "Cannot register resource"
 msgstr ""
 
-#: cinder/quota.py:878
+#: cinder/quota.py:879
 msgid "Cannot register resources"
 msgstr ""
 
-#: cinder/quota_utils.py:46
+#: cinder/quota_utils.py:47
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to create %(s_size)sG volume - "
 "(%(d_consumed)dG of %(d_quota)dG already consumed)"
 msgstr ""
 
-#: cinder/quota_utils.py:56 cinder/transfer/api.py:171
-#: cinder/volume/flows/api/create_volume.py:525
+#: cinder/quota_utils.py:57 cinder/transfer/api.py:173
+#: cinder/volume/flows/api/create_volume.py:526
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to create volume (%(d_consumed)d "
@@ -805,12 +815,12 @@ msgstr ""
 "Quota exceeded for %(s_pid)s, tried to create volume (%(d_consumed)d "
 "volumes already consumed)"
 
-#: cinder/service.py:99
+#: cinder/service.py:104
 #, python-format
 msgid "Starting %(topic)s node (version %(version_string)s)"
 msgstr "Starting %(topic)s node (version %(version_string)s)"
 
-#: cinder/service.py:145
+#: cinder/service.py:150
 #, python-format
 msgid ""
 "Report interval must be less than service down time. Current config "
@@ -819,176 +829,179 @@ msgid ""
 "%(new_down_time)s"
 msgstr ""
 
-#: cinder/service.py:213
+#: cinder/service.py:218
 msgid "Service killed that has no database entry"
 msgstr "Service killed that has no database entry"
 
-#: cinder/service.py:266
+#: cinder/service.py:271
 msgid "Recovered model server connection!"
 msgstr "Recovered model server connection!"
 
-#: cinder/service.py:272
+#: cinder/service.py:277
 msgid "model server went away"
 msgstr "model server went away"
 
-#: cinder/service.py:294
+#: cinder/service.py:300
 #, python-format
 msgid ""
 "Value of config option %(name)s_workers must be integer greater than 1.  "
 "Input value ignored."
 msgstr ""
 
-#: cinder/service.py:369
+#: cinder/service.py:383
 msgid "serve() can only be called once"
 msgstr ""
 
-#: cinder/utils.py:97
+#: cinder/ssh_utils.py:77
+msgid "Specify a password or private_key"
+msgstr "Specify a password or private_key"
+
+#: cinder/ssh_utils.py:93
+#, python-format
+msgid "Error connecting via ssh: %s"
+msgstr "Error connecting via ssh: %s"
+
+#: cinder/utils.py:95
 #, python-format
 msgid "Can not translate %s to integer."
 msgstr ""
 
-#: cinder/utils.py:128
+#: cinder/utils.py:126
 #, python-format
 msgid "May specify only one of %s"
 msgstr ""
 
-#: cinder/utils.py:225
-msgid "Specify a password or private_key"
-msgstr "Specify a password or private_key"
-
-#: cinder/utils.py:241
-#, python-format
-msgid "Error connecting via ssh: %s"
-msgstr "Error connecting via ssh: %s"
-
-#: cinder/utils.py:425
+#: cinder/utils.py:283
 #, python-format
 msgid "Invalid backend: %s"
 msgstr "Invalid backend: %s"
 
-#: cinder/utils.py:772
+#: cinder/utils.py:630
 #, python-format
 msgid "Volume driver %s not initialized"
 msgstr ""
 
-#: cinder/utils.py:826
+#: cinder/utils.py:687
 #, python-format
 msgid "Unable to get a block device for file '%s'"
 msgstr ""
 
-#: cinder/utils.py:838
+#: cinder/utils.py:699
 #, python-format
 msgid "%s is not a string or unicode"
 msgstr ""
 
-#: cinder/utils.py:842
+#: cinder/utils.py:703
 #, python-format
 msgid "%(name)s has a minimum character requirement of %(min_length)s."
 msgstr ""
 
-#: cinder/utils.py:847
+#: cinder/utils.py:708
 #, python-format
 msgid "%(name)s has more than %(max_length)s characters."
 msgstr ""
 
-#: cinder/wsgi.py:147 cinder/openstack/common/sslutils.py:50
+#: cinder/wsgi.py:145 cinder/openstack/common/sslutils.py:50
 #, python-format
 msgid "Unable to find cert_file : %s"
 msgstr "Unable to find cert_file : %s"
 
-#: cinder/wsgi.py:150 cinder/openstack/common/sslutils.py:53
+#: cinder/wsgi.py:149 cinder/openstack/common/sslutils.py:53
 #, python-format
 msgid "Unable to find ca_file : %s"
 msgstr "Unable to find ca_file : %s"
 
-#: cinder/wsgi.py:153 cinder/openstack/common/sslutils.py:56
+#: cinder/wsgi.py:152 cinder/openstack/common/sslutils.py:56
 #, python-format
 msgid "Unable to find key_file : %s"
 msgstr "Unable to find key_file : %s"
 
-#: cinder/wsgi.py:156 cinder/openstack/common/sslutils.py:59
+#: cinder/wsgi.py:156
 msgid ""
 "When running server in SSL mode, you must specify both a cert_file and "
-"key_file option value in your configuration file"
+"key_file option value in your configuration file."
 msgstr ""
-"When running server in SSL mode, you must specify both a cert_file and "
-"key_file option value in your configuration file"
 
-#: cinder/wsgi.py:189
+#: cinder/wsgi.py:172
 #, python-format
 msgid "Could not bind to %(host)s:%(port)s after trying for 30 seconds"
 msgstr "Could not bind to %(host)s:%(port)s after trying for 30 seconds"
 
-#: cinder/wsgi.py:226
+#: cinder/wsgi.py:177
 #, python-format
-msgid "Started %(name)s on %(host)s:%(port)s"
+msgid "%(name)s listening on %(_host)s:%(_port)s"
 msgstr ""
 
-#: cinder/wsgi.py:246
+#: cinder/wsgi.py:218
+#, python-format
+msgid "Failed to start %(name)s on %(_host)s:%(_port)s with SSL support."
+msgstr ""
+
+#: cinder/wsgi.py:249
 msgid "Stopping WSGI server."
 msgstr "Stopping WSGI server."
 
-#: cinder/wsgi.py:264
+#: cinder/wsgi.py:267
 msgid "WSGI server has stopped."
 msgstr "WSGI server has stopped."
 
-#: cinder/wsgi.py:333
+#: cinder/wsgi.py:344
 msgid "You must implement __call__"
 msgstr "You must implement __call__"
 
-#: cinder/api/auth.py:26
+#: cinder/api/auth.py:27
 msgid ""
 "cinder.api.auth:CinderKeystoneContext is deprecated. Please use "
 "cinder.api.middleware.auth:CinderKeystoneContext instead."
 msgstr ""
 
-#: cinder/api/auth.py:34
+#: cinder/api/auth.py:35
 msgid ""
 "cinder.api.auth:pipeline_factory is deprecated. Please use "
 "cinder.api.middleware.auth:pipeline_factory instead."
 msgstr ""
 
-#: cinder/api/common.py:92 cinder/api/common.py:126 cinder/volume/api.py:304
+#: cinder/api/common.py:93 cinder/api/common.py:127 cinder/volume/api.py:305
 msgid "limit param must be an integer"
 msgstr "limit param must be an integer"
 
-#: cinder/api/common.py:95 cinder/api/common.py:130 cinder/volume/api.py:301
+#: cinder/api/common.py:96 cinder/api/common.py:131 cinder/volume/api.py:302
 msgid "limit param must be positive"
 msgstr "limit param must be positive"
 
-#: cinder/api/common.py:120
+#: cinder/api/common.py:121
 msgid "offset param must be an integer"
 msgstr "offset param must be an integer"
 
-#: cinder/api/common.py:134
+#: cinder/api/common.py:135
 msgid "offset param must be positive"
 msgstr "offset param must be positive"
 
-#: cinder/api/common.py:162
+#: cinder/api/common.py:163
 #, python-format
 msgid "marker [%s] not found"
 msgstr "marker [%s] not found"
 
-#: cinder/api/extensions.py:183
+#: cinder/api/extensions.py:184
 msgid "Initializing extension manager."
 msgstr "Initializing extension manager."
 
-#: cinder/api/extensions.py:198
+#: cinder/api/extensions.py:199
 #, python-format
 msgid "Loaded extension: %s"
 msgstr "Loaded extension: %s"
 
-#: cinder/api/extensions.py:243
+#: cinder/api/extensions.py:244
 #, python-format
 msgid "Exception loading extension: %s"
 msgstr "Exception loading extension: %s"
 
-#: cinder/api/extensions.py:277
+#: cinder/api/extensions.py:278
 #, python-format
 msgid "osapi_volume_extension is set to deprecated path: %s"
 msgstr "osapi_volume_extension is set to deprecated path: %s"
 
-#: cinder/api/extensions.py:279
+#: cinder/api/extensions.py:280
 #, python-format
 msgid ""
 "Please set your flag or cinder.conf settings for osapi_volume_extension "
@@ -997,180 +1010,180 @@ msgstr ""
 "Please set your flag or cinder.conf settings for osapi_volume_extension "
 "to: %s"
 
-#: cinder/api/extensions.py:288
+#: cinder/api/extensions.py:289
 #, python-format
 msgid "Failed to load extension %(ext_factory)s: %(exc)s"
 msgstr "Failed to load extension %(ext_factory)s: %(exc)s"
 
-#: cinder/api/extensions.py:357
+#: cinder/api/extensions.py:358
 #, python-format
 msgid "Failed to load extension %(classpath)s: %(exc)s"
 msgstr "Failed to load extension %(classpath)s: %(exc)s"
 
-#: cinder/api/extensions.py:382
+#: cinder/api/extensions.py:383
 #, python-format
 msgid "Failed to load extension %(ext_name)s: %(exc)s"
 msgstr "Failed to load extension %(ext_name)s: %(exc)s"
 
-#: cinder/api/sizelimit.py:25
+#: cinder/api/sizelimit.py:26
 msgid ""
 "cinder.api.sizelimit:RequestBodySizeLimiter is deprecated. Please use "
 "cinder.api.middleware.sizelimit:RequestBodySizeLimiter instead"
 msgstr ""
 
-#: cinder/api/xmlutil.py:266
+#: cinder/api/xmlutil.py:267
 msgid "element is not a child"
 msgstr "element is not a child"
 
-#: cinder/api/xmlutil.py:463
+#: cinder/api/xmlutil.py:465
 msgid "root element selecting a list"
 msgstr "root element selecting a list"
 
-#: cinder/api/xmlutil.py:786
+#: cinder/api/xmlutil.py:788
 #, python-format
 msgid "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s"
 msgstr "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s"
 
-#: cinder/api/xmlutil.py:907
+#: cinder/api/xmlutil.py:909
 msgid "subclasses must implement construct()!"
 msgstr "subclasses must implement construct()!"
 
-#: cinder/api/contrib/admin_actions.py:64
+#: cinder/api/contrib/admin_actions.py:65
 msgid "Must specify 'status'"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:67
+#: cinder/api/contrib/admin_actions.py:68
 msgid "Must specify a valid status"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:81
+#: cinder/api/contrib/admin_actions.py:82
 #, python-format
 msgid "Updating %(resource)s '%(id)s' with '%(update)r'"
 msgstr "Updating %(resource)s '%(id)s' with '%(update)r'"
 
-#: cinder/api/contrib/admin_actions.py:157
+#: cinder/api/contrib/admin_actions.py:158
 msgid "Must specify a valid attach status"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:164
+#: cinder/api/contrib/admin_actions.py:165
 msgid "Must specify a valid migration status"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:170
+#: cinder/api/contrib/admin_actions.py:171
 msgid "Must specify 'status', 'attach_status' or 'migration_status' for update."
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:201
+#: cinder/api/contrib/admin_actions.py:202
 msgid "Must specify 'host'"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:209
+#: cinder/api/contrib/admin_actions.py:210
 msgid "Bad value for 'force_host_copy'"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:212
+#: cinder/api/contrib/admin_actions.py:213
 msgid "'force_host_copy' not string or bool"
 msgstr ""
 
-#: cinder/api/contrib/admin_actions.py:230
+#: cinder/api/contrib/admin_actions.py:231
 msgid "Must specify 'new_volume'"
 msgstr ""
 
-#: cinder/api/contrib/backups.py:176
+#: cinder/api/contrib/backups.py:177
 #, python-format
 msgid "Delete backup with id: %s"
 msgstr "Delete backup with id: %s"
 
-#: cinder/api/contrib/backups.py:243 cinder/api/contrib/backups.py:275
-#: cinder/api/contrib/volume_transfer.py:157
-#: cinder/api/contrib/volume_transfer.py:193
+#: cinder/api/contrib/backups.py:244 cinder/api/contrib/backups.py:276
+#: cinder/api/contrib/volume_transfer.py:158
+#: cinder/api/contrib/volume_transfer.py:194
 msgid "Incorrect request body format"
 msgstr "Incorrect request body format"
 
-#: cinder/api/contrib/backups.py:249
+#: cinder/api/contrib/backups.py:250
 #, python-format
 msgid "Creating backup of volume %(volume_id)s in container %(container)s"
 msgstr "Creating backup of volume %(volume_id)s in container %(container)s"
 
-#: cinder/api/contrib/backups.py:282
+#: cinder/api/contrib/backups.py:283
 #, python-format
 msgid "Restoring backup %(backup_id)s to volume %(volume_id)s"
 msgstr "Restoring backup %(backup_id)s to volume %(volume_id)s"
 
-#: cinder/api/contrib/backups.py:337 cinder/api/contrib/backups.py:346
+#: cinder/api/contrib/backups.py:338 cinder/api/contrib/backups.py:347
 msgid "Incorrect request body format."
 msgstr ""
 
-#: cinder/api/contrib/extended_snapshot_attributes.py:60
+#: cinder/api/contrib/extended_snapshot_attributes.py:61
 msgid "Snapshot not found."
 msgstr "Snapshot not found."
 
-#: cinder/api/contrib/hosts.py:86 cinder/api/openstack/wsgi.py:237
+#: cinder/api/contrib/hosts.py:87 cinder/api/openstack/wsgi.py:238
 msgid "cannot understand XML"
 msgstr "cannot understand XML"
 
-#: cinder/api/contrib/hosts.py:136
+#: cinder/api/contrib/hosts.py:137
 #, python-format
 msgid "Host '%s' could not be found."
 msgstr "Host '%s' could not be found."
 
-#: cinder/api/contrib/hosts.py:165
+#: cinder/api/contrib/hosts.py:166
 #, python-format
 msgid "Invalid status: '%s'"
 msgstr "Invalid status: '%s'"
 
-#: cinder/api/contrib/hosts.py:168
+#: cinder/api/contrib/hosts.py:169
 #, python-format
 msgid "Invalid update setting: '%s'"
 msgstr "Invalid update setting: '%s'"
 
-#: cinder/api/contrib/hosts.py:180
+#: cinder/api/contrib/hosts.py:181
 #, python-format
 msgid "Setting host %(host)s to %(state)s."
 msgstr "Setting host %(host)s to %(state)s."
 
-#: cinder/api/contrib/hosts.py:206
+#: cinder/api/contrib/hosts.py:207
 msgid "Describe-resource is admin only functionality"
 msgstr "Describe-resource is admin only functionality"
 
-#: cinder/api/contrib/hosts.py:214
+#: cinder/api/contrib/hosts.py:215
 msgid "Host not found"
 msgstr "Host not found"
 
-#: cinder/api/contrib/qos_specs_manage.py:78
+#: cinder/api/contrib/qos_specs_manage.py:79
 msgid "Unable to parse XML input."
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:79
+#: cinder/api/contrib/qos_specs_manage.py:80
 msgid "Unable to parse XML request. Please provide XML in correct format."
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:131
+#: cinder/api/contrib/qos_specs_manage.py:132
 msgid "Please specify a name for QoS specs."
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:242
+#: cinder/api/contrib/qos_specs_manage.py:243
 msgid "Failed to disassociate qos specs."
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:244
+#: cinder/api/contrib/qos_specs_manage.py:245
 msgid "Qos specs still in use."
 msgstr ""
 
-#: cinder/api/contrib/qos_specs_manage.py:321
-#: cinder/api/contrib/qos_specs_manage.py:375
+#: cinder/api/contrib/qos_specs_manage.py:322
+#: cinder/api/contrib/qos_specs_manage.py:376
 msgid "Volume Type id must not be None."
 msgstr ""
 
-#: cinder/api/contrib/quota_classes.py:72
+#: cinder/api/contrib/quota_classes.py:73
 msgid "Missing required element quota_class_set in request body."
 msgstr ""
 
-#: cinder/api/contrib/quota_classes.py:81
+#: cinder/api/contrib/quota_classes.py:82
 msgid "Quota class limit must be specified as an integer value."
 msgstr ""
 
-#: cinder/api/contrib/quota_classes.py:85
+#: cinder/api/contrib/quota_classes.py:86
 msgid "Quota class limit must be -1 or greater."
 msgstr ""
 
@@ -1191,280 +1204,280 @@ msgstr ""
 msgid "Bad key(s) in quota set: %s"
 msgstr ""
 
-#: cinder/api/contrib/scheduler_hints.py:36
+#: cinder/api/contrib/scheduler_hints.py:37
 msgid "Malformed scheduler_hints attribute"
 msgstr ""
 
-#: cinder/api/contrib/services.py:91
+#: cinder/api/contrib/services.py:92
 msgid ""
 "Query by service parameter is deprecated. Please use binary parameter "
 "instead."
 msgstr ""
 
-#: cinder/api/contrib/services.py:150
+#: cinder/api/contrib/services.py:151
 msgid "Unknown action"
 msgstr ""
 
-#: cinder/api/contrib/services.py:161
+#: cinder/api/contrib/services.py:162
 msgid "Disabled reason contains invalid characters or is too long"
 msgstr ""
 
-#: cinder/api/contrib/services.py:177
+#: cinder/api/contrib/services.py:178
 msgid "Unknown service"
 msgstr ""
 
-#: cinder/api/contrib/services.py:181
+#: cinder/api/contrib/services.py:182
 msgid "service not found"
 msgstr ""
 
-#: cinder/api/contrib/snapshot_actions.py:51
+#: cinder/api/contrib/snapshot_actions.py:52
 msgid "'status' must be specified."
 msgstr ""
 
-#: cinder/api/contrib/snapshot_actions.py:61
+#: cinder/api/contrib/snapshot_actions.py:62
 #, python-format
 msgid "Snapshot status %(cur)s not allowed for update_snapshot_status"
 msgstr ""
 
-#: cinder/api/contrib/snapshot_actions.py:67
+#: cinder/api/contrib/snapshot_actions.py:68
 #, python-format
 msgid ""
 "Provided snapshot status %(provided)s not allowed for snapshot with "
 "status %(current)s."
 msgstr ""
 
-#: cinder/api/contrib/snapshot_actions.py:79
+#: cinder/api/contrib/snapshot_actions.py:80
 msgid "progress must be an integer percentage"
 msgstr ""
 
-#: cinder/api/contrib/types_extra_specs.py:101
+#: cinder/api/contrib/types_extra_specs.py:102
 msgid "Request body empty"
 msgstr "Request body empty"
 
-#: cinder/api/contrib/types_extra_specs.py:105
-#: cinder/api/v1/snapshot_metadata.py:75 cinder/api/v1/volume_metadata.py:75
-#: cinder/api/v2/snapshot_metadata.py:75 cinder/api/v2/volume_metadata.py:74
+#: cinder/api/contrib/types_extra_specs.py:106
+#: cinder/api/v1/snapshot_metadata.py:76 cinder/api/v1/volume_metadata.py:76
+#: cinder/api/v2/snapshot_metadata.py:76 cinder/api/v2/volume_metadata.py:75
 msgid "Request body and URI mismatch"
 msgstr "Request body and URI mismatch"
 
-#: cinder/api/contrib/types_extra_specs.py:108
-#: cinder/api/v1/snapshot_metadata.py:79 cinder/api/v1/volume_metadata.py:79
-#: cinder/api/v2/snapshot_metadata.py:79 cinder/api/v2/volume_metadata.py:78
+#: cinder/api/contrib/types_extra_specs.py:109
+#: cinder/api/v1/snapshot_metadata.py:80 cinder/api/v1/volume_metadata.py:80
+#: cinder/api/v2/snapshot_metadata.py:80 cinder/api/v2/volume_metadata.py:79
 msgid "Request body contains too many items"
 msgstr "Request body contains too many items"
 
-#: cinder/api/contrib/types_extra_specs.py:152
+#: cinder/api/contrib/types_extra_specs.py:153
 msgid ""
 "Key names can only contain alphanumeric characters, underscores, periods,"
 " colons and hyphens."
 msgstr ""
 
-#: cinder/api/contrib/types_manage.py:99
+#: cinder/api/contrib/types_manage.py:100
 msgid "Target volume type is still in use."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:100
+#: cinder/api/contrib/volume_actions.py:101
 #, python-format
 msgid ""
 "Invalid request to attach volume to an instance %(instance_uuid)s and a "
 "host %(host_name)s simultaneously"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:108
+#: cinder/api/contrib/volume_actions.py:109
 msgid "Invalid request to attach volume to an invalid target"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:112
+#: cinder/api/contrib/volume_actions.py:113
 msgid ""
 "Invalid request to attach volume with an invalid mode. Attaching mode "
 "should be 'rw' or 'ro'"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:192
-#: cinder/api/contrib/volume_actions.py:215
+#: cinder/api/contrib/volume_actions.py:193
+#: cinder/api/contrib/volume_actions.py:216
 msgid "Must specify 'connector'"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:198
+#: cinder/api/contrib/volume_actions.py:199
 msgid "Unable to fetch connection information from backend."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:219
+#: cinder/api/contrib/volume_actions.py:220
 msgid "Unable to terminate volume connection from backend."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:232
+#: cinder/api/contrib/volume_actions.py:233
 msgid "No image_name was specified in request."
 msgstr "No image_name was specified in request."
 
-#: cinder/api/contrib/volume_actions.py:240
+#: cinder/api/contrib/volume_actions.py:241
 msgid "Bad value for 'force' parameter."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:243
+#: cinder/api/contrib/volume_actions.py:244
 msgid "'force' is not string or bool."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:285
+#: cinder/api/contrib/volume_actions.py:286
 msgid "New volume size must be specified as an integer."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:304
+#: cinder/api/contrib/volume_actions.py:305
 msgid "Must specify readonly in request."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:312
+#: cinder/api/contrib/volume_actions.py:313
 msgid "Bad value for 'readonly'"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:316
+#: cinder/api/contrib/volume_actions.py:317
 msgid "'readonly' not string or bool"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:330
+#: cinder/api/contrib/volume_actions.py:331
 msgid "New volume type must be specified."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:349
+#: cinder/api/contrib/volume_actions.py:350
 msgid "Must specify bootable in request."
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:357
+#: cinder/api/contrib/volume_actions.py:358
 msgid "Bad value for 'bootable'"
 msgstr ""
 
-#: cinder/api/contrib/volume_actions.py:361
+#: cinder/api/contrib/volume_actions.py:362
 msgid "'bootable' not string or bool"
 msgstr ""
 
-#: cinder/api/contrib/volume_manage.py:98 cinder/api/v2/snapshots.py:173
-#: cinder/api/v2/snapshots.py:233 cinder/api/v2/volumes.py:268
-#: cinder/api/v2/volumes.py:372
+#: cinder/api/contrib/volume_manage.py:100 cinder/api/v2/snapshots.py:174
+#: cinder/api/v2/snapshots.py:234 cinder/api/v2/volumes.py:269
+#: cinder/api/v2/volumes.py:373
 #, python-format
 msgid "Missing required element '%s' in request body"
 msgstr ""
 
-#: cinder/api/contrib/volume_manage.py:109
+#: cinder/api/contrib/volume_manage.py:111
 #, python-format
 msgid "The following elements are required: %s"
 msgstr ""
 
-#: cinder/api/contrib/volume_manage.py:127 cinder/api/v2/volumes.py:299
+#: cinder/api/contrib/volume_manage.py:129 cinder/api/v2/volumes.py:300
 msgid "Volume type not found."
 msgstr ""
 
-#: cinder/api/contrib/volume_manage.py:143
+#: cinder/api/contrib/volume_manage.py:145
 msgid "Service not found."
 msgstr ""
 
-#: cinder/api/contrib/volume_transfer.py:162
+#: cinder/api/contrib/volume_transfer.py:163
 #, fuzzy, python-format
 msgid "Creating transfer of volume %s"
 msgstr "Creating transfer of volume %s"
 
-#: cinder/api/contrib/volume_transfer.py:196
+#: cinder/api/contrib/volume_transfer.py:197
 #, fuzzy, python-format
 msgid "Accepting transfer %s"
 msgstr "Accepting transfer %s"
 
-#: cinder/api/contrib/volume_transfer.py:217
+#: cinder/api/contrib/volume_transfer.py:218
 #, fuzzy, python-format
 msgid "Delete transfer with id: %s"
 msgstr "Delete transfer with id: %s"
 
-#: cinder/api/contrib/volume_type_encryption.py:64
+#: cinder/api/contrib/volume_type_encryption.py:65
 msgid "key_size must be non-negative"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:67
+#: cinder/api/contrib/volume_type_encryption.py:68
 msgid "key_size must be an integer"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:73
+#: cinder/api/contrib/volume_type_encryption.py:74
 msgid "provider must be defined"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:75
+#: cinder/api/contrib/volume_type_encryption.py:76
 msgid "control_location must be defined"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:83
+#: cinder/api/contrib/volume_type_encryption.py:84
 #, python-format
 msgid "Valid control location are: %s"
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:111
+#: cinder/api/contrib/volume_type_encryption.py:112
 msgid "Cannot create encryption specs. Volume type in use."
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:115
+#: cinder/api/contrib/volume_type_encryption.py:116
 msgid "Create body is not valid."
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:141
+#: cinder/api/contrib/volume_type_encryption.py:142
 msgid "Request body empty."
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:144
+#: cinder/api/contrib/volume_type_encryption.py:145
 msgid "Update body is not valid. It must contain \"encryption.\""
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:147
+#: cinder/api/contrib/volume_type_encryption.py:148
 msgid "Request body contains too many items."
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:153
+#: cinder/api/contrib/volume_type_encryption.py:154
 msgid "Cannot update encryption specs. Volume type in use."
 msgstr ""
 
-#: cinder/api/contrib/volume_type_encryption.py:187
+#: cinder/api/contrib/volume_type_encryption.py:188
 msgid "Cannot delete encryption specs. Volume type in use."
 msgstr ""
 
-#: cinder/api/contrib/volume_unmanage.py:53
+#: cinder/api/contrib/volume_unmanage.py:54
 #, python-format
 msgid "Unmanage volume with id: %s"
 msgstr ""
 
-#: cinder/api/contrib/volume_unmanage.py:59 cinder/api/v2/snapshots.py:189
-#: cinder/api/v2/volumes.py:170 cinder/api/v2/volumes.py:187
-#: cinder/api/v2/volumes.py:406
+#: cinder/api/contrib/volume_unmanage.py:60 cinder/api/v2/snapshots.py:190
+#: cinder/api/v2/volumes.py:171 cinder/api/v2/volumes.py:188
+#: cinder/api/v2/volumes.py:407
 msgid "Volume could not be found"
 msgstr ""
 
-#: cinder/api/contrib/volume_unmanage.py:62 cinder/api/v2/volumes.py:190
+#: cinder/api/contrib/volume_unmanage.py:63 cinder/api/v2/volumes.py:191
 msgid "Volume cannot be deleted while in attached state"
 msgstr ""
 
-#: cinder/api/middleware/auth.py:112
+#: cinder/api/middleware/auth.py:113
 msgid "Invalid service catalog json."
 msgstr ""
 
-#: cinder/api/middleware/fault.py:45
+#: cinder/api/middleware/fault.py:46
 #, python-format
 msgid "Caught error: %s"
 msgstr "Caught error: %s"
 
-#: cinder/api/middleware/fault.py:53 cinder/api/openstack/wsgi.py:978
+#: cinder/api/middleware/fault.py:54 cinder/api/openstack/wsgi.py:979
 #, python-format
 msgid "%(url)s returned with HTTP %(status)d"
 msgstr "%(url)s returned with HTTP %(status)d"
 
-#: cinder/api/middleware/fault.py:69
+#: cinder/api/middleware/fault.py:70
 #, python-format
 msgid "%(exception)s: %(explanation)s"
 msgstr ""
 
-#: cinder/api/middleware/sizelimit.py:55 cinder/api/middleware/sizelimit.py:64
-#: cinder/api/middleware/sizelimit.py:78
+#: cinder/api/middleware/sizelimit.py:56 cinder/api/middleware/sizelimit.py:65
+#: cinder/api/middleware/sizelimit.py:79
 msgid "Request is too large."
 msgstr "Request is too large."
 
-#: cinder/api/openstack/__init__.py:78
+#: cinder/api/openstack/__init__.py:79
 msgid "Must specify an ExtensionManager class"
 msgstr "Must specify an ExtensionManager class"
 
-#: cinder/api/openstack/__init__.py:113
+#: cinder/api/openstack/__init__.py:114
 #, python-format
 msgid ""
 "Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
@@ -1473,84 +1486,84 @@ msgstr ""
 "Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
 "resource"
 
-#: cinder/api/openstack/__init__.py:135
+#: cinder/api/openstack/__init__.py:136
 msgid ""
 "cinder.api.openstack:FaultWrapper is deprecated. Please use "
 "cinder.api.middleware.fault:FaultWrapper instead."
 msgstr ""
 
-#: cinder/api/openstack/urlmap.py:25
+#: cinder/api/openstack/urlmap.py:26
 msgid ""
 "cinder.api.openstack.urlmap:urlmap_factory is deprecated. Please use "
 "cinder.api.urlmap:urlmap_factory instead."
 msgstr ""
 
-#: cinder/api/openstack/wsgi.py:212 cinder/api/openstack/wsgi.py:628
+#: cinder/api/openstack/wsgi.py:213 cinder/api/openstack/wsgi.py:629
 msgid "cannot understand JSON"
 msgstr "cannot understand JSON"
 
-#: cinder/api/openstack/wsgi.py:633
+#: cinder/api/openstack/wsgi.py:634
 msgid "too many body keys"
 msgstr "too many body keys"
 
-#: cinder/api/openstack/wsgi.py:671
+#: cinder/api/openstack/wsgi.py:672
 #, python-format
 msgid "Exception handling resource: %s"
 msgstr "Exception handling resource: %s"
 
-#: cinder/api/openstack/wsgi.py:676
+#: cinder/api/openstack/wsgi.py:677
 #, python-format
 msgid "Fault thrown: %s"
 msgstr "Fault thrown: %s"
 
-#: cinder/api/openstack/wsgi.py:679
+#: cinder/api/openstack/wsgi.py:680
 #, python-format
 msgid "HTTP exception thrown: %s"
 msgstr "HTTP exception thrown: %s"
 
-#: cinder/api/openstack/wsgi.py:908
+#: cinder/api/openstack/wsgi.py:909
 #, python-format
 msgid "There is no such action: %s"
 msgstr "There is no such action: %s"
 
-#: cinder/api/openstack/wsgi.py:911 cinder/api/openstack/wsgi.py:924
-#: cinder/api/v1/snapshot_metadata.py:53 cinder/api/v1/snapshot_metadata.py:71
-#: cinder/api/v1/snapshot_metadata.py:96 cinder/api/v1/snapshot_metadata.py:121
-#: cinder/api/v1/volume_metadata.py:53 cinder/api/v1/volume_metadata.py:71
-#: cinder/api/v1/volume_metadata.py:96 cinder/api/v1/volume_metadata.py:121
-#: cinder/api/v2/snapshot_metadata.py:53 cinder/api/v2/snapshot_metadata.py:71
-#: cinder/api/v2/snapshot_metadata.py:96 cinder/api/v2/snapshot_metadata.py:121
-#: cinder/api/v2/volume_metadata.py:52 cinder/api/v2/volume_metadata.py:70
-#: cinder/api/v2/volume_metadata.py:95 cinder/api/v2/volume_metadata.py:120
+#: cinder/api/openstack/wsgi.py:912 cinder/api/openstack/wsgi.py:925
+#: cinder/api/v1/snapshot_metadata.py:54 cinder/api/v1/snapshot_metadata.py:72
+#: cinder/api/v1/snapshot_metadata.py:97 cinder/api/v1/snapshot_metadata.py:122
+#: cinder/api/v1/volume_metadata.py:54 cinder/api/v1/volume_metadata.py:72
+#: cinder/api/v1/volume_metadata.py:97 cinder/api/v1/volume_metadata.py:122
+#: cinder/api/v2/snapshot_metadata.py:54 cinder/api/v2/snapshot_metadata.py:72
+#: cinder/api/v2/snapshot_metadata.py:97 cinder/api/v2/snapshot_metadata.py:122
+#: cinder/api/v2/volume_metadata.py:53 cinder/api/v2/volume_metadata.py:71
+#: cinder/api/v2/volume_metadata.py:96 cinder/api/v2/volume_metadata.py:121
 msgid "Malformed request body"
 msgstr "Malformed request body"
 
-#: cinder/api/openstack/wsgi.py:921
+#: cinder/api/openstack/wsgi.py:922
 msgid "Unsupported Content-Type"
 msgstr "Unsupported Content-Type"
 
-#: cinder/api/openstack/wsgi.py:933
+#: cinder/api/openstack/wsgi.py:934
 msgid "Malformed request url"
 msgstr "Malformed request url"
 
-#: cinder/api/openstack/wsgi.py:981
+#: cinder/api/openstack/wsgi.py:982
 #, python-format
 msgid "%(url)s returned a fault: %(e)s"
 msgstr "%(url)s returned a fault: %(e)s"
 
-#: cinder/api/openstack/volume/__init__.py:25
+#: cinder/api/openstack/volume/__init__.py:26
 msgid ""
 "cinder.api.openstack.volume:APIRouter is deprecated. Please use "
 "cinder.api.v1.router:APIRouter instead."
 msgstr ""
 
-#: cinder/api/openstack/volume/versions.py:26
+#: cinder/api/openstack/volume/versions.py:27
 msgid ""
 "cinder.api.openstack.volume.versions.Versions is deprecated. Please use "
 "cinder.api.versions.Versions instead."
 msgstr ""
 
-#: cinder/api/v1/limits.py:139 cinder/api/v2/limits.py:138
+#: cinder/api/v1/limits.py:139 cinder/api/v2/limits.py:139
 #, python-format
 msgid ""
 "Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
@@ -1559,124 +1572,124 @@ msgstr ""
 "Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
 "%(unit_string)s."
 
-#: cinder/api/v1/limits.py:264 cinder/api/v2/limits.py:261
+#: cinder/api/v1/limits.py:264 cinder/api/v2/limits.py:262
 msgid "This request was rate-limited."
 msgstr "This request was rate-limited."
 
-#: cinder/api/v1/snapshot_metadata.py:37 cinder/api/v1/snapshot_metadata.py:117
-#: cinder/api/v1/snapshot_metadata.py:156 cinder/api/v2/snapshot_metadata.py:37
-#: cinder/api/v2/snapshot_metadata.py:117
-#: cinder/api/v2/snapshot_metadata.py:156
+#: cinder/api/v1/snapshot_metadata.py:38 cinder/api/v1/snapshot_metadata.py:118
+#: cinder/api/v1/snapshot_metadata.py:157 cinder/api/v2/snapshot_metadata.py:38
+#: cinder/api/v2/snapshot_metadata.py:118
+#: cinder/api/v2/snapshot_metadata.py:157
 msgid "snapshot does not exist"
 msgstr "snapshot does not exist"
 
-#: cinder/api/v1/snapshot_metadata.py:139
-#: cinder/api/v1/snapshot_metadata.py:149 cinder/api/v1/volume_metadata.py:139
-#: cinder/api/v1/volume_metadata.py:149 cinder/api/v2/snapshot_metadata.py:139
-#: cinder/api/v2/snapshot_metadata.py:149 cinder/api/v2/volume_metadata.py:138
-#: cinder/api/v2/volume_metadata.py:148
+#: cinder/api/v1/snapshot_metadata.py:140
+#: cinder/api/v1/snapshot_metadata.py:150 cinder/api/v1/volume_metadata.py:140
+#: cinder/api/v1/volume_metadata.py:150 cinder/api/v2/snapshot_metadata.py:140
+#: cinder/api/v2/snapshot_metadata.py:150 cinder/api/v2/volume_metadata.py:139
+#: cinder/api/v2/volume_metadata.py:149
 msgid "Metadata item was not found"
 msgstr "Metadata item was not found"
 
-#: cinder/api/v1/snapshots.py:118 cinder/api/v2/snapshots.py:119
+#: cinder/api/v1/snapshots.py:119 cinder/api/v2/snapshots.py:120
 #, python-format
 msgid "Delete snapshot with id: %s"
 msgstr "Delete snapshot with id: %s"
 
-#: cinder/api/v1/snapshots.py:172 cinder/api/v2/snapshots.py:183
+#: cinder/api/v1/snapshots.py:173 cinder/api/v2/snapshots.py:184
 msgid "'volume_id' must be specified"
 msgstr ""
 
-#: cinder/api/v1/snapshots.py:181 cinder/api/v2/snapshots.py:192
+#: cinder/api/v1/snapshots.py:182 cinder/api/v2/snapshots.py:193
 #, python-format
 msgid "Create snapshot from volume %s"
 msgstr "Create snapshot from volume %s"
 
-#: cinder/api/v1/snapshots.py:185 cinder/api/v2/snapshots.py:201
+#: cinder/api/v1/snapshots.py:186 cinder/api/v2/snapshots.py:202
 #, python-format
 msgid "Invalid value '%s' for force. "
 msgstr "Invalid value '%s' for force. "
 
-#: cinder/api/v1/volume_metadata.py:37 cinder/api/v1/volume_metadata.py:117
-#: cinder/api/v1/volume_metadata.py:156 cinder/api/v2/volume_metadata.py:36
-#: cinder/api/v2/volume_metadata.py:116 cinder/api/v2/volume_metadata.py:155
+#: cinder/api/v1/volume_metadata.py:38 cinder/api/v1/volume_metadata.py:118
+#: cinder/api/v1/volume_metadata.py:157 cinder/api/v2/volume_metadata.py:37
+#: cinder/api/v2/volume_metadata.py:117 cinder/api/v2/volume_metadata.py:156
 msgid "volume does not exist"
 msgstr "volume does not exist"
 
-#: cinder/api/v1/volumes.py:114
+#: cinder/api/v1/volumes.py:115
 #, python-format
 msgid "vol=%s"
 msgstr "vol=%s"
 
-#: cinder/api/v1/volumes.py:245 cinder/api/v2/volumes.py:181
+#: cinder/api/v1/volumes.py:246 cinder/api/v2/volumes.py:182
 #, python-format
 msgid "Delete volume with id: %s"
 msgstr "Delete volume with id: %s"
 
-#: cinder/api/v1/volumes.py:301 cinder/api/v1/volumes.py:305
-#: cinder/api/v2/volumes.py:253 cinder/api/v2/volumes.py:257
+#: cinder/api/v1/volumes.py:302 cinder/api/v1/volumes.py:306
+#: cinder/api/v2/volumes.py:254 cinder/api/v2/volumes.py:258
 msgid "Invalid imageRef provided."
 msgstr "Invalid imageRef provided."
 
-#: cinder/api/v1/volumes.py:345 cinder/api/v2/volumes.py:310
+#: cinder/api/v1/volumes.py:346 cinder/api/v2/volumes.py:311
 #, python-format
 msgid "snapshot id:%s not found"
 msgstr ""
 
-#: cinder/api/v1/volumes.py:358
+#: cinder/api/v1/volumes.py:359
 #, python-format
 msgid "source vol id:%s not found"
 msgstr ""
 
-#: cinder/api/v1/volumes.py:369 cinder/api/v2/volumes.py:333
+#: cinder/api/v1/volumes.py:370 cinder/api/v2/volumes.py:334
 #, python-format
 msgid "Create volume of %s GB"
 msgstr "Create volume of %s GB"
 
-#: cinder/api/v2/snapshots.py:110 cinder/api/v2/snapshots.py:125
-#: cinder/api/v2/snapshots.py:266
+#: cinder/api/v2/snapshots.py:111 cinder/api/v2/snapshots.py:126
+#: cinder/api/v2/snapshots.py:267
 msgid "Snapshot could not be found"
 msgstr ""
 
-#: cinder/api/v2/snapshots.py:229 cinder/api/v2/volumes.py:368
+#: cinder/api/v2/snapshots.py:230 cinder/api/v2/volumes.py:369
 msgid "Missing request body"
 msgstr ""
 
-#: cinder/api/v2/types.py:70
+#: cinder/api/v2/types.py:71
 msgid "Volume type not found"
 msgstr ""
 
-#: cinder/api/v2/volumes.py:322
+#: cinder/api/v2/volumes.py:323
 #, python-format
 msgid "source volume id:%s not found"
 msgstr ""
 
-#: cinder/backup/api.py:66
+#: cinder/backup/api.py:67
 msgid "Backup status must be available or error"
 msgstr "Backup status must be available or error"
 
-#: cinder/backup/api.py:117
+#: cinder/backup/api.py:118
 msgid "Volume to be backed up must be available"
 msgstr "Volume to be backed up must be available"
 
-#: cinder/backup/api.py:152
+#: cinder/backup/api.py:153
 msgid "Backup status must be available"
 msgstr "Backup status must be available"
 
-#: cinder/backup/api.py:157
+#: cinder/backup/api.py:158
 msgid "Backup to be restored has invalid size"
 msgstr "Backup to be restored has invalid size"
 
-#: cinder/backup/api.py:166
+#: cinder/backup/api.py:167
 #, python-format
 msgid "Creating volume of %(size)s GB for restore of backup %(backup_id)s"
 msgstr "Creating volume of %(size)s GB for restore of backup %(backup_id)s"
 
-#: cinder/backup/api.py:182
+#: cinder/backup/api.py:183
 msgid "Volume to be restored to must be available"
 msgstr "Volume to be restored to must be available"
 
-#: cinder/backup/api.py:188
+#: cinder/backup/api.py:189
 #, python-format
 msgid ""
 "volume size %(volume_size)d is too small to restore backup of size "
@@ -1685,129 +1698,136 @@ msgstr ""
 "volume size %(volume_size)d is too small to restore backup of size "
 "%(size)d."
 
-#: cinder/backup/api.py:193
+#: cinder/backup/api.py:194
 #, python-format
 msgid "Overwriting volume %(volume_id)s with restore of backup %(backup_id)s"
 msgstr "Overwriting volume %(volume_id)s with restore of backup %(backup_id)s"
 
-#: cinder/backup/api.py:227
+#: cinder/backup/api.py:228
 #, python-format
 msgid "Backup status must be available and not %s."
 msgstr ""
 
-#: cinder/backup/driver.py:53
+#: cinder/backup/driver.py:54
 #, python-format
 msgid "Value with type=%s is not serializable"
 msgstr ""
 
-#: cinder/backup/driver.py:73 cinder/backup/driver.py:96
-#: cinder/backup/driver.py:120
+#: cinder/backup/driver.py:74 cinder/backup/driver.py:97
+#: cinder/backup/driver.py:121
 #, python-format
 msgid "Unable to serialize field '%s' - excluding from backup"
 msgstr ""
 
-#: cinder/backup/driver.py:229
+#: cinder/backup/driver.py:230
 #, python-format
 msgid "Unsupported backup metadata version (%s)"
 msgstr ""
 
-#: cinder/backup/manager.py:102
+#: cinder/backup/manager.py:103
 msgid "NULL host not allowed for volume backend lookup."
 msgstr ""
 
-#: cinder/backup/manager.py:112
+#: cinder/backup/manager.py:113
 #, python-format
 msgid "Backend not found in hostname (%s) so using default."
 msgstr ""
 
-#: cinder/backup/manager.py:128
+#: cinder/backup/manager.py:129
 #, python-format
 msgid "Volume manager for backend '%s' does not exist."
 msgstr ""
 
-#: cinder/backup/manager.py:163
+#: cinder/backup/manager.py:164
 #, python-format
 msgid "Starting volume driver %(driver_name)s (%(version)s)."
 msgstr ""
 
-#: cinder/backup/manager.py:170
+#: cinder/backup/manager.py:171
 #, python-format
 msgid "Error encountered during initialization of driver: %(name)s."
 msgstr ""
 
-#: cinder/backup/manager.py:189
+#: cinder/backup/manager.py:190
 msgid "Cleaning up incomplete backup operations."
 msgstr ""
 
-#: cinder/backup/manager.py:194
+#: cinder/backup/manager.py:195
 #, python-format
 msgid "Resetting volume %s to available (was backing-up)."
 msgstr ""
 
-#: cinder/backup/manager.py:199
+#: cinder/backup/manager.py:200
 #, python-format
 msgid "Resetting volume %s to error_restoring (was restoring-backup)."
 msgstr ""
 
-#: cinder/backup/manager.py:211
+#: cinder/backup/manager.py:212
 #, python-format
 msgid "Resetting backup %s to error (was creating)."
 msgstr ""
 
-#: cinder/backup/manager.py:217
+#: cinder/backup/manager.py:218
 #, python-format
 msgid "Resetting backup %s to available (was restoring)."
 msgstr ""
 
-#: cinder/backup/manager.py:222
+#: cinder/backup/manager.py:223
 #, python-format
 msgid "Resuming delete on backup: %s."
 msgstr ""
 
-#: cinder/backup/manager.py:230
+#: cinder/backup/manager.py:231
 #, python-format
 msgid "Create backup started, backup: %(backup_id)s volume: %(volume_id)s."
 msgstr ""
 
-#: cinder/backup/manager.py:242
+#: cinder/backup/manager.py:243
 #, python-format
 msgid ""
 "Create backup aborted, expected volume status %(expected_status)s but got"
 " %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:254
+#: cinder/backup/manager.py:255
 #, python-format
 msgid ""
 "Create backup aborted, expected backup status %(expected_status)s but got"
 " %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:287
+#: cinder/backup/manager.py:288
 #, python-format
 msgid "Create backup finished. backup: %s."
 msgstr ""
 
-#: cinder/backup/manager.py:291
+#: cinder/backup/manager.py:292
 #, python-format
 msgid "Restore backup started, backup: %(backup_id)s volume: %(volume_id)s."
 msgstr ""
 
-#: cinder/backup/manager.py:304
+#: cinder/backup/manager.py:305
 #, python-format
 msgid ""
 "Restore backup aborted, expected volume status %(expected_status)s but "
 "got %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:314
+#: cinder/backup/manager.py:315
 #, python-format
 msgid ""
 "Restore backup aborted: expected backup status %(expected_status)s but "
 "got %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:332
+#: cinder/backup/manager.py:325
+#, python-format
+msgid ""
+"Volume: %(vol_id)s, size: %(vol_size)d is larger than backup: "
+"%(backup_id)s, size: %(backup_size)d, continuing with restore."
+msgstr ""
+
+#: cinder/backup/manager.py:336
 #, python-format
 msgid ""
 "Restore backup aborted, the backup service currently configured "
@@ -1815,26 +1835,26 @@ msgid ""
 "create this backup [%(backup_service)s]."
 msgstr ""
 
-#: cinder/backup/manager.py:363
+#: cinder/backup/manager.py:367
 #, python-format
 msgid ""
 "Restore backup finished, backup %(backup_id)s restored to volume "
 "%(volume_id)s."
 msgstr ""
 
-#: cinder/backup/manager.py:382
+#: cinder/backup/manager.py:386
 #, python-format
 msgid "Delete backup started, backup: %s."
 msgstr ""
 
-#: cinder/backup/manager.py:389
+#: cinder/backup/manager.py:393
 #, python-format
 msgid ""
 "Delete_backup aborted, expected backup status %(expected_status)s but got"
 " %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:402
+#: cinder/backup/manager.py:406
 #, python-format
 msgid ""
 "Delete backup aborted, the backup service currently configured "
@@ -1842,24 +1862,24 @@ msgid ""
 "create this backup [%(backup_service)s]."
 msgstr ""
 
-#: cinder/backup/manager.py:425
+#: cinder/backup/manager.py:429
 #, python-format
 msgid "Delete backup finished, backup %s deleted."
 msgstr ""
 
-#: cinder/backup/manager.py:440
+#: cinder/backup/manager.py:444
 #, python-format
 msgid "Export record started, backup: %s."
 msgstr ""
 
-#: cinder/backup/manager.py:447
+#: cinder/backup/manager.py:451
 #, python-format
 msgid ""
 "Export backup aborted, expected backup status %(expected_status)s but got"
 " %(actual_status)s."
 msgstr ""
 
-#: cinder/backup/manager.py:458
+#: cinder/backup/manager.py:462
 #, python-format
 msgid ""
 "Export record aborted, the backup service currently configured "
@@ -1867,112 +1887,112 @@ msgid ""
 "create this backup [%(backup_service)s]."
 msgstr ""
 
-#: cinder/backup/manager.py:476
+#: cinder/backup/manager.py:480
 #, python-format
 msgid "Export record finished, backup %s exported."
 msgstr ""
 
-#: cinder/backup/manager.py:495
+#: cinder/backup/manager.py:499
 #, python-format
 msgid "Import record started, backup_url: %s."
 msgstr ""
 
-#: cinder/backup/manager.py:511
+#: cinder/backup/manager.py:515
 #, python-format
 msgid ""
 "Import record failed, cannot find backup service to perform the import. "
 "Request service %(service)s"
 msgstr ""
 
-#: cinder/backup/manager.py:546
+#: cinder/backup/manager.py:550
 #, python-format
 msgid "Backup metadata received from driver for import is missing %s."
 msgstr ""
 
-#: cinder/backup/manager.py:561
+#: cinder/backup/manager.py:565
 #, python-format
 msgid ""
 "Backup service %(service)s does not support verify. Backup id %(id)s is "
 "not verified. Skipping verify."
 msgstr ""
 
-#: cinder/backup/manager.py:572
+#: cinder/backup/manager.py:576
 #, python-format
 msgid "Import record id %s metadata from driver finished."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:127 cinder/tests/test_backup_ceph.py:823
+#: cinder/backup/drivers/ceph.py:129 cinder/tests/test_backup_ceph.py:967
 #, python-format
 msgid "Metadata backup object '%s' already exists"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:178
+#: cinder/backup/drivers/ceph.py:180
 msgid ""
 "RBD striping not supported - ignoring configuration settings for rbd "
 "striping"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:201
+#: cinder/backup/drivers/ceph.py:203
 #, python-format
 msgid "invalid user '%s'"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:267
+#: cinder/backup/drivers/ceph.py:269
 msgid "Backup id required"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:324
+#: cinder/backup/drivers/ceph.py:326
 #, python-format
 msgid "Transferred chunk %(chunk)s of %(chunks)s (%(rate)dK/s)"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:425
+#: cinder/backup/drivers/ceph.py:427
 #, python-format
 msgid "image %s not found"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:433
+#: cinder/backup/drivers/ceph.py:435
 #, python-format
 msgid ""
 "Backup base image of volume %(volume)s still has %(snapshots)s snapshots "
 "so skipping base image delete."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:440
+#: cinder/backup/drivers/ceph.py:442
 #, python-format
 msgid "Deleting backup base image='%(basename)s' of volume %(volume)s."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:449
+#: cinder/backup/drivers/ceph.py:451
 #, python-format
 msgid ""
 "Backup image of volume %(volume)s is busy, retrying %(retries)s more "
 "time(s) in %(delay)ss."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:457
+#: cinder/backup/drivers/ceph.py:459
 #, python-format
 msgid ""
 "Max retries reached deleting backup %(basename)s image of volume "
 "%(volume)s."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:492
+#: cinder/backup/drivers/ceph.py:494
 #, python-format
 msgid "Pipe1 failed - %s "
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:506
+#: cinder/backup/drivers/ceph.py:508
 #, python-format
 msgid "Pipe2 failed - %s "
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:550
+#: cinder/backup/drivers/ceph.py:552
 #, python-format
 msgid "RBD diff op failed - (ret=%(ret)s stderr=%(stderr)s)"
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:630
+#: cinder/backup/drivers/ceph.py:632
 #, python-format
 msgid ""
 "Snapshot='%(snap)s' does not exist in base image='%(base)s' - aborting "
@@ -2004,8 +2024,8 @@ msgid ""
 "forcing full copy."
 msgstr ""
 
-#: cinder/backup/drivers/ceph.py:1142 cinder/backup/drivers/swift.py:457
-#: cinder/tests/test_backup_ceph.py:812
+#: cinder/backup/drivers/ceph.py:1142 cinder/backup/drivers/swift.py:460
+#: cinder/tests/test_backup_ceph.py:956
 msgid "Metadata restore failed due to incompatible version"
 msgstr ""
 
@@ -2028,17 +2048,17 @@ msgid ""
 "warning."
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:105
+#: cinder/backup/drivers/swift.py:107
 #, python-format
 msgid "unsupported compression algorithm: %s"
 msgstr "unsupported compression algorithm: %s"
 
-#: cinder/backup/drivers/swift.py:122
+#: cinder/backup/drivers/swift.py:124
 #, python-format
 msgid "single_user auth mode enabled, but %(param)s not set"
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:197
+#: cinder/backup/drivers/swift.py:199
 #, python-format
 msgid ""
 "error writing metadata file to swift, MD5 of metadata file in swift "
@@ -2049,12 +2069,12 @@ msgstr ""
 "[%(etag)s] is not the same as MD5 of metadata file sent to swift "
 "[%(md5)s]"
 
-#: cinder/backup/drivers/swift.py:222
+#: cinder/backup/drivers/swift.py:224
 #, python-format
 msgid "volume size %d is invalid."
 msgstr "volume size %d is invalid."
 
-#: cinder/backup/drivers/swift.py:293
+#: cinder/backup/drivers/swift.py:295
 #, python-format
 msgid ""
 "error writing object to swift, MD5 of object in swift %(etag)s is not the"
@@ -2063,12 +2083,12 @@ msgstr ""
 "error writing object to swift, MD5 of object in swift %(etag)s is not the"
 " same as MD5 of object sent to swift %(md5)s"
 
-#: cinder/backup/drivers/swift.py:352
+#: cinder/backup/drivers/swift.py:356
 #, python-format
 msgid "Backup volume metadata to swift failed: %s"
 msgstr ""
 
-#: cinder/backup/drivers/swift.py:373
+#: cinder/backup/drivers/swift.py:376
 msgid ""
 "restore_backup aborted, actual swift object list in swift does not match "
 "object list stored in metadata"
@@ -2076,21 +2096,21 @@ msgstr ""
 "restore_backup aborted, actual swift object list in swift does not match "
 "object list stored in metadata"
 
-#: cinder/backup/drivers/swift.py:445
+#: cinder/backup/drivers/swift.py:448
 #, python-format
 msgid "No support to restore swift backup version %s"
 msgstr "No support to restore swift backup version %s"
 
-#: cinder/backup/drivers/swift.py:475
+#: cinder/backup/drivers/swift.py:478
 msgid "swift error while listing objects, continuing with delete"
 msgstr "swift error while listing objects, continuing with delete"
 
-#: cinder/backup/drivers/swift.py:484
+#: cinder/backup/drivers/swift.py:487
 #, python-format
 msgid "swift error while deleting object %s, continuing with delete"
 msgstr "swift error while deleting object %s, continuing with delete"
 
-#: cinder/backup/drivers/tsm.py:78
+#: cinder/backup/drivers/tsm.py:79
 #, python-format
 msgid ""
 "%(op)s: backup %(bck_id)s, volume %(vol_id)s failed. Backup object has "
@@ -2098,7 +2118,7 @@ msgid ""
 "%(vol_mode)s."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:113
+#: cinder/backup/drivers/tsm.py:114
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed to create device hardlink from %(vpath)s to "
@@ -2107,24 +2127,24 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:211
+#: cinder/backup/drivers/tsm.py:212
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed. %(path)s is unexpected file type. Block or "
 "regular files supported, actual file mode is %(vol_mode)s."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:221
+#: cinder/backup/drivers/tsm.py:222
 #, python-format
 msgid "backup: %(vol_id)s failed. Cannot obtain real path to volume at %(path)s."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:228
+#: cinder/backup/drivers/tsm.py:229
 #, python-format
 msgid "backup: %(vol_id)s failed. %(path)s is not a file."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:251
+#: cinder/backup/drivers/tsm.py:252
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed to remove backup hardlink from %(vpath)s to "
@@ -2133,7 +2153,7 @@ msgid ""
 " stderr: %(err)s."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:298
+#: cinder/backup/drivers/tsm.py:299
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed to obtain backup success notification from "
@@ -2142,7 +2162,7 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:339
+#: cinder/backup/drivers/tsm.py:340
 #, python-format
 msgid ""
 "restore: %(vol_id)s failed.\n"
@@ -2150,13 +2170,13 @@ msgid ""
 " stderr: %(err)s."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:362
+#: cinder/backup/drivers/tsm.py:363
 msgid ""
 "Volume metadata backup requested but this driver does not yet support "
 "this feature."
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:391
+#: cinder/backup/drivers/tsm.py:392
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed to run dsmc on %(bpath)s.\n"
@@ -2164,7 +2184,7 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:401
+#: cinder/backup/drivers/tsm.py:402
 #, python-format
 msgid ""
 "backup: %(vol_id)s failed to run dsmc due to invalid arguments on "
@@ -2173,7 +2193,7 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:452
+#: cinder/backup/drivers/tsm.py:453
 #, python-format
 msgid ""
 "restore: %(vol_id)s failed to run dsmc on %(bpath)s.\n"
@@ -2181,7 +2201,7 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:462
+#: cinder/backup/drivers/tsm.py:463
 #, python-format
 msgid ""
 "restore: %(vol_id)s failed to run dsmc due to invalid arguments on "
@@ -2190,14 +2210,14 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:508
+#: cinder/backup/drivers/tsm.py:509
 #, python-format
 msgid ""
 "delete: %(vol_id)s failed to run dsmc with stdout: %(out)s\n"
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:516
+#: cinder/backup/drivers/tsm.py:517
 #, python-format
 msgid ""
 "delete: %(vol_id)s failed to run dsmc due to invalid arguments with "
@@ -2205,7 +2225,7 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/backup/drivers/tsm.py:530
+#: cinder/backup/drivers/tsm.py:531
 #, python-format
 msgid ""
 "delete: %(vol_id)s failed with stdout: %(out)s\n"
@@ -2282,31 +2302,31 @@ msgstr ""
 msgid "Could not find the iSCSI Initiator File %s"
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:609
+#: cinder/brick/initiator/connector.py:610
 msgid "We are unable to locate any Fibre Channel devices"
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:629
+#: cinder/brick/initiator/connector.py:630
 msgid "Fibre Channel volume device not found."
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:633
+#: cinder/brick/initiator/connector.py:634
 #, python-format
 msgid "Fibre volume not yet found. Will rescan & retry.  Try number: %(tries)s"
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:777
+#: cinder/brick/initiator/connector.py:778
 #, python-format
 msgid "AoE volume not yet found at: %(path)s. Try number: %(tries)s"
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:859
+#: cinder/brick/initiator/connector.py:860
 msgid ""
 "Connection details not present. RemoteFsClient may not initialize "
 "properly."
 msgstr ""
 
-#: cinder/brick/initiator/connector.py:916
+#: cinder/brick/initiator/connector.py:917
 msgid "Invalid connection_properties specified no device_path attribute"
 msgstr ""
 
@@ -2331,28 +2351,28 @@ msgstr ""
 msgid "Couldn't find multipath device %(line)s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:137
+#: cinder/brick/iscsi/iscsi.py:140
 msgid "Attempting recreate of backing lun..."
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:155
+#: cinder/brick/iscsi/iscsi.py:158
 #, python-format
 msgid ""
 "Failed to recover attempt to create iscsi backing lun for volume "
 "id:%(vol_id)s: %(e)s"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:174
+#: cinder/brick/iscsi/iscsi.py:179
 #, python-format
 msgid "Creating iscsi_target for: %s"
 msgstr "Creating iscsi_target for: %s"
 
-#: cinder/brick/iscsi/iscsi.py:213 cinder/brick/iscsi/iscsi.py:393
+#: cinder/brick/iscsi/iscsi.py:218 cinder/brick/iscsi/iscsi.py:398
 #, fuzzy, python-format
 msgid "Failed to create iscsi target for volume id:%(vol_id)s: %(e)s"
 msgstr "Failed to create iscsi target for volume id:%(vol_id)s: %(e)s"
 
-#: cinder/brick/iscsi/iscsi.py:224
+#: cinder/brick/iscsi/iscsi.py:229
 #, python-format
 msgid ""
 "Failed to create iscsi target for volume id:%(vol_id)s. Please ensure "
@@ -2361,59 +2381,59 @@ msgstr ""
 "Failed to create iscsi target for volume id:%(vol_id)s. Please ensure "
 "your tgtd config file contains 'include %(volumes_dir)s/*'"
 
-#: cinder/brick/iscsi/iscsi.py:254
+#: cinder/brick/iscsi/iscsi.py:259
 #, python-format
 msgid "Removing iscsi_target for: %s"
 msgstr "Removing iscsi_target for: %s"
 
-#: cinder/brick/iscsi/iscsi.py:258
+#: cinder/brick/iscsi/iscsi.py:263
 #, python-format
 msgid "Volume path %s does not exist, nothing to remove."
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:276 cinder/brick/iscsi/iscsi.py:300
+#: cinder/brick/iscsi/iscsi.py:281 cinder/brick/iscsi/iscsi.py:305
 #, fuzzy, python-format
 msgid "Failed to remove iscsi target for volume id:%(vol_id)s: %(e)s"
 msgstr "Failed to remove iscsi target for volume id:%(vol_id)s: %(e)s"
 
-#: cinder/brick/iscsi/iscsi.py:293
+#: cinder/brick/iscsi/iscsi.py:298
 msgid "Silent failure of target removal detected, retry...."
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:318 cinder/brick/iscsi/iscsi.py:572
+#: cinder/brick/iscsi/iscsi.py:323 cinder/brick/iscsi/iscsi.py:577
 msgid "valid iqn needed for show_target"
 msgstr "valid iqn needed for show_target"
 
-#: cinder/brick/iscsi/iscsi.py:400
+#: cinder/brick/iscsi/iscsi.py:405
 #, python-format
 msgid "Removing iscsi_target for volume: %s"
 msgstr "Removing iscsi_target for volume: %s"
 
-#: cinder/brick/iscsi/iscsi.py:494
+#: cinder/brick/iscsi/iscsi.py:499
 msgid "cinder-rtstool is not installed correctly"
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:514
+#: cinder/brick/iscsi/iscsi.py:519
 #, python-format
 msgid "Creating iscsi_target for volume: %s"
 msgstr "Creating iscsi_target for volume: %s"
 
-#: cinder/brick/iscsi/iscsi.py:538 cinder/brick/iscsi/iscsi.py:547
+#: cinder/brick/iscsi/iscsi.py:543 cinder/brick/iscsi/iscsi.py:552
 #, python-format
 msgid "Failed to create iscsi target for volume id:%s."
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:554
+#: cinder/brick/iscsi/iscsi.py:559
 #, python-format
 msgid "Removing iscsi_target: %s"
 msgstr "Removing iscsi_target: %s"
 
-#: cinder/brick/iscsi/iscsi.py:564
+#: cinder/brick/iscsi/iscsi.py:569
 #, python-format
 msgid "Failed to remove iscsi target for volume id:%s."
 msgstr ""
 
-#: cinder/brick/iscsi/iscsi.py:593
+#: cinder/brick/iscsi/iscsi.py:598
 #, python-format
 msgid "Failed to add initiator iqn %s to target"
 msgstr "Failed to add initiator iqn %s to target"
@@ -2523,269 +2543,283 @@ msgstr ""
 msgid "Deploy v2 of the Cinder API."
 msgstr ""
 
-#: cinder/common/sqlalchemyutils.py:66
+#: cinder/common/sqlalchemyutils.py:67
 msgid "Id not in sort_keys; is sort_keys unique?"
 msgstr "Id not in sort_keys; is sort_keys unique?"
 
-#: cinder/common/sqlalchemyutils.py:114
-#: cinder/openstack/common/db/sqlalchemy/utils.py:119
+#: cinder/common/sqlalchemyutils.py:115
 msgid "Unknown sort direction, must be 'desc' or 'asc'"
 msgstr "Unknown sort direction, must be 'desc' or 'asc'"
 
-#: cinder/db/sqlalchemy/api.py:89
+#: cinder/db/sqlalchemy/api.py:91
 msgid "Use of empty request context is deprecated"
 msgstr "Use of empty request context is deprecated"
 
-#: cinder/db/sqlalchemy/api.py:216
-#: cinder/openstack/common/db/sqlalchemy/utils.py:174
+#: cinder/db/sqlalchemy/api.py:203
+#, python-format
+msgid "Deadlock detected when running '%(func_name)s': Retrying..."
+msgstr ""
+
+#: cinder/db/sqlalchemy/api.py:236
 #, python-format
 msgid "Unrecognized read_deleted value '%s'"
 msgstr "Unrecognized read_deleted value '%s'"
 
-#: cinder/db/sqlalchemy/api.py:828
+#: cinder/db/sqlalchemy/api.py:852
 #, python-format
 msgid "Change will make usage less than 0 for the following resources: %s"
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:1241
+#: cinder/db/sqlalchemy/api.py:1271
 msgid "'migration_status' column could not be found."
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:1251
+#: cinder/db/sqlalchemy/api.py:1281
 msgid "'metadata' filter value is not valid."
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:1261
+#: cinder/db/sqlalchemy/api.py:1291
 #, python-format
 msgid "'%s' filter key is not valid, it maps to a relationship."
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:1266
+#: cinder/db/sqlalchemy/api.py:1296
 #, python-format
 msgid "'%s' filter key is not valid."
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:1933
+#: cinder/db/sqlalchemy/api.py:1972
 #, python-format
 msgid "VolumeType %s deletion failed, VolumeType in use."
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:2653
+#: cinder/db/sqlalchemy/api.py:2692
 #, python-format
 msgid "No backup with id %s"
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:2737
+#: cinder/db/sqlalchemy/api.py:2776
 #, fuzzy
 msgid "Volume must be available"
 msgstr "Volume must be available"
 
-#: cinder/db/sqlalchemy/api.py:2762
+#: cinder/db/sqlalchemy/api.py:2802
 #, python-format
 msgid "Volume in unexpected state %s, expected awaiting-transfer"
 msgstr ""
 
-#: cinder/db/sqlalchemy/api.py:2784
+#: cinder/db/sqlalchemy/api.py:2824
 #, python-format
 msgid ""
 "Transfer %(transfer_id)s: Volume id %(volume_id)s in unexpected state "
 "%(status)s, expected awaiting-transfer"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migration.py:37
-#: cinder/openstack/common/db/sqlalchemy/migration.py:190
+#: cinder/db/sqlalchemy/migration.py:38
 msgid "version should be an integer"
 msgstr "version should be an integer"
 
-#: cinder/db/sqlalchemy/migration.py:64
+#: cinder/db/sqlalchemy/migration.py:65
 msgid "Upgrade DB using Essex release first."
 msgstr "Upgrade DB using Essex release first."
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py:240
+#: cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py:241
 msgid "Exception while creating table."
 msgstr "Exception while creating table."
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py:269
+#: cinder/db/sqlalchemy/migrate_repo/versions/001_cinder_init.py:270
 msgid "Downgrade from initial Cinder install is unsupported."
 msgstr "Downgrade from initial Cinder install is unsupported."
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:49
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:74
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:105
-#: cinder/db/sqlalchemy/migrate_repo/versions/008_add_backup.py:56
-#: cinder/db/sqlalchemy/migrate_repo/versions/009_add_snapshot_metadata_table.py:45
-#: cinder/db/sqlalchemy/migrate_repo/versions/010_add_transfers_table.py:48
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:80
-#: cinder/db/sqlalchemy/migrate_repo/versions/020_add_volume_admin_metadata_table.py:46
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:50
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:75
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:106
+#: cinder/db/sqlalchemy/migrate_repo/versions/008_add_backup.py:57
+#: cinder/db/sqlalchemy/migrate_repo/versions/009_add_snapshot_metadata_table.py:46
+#: cinder/db/sqlalchemy/migrate_repo/versions/010_add_transfers_table.py:49
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:81
+#: cinder/db/sqlalchemy/migrate_repo/versions/020_add_volume_admin_metadata_table.py:47
 #, python-format
 msgid "Table |%s| not created!"
 msgstr "Table |%s| not created!"
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:127
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:128
 msgid "Dropping foreign key reservations_ibfk_1 failed."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:133
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:134
 msgid "quota_classes table not dropped"
 msgstr "quota_classes table not dropped"
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:140
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:141
 msgid "quota_usages table not dropped"
 msgstr "quota_usages table not dropped"
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:147
+#: cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py:148
 msgid "reservations table not dropped"
 msgstr "reservations table not dropped"
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/003_glance_metadata.py:58
+#: cinder/db/sqlalchemy/migrate_repo/versions/003_glance_metadata.py:59
 #, fuzzy
 msgid "Exception while creating table 'volume_glance_metadata'"
 msgstr "Exception while creating table 'volume_glance_metedata'"
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/003_glance_metadata.py:73
+#: cinder/db/sqlalchemy/migrate_repo/versions/003_glance_metadata.py:74
 msgid "volume_glance_metadata table not dropped"
 msgstr "volume_glance_metadata table not dropped"
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/008_add_backup.py:68
+#: cinder/db/sqlalchemy/migrate_repo/versions/008_add_backup.py:69
 msgid "backups table not dropped"
 msgstr "backups table not dropped"
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/009_add_snapshot_metadata_table.py:58
+#: cinder/db/sqlalchemy/migrate_repo/versions/009_add_snapshot_metadata_table.py:59
 msgid "snapshot_metadata table not dropped"
 msgstr "snapshot_metadata table not dropped"
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/010_add_transfers_table.py:61
+#: cinder/db/sqlalchemy/migrate_repo/versions/010_add_transfers_table.py:62
 #, fuzzy
 msgid "transfers table not dropped"
 msgstr "transfers table not dropped"
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/015_drop_migrations_table.py:31
+#: cinder/db/sqlalchemy/migrate_repo/versions/015_drop_migrations_table.py:32
 msgid "migrations table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/015_drop_migrations_table.py:61
+#: cinder/db/sqlalchemy/migrate_repo/versions/015_drop_migrations_table.py:62
 #, python-format
 msgid "Table |%s| not created"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/016_drop_sm_tables.py:37
+#: cinder/db/sqlalchemy/migrate_repo/versions/016_drop_sm_tables.py:38
 #, python-format
 msgid "Exception while dropping table %s."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/016_drop_sm_tables.py:100
+#: cinder/db/sqlalchemy/migrate_repo/versions/016_drop_sm_tables.py:101
 #, python-format
 msgid "Exception while creating table %s."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:34
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:43
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:49
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:35
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:44
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:50
 #, python-format
 msgid "Column |%s| not created!"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:92
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:93
 msgid "encryption_key_id column not dropped from volumes"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:100
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:101
 msgid "encryption_key_id column not dropped from snapshots"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:105
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:106
 msgid "volume_type_id column not dropped from snapshots"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:113
+#: cinder/db/sqlalchemy/migrate_repo/versions/017_add_encryption_information.py:114
 msgid "encryption table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:49
+#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:50
 msgid "Table quality_of_service_specs not created!"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:60
+#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:61
 msgid "Added qos_specs_id column to volume type table failed."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:85
+#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:86
 msgid "Dropping foreign key volume_types_ibfk_1 failed"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:93
+#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:94
 msgid "Dropping qos_specs_id column failed."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:100
+#: cinder/db/sqlalchemy/migrate_repo/versions/018_add_qos_specs.py:101
 msgid "Dropping quality_of_service_specs table failed."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/020_add_volume_admin_metadata_table.py:59
+#: cinder/db/sqlalchemy/migrate_repo/versions/020_add_volume_admin_metadata_table.py:60
 msgid "volume_admin_metadata table not dropped"
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:48
+#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:49
 msgid ""
 "Found existing 'default' entries in the quota_classes table.  Skipping "
 "insertion of default values."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:72
+#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:73
 msgid "Added default quota class data into the DB."
 msgstr ""
 
-#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:74
+#: cinder/db/sqlalchemy/migrate_repo/versions/021_add_default_quota_class.py:75
 msgid "Default quota class data not inserted into the DB."
 msgstr ""
 
-#: cinder/image/glance.py:170 cinder/image/glance.py:178
+#: cinder/db/sqlalchemy/migrate_repo/versions/023_add_expire_reservations_index.py:36
+msgid ""
+"Skipped adding reservations_deleted_expire_idx because an equivalent "
+"index already exists."
+msgstr ""
+
+#: cinder/db/sqlalchemy/migrate_repo/versions/023_add_expire_reservations_index.py:58
+msgid ""
+"Skipped removing reservations_deleted_expire_idx because index does not "
+"exist."
+msgstr ""
+
+#: cinder/image/glance.py:171 cinder/image/glance.py:179
 #, fuzzy, python-format
 msgid "Error contacting glance server '%(netloc)s' for '%(method)s', %(extra)s."
 msgstr ""
 "Error contacting glance server '%(host)s:%(port)s' for '%(method)s', "
 "%(extra)s."
 
-#: cinder/image/image_utils.py:98 cinder/image/image_utils.py:203
+#: cinder/image/image_utils.py:99 cinder/image/image_utils.py:204
 msgid "'qemu-img info' parsing failed."
 msgstr "'qemu-img info' parsing failed."
 
-#: cinder/image/image_utils.py:105
+#: cinder/image/image_utils.py:106
 #, python-format
 msgid "fmt=%(fmt)s backed by: %(backing_file)s"
 msgstr ""
 
-#: cinder/image/image_utils.py:113 cinder/image/image_utils.py:196
+#: cinder/image/image_utils.py:114 cinder/image/image_utils.py:197
 #, python-format
 msgid ""
 "Size is %(image_size)dGB and doesn't fit in a volume of size "
 "%(volume_size)dGB."
 msgstr ""
 
-#: cinder/image/image_utils.py:161
+#: cinder/image/image_utils.py:162
 #, python-format
 msgid ""
 "qemu-img is not installed and image is of type %s.  Only RAW images can "
 "be used if qemu-img is not installed."
 msgstr ""
 
-#: cinder/image/image_utils.py:168
+#: cinder/image/image_utils.py:169
 msgid ""
 "qemu-img is not installed and the disk format is not specified.  Only RAW"
 " images can be used if qemu-img is not installed."
 msgstr ""
 
-#: cinder/image/image_utils.py:210
+#: cinder/image/image_utils.py:211
 #, python-format
 msgid "fmt=%(fmt)s backed by:%(backing_file)s"
 msgstr "fmt=%(fmt)s backed by:%(backing_file)s"
 
-#: cinder/image/image_utils.py:229
+#: cinder/image/image_utils.py:230
 #, python-format
 msgid "Converted to %(vol_format)s, but format is now %(file_format)s"
 msgstr ""
 
-#: cinder/image/image_utils.py:266
+#: cinder/image/image_utils.py:267
 #, python-format
 msgid "Converted to %(f1)s, but format is now %(f2)s"
 msgstr "Converted to %(f1)s, but format is now %(f2)s"
@@ -2825,11 +2859,11 @@ msgstr ""
 msgid "Reloading cached file %s"
 msgstr ""
 
-#: cinder/openstack/common/gettextutils.py:320
+#: cinder/openstack/common/gettextutils.py:301
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: cinder/openstack/common/gettextutils.py:330
+#: cinder/openstack/common/gettextutils.py:311
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -2869,22 +2903,22 @@ msgstr "Got file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
 msgid "Released file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
 msgstr "Released file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
 
-#: cinder/openstack/common/log.py:327
+#: cinder/openstack/common/log.py:287
 #, python-format
 msgid "Deprecated: %s"
 msgstr "Deprecated: %s"
 
-#: cinder/openstack/common/log.py:436
+#: cinder/openstack/common/log.py:396
 #, python-format
 msgid "Error loading logging config %(log_config)s: %(err_msg)s"
 msgstr "Error loading logging config %(log_config)s: %(err_msg)s"
 
-#: cinder/openstack/common/log.py:486
+#: cinder/openstack/common/log.py:457
 #, python-format
 msgid "syslog facility must be one of: %s"
 msgstr "syslog facility must be one of: %s"
 
-#: cinder/openstack/common/log.py:729
+#: cinder/openstack/common/log.py:700
 #, python-format
 msgid "Fatal call to deprecated config: %(msg)s"
 msgstr "Fatal call to deprecated config: %(msg)s"
@@ -2895,7 +2929,7 @@ msgid "task run outlasted interval by %s sec"
 msgstr "task run outlasted interval by %s sec"
 
 #: cinder/openstack/common/loopingcall.py:89
-#: cinder/tests/brick/test_brick_connector.py:461
+#: cinder/tests/brick/test_brick_connector.py:462
 msgid "in fixed duration looping call"
 msgstr "in fixed duration looping call"
 
@@ -2908,7 +2942,7 @@ msgstr "Dynamic looping call sleeping for %.02f seconds"
 msgid "in dynamic looping call"
 msgstr "in dynamic looping call"
 
-#: cinder/openstack/common/periodic_task.py:39
+#: cinder/openstack/common/periodic_task.py:40
 #, python-format
 msgid "Unexpected argument for periodic task creation: %(arg)s."
 msgstr ""
@@ -3047,22 +3081,30 @@ msgstr "Caught %s, stopping children"
 msgid "Waiting on %d children to exit"
 msgstr "Waiting on %d children to exit"
 
+#: cinder/openstack/common/sslutils.py:59
+msgid ""
+"When running server in SSL mode, you must specify both a cert_file and "
+"key_file option value in your configuration file"
+msgstr ""
+"When running server in SSL mode, you must specify both a cert_file and "
+"key_file option value in your configuration file"
+
 #: cinder/openstack/common/sslutils.py:98
 #, python-format
 msgid "Invalid SSL version : %s"
 msgstr ""
 
-#: cinder/openstack/common/strutils.py:92
+#: cinder/openstack/common/strutils.py:114
 #, python-format
 msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
 msgstr ""
 
-#: cinder/openstack/common/strutils.py:197
+#: cinder/openstack/common/strutils.py:219
 #, python-format
 msgid "Invalid unit system: \"%s\""
 msgstr ""
 
-#: cinder/openstack/common/strutils.py:206
+#: cinder/openstack/common/strutils.py:228
 #, python-format
 msgid "Invalid string format: %s"
 msgstr ""
@@ -3081,61 +3123,6 @@ msgid ""
 "%(remove_in)s. It will not be superseded."
 msgstr ""
 
-#: cinder/openstack/common/db/exception.py:44
-msgid "Invalid Parameter: Unicode is not supported by the current database."
-msgstr "Invalid Parameter: Unicode is not supported by the current database."
-
-#: cinder/openstack/common/db/sqlalchemy/migration.py:226
-#, python-format
-msgid ""
-"Tables \"%s\" have non utf8 collation, please make sure all tables are "
-"CHARSET=utf8"
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/migration.py:250
-msgid ""
-"The database is not under version control, but has tables. Please stamp "
-"the current version of the schema manually."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:58
-msgid "Sort key supplied was not valid."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:162
-#, python-format
-msgid ""
-"There is no `deleted` column in `%s` table. Project doesn't use soft-"
-"deleted feature."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:181
-#, python-format
-msgid "There is no `project_id` column in `%s` table."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:243
-msgid "model should be a subclass of ModelBase"
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:294
-#, python-format
-msgid ""
-"Please specify column %s in col_name_col_instance param. It is required "
-"because column has unsupported type by sqlite)."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:300
-#, python-format
-msgid ""
-"col_name_col_instance param has wrong type of column instance for column "
-"%s It should be instance of sqlalchemy.Column."
-msgstr ""
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:408
-msgid "Unsupported id columns type"
-msgstr ""
-
 #: cinder/openstack/common/scheduler/filters/capabilities_filter.py:54
 #, python-format
 msgid "extra_spec requirement '%(req)s' does not match '%(cap)s'"
@@ -3155,44 +3142,44 @@ msgstr ""
 msgid "Host %(host)s %(pass_msg)s.  Previously tried hosts: %(hosts)s"
 msgstr "Host %(host)s %(pass_msg)s.  Previously tried hosts: %(hosts)s"
 
-#: cinder/scheduler/driver.py:69
+#: cinder/scheduler/driver.py:70
 msgid "Must implement host_passes_filters"
 msgstr ""
 
-#: cinder/scheduler/driver.py:74
+#: cinder/scheduler/driver.py:75
 msgid "Must implement find_retype_host"
 msgstr ""
 
-#: cinder/scheduler/driver.py:78
+#: cinder/scheduler/driver.py:79
 msgid "Must implement a fallback schedule"
 msgstr "Must implement a fallback schedule"
 
-#: cinder/scheduler/driver.py:82
+#: cinder/scheduler/driver.py:83
 msgid "Must implement schedule_create_volume"
 msgstr "Must implement schedule_create_volume"
 
-#: cinder/scheduler/filter_scheduler.py:98
+#: cinder/scheduler/filter_scheduler.py:99
 #, python-format
 msgid "cannot place volume %(id)s on %(host)s"
 msgstr ""
 
-#: cinder/scheduler/filter_scheduler.py:114
+#: cinder/scheduler/filter_scheduler.py:116
 #, python-format
 msgid "No valid hosts for volume %(id)s with type %(type)s"
 msgstr ""
 
-#: cinder/scheduler/filter_scheduler.py:125
+#: cinder/scheduler/filter_scheduler.py:127
 #, python-format
 msgid ""
 "Current host not valid for volume %(id)s with type %(type)s, migration "
 "not allowed"
 msgstr ""
 
-#: cinder/scheduler/filter_scheduler.py:156
+#: cinder/scheduler/filter_scheduler.py:158
 msgid "Invalid value for 'scheduler_max_attempts', must be >=1"
 msgstr "Invalid value for 'scheduler_max_attempts', must be >=1"
 
-#: cinder/scheduler/filter_scheduler.py:174
+#: cinder/scheduler/filter_scheduler.py:176
 #, python-format
 msgid ""
 "Error scheduling %(volume_id)s from last vol-service: %(last_host)s : "
@@ -3201,22 +3188,27 @@ msgstr ""
 "Error scheduling %(volume_id)s from last vol-service: %(last_host)s : "
 "%(exc)s"
 
-#: cinder/scheduler/filter_scheduler.py:207
+#: cinder/scheduler/filter_scheduler.py:209
 #, python-format
 msgid "Exceeded max scheduling attempts %(max_attempts)d for volume %(volume_id)s"
 msgstr "Exceeded max scheduling attempts %(max_attempts)d for volume %(volume_id)s"
 
-#: cinder/scheduler/host_manager.py:299
+#: cinder/scheduler/filter_scheduler.py:272
+#, python-format
+msgid "No weighed hosts found for volume with properties: %s"
+msgstr ""
+
+#: cinder/scheduler/host_manager.py:300
 #, python-format
 msgid "volume service is down. (host: %s)"
 msgstr ""
 
-#: cinder/scheduler/host_manager.py:320
+#: cinder/scheduler/host_manager.py:321
 #, python-format
 msgid "Removing non-active host: %(host)s from scheduler cache."
 msgstr ""
 
-#: cinder/scheduler/manager.py:67
+#: cinder/scheduler/manager.py:68
 msgid ""
 "ChanceScheduler and SimpleScheduler have been deprecated due to lack of "
 "support for advanced features like: volume types, volume encryption, QoS "
@@ -3224,39 +3216,39 @@ msgid ""
 "certain combination of filters and weighers."
 msgstr ""
 
-#: cinder/scheduler/manager.py:102 cinder/scheduler/manager.py:104
+#: cinder/scheduler/manager.py:103 cinder/scheduler/manager.py:105
 msgid "Failed to create scheduler manager volume flow"
 msgstr ""
 
-#: cinder/scheduler/manager.py:165
+#: cinder/scheduler/manager.py:166
 msgid "New volume type not specified in request_spec."
 msgstr ""
 
-#: cinder/scheduler/manager.py:180
+#: cinder/scheduler/manager.py:181
 #, python-format
 msgid "Could not find a host for volume %(volume_id)s with type %(type_id)s."
 msgstr ""
 
-#: cinder/scheduler/manager.py:222
+#: cinder/scheduler/manager.py:223
 #, python-format
 msgid "Failed to schedule_%(method)s: %(ex)s"
 msgstr "Failed to schedule_%(method)s: %(ex)s"
 
-#: cinder/scheduler/scheduler_options.py:68
+#: cinder/scheduler/scheduler_options.py:69
 #, python-format
 msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
 msgstr "Could not stat scheduler options file %(filename)s: '%(e)s'"
 
-#: cinder/scheduler/scheduler_options.py:78
+#: cinder/scheduler/scheduler_options.py:79
 #, python-format
 msgid "Could not decode scheduler options: '%s'"
 msgstr ""
 
-#: cinder/scheduler/filters/capacity_filter.py:43
+#: cinder/scheduler/filters/capacity_filter.py:44
 msgid "Free capacity not set: volume node info collection broken."
 msgstr "Free capacity not set: volume node info collection broken."
 
-#: cinder/scheduler/filters/capacity_filter.py:57
+#: cinder/scheduler/filters/capacity_filter.py:58
 #, python-format
 msgid ""
 "Insufficient free space for volume creation (requested / avail): "
@@ -3265,55 +3257,64 @@ msgstr ""
 "Insufficient free space for volume creation (requested / avail): "
 "%(requested)s/%(available)s"
 
-#: cinder/scheduler/flows/create_volume.py:52
+#: cinder/scheduler/flows/create_volume.py:53
 msgid "No volume_id provided to populate a request_spec from"
 msgstr ""
 
-#: cinder/scheduler/flows/create_volume.py:102
+#: cinder/scheduler/flows/create_volume.py:103
 #, python-format
 msgid "Failed to run task %(name)s: %(cause)s"
 msgstr ""
 
-#: cinder/scheduler/flows/create_volume.py:119
+#: cinder/scheduler/flows/create_volume.py:120
 #, python-format
 msgid "Failed notifying on %(topic)s payload %(payload)s"
 msgstr ""
 
-#: cinder/tests/fake_driver.py:97
+#: cinder/tests/fake_driver.py:135
 msgid "local_path not implemented"
 msgstr ""
 
-#: cinder/tests/test_backup_ceph.py:836
+#: cinder/tests/test_backup_ceph.py:499 cinder/tests/test_backup_ceph.py:511
+#: cinder/tests/test_backup_ceph.py:573
+msgid "mock"
+msgstr ""
+
+#: cinder/tests/test_backup_ceph.py:980
 #, python-format
 msgid ""
 "Failed to backup volume metadata - Metadata backup object "
 "'backup.%s.meta' already exists"
 msgstr ""
 
-#: cinder/tests/test_glusterfs.py:756
+#: cinder/tests/test_backup_swift.py:146 cinder/tests/test_backup_swift.py:171
+msgid "fake"
+msgstr ""
+
+#: cinder/tests/test_glusterfs.py:757
 msgid "umount: <mnt_path>: target is busy"
 msgstr ""
 
-#: cinder/tests/test_glusterfs.py:771
+#: cinder/tests/test_glusterfs.py:772
 msgid "umount: <mnt_path>: some other error"
 msgstr ""
 
-#: cinder/tests/test_glusterfs.py:902
+#: cinder/tests/test_glusterfs.py:903
 #, python-format
 msgid "umount: %s: not mounted"
 msgstr ""
 
-#: cinder/tests/test_glusterfs.py:914 cinder/tests/test_glusterfs.py:926
+#: cinder/tests/test_glusterfs.py:915 cinder/tests/test_glusterfs.py:927
 #, python-format
 msgid "umount: %s: target is busy"
 msgstr ""
 
-#: cinder/tests/test_ibm_xiv_ds8k.py:102
+#: cinder/tests/test_ibm_xiv_ds8k.py:121
 #, python-format
 msgid "Volume not found for instance %(instance_id)s."
 msgstr "Volume not found for instance %(instance_id)s."
 
-#: cinder/tests/test_misc.py:58
+#: cinder/tests/test_misc.py:59
 #, python-format
 msgid ""
 "The following migrations are missing a downgrade:\n"
@@ -3322,51 +3323,51 @@ msgstr ""
 "The following migrations are missing a downgrade:\n"
 "\t%s"
 
-#: cinder/tests/test_netapp.py:1327
+#: cinder/tests/test_netapp.py:1328
 msgid "Error not a TypeError."
 msgstr ""
 
-#: cinder/tests/test_netapp.py:1336
+#: cinder/tests/test_netapp.py:1337
 msgid "Error not a KeyError."
 msgstr ""
 
-#: cinder/tests/test_netapp_nfs.py:362
+#: cinder/tests/test_netapp_nfs.py:363
 #, python-format
 msgid "Share %(share)s and file name %(file_name)s"
 msgstr ""
 
-#: cinder/tests/test_rbd.py:851 cinder/volume/drivers/rbd.py:175
+#: cinder/tests/test_rbd.py:927 cinder/volume/drivers/rbd.py:176
 msgid "flush() not supported in this version of librbd"
 msgstr ""
 
-#: cinder/tests/test_storwize_svc.py:252
+#: cinder/tests/test_storwize_svc.py:254
 #, python-format
 msgid "unrecognized argument %s"
 msgstr "unrecognized argument %s"
 
-#: cinder/tests/test_volume_types.py:60
+#: cinder/tests/test_volume_types.py:61
 #, python-format
 msgid "Given data: %s"
 msgstr "Given data: %s"
 
-#: cinder/tests/test_volume_types.py:61
+#: cinder/tests/test_volume_types.py:62
 #, python-format
 msgid "Result data: %s"
 msgstr "Result data: %s"
 
-#: cinder/tests/api/contrib/test_backups.py:776
+#: cinder/tests/api/contrib/test_backups.py:777
 msgid "Invalid input"
 msgstr "Invalid input"
 
-#: cinder/tests/brick/test_brick_remotefs.py:99
+#: cinder/tests/brick/test_brick_remotefs.py:100
 msgid "Unexpected call to _execute."
 msgstr ""
 
-#: cinder/tests/brick/test_brick_remotefs.py:132
+#: cinder/tests/brick/test_brick_remotefs.py:133
 msgid "mount failed."
 msgstr ""
 
-#: cinder/tests/integrated/api/client.py:34
+#: cinder/tests/integrated/api/client.py:35
 #, python-format
 msgid ""
 "%(message)s\n"
@@ -3377,77 +3378,72 @@ msgstr ""
 "Status Code: %(_status)s\n"
 "Body: %(_body)s"
 
-#: cinder/tests/integrated/api/client.py:44
+#: cinder/tests/integrated/api/client.py:45
 msgid "Authentication error"
 msgstr "Authentication error"
 
-#: cinder/tests/integrated/api/client.py:52
+#: cinder/tests/integrated/api/client.py:53
 msgid "Authorization error"
 msgstr "Authorization error"
 
-#: cinder/tests/integrated/api/client.py:60
+#: cinder/tests/integrated/api/client.py:61
 msgid "Item not found"
 msgstr "Item not found"
 
-#: cinder/tests/integrated/api/client.py:97
+#: cinder/tests/integrated/api/client.py:98
 #, python-format
 msgid "Doing %(method)s on %(relative_url)s"
 msgstr "Doing %(method)s on %(relative_url)s"
 
-#: cinder/tests/integrated/api/client.py:100
+#: cinder/tests/integrated/api/client.py:101
 #, python-format
 msgid "Body: %s"
 msgstr "Body: %s"
 
-#: cinder/tests/integrated/api/client.py:158
+#: cinder/tests/integrated/api/client.py:159
 msgid "Unexpected status code"
 msgstr "Unexpected status code"
 
-#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:124
-#, python-format
-msgid "In Add GlobalVars._active_cfg: %s"
-msgstr ""
-
-#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:126
+#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:128
 #, python-format
 msgid "In Add GlobalVars._is_normal_test: %s"
 msgstr ""
 
-#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:128
+#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:130
 #, python-format
 msgid "In Add GlobalVars._zone_state: %s"
 msgstr ""
 
-#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:179
+#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:185
 #, python-format
 msgid "User: %s"
 msgstr ""
 
-#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:180
+#: cinder/tests/zonemanager/test_brcd_fc_zone_driver.py:186
 #, python-format
 msgid "_zone_state: %s"
 msgstr ""
 
-#: cinder/transfer/api.py:67
+#: cinder/transfer/api.py:68
 #, fuzzy
 msgid "Volume in unexpected state"
 msgstr "Volume in unexpected state"
 
-#: cinder/transfer/api.py:105
+#: cinder/transfer/api.py:107
 msgid "status must be available"
 msgstr "status must be available"
 
-#: cinder/transfer/api.py:122
+#: cinder/transfer/api.py:124
 #, fuzzy, python-format
 msgid "Failed to create transfer record for %s"
 msgstr "Failed to create transfer record for %s"
 
-#: cinder/transfer/api.py:139
+#: cinder/transfer/api.py:141
 #, python-format
 msgid "Attempt to transfer %s with invalid auth key."
 msgstr ""
 
-#: cinder/transfer/api.py:159 cinder/volume/flows/api/create_volume.py:513
+#: cinder/transfer/api.py:161 cinder/volume/flows/api/create_volume.py:514
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to create %(s_size)sG volume "
@@ -3456,71 +3452,71 @@ msgstr ""
 "Quota exceeded for %(s_pid)s, tried to create %(s_size)sG volume "
 "(%(d_consumed)dG of %(d_quota)dG already consumed)"
 
-#: cinder/transfer/api.py:185
+#: cinder/transfer/api.py:187
 #, fuzzy, python-format
 msgid "Failed to update quota donating volumetransfer id %s"
 msgstr "Failed to update quota donating volumetransfer id %s"
 
-#: cinder/transfer/api.py:202
+#: cinder/transfer/api.py:204
 #, python-format
 msgid "Volume %s has been transferred."
 msgstr ""
 
-#: cinder/volume/api.py:158
+#: cinder/volume/api.py:159
 msgid ""
 "Invalid volume_type provided (requested type must match source volume, or"
 " be omitted). You should omit the argument."
 msgstr ""
 
-#: cinder/volume/api.py:165
+#: cinder/volume/api.py:166
 msgid ""
 "Invalid volume_type provided (requested type must match source snapshot, "
 "or be omitted). You should omit the argument."
 msgstr ""
 
-#: cinder/volume/api.py:202 cinder/volume/api.py:204
+#: cinder/volume/api.py:203 cinder/volume/api.py:205
 msgid "Failed to create api volume flow"
 msgstr ""
 
-#: cinder/volume/api.py:236
+#: cinder/volume/api.py:237
 msgid "Failed to update quota for deleting volume"
 msgstr "Failed to update quota for deleting volume"
 
-#: cinder/volume/api.py:248
+#: cinder/volume/api.py:249
 #, python-format
 msgid "Volume status must be available or error, but current status is: %s"
 msgstr ""
 
-#: cinder/volume/api.py:258
+#: cinder/volume/api.py:259
 msgid "Volume cannot be deleted while migrating"
 msgstr ""
 
-#: cinder/volume/api.py:263
+#: cinder/volume/api.py:264
 #, python-format
 msgid "Volume still has %d dependent snapshots"
 msgstr "Volume still has %d dependent snapshots"
 
-#: cinder/volume/api.py:378
+#: cinder/volume/api.py:379
 msgid "Volume status must be available to reserve"
 msgstr "Volume status must be available to reserve"
 
-#: cinder/volume/api.py:397
+#: cinder/volume/api.py:398
 #, python-format
 msgid ""
-"Unable to detach volume. Volume status must be 'in-use' and "
-"attached_status must be 'attached' to detach. Currently: status: "
-"'%(status)s', attach_status: '%(attach_status)s'"
+"Unable to detach volume. Volume status must be 'in-use' and attach_status"
+" must be 'attached' to detach. Currently: status: '%(status)s', "
+"attach_status: '%(attach_status)s'"
 msgstr ""
 
-#: cinder/volume/api.py:466
+#: cinder/volume/api.py:467
 msgid "Snapshot cannot be created while volume is migrating"
 msgstr ""
 
-#: cinder/volume/api.py:470
+#: cinder/volume/api.py:471
 msgid "must be available"
 msgstr "must be available"
 
-#: cinder/volume/api.py:492
+#: cinder/volume/api.py:493
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to create %(s_size)sG snapshot "
@@ -3529,7 +3525,7 @@ msgstr ""
 "Quota exceeded for %(s_pid)s, tried to create %(s_size)sG snapshot "
 "(%(d_consumed)dG of %(d_quota)dG already consumed)"
 
-#: cinder/volume/api.py:504
+#: cinder/volume/api.py:505
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to create snapshot (%(d_consumed)d "
@@ -3538,212 +3534,212 @@ msgstr ""
 "Quota exceeded for %(s_pid)s, tried to create snapshot (%(d_consumed)d "
 "snapshots already consumed)"
 
-#: cinder/volume/api.py:555
+#: cinder/volume/api.py:556
 msgid "Volume Snapshot status must be available or error"
 msgstr "Volume Snapshot status must be available or error"
 
-#: cinder/volume/api.py:583 cinder/volume/flows/api/create_volume.py:212
+#: cinder/volume/api.py:584 cinder/volume/flows/api/create_volume.py:213
 msgid "Metadata property key blank"
 msgstr "Metadata property key blank"
 
-#: cinder/volume/api.py:587
+#: cinder/volume/api.py:588
 msgid "Metadata property key greater than 255 characters"
 msgstr "Metadata property key greater than 255 characters"
 
-#: cinder/volume/api.py:591
+#: cinder/volume/api.py:592
 msgid "Metadata property value greater than 255 characters"
 msgstr "Metadata property value greater than 255 characters"
 
-#: cinder/volume/api.py:722 cinder/volume/api.py:815
+#: cinder/volume/api.py:723 cinder/volume/api.py:816
 msgid "Volume status must be available/in-use."
 msgstr "Volume status must be available/in-use."
 
-#: cinder/volume/api.py:725
+#: cinder/volume/api.py:726
 msgid "Volume status is in-use."
 msgstr "Volume status is in-use."
 
-#: cinder/volume/api.py:773
+#: cinder/volume/api.py:774
 msgid "Volume status must be available to extend."
 msgstr ""
 
-#: cinder/volume/api.py:778
+#: cinder/volume/api.py:779
 #, python-format
 msgid ""
 "New size for extend must be greater than current size. (current: "
 "%(size)s, extended: %(new_size)s)"
 msgstr ""
 
-#: cinder/volume/api.py:793
+#: cinder/volume/api.py:794
 #, python-format
 msgid ""
 "Quota exceeded for %(s_pid)s, tried to extend volume by %(s_size)sG, "
 "(%(d_consumed)dG of %(d_quota)dG already consumed)."
 msgstr ""
 
-#: cinder/volume/api.py:821
+#: cinder/volume/api.py:822
 msgid "Volume is already part of an active migration"
 msgstr ""
 
-#: cinder/volume/api.py:827
+#: cinder/volume/api.py:828
 msgid "volume must not have snapshots"
 msgstr ""
 
-#: cinder/volume/api.py:842
+#: cinder/volume/api.py:843
 #, python-format
 msgid "No available service named %s"
 msgstr ""
 
-#: cinder/volume/api.py:848
+#: cinder/volume/api.py:849
 msgid "Destination host must be different than current host"
 msgstr ""
 
-#: cinder/volume/api.py:878
+#: cinder/volume/api.py:879
 msgid "Source volume not mid-migration."
 msgstr ""
 
-#: cinder/volume/api.py:882
+#: cinder/volume/api.py:883
 msgid "Destination volume not mid-migration."
 msgstr ""
 
-#: cinder/volume/api.py:887
+#: cinder/volume/api.py:888
 #, python-format
 msgid "Destination has migration_status %(stat)s, expected %(exp)s."
 msgstr ""
 
-#: cinder/volume/api.py:898
+#: cinder/volume/api.py:899
 msgid "Volume status must be available to update readonly flag."
 msgstr ""
 
-#: cinder/volume/api.py:907
+#: cinder/volume/api.py:908
 #, python-format
 msgid "Unable to update type due to incorrect status on volume: %s"
 msgstr ""
 
-#: cinder/volume/api.py:913
+#: cinder/volume/api.py:914
 #, python-format
 msgid "Volume %s is already part of an active migration."
 msgstr ""
 
-#: cinder/volume/api.py:919
+#: cinder/volume/api.py:920
 #, python-format
 msgid "migration_policy must be 'on-demand' or 'never', passed: %s"
 msgstr ""
 
-#: cinder/volume/api.py:932
+#: cinder/volume/api.py:933
 #, python-format
 msgid "Invalid volume_type passed: %s"
 msgstr ""
 
-#: cinder/volume/api.py:945
+#: cinder/volume/api.py:946
 #, python-format
 msgid "New volume_type same as original: %s"
 msgstr ""
 
-#: cinder/volume/api.py:960
+#: cinder/volume/api.py:961
 msgid "Retype cannot change encryption requirements"
 msgstr ""
 
-#: cinder/volume/api.py:972
+#: cinder/volume/api.py:973
 msgid "Retype cannot change front-end qos specs for in-use volumes"
 msgstr ""
 
-#: cinder/volume/api.py:1004
+#: cinder/volume/api.py:1005
 msgid "Unable to find service for given host."
 msgstr ""
 
-#: cinder/volume/driver.py:203 cinder/volume/drivers/hds/nfs.py:351
-#: cinder/volume/drivers/netapp/nfs.py:176
+#: cinder/volume/driver.py:221 cinder/volume/drivers/hds/nfs.py:352
+#: cinder/volume/drivers/netapp/nfs.py:177
 #, python-format
 msgid "Recovering from a failed execute.  Try number %s"
 msgstr "Recovering from a failed execute.  Try number %s"
 
-#: cinder/volume/driver.py:299 cinder/volume/driver.py:313
+#: cinder/volume/driver.py:246 cinder/volume/manager.py:860
+#, python-format
+msgid "Unable to terminate volume connection: %(err)s"
+msgstr ""
+
+#: cinder/volume/driver.py:255 cinder/volume/manager.py:869
+#, python-format
+msgid "Error detaching volume %(volume)s, due to remove export failure."
+msgstr ""
+
+#: cinder/volume/driver.py:328 cinder/volume/driver.py:342
 #, python-format
 msgid "Failed to attach volume %(vol)s"
 msgstr ""
 
-#: cinder/volume/driver.py:331
+#: cinder/volume/driver.py:360
 #, python-format
 msgid "Failed to copy volume %(src)s to %(dest)s."
 msgstr ""
 
-#: cinder/volume/driver.py:393 cinder/volume/manager.py:806
+#: cinder/volume/driver.py:422 cinder/volume/manager.py:801
 #, python-format
 msgid ""
 "Failed updating model of volume %(volume_id)s with driver provided model "
 "%(model)s"
 msgstr ""
 
-#: cinder/volume/driver.py:404 cinder/volume/manager.py:783
-#: cinder/volume/manager.py:814
+#: cinder/volume/driver.py:433 cinder/volume/manager.py:778
+#: cinder/volume/manager.py:809
 #, python-format
 msgid "Unable to fetch connection information from backend: %(err)s"
 msgstr ""
 
-#: cinder/volume/driver.py:410
+#: cinder/volume/driver.py:439
 #, python-format
 msgid "Error encountered during cleanup of a failed attach: %(ex)s"
 msgstr ""
 
-#: cinder/volume/driver.py:430
+#: cinder/volume/driver.py:459
 #, python-format
 msgid "Unable to access the backend storage via the path %(path)s."
 msgstr ""
 
-#: cinder/volume/driver.py:458 cinder/volume/manager.py:880
-#, python-format
-msgid "Unable to terminate volume connection: %(err)s"
-msgstr ""
-
-#: cinder/volume/driver.py:467 cinder/volume/manager.py:889
-#, python-format
-msgid "Error detaching volume %(volume)s, due to remove export failure."
-msgstr ""
-
-#: cinder/volume/driver.py:537
+#: cinder/volume/driver.py:530
 msgid "Extend volume not implemented"
 msgstr ""
 
-#: cinder/volume/driver.py:601 cinder/volume/driver.py:609
+#: cinder/volume/driver.py:594 cinder/volume/driver.py:602
 msgid "Manage existing volume not implemented."
 msgstr ""
 
-#: cinder/volume/driver.py:647 cinder/volume/drivers/emc/emc_smis_iscsi.py:151
+#: cinder/volume/driver.py:685 cinder/volume/drivers/emc/emc_smis_iscsi.py:152
 msgid "ISCSI provider_location not stored, using discovery"
 msgstr "ISCSI provider_location not stored, using discovery"
 
-#: cinder/volume/driver.py:660
+#: cinder/volume/driver.py:698
 #, python-format
 msgid "ISCSI discovery attempt failed for:%s"
 msgstr ""
 
-#: cinder/volume/driver.py:709
+#: cinder/volume/driver.py:747
 #, python-format
 msgid "Could not find iSCSI export for volume %s"
 msgstr "Could not find iSCSI export for volume %s"
 
-#: cinder/volume/driver.py:810
+#: cinder/volume/driver.py:849
 msgid "The volume driver requires the iSCSI initiator name in the connector."
 msgstr ""
 
-#: cinder/volume/driver.py:1068
+#: cinder/volume/driver.py:1107
 msgid "Driver must implement initialize_connection"
 msgstr "Driver must implement initialize_connection"
 
-#: cinder/volume/driver.py:1083
+#: cinder/volume/driver.py:1122
 #, python-format
 msgid ""
 "FibreChannelDriver validate_connector failed. No '%s'. Make sure HBA "
 "state is Online."
 msgstr ""
 
-#: cinder/volume/iscsi.py:67 cinder/volume/iscsi.py:93
-#: cinder/volume/iscsi.py:237
+#: cinder/volume/iscsi.py:69 cinder/volume/iscsi.py:95
+#: cinder/volume/iscsi.py:240
 #, python-format
 msgid "Skipping remove_export. No iscsi_target provisioned for volume: %s"
 msgstr "Skipping remove_export. No iscsi_target provisioned for volume: %s"
 
-#: cinder/volume/iscsi.py:82
+#: cinder/volume/iscsi.py:84
 #, python-format
 msgid ""
 "Skipping remove_export. No iscsi_target is presently exported for volume:"
@@ -3752,11 +3748,11 @@ msgstr ""
 "Skipping remove_export. No iscsi_target is presently exported for volume:"
 " %s"
 
-#: cinder/volume/iscsi.py:102
+#: cinder/volume/iscsi.py:104
 msgid "Detected inconsistency in provider_location id"
 msgstr "Detected inconsistency in provider_location id"
 
-#: cinder/volume/iscsi.py:255
+#: cinder/volume/iscsi.py:258
 #, python-format
 msgid "Skipping ensure_export. No iscsi_target provision for volume: %s"
 msgstr "Skipping ensure_export. No iscsi_target provision for volume: %s"
@@ -3766,340 +3762,340 @@ msgstr "Skipping ensure_export. No iscsi_target provision for volume: %s"
 msgid "Driver path %s is deprecated, update your configuration to the new path."
 msgstr "Driver path %s is deprecated, update your configuration to the new path."
 
-#: cinder/volume/manager.py:205
-#, python-format
-msgid ""
-"Starting FC Zone Manager %(zm_version)s, Driver %(drv_name)s "
-"%(drv_version)s"
-msgstr ""
-
-#: cinder/volume/manager.py:211
+#: cinder/volume/manager.py:202
 #, python-format
 msgid "Starting volume driver %(driver_name)s (%(version)s)"
 msgstr ""
 
-#: cinder/volume/manager.py:218
+#: cinder/volume/manager.py:209
 #, python-format
 msgid "Error encountered during initialization of driver: %(name)s"
 msgstr ""
 
-#: cinder/volume/manager.py:240
+#: cinder/volume/manager.py:231
 #, python-format
 msgid "Failed to re-export volume %s: setting to error state"
 msgstr ""
 
-#: cinder/volume/manager.py:247
+#: cinder/volume/manager.py:238
 #, python-format
 msgid "volume %s stuck in a downloading state"
 msgstr "volume %s stuck in a downloading state"
 
-#: cinder/volume/manager.py:254
+#: cinder/volume/manager.py:245
 #, python-format
 msgid "volume %s: skipping export"
 msgstr "volume %s: skipping export"
 
-#: cinder/volume/manager.py:256
+#: cinder/volume/manager.py:247
 #, python-format
 msgid ""
 "Error encountered during re-exporting phase of driver initialization:  "
 "%(name)s"
 msgstr ""
 
-#: cinder/volume/manager.py:269
+#: cinder/volume/manager.py:260
 #, python-format
 msgid "Resuming delete on volume: %s"
 msgstr "Resuming delete on volume: %s"
 
-#: cinder/volume/manager.py:311 cinder/volume/manager.py:313
+#: cinder/volume/manager.py:302 cinder/volume/manager.py:304
 msgid "Failed to create manager volume flow"
 msgstr ""
 
-#: cinder/volume/manager.py:357
+#: cinder/volume/manager.py:348
 #, python-format
 msgid "Tried to delete volume %s, but it no longer exists, moving on"
 msgstr ""
 
-#: cinder/volume/manager.py:366
+#: cinder/volume/manager.py:357
 #, python-format
 msgid "volume %s: deleting"
 msgstr "volume %s: deleting"
 
-#: cinder/volume/manager.py:372
+#: cinder/volume/manager.py:363
 msgid "volume is not local to this node"
 msgstr "volume is not local to this node"
 
-#: cinder/volume/manager.py:389
+#: cinder/volume/manager.py:380
 #, python-format
 msgid "Cannot delete volume %s: volume is busy"
 msgstr ""
 
-#: cinder/volume/manager.py:416
+#: cinder/volume/manager.py:407
 msgid "Failed to update usages deleting volume"
 msgstr "Failed to update usages deleting volume"
 
-#: cinder/volume/manager.py:422
+#: cinder/volume/manager.py:413
 #, python-format
 msgid "volume %s: deleted successfully"
 msgstr "volume %s: deleted successfully"
 
-#: cinder/volume/manager.py:439
+#: cinder/volume/manager.py:430
 #, python-format
 msgid "snapshot %s: creating"
 msgstr "snapshot %s: creating"
 
-#: cinder/volume/manager.py:474
+#: cinder/volume/manager.py:465
 #, python-format
 msgid ""
 "Failed updating %(snapshot_id)s metadata using the provided volumes "
 "%(volume_id)s metadata"
 msgstr ""
 
-#: cinder/volume/manager.py:488
+#: cinder/volume/manager.py:479
 #, python-format
 msgid "snapshot %s: created successfully"
 msgstr "snapshot %s: created successfully"
 
-#: cinder/volume/manager.py:500
+#: cinder/volume/manager.py:491
 #, python-format
 msgid "snapshot %s: deleting"
 msgstr "snapshot %s: deleting"
 
-#: cinder/volume/manager.py:518
+#: cinder/volume/manager.py:509
 #, python-format
 msgid "Cannot delete snapshot %s: snapshot is busy"
 msgstr ""
 
-#: cinder/volume/manager.py:548
+#: cinder/volume/manager.py:539
 msgid "Failed to update usages deleting snapshot"
 msgstr "Failed to update usages deleting snapshot"
 
-#: cinder/volume/manager.py:551
+#: cinder/volume/manager.py:542
 #, python-format
 msgid "snapshot %s: deleted successfully"
 msgstr "snapshot %s: deleted successfully"
 
-#: cinder/volume/manager.py:571
+#: cinder/volume/manager.py:562
 msgid "being attached by another instance"
 msgstr "being attached by another instance"
 
-#: cinder/volume/manager.py:575
+#: cinder/volume/manager.py:566
 msgid "being attached by another host"
 msgstr ""
 
-#: cinder/volume/manager.py:579
+#: cinder/volume/manager.py:570
 msgid "being attached by different mode"
 msgstr ""
 
-#: cinder/volume/manager.py:582
+#: cinder/volume/manager.py:574
 msgid "status must be available or attaching"
 msgstr ""
 
-#: cinder/volume/manager.py:675
+#: cinder/volume/manager.py:670
 #, python-format
 msgid "Error detaching volume %(volume)s, due to uninitialized driver."
 msgstr ""
 
-#: cinder/volume/manager.py:706
+#: cinder/volume/manager.py:701
 #, python-format
 msgid "Error occurred while uploading volume %(volume_id)s to image %(image_id)s."
 msgstr ""
 
-#: cinder/volume/manager.py:736
+#: cinder/volume/manager.py:731
 #, python-format
 msgid "Error occurred while deleting image %s."
 msgstr ""
 
-#: cinder/volume/manager.py:795
+#: cinder/volume/manager.py:790
 #, python-format
 msgid "Unable to create export for volume %(volume_id)s"
 msgstr ""
 
-#: cinder/volume/manager.py:936
-msgid "failed to create new_volume on destination host"
+#: cinder/volume/manager.py:898
+#, python-format
+msgid ""
+"Failed updating model of volume %(volume_id)s with drivers update "
+"%(model)s during xfr."
 msgstr ""
 
 #: cinder/volume/manager.py:939
+msgid "failed to create new_volume on destination host"
+msgstr ""
+
+#: cinder/volume/manager.py:942
 msgid "timeout creating new_volume on destination host"
 msgstr ""
 
-#: cinder/volume/manager.py:962
+#: cinder/volume/manager.py:965
 #, python-format
 msgid "Failed to copy volume %(vol1)s to %(vol2)s"
 msgstr ""
 
-#: cinder/volume/manager.py:991
+#: cinder/volume/manager.py:994
 #, python-format
 msgid ""
 "migrate_volume_completion: completing migration for volume %(vol1)s "
 "(temporary volume %(vol2)s"
 msgstr ""
 
-#: cinder/volume/manager.py:1003
+#: cinder/volume/manager.py:1006
 #, python-format
 msgid ""
 "migrate_volume_completion is cleaning up an error for volume %(vol1)s "
 "(temporary volume %(vol2)s"
 msgstr ""
 
-#: cinder/volume/manager.py:1022
+#: cinder/volume/manager.py:1027
 #, python-format
 msgid "Failed to delete migration source vol %(vol)s: %(err)s"
 msgstr ""
 
-#: cinder/volume/manager.py:1098
+#: cinder/volume/manager.py:1113
 msgid "Updating volume status"
 msgstr "Updating volume status"
 
-#: cinder/volume/manager.py:1106
+#: cinder/volume/manager.py:1121
 #, python-format
 msgid ""
 "Unable to update stats, %(driver_name)s -%(driver_version)s "
 "%(config_group)s driver is uninitialized."
 msgstr ""
 
-#: cinder/volume/manager.py:1128
+#: cinder/volume/manager.py:1143
 #, python-format
 msgid "Notification {%s} received"
 msgstr "Notification {%s} received"
 
-#: cinder/volume/manager.py:1163
+#: cinder/volume/manager.py:1178
 #, python-format
 msgid "volume %s: extending"
 msgstr ""
 
-#: cinder/volume/manager.py:1165
+#: cinder/volume/manager.py:1180
 #, python-format
 msgid "volume %s: extended successfully"
 msgstr ""
 
-#: cinder/volume/manager.py:1167
+#: cinder/volume/manager.py:1182
 #, python-format
 msgid "volume %s: Error trying to extend volume"
 msgstr ""
 
-#: cinder/volume/manager.py:1172
+#: cinder/volume/manager.py:1187
 #, python-format
 msgid "Volume %s: Error trying to extend volume"
 msgstr ""
 
-#: cinder/volume/manager.py:1232
+#: cinder/volume/manager.py:1247
 msgid "Failed to update usages while retyping volume."
 msgstr ""
 
-#: cinder/volume/manager.py:1233
+#: cinder/volume/manager.py:1248
 msgid "Failed to get old volume type quota reservations"
 msgstr ""
 
-#: cinder/volume/manager.py:1253
+#: cinder/volume/manager.py:1268
 #, python-format
 msgid "Volume %s: retyped successfully"
 msgstr ""
 
-#: cinder/volume/manager.py:1256
+#: cinder/volume/manager.py:1271
 #, python-format
 msgid ""
 "Volume %s: driver error when trying to retype, falling back to generic "
 "mechanism."
 msgstr ""
 
-#: cinder/volume/manager.py:1267
+#: cinder/volume/manager.py:1282
 msgid "Retype requires migration but is not allowed."
 msgstr ""
 
-#: cinder/volume/manager.py:1275
+#: cinder/volume/manager.py:1290
 msgid "Volume must not have snapshots."
 msgstr ""
 
-#: cinder/volume/manager.py:1311
+#: cinder/volume/manager.py:1326
 msgid "Failed to create manage_existing flow."
 msgstr ""
 
-#: cinder/volume/manager.py:1313
+#: cinder/volume/manager.py:1328
 msgid "Failed to create manage existing flow."
 msgstr ""
 
-#: cinder/volume/qos_specs.py:57
+#: cinder/volume/qos_specs.py:58
 #, python-format
 msgid "Valid consumer of QoS specs are: %s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:84 cinder/volume/qos_specs.py:105
-#: cinder/volume/qos_specs.py:155 cinder/volume/qos_specs.py:197
-#: cinder/volume/qos_specs.py:211 cinder/volume/qos_specs.py:225
-#: cinder/volume/volume_types.py:43
+#: cinder/volume/qos_specs.py:85 cinder/volume/qos_specs.py:106
+#: cinder/volume/qos_specs.py:156 cinder/volume/qos_specs.py:198
+#: cinder/volume/qos_specs.py:212 cinder/volume/qos_specs.py:226
+#: cinder/volume/volume_types.py:45
 #, python-format
 msgid "DB error: %s"
 msgstr "DB error: %s"
 
-#: cinder/volume/qos_specs.py:123 cinder/volume/qos_specs.py:140
-#: cinder/volume/qos_specs.py:272 cinder/volume/volume_types.py:52
-#: cinder/volume/volume_types.py:99
+#: cinder/volume/qos_specs.py:124 cinder/volume/qos_specs.py:141
+#: cinder/volume/qos_specs.py:274 cinder/volume/volume_types.py:54
+#: cinder/volume/volume_types.py:102
 msgid "id cannot be None"
 msgstr "id cannot be None"
 
-#: cinder/volume/qos_specs.py:156
+#: cinder/volume/qos_specs.py:157
 #, python-format
 msgid "Failed to get all associations of qos specs %s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:189
+#: cinder/volume/qos_specs.py:190
 #, python-format
 msgid ""
 "Type %(type_id)s is already associated with another qos specs: "
 "%(qos_specs_id)s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:198
+#: cinder/volume/qos_specs.py:199
 #, python-format
 msgid "Failed to associate qos specs %(id)s with type: %(vol_type_id)s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:212
+#: cinder/volume/qos_specs.py:213
 #, python-format
 msgid "Failed to disassociate qos specs %(id)s with type: %(vol_type_id)s"
 msgstr ""
 
-#: cinder/volume/qos_specs.py:226
+#: cinder/volume/qos_specs.py:227
 #, python-format
 msgid "Failed to disassociate qos specs %s."
 msgstr ""
 
-#: cinder/volume/qos_specs.py:284 cinder/volume/volume_types.py:111
+#: cinder/volume/qos_specs.py:286 cinder/volume/volume_types.py:114
 msgid "name cannot be None"
 msgstr "name cannot be None"
 
-#: cinder/volume/utils.py:113
+#: cinder/volume/utils.py:116
 #, python-format
 msgid "Failed to get device number for read throttling: %(error)s"
 msgstr ""
 
-#: cinder/volume/utils.py:121
+#: cinder/volume/utils.py:124
 #, python-format
 msgid "Failed to get device number for write throttling: %(error)s"
 msgstr ""
 
-#: cinder/volume/utils.py:133
+#: cinder/volume/utils.py:136
 msgid "Failed to create blkio cgroup"
 msgstr ""
 
-#: cinder/volume/utils.py:144
+#: cinder/volume/utils.py:147
 #, python-format
 msgid "Failed to setup blkio cgroup to throttle the devices: '%(src)s','%(dst)s'"
 msgstr ""
 
-#: cinder/volume/utils.py:163
+#: cinder/volume/utils.py:166
 #, python-format
 msgid ""
 "Incorrect value error: %(blocksize)s, it may indicate that "
 "'volume_dd_blocksize' was configured incorrectly. Fall back to default."
 msgstr ""
 
-#: cinder/volume/utils.py:229
+#: cinder/volume/utils.py:232
 #, python-format
 msgid "Performing secure delete on volume: %s"
 msgstr "Performing secure delete on volume: %s"
 
-#: cinder/volume/volume_types.py:130
+#: cinder/volume/volume_types.py:133
 #, python-format
 msgid ""
 "Default volume type is not found, please check default_volume_type "
@@ -4108,688 +4104,923 @@ msgstr ""
 "Default volume type is not found, please check default_volume_type "
 "config: %s"
 
-#: cinder/volume/drivers/block_device.py:141 cinder/volume/drivers/lvm.py:284
-#: cinder/volume/drivers/nexenta/nfs.py:190
+#: cinder/volume/drivers/block_device.py:142 cinder/volume/drivers/lvm.py:285
+#: cinder/volume/drivers/nexenta/nfs.py:191
 #, python-format
 msgid "Creating clone of volume: %s"
 msgstr "Creating clone of volume: %s"
 
-#: cinder/volume/drivers/block_device.py:209
+#: cinder/volume/drivers/block_device.py:210
 msgid "No free disk"
 msgstr ""
 
-#: cinder/volume/drivers/block_device.py:222
+#: cinder/volume/drivers/block_device.py:223
 msgid "No big enough free disk"
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:84
+#: cinder/volume/drivers/coraid.py:85
 #, python-format
 msgid "Invalid ESM url scheme \"%s\". Supported https only."
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:111
+#: cinder/volume/drivers/coraid.py:112
 msgid "Invalid REST handle name. Expected path."
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:134
+#: cinder/volume/drivers/coraid.py:135
 #, python-format
 msgid "Call to json.loads() failed: %(ex)s. Response: %(resp)s"
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:244
+#: cinder/volume/drivers/coraid.py:245
 msgid "Reply is empty."
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:246
+#: cinder/volume/drivers/coraid.py:247
 msgid "Error message is empty."
 msgstr ""
 
-#: cinder/volume/drivers/coraid.py:385
+#: cinder/volume/drivers/coraid.py:386
 msgid "Cannot create clone volume in different repository."
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:169
+#: cinder/volume/drivers/eqlx.py:171
 msgid "Error executing EQL command"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:199
+#: cinder/volume/drivers/eqlx.py:202
 #, python-format
 msgid "EQL-driver: executing \"%s\""
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:208
+#: cinder/volume/drivers/eqlx.py:211
 #, python-format
 msgid "SSH Command failed after '%(total_attempts)r' attempts : '%(command)s'"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:215 cinder/volume/drivers/san/san.py:148
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:414
+#: cinder/volume/drivers/eqlx.py:218 cinder/volume/drivers/san/san.py:151
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:417
 #, python-format
 msgid "Error running SSH command: %s"
 msgstr "Error running SSH command: %s"
 
-#: cinder/volume/drivers/eqlx.py:300
+#: cinder/volume/drivers/eqlx.py:325
 #, python-format
 msgid "EQL-driver: Setup is complete, group IP is %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:304
+#: cinder/volume/drivers/eqlx.py:329
 msgid "Failed to setup the Dell EqualLogic driver"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:320
+#: cinder/volume/drivers/eqlx.py:346
 #, python-format
 msgid "Failed to create volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:329
+#: cinder/volume/drivers/eqlx.py:356
+#, python-format
+msgid "Failed to add multi-host access for volume %s"
+msgstr ""
+
+#: cinder/volume/drivers/eqlx.py:366
 #, python-format
 msgid "Volume %s was not found while trying to delete it"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:333
+#: cinder/volume/drivers/eqlx.py:370
 #, python-format
 msgid "Failed to delete volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:348
+#: cinder/volume/drivers/eqlx.py:385
 #, python-format
 msgid "Failed to create snapshot of volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:361
+#: cinder/volume/drivers/eqlx.py:399
 #, python-format
 msgid "Failed to create volume from snapshot %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:374
+#: cinder/volume/drivers/eqlx.py:413
 #, python-format
 msgid "Failed to create clone of volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:384
+#: cinder/volume/drivers/eqlx.py:423
 #, python-format
 msgid "Failed to delete snapshot %(snap)s of volume %(vol)s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:405
+#: cinder/volume/drivers/eqlx.py:444
 #, python-format
 msgid "Failed to initialize connection to volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:415
+#: cinder/volume/drivers/eqlx.py:458
 #, python-format
 msgid "Failed to terminate connection to volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:436
+#: cinder/volume/drivers/eqlx.py:479
 #, python-format
 msgid "Volume %s is not found!, it may have been deleted"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:440
+#: cinder/volume/drivers/eqlx.py:483
 #, python-format
 msgid "Failed to ensure export of volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/eqlx.py:459
+#: cinder/volume/drivers/eqlx.py:502
 #, python-format
 msgid "Failed to extend_volume %(name)s from %(current_size)sGB to %(new_size)sGB"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:102
+#: cinder/volume/drivers/glusterfs.py:103
 #, python-format
 msgid "There's no Gluster config file configured (%s)"
 msgstr "There's no Gluster config file configured (%s)"
 
-#: cinder/volume/drivers/glusterfs.py:107
+#: cinder/volume/drivers/glusterfs.py:108
 #, python-format
 msgid "Gluster config file at %(config)s doesn't exist"
 msgstr "Gluster config file at %(config)s doesn't exist"
 
-#: cinder/volume/drivers/glusterfs.py:119
+#: cinder/volume/drivers/glusterfs.py:120
 msgid "mount.glusterfs is not installed"
 msgstr "mount.glusterfs is not installed"
 
-#: cinder/volume/drivers/glusterfs.py:131
+#: cinder/volume/drivers/glusterfs.py:132
 #, python-format
 msgid "Exception during unmounting %s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:140
+#: cinder/volume/drivers/glusterfs.py:141
 #, python-format
 msgid "%s is already umounted"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:142
+#: cinder/volume/drivers/glusterfs.py:143
 #, python-format
 msgid "Failed to umount %(share)s, reason=%(stderr)s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:151
+#: cinder/volume/drivers/glusterfs.py:152
 #, python-format
 msgid "Failed to refresh mounts, reason=%s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:210
+#: cinder/volume/drivers/glusterfs.py:211
 #, python-format
 msgid "Cloning volume %(src)s to volume %(dst)s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:215
+#: cinder/volume/drivers/glusterfs.py:216
 msgid "Volume status must be 'available'."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:251 cinder/volume/drivers/nfs.py:141
-#: cinder/volume/drivers/netapp/nfs.py:787
+#: cinder/volume/drivers/glusterfs.py:252 cinder/volume/drivers/nfs.py:142
+#: cinder/volume/drivers/netapp/nfs.py:788
 #, python-format
 msgid "casted to %s"
 msgstr "casted to %s"
 
-#: cinder/volume/drivers/glusterfs.py:265
+#: cinder/volume/drivers/glusterfs.py:266
 msgid "Snapshot status must be \"available\" to clone."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:324 cinder/volume/drivers/nfs.py:191
+#: cinder/volume/drivers/glusterfs.py:325 cinder/volume/drivers/nfs.py:192
 #, python-format
 msgid "Volume %s does not have provider_location specified, skipping"
 msgstr "Volume %s does not have provider_location specified, skipping"
 
-#: cinder/volume/drivers/glusterfs.py:432
+#: cinder/volume/drivers/glusterfs.py:433
 #, python-format
 msgid "Volume status must be \"available\" or \"in-use\" for snapshot. (is %s)"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:464
+#: cinder/volume/drivers/glusterfs.py:465
 msgid "Call to Nova to create snapshot failed"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:486
+#: cinder/volume/drivers/glusterfs.py:487
 msgid "Nova returned \"error\" status while creating snapshot."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:503
+#: cinder/volume/drivers/glusterfs.py:504
 #, python-format
 msgid "Timed out while waiting for Nova update for creation of snapshot %s."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:593
+#: cinder/volume/drivers/glusterfs.py:594
 msgid "'active' must be present when writing snap_info."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:627
+#: cinder/volume/drivers/glusterfs.py:628
 msgid "Volume status must be \"available\" or \"in-use\"."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:643
+#: cinder/volume/drivers/glusterfs.py:644
 #, python-format
 msgid ""
 "Snapshot record for %s is not present, allowing snapshot_delete to "
 "proceed."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:669
+#: cinder/volume/drivers/glusterfs.py:670
 #, python-format
 msgid "No backing file found for %s, allowing snapshot to be deleted."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:746
+#: cinder/volume/drivers/glusterfs.py:747
 #, python-format
 msgid "No file found with %s as backing file."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:756
+#: cinder/volume/drivers/glusterfs.py:757
 #, python-format
 msgid "No snap found with %s as backing file."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:793
+#: cinder/volume/drivers/glusterfs.py:794
 #, python-format
 msgid "Check condition failed: %s expected to be None."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:844
+#: cinder/volume/drivers/glusterfs.py:845
 msgid "Call to Nova delete snapshot failed"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:868
+#: cinder/volume/drivers/glusterfs.py:869
 #, python-format
 msgid "Unable to delete snapshot %(id)s, status: %(status)s."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:881
+#: cinder/volume/drivers/glusterfs.py:882
 #, python-format
 msgid "Timed out while waiting for Nova update for deletion of snapshot %(id)s."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:906
+#: cinder/volume/drivers/glusterfs.py:907
 #, python-format
 msgid "Deleting stale snapshot: %s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:987
+#: cinder/volume/drivers/glusterfs.py:988
 #, python-format
 msgid "%s must be a valid raw or qcow2 image."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1051
+#: cinder/volume/drivers/glusterfs.py:1052
 msgid "Extend volume is only supported for this driver when no snapshots exist."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1059
+#: cinder/volume/drivers/glusterfs.py:1060
 #, python-format
 msgid "Unrecognized backing format: %s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1077
+#: cinder/volume/drivers/glusterfs.py:1078
 #, python-format
 msgid "file already exists at %s"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1103 cinder/volume/drivers/nfs.py:178
+#: cinder/volume/drivers/glusterfs.py:1104 cinder/volume/drivers/nfs.py:179
 #, python-format
 msgid "Exception during mounting %s"
 msgstr "Exception during mounting %s"
 
-#: cinder/volume/drivers/glusterfs.py:1122
+#: cinder/volume/drivers/glusterfs.py:1123
 #, python-format
 msgid ""
 "GlusterFS share at %(dir)s is not writable by the Cinder volume service. "
 "Snapshot operations will not be supported."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1228
+#: cinder/volume/drivers/glusterfs.py:1229
 msgid "Backup is not supported for GlusterFS volumes with snapshots."
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1243
+#: cinder/volume/drivers/glusterfs.py:1244
 #, python-format
 msgid ""
 "No snapshots found in database, but %(path)s has backing file "
 "%(backing_file)s!"
 msgstr ""
 
-#: cinder/volume/drivers/glusterfs.py:1251
+#: cinder/volume/drivers/glusterfs.py:1252
 msgid "Backup is only supported for raw-formatted GlusterFS volumes."
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:152
+#: cinder/volume/drivers/lvm.py:153
 #, python-format
 msgid "Volume device file path %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:159
+#: cinder/volume/drivers/lvm.py:160
 #, python-format
 msgid "Size for volume: %s not found, cannot secure delete."
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:229
+#: cinder/volume/drivers/lvm.py:230
 #, python-format
 msgid "Unabled to delete due to existing snapshot for volume: %s"
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:246
+#: cinder/volume/drivers/lvm.py:247
 #, python-format
 msgid "snapshot: %s not found, skipping delete operations"
 msgstr "snapshot: %s not found, skipping delete operations"
 
-#: cinder/volume/drivers/lvm.py:347
+#: cinder/volume/drivers/lvm.py:349
 #, python-format
 msgid "Unable to update stats on non-initialized Volume Group: %s"
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:403
+#: cinder/volume/drivers/lvm.py:405
 #, python-format
 msgid "Failed to rename logical volume %(name)s, error message was: %(err_msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:419
-msgid "Reference must contain lv_name element."
+#: cinder/volume/drivers/lvm.py:421 cinder/volume/drivers/rbd.py:906
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:366
+msgid "Reference must contain source-name element."
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:436
+#: cinder/volume/drivers/lvm.py:438 cinder/volume/drivers/rbd.py:930
 #, python-format
 msgid ""
 "Failed to manage existing volume %(name)s, because reported size %(size)s"
 " was not a floating-point number."
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:506
+#: cinder/volume/drivers/lvm.py:508
 #, python-format
 msgid "Error creating iSCSI target, retrying creation for target: %s"
 msgstr ""
 
-#: cinder/volume/drivers/lvm.py:576
+#: cinder/volume/drivers/lvm.py:579
 #, python-format
 msgid "Destination Volume Group %s does not exist"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:282
+#: cinder/volume/drivers/nfs.py:283
 #, python-format
 msgid "Expected volume size was %d"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:283
+#: cinder/volume/drivers/nfs.py:284
 #, python-format
 msgid " but size is now %d"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:380
+#: cinder/volume/drivers/nfs.py:381
 #, python-format
 msgid "%s is already mounted"
 msgstr "%s is already mounted"
 
-#: cinder/volume/drivers/nfs.py:432
+#: cinder/volume/drivers/nfs.py:433
 #, python-format
 msgid "There's no NFS config file configured (%s)"
 msgstr "There's no NFS config file configured (%s)"
 
-#: cinder/volume/drivers/nfs.py:437
+#: cinder/volume/drivers/nfs.py:438
 #, python-format
 msgid "NFS config file at %(config)s doesn't exist"
 msgstr "NFS config file at %(config)s doesn't exist"
 
-#: cinder/volume/drivers/nfs.py:442
+#: cinder/volume/drivers/nfs.py:443
 #, python-format
 msgid "NFS config 'nfs_oversub_ratio' invalid.  Must be > 0: %s"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:450
+#: cinder/volume/drivers/nfs.py:451
 #, python-format
 msgid "NFS config 'nfs_used_ratio' invalid.  Must be > 0 and <= 1.0: %s"
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:576 cinder/volume/drivers/ibm/ibmnas.py:197
-#: cinder/volume/drivers/netapp/nfs.py:611
+#: cinder/volume/drivers/nfs.py:577 cinder/volume/drivers/ibm/ibmnas.py:198
+#: cinder/volume/drivers/netapp/nfs.py:612
 #, python-format
 msgid "Extending volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/nfs.py:584
+#: cinder/volume/drivers/nfs.py:585
 #, python-format
 msgid "Resizing file to %sG..."
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:74
-msgid "Volumes will be chunked into objects of this size (in megabytes)."
+#: cinder/volume/drivers/nimble.py:63
+msgid "Nimble Cinder Driver exception"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:77
-msgid ""
-"Timeout value (in seconds) used when connecting to ceph cluster. If value"
-" < 0, no timeout is set and default librados value is used."
+#: cinder/volume/drivers/nimble.py:67
+msgid "Unexpected response from Nimble API"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:160
+#: cinder/volume/drivers/nimble.py:90
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:88
 #, python-format
-msgid "Invalid argument - whence=%s not supported"
+msgid "%s is not set."
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:164
-msgid "Invalid argument"
+#: cinder/volume/drivers/nimble.py:100
+#, python-format
+msgid "Exploring array subnet label %s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:183
-msgid "fileno() not supported by RBD()"
+#: cinder/volume/drivers/nimble.py:104
+#, python-format
+msgid "Discovery ip %(disc_ip)s is used on data subnet %(net_label)s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:213
-#, fuzzy, python-format
-msgid "error opening rbd image %s"
-msgstr "error opening rbd image %s"
-
-#: cinder/volume/drivers/rbd.py:269
-msgid "rados and rbd python libraries not found"
+#: cinder/volume/drivers/nimble.py:111
+#, python-format
+msgid "Discovery ip %(disc_ip)s is found on mgmt+data subnet %(net_label)s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:275
-#, fuzzy
-msgid "error connecting to ceph cluster"
-msgstr "error connecting to ceph cluster"
-
-#: cinder/volume/drivers/rbd.py:367 cinder/volume/drivers/sheepdog.py:178
-msgid "error refreshing volume stats"
-msgstr "error refreshing volume stats"
-
-#: cinder/volume/drivers/rbd.py:398
+#: cinder/volume/drivers/nimble.py:118
 #, python-format
-msgid "clone depth exceeds limit of %s"
+msgid "Discovery ip %(disc_ip)s is used on subnet %(net_label)s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:615
+#: cinder/volume/drivers/nimble.py:124
 #, python-format
-msgid "volume %s no longer exists in backend"
+msgid "Discovery ip %s is used on mgmt+data subnet"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:651
-msgid ""
-"ImageBusy error raised while deleting rbd volume. This may have been "
-"caused by a connection from a client that has crashed and, if so, may be "
-"resolved by retrying the delete after 30 seconds has elapsed."
+#: cinder/volume/drivers/nimble.py:128
+msgid "No suitable discovery ip found"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:730
-msgid "Not stored in rbd"
-msgstr "Not stored in rbd"
+#: cinder/volume/drivers/nimble.py:140
+msgid ""
+"Failed to create SOAP client.Check san_ip, username, password and make "
+"sure the array version is compatible"
+msgstr ""
 
-#: cinder/volume/drivers/rbd.py:734
-msgid "Blank components"
-msgstr "Blank components"
+#: cinder/volume/drivers/nimble.py:153
+#, python-format
+msgid "vol_name=%(name)s provider_location=%(loc)s"
+msgstr ""
 
-#: cinder/volume/drivers/rbd.py:737
-msgid "Not an rbd snapshot"
-msgstr "Not an rbd snapshot"
+#: cinder/volume/drivers/nimble.py:248
+msgid "SpaceInfo returned byarray is invalid"
+msgstr ""
 
-#: cinder/volume/drivers/rbd.py:753
+#: cinder/volume/drivers/nimble.py:277
 #, python-format
-msgid "%s is in a different ceph cluster"
-msgstr "%s is in a different ceph cluster"
+msgid "Entering extend_volume volume=%(vol)s new_size=%(size)s"
+msgstr ""
 
-#: cinder/volume/drivers/rbd.py:758
-msgid "rbd image clone requires image format to be 'raw' but image {0} is '{1}'"
+#: cinder/volume/drivers/nimble.py:294
+#, python-format
+msgid "Creating initiator group %(grp)s with initiator %(iname)s"
 msgstr ""
 
-#: cinder/volume/drivers/rbd.py:867 cinder/volume/drivers/sheepdog.py:195
+#: cinder/volume/drivers/nimble.py:306
 #, python-format
-msgid "Failed to Extend Volume %(volname)s"
+msgid "igroup %(grp)s found for initiator %(iname)s"
 msgstr ""
 
-#: cinder/volume/drivers/scality.py:67
-msgid "Value required for 'scality_sofs_config'"
-msgstr "Value required for 'scality_sofs_config'"
+#: cinder/volume/drivers/nimble.py:310
+#, python-format
+msgid "No igroup found for initiator %s"
+msgstr ""
 
-#: cinder/volume/drivers/scality.py:78
+#: cinder/volume/drivers/nimble.py:315
 #, python-format
-msgid "Cannot access 'scality_sofs_config': %s"
-msgstr "Cannot access 'scality_sofs_config': %s"
+msgid ""
+"Entering initialize_connection volume=%(vol)s connector=%(conn)s "
+"location=%(loc)s"
+msgstr ""
 
-#: cinder/volume/drivers/scality.py:84
-msgid "Cannot execute /sbin/mount.sofs"
-msgstr "Cannot execute /sbin/mount.sofs"
+#: cinder/volume/drivers/nimble.py:326
+#, python-format
+msgid "Initiator group name is %(grp)s for initiator %(iname)s"
+msgstr ""
 
-#: cinder/volume/drivers/scality.py:105
-msgid "Cannot mount Scality SOFS, check syslog for errors"
-msgstr "Cannot mount Scality SOFS, check syslog for errors"
+#: cinder/volume/drivers/nimble.py:343
+#, python-format
+msgid ""
+"Entering terminate_connection volume=%(vol)s connector=%(conn)s "
+"location=%(loc)s."
+msgstr ""
 
-#: cinder/volume/drivers/scality.py:139
+#: cinder/volume/drivers/nimble.py:353
 #, python-format
-msgid "Cannot find volume dir for Scality SOFS at '%s'"
-msgstr "Cannot find volume dir for Scality SOFS at '%s'"
+msgid "No initiator group found for initiator %s"
+msgstr ""
 
-#: cinder/volume/drivers/sheepdog.py:59
+#: cinder/volume/drivers/nimble.py:370
 #, python-format
-msgid "Sheepdog is not working: %s"
-msgstr "Sheepdog is not working: %s"
+msgid "API %(name)s failed with error string %(err)s"
+msgstr ""
 
-#: cinder/volume/drivers/sheepdog.py:64
-msgid "Sheepdog is not working"
-msgstr "Sheepdog is not working"
+#: cinder/volume/drivers/nimble.py:389
+msgid "Session might have expired. Trying to relogin"
+msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:149
+#: cinder/volume/drivers/nimble.py:394
 #, python-format
-msgid ""
-"Failed to make httplib connection SolidFire Cluster: %s (verify san_ip "
-"settings)"
+msgid "Re-throwing Exception %s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:152
+#: cinder/volume/drivers/nimble.py:450
 #, python-format
-msgid "Failed to make httplib connection: %s"
+msgid "Successful login by user %s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:159
+#: cinder/volume/drivers/nimble.py:478
 #, python-format
 msgid ""
-"Request to SolidFire cluster returned bad status: %(status)s / %(reason)s"
-" (check san_login/san_password settings)"
+"Creating a new volume=%(vol)s size=%(size)s reserve=%(reserve)s in "
+"pool=%(pool)s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:164
+#: cinder/volume/drivers/nimble.py:500
 #, python-format
-msgid "HTTP request failed, with status: %(status)s and reason: %(reason)s"
+msgid "Successfully create volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:175
+#: cinder/volume/drivers/nimble.py:519
 #, python-format
-msgid "Call to json.loads() raised an exception: %s"
-msgstr "Call to json.loads() raised an exception: %s"
+msgid "Adding ACL to volume=%(vol)s with initiator group name %(igrp)s"
+msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:185
+#: cinder/volume/drivers/nimble.py:534
 #, python-format
-msgid "Clone operation encountered: %s"
-msgstr "Clone operation encountered: %s"
+msgid "Removing ACL from volume=%(vol)s for initiator group %(igrp)s"
+msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:187
+#: cinder/volume/drivers/nimble.py:548
 #, python-format
-msgid "Waiting for outstanding operation before retrying snapshot: %s"
-msgstr "Waiting for outstanding operation before retrying snapshot: %s"
+msgid "Getting volume information for vol_name=%s"
+msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:193
+#: cinder/volume/drivers/nimble.py:555
 #, python-format
-msgid "Detected xDBVersionMismatch, retry %s of 5"
-msgstr "Detected xDBVersionMismatch, retry %s of 5"
+msgid "Successfully got volume information for volume %s"
+msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:200
-#: cinder/volume/drivers/solidfire.py:269
-#: cinder/volume/drivers/solidfire.py:364
+#: cinder/volume/drivers/nimble.py:563
 #, python-format
-msgid "API response: %s"
-msgstr "API response: %s"
+msgid "Setting volume %(vol)s to online_flag %(flag)s"
+msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:313
+#: cinder/volume/drivers/nimble.py:573
 #, python-format
-msgid "Failed to retrieve volume SolidFire-ID: %s in get_by_account!"
-msgstr "Failed to retrieve volume SolidFire-ID: %s in get_by_account!"
+msgid "Setting snapshot %(snap)s to online_flag %(flag)s"
+msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:396
-msgid "Failed to get model update from clone"
-msgstr "Failed to get model update from clone"
+#: cinder/volume/drivers/nimble.py:584
+#, python-format
+msgid "Dissociating volume %s "
+msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:408
+#: cinder/volume/drivers/nimble.py:593
 #, python-format
-msgid "Failed volume create: %s"
+msgid "Deleting volume %s "
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:423
+#: cinder/volume/drivers/nimble.py:612
 #, python-format
-msgid "More than one valid preset was detected, using %s"
-msgstr "More than one valid preset was detected, using %s"
+msgid ""
+"Creating snapshot for volume_name=%(vol)s snap_name=%(name)s "
+"snap_description=%(desc)s"
+msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:458
+#: cinder/volume/drivers/nimble.py:627
 #, python-format
-msgid "Failed to get SolidFire Volume: %s"
+msgid "Deleting snapshot %s "
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:476
+#: cinder/volume/drivers/nimble.py:641
+#, python-format
+msgid ""
+"Cloning volume from snapshot volume=%(vol)s snapshot=%(snap)s "
+"clone=%(clone)s snap_size=%(size)sreserve=%(reserve)s"
+msgstr ""
+
+#: cinder/volume/drivers/nimble.py:666
+#, python-format
+msgid "Editing Volume %(vol)s with mask %(mask)s"
+msgstr ""
+
+#: cinder/volume/drivers/nimble.py:676
+msgid "Getting getInitiatorGrpList"
+msgstr ""
+
+#: cinder/volume/drivers/nimble.py:683
+msgid "Successfully retrieved InitiatorGrpList"
+msgstr ""
+
+#: cinder/volume/drivers/nimble.py:691
+#, python-format
+msgid "Creating initiator group %(igrp)s with one initiator %(iname)s"
+msgstr ""
+
+#: cinder/volume/drivers/nimble.py:704
+#, python-format
+msgid "Deleting deleteInitiatorGrp %s "
+msgstr ""
+
+#: cinder/volume/drivers/pure.py:130 cinder/volume/drivers/pure.py:152
+#: cinder/volume/drivers/pure.py:234
+msgid "Disconnection failed with message: {}"
+msgstr ""
+
+#: cinder/volume/drivers/pure.py:181
+msgid "iSCSI discovery of port {0[name]} at {0[portal]} failed with error: {1}"
+msgstr ""
+
+#: cinder/volume/drivers/pure.py:200
+msgid "Using port {0[name]} on the array at {0[portal]} for iSCSI connectivity."
+msgstr ""
+
+#: cinder/volume/drivers/pure.py:204
+msgid "No reachable iSCSI-enabled ports on target array."
+msgstr ""
+
+#: cinder/volume/drivers/pure.py:219
+msgid "No host object on target array with IQN: "
+msgstr ""
+
+#: cinder/volume/drivers/pure.py:309
+msgid ""
+"Unable to find usable REST API version. Response from Pure Storage REST "
+"API: "
+msgstr ""
+
+#: cinder/volume/drivers/pure.py:324
+msgid "Unable to connect to {0!r}. Check san_ip."
+msgstr ""
+
+#: cinder/volume/drivers/pure.py:331
+msgid "Response not in JSON: "
+msgstr ""
+
+#: cinder/volume/drivers/pure.py:343
+msgid ""
+"All REST API versions supported by this version of the Pure Storage iSCSI"
+" driver are unavailable on array."
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:75
+msgid "Volumes will be chunked into objects of this size (in megabytes)."
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:78
+msgid ""
+"Timeout value (in seconds) used when connecting to ceph cluster. If value"
+" < 0, no timeout is set and default librados value is used."
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:161
+#, python-format
+msgid "Invalid argument - whence=%s not supported"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:165
+msgid "Invalid argument"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:184
+msgid "fileno() not supported by RBD()"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:214
+#, fuzzy, python-format
+msgid "error opening rbd image %s"
+msgstr "error opening rbd image %s"
+
+#: cinder/volume/drivers/rbd.py:270
+msgid "rados and rbd python libraries not found"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:276
+#, fuzzy
+msgid "error connecting to ceph cluster"
+msgstr "error connecting to ceph cluster"
+
+#: cinder/volume/drivers/rbd.py:368 cinder/volume/drivers/sheepdog.py:179
+msgid "error refreshing volume stats"
+msgstr "error refreshing volume stats"
+
+#: cinder/volume/drivers/rbd.py:399
+#, python-format
+msgid "clone depth exceeds limit of %s"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:616
+#, python-format
+msgid "volume %s no longer exists in backend"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:652
+msgid ""
+"ImageBusy error raised while deleting rbd volume. This may have been "
+"caused by a connection from a client that has crashed and, if so, may be "
+"resolved by retrying the delete after 30 seconds has elapsed."
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:731
+msgid "Not stored in rbd"
+msgstr "Not stored in rbd"
+
+#: cinder/volume/drivers/rbd.py:735
+msgid "Blank components"
+msgstr "Blank components"
+
+#: cinder/volume/drivers/rbd.py:738
+msgid "Not an rbd snapshot"
+msgstr "Not an rbd snapshot"
+
+#: cinder/volume/drivers/rbd.py:754
+#, python-format
+msgid "%s is in a different ceph cluster"
+msgstr "%s is in a different ceph cluster"
+
+#: cinder/volume/drivers/rbd.py:759
+msgid "rbd image clone requires image format to be 'raw' but image {0} is '{1}'"
+msgstr ""
+
+#: cinder/volume/drivers/rbd.py:868 cinder/volume/drivers/sheepdog.py:196
+#, python-format
+msgid "Failed to Extend Volume %(volname)s"
+msgstr ""
+
+#: cinder/volume/drivers/scality.py:68
+msgid "Value required for 'scality_sofs_config'"
+msgstr "Value required for 'scality_sofs_config'"
+
+#: cinder/volume/drivers/scality.py:79
+#, python-format
+msgid "Cannot access 'scality_sofs_config': %s"
+msgstr "Cannot access 'scality_sofs_config': %s"
+
+#: cinder/volume/drivers/scality.py:85
+msgid "Cannot execute /sbin/mount.sofs"
+msgstr "Cannot execute /sbin/mount.sofs"
+
+#: cinder/volume/drivers/scality.py:106
+msgid "Cannot mount Scality SOFS, check syslog for errors"
+msgstr "Cannot mount Scality SOFS, check syslog for errors"
+
+#: cinder/volume/drivers/scality.py:140
+#, python-format
+msgid "Cannot find volume dir for Scality SOFS at '%s'"
+msgstr "Cannot find volume dir for Scality SOFS at '%s'"
+
+#: cinder/volume/drivers/sheepdog.py:60
+#, python-format
+msgid "Sheepdog is not working: %s"
+msgstr "Sheepdog is not working: %s"
+
+#: cinder/volume/drivers/sheepdog.py:65
+msgid "Sheepdog is not working"
+msgstr "Sheepdog is not working"
+
+#: cinder/volume/drivers/solidfire.py:150
+#, python-format
+msgid ""
+"Failed to make httplib connection SolidFire Cluster: %s (verify san_ip "
+"settings)"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:153
+#, python-format
+msgid "Failed to make httplib connection: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:160
+#, python-format
+msgid ""
+"Request to SolidFire cluster returned bad status: %(status)s / %(reason)s"
+" (check san_login/san_password settings)"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:165
+#, python-format
+msgid "HTTP request failed, with status: %(status)s and reason: %(reason)s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:176
+#, python-format
+msgid "Call to json.loads() raised an exception: %s"
+msgstr "Call to json.loads() raised an exception: %s"
+
+#: cinder/volume/drivers/solidfire.py:186
+#, python-format
+msgid "Clone operation encountered: %s"
+msgstr "Clone operation encountered: %s"
+
+#: cinder/volume/drivers/solidfire.py:188
+#, python-format
+msgid "Waiting for outstanding operation before retrying snapshot: %s"
+msgstr "Waiting for outstanding operation before retrying snapshot: %s"
+
+#: cinder/volume/drivers/solidfire.py:194
+#, python-format
+msgid "Detected xDBVersionMismatch, retry %s of 5"
+msgstr "Detected xDBVersionMismatch, retry %s of 5"
+
+#: cinder/volume/drivers/solidfire.py:201
+#: cinder/volume/drivers/solidfire.py:270
+#: cinder/volume/drivers/solidfire.py:365
+#, python-format
+msgid "API response: %s"
+msgstr "API response: %s"
+
+#: cinder/volume/drivers/solidfire.py:314
+#, python-format
+msgid "Failed to retrieve volume SolidFire-ID: %s in get_by_account!"
+msgstr "Failed to retrieve volume SolidFire-ID: %s in get_by_account!"
+
+#: cinder/volume/drivers/solidfire.py:397
+msgid "Failed to get model update from clone"
+msgstr "Failed to get model update from clone"
+
+#: cinder/volume/drivers/solidfire.py:409
+#, python-format
+msgid "Failed volume create: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:424
+#, python-format
+msgid "More than one valid preset was detected, using %s"
+msgstr "More than one valid preset was detected, using %s"
+
+#: cinder/volume/drivers/solidfire.py:459
+#, python-format
+msgid "Failed to get SolidFire Volume: %s"
+msgstr ""
+
+#: cinder/volume/drivers/solidfire.py:477
 #, python-format
 msgid "Volume %s, not found on SF Cluster."
 msgstr "Volume %s, not found on SF Cluster."
 
-#: cinder/volume/drivers/solidfire.py:479
+#: cinder/volume/drivers/solidfire.py:480
 #, python-format
 msgid "Found %(count)s volumes mapped to id: %(uuid)s."
 msgstr "Found %(count)s volumes mapped to id: %(uuid)s."
 
-#: cinder/volume/drivers/solidfire.py:552
+#: cinder/volume/drivers/solidfire.py:553
 #, python-format
 msgid "Account for Volume ID %s was not found on the SolidFire Cluster!"
 msgstr "Account for Volume ID %s was not found on the SolidFire Cluster!"
 
-#: cinder/volume/drivers/solidfire.py:554
+#: cinder/volume/drivers/solidfire.py:555
 msgid "This usually means the volume was never successfully created."
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:567
+#: cinder/volume/drivers/solidfire.py:568
 #, python-format
 msgid "Failed to delete SolidFire Volume: %s"
 msgstr ""
 
-#: cinder/volume/drivers/solidfire.py:570
-#: cinder/volume/drivers/solidfire.py:644
-#: cinder/volume/drivers/solidfire.py:708
-#: cinder/volume/drivers/solidfire.py:733
+#: cinder/volume/drivers/solidfire.py:571
+#: cinder/volume/drivers/solidfire.py:645
+#: cinder/volume/drivers/solidfire.py:709
+#: cinder/volume/drivers/solidfire.py:734
 #, python-format
 msgid "Volume ID %s was not found on the SolidFire Cluster!"
 msgstr "Volume ID %s was not found on the SolidFire Cluster!"
 
-#: cinder/volume/drivers/solidfire.py:671
+#: cinder/volume/drivers/solidfire.py:672
 msgid "Failed to get updated stats"
 msgstr "Failed to get updated stats"
 
-#: cinder/volume/drivers/zadara.py:408 cinder/volume/drivers/zadara.py:531
+#: cinder/volume/drivers/zadara.py:409 cinder/volume/drivers/zadara.py:532
 #, python-format
 msgid "Volume %(name)s could not be found. It might be already deleted"
 msgstr "Volume %(name)s could not be found. It might be already deleted"
 
-#: cinder/volume/drivers/zadara.py:445 cinder/volume/drivers/zadara.py:490
-#: cinder/volume/drivers/zadara.py:516
+#: cinder/volume/drivers/zadara.py:446 cinder/volume/drivers/zadara.py:491
+#: cinder/volume/drivers/zadara.py:517
 #, python-format
 msgid "Volume %(name)s not found"
 msgstr ""
 
-#: cinder/volume/drivers/zadara.py:464
+#: cinder/volume/drivers/zadara.py:465
 #, python-format
 msgid "snapshot: original volume %s not found, skipping delete operation"
 msgstr ""
 
-#: cinder/volume/drivers/zadara.py:472
+#: cinder/volume/drivers/zadara.py:473
 #, python-format
 msgid "snapshot: snapshot %s not found, skipping delete operation"
 msgstr ""
 
-#: cinder/volume/drivers/zadara.py:496
+#: cinder/volume/drivers/zadara.py:497
 #, python-format
 msgid "Snapshot %(name)s not found"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_cli_iscsi.py:125
-#, python-format
-msgid "iSCSI provider_location not stored for volume %s, using discovery."
-msgstr ""
-
-#: cinder/volume/drivers/emc/emc_cli_iscsi.py:165
-#: cinder/volume/drivers/emc/emc_smis_iscsi.py:190
-#, python-format
-msgid "Could not find iSCSI export  for volume %s"
-msgstr "Could not find iSCSI export  for volume %s"
-
-#: cinder/volume/drivers/emc/emc_cli_iscsi.py:176
-#: cinder/volume/drivers/emc/emc_smis_iscsi.py:199
-#, python-format
-msgid "Cannot find device number for volume %s"
-msgstr "Cannot find device number for volume %s"
-
-#: cinder/volume/drivers/emc/emc_cli_iscsi.py:209
-#, python-format
-msgid "ISCSI endpoint not found for SP %(sp)s "
-msgstr ""
-
-#: cinder/volume/drivers/emc/emc_cli_iscsi.py:241
-#, python-format
-msgid "update_volume_status:%s"
-msgstr ""
-
-#: cinder/volume/drivers/emc/emc_smis_common.py:40
+#: cinder/volume/drivers/emc/emc_smis_common.py:41
 msgid ""
 "Module PyWBEM not installed.  Install PyWBEM using the python-pywbem "
 "package."
@@ -4797,12 +5028,12 @@ msgstr ""
 "Module PyWBEM not installed.  Install PyWBEM using the python-pywbem "
 "package."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:86
+#: cinder/volume/drivers/emc/emc_smis_common.py:87
 #, python-format
 msgid "Create Volume: %(volume)s  Size: %(size)lu"
 msgstr "Create Volume: %(volume)s  Size: %(size)lu"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:110
+#: cinder/volume/drivers/emc/emc_smis_common.py:111
 #, python-format
 msgid ""
 "Error Create Volume: %(volumename)s. Storage Configuration Service not "
@@ -4811,7 +5042,7 @@ msgstr ""
 "Error Create Volume: %(volumename)s. Storage Configuration Service not "
 "found for pool %(storage_type)s."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:143
+#: cinder/volume/drivers/emc/emc_smis_common.py:144
 #, python-format
 msgid ""
 "Error Create Volume: %(volumename)s.  Return code: %(rc)lu.  Error: "
@@ -4820,7 +5051,7 @@ msgstr ""
 "Error Create Volume: %(volumename)s.  Return code: %(rc)lu.  Error: "
 "%(error)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:181
+#: cinder/volume/drivers/emc/emc_smis_common.py:182
 #, python-format
 msgid ""
 "Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
@@ -4829,7 +5060,7 @@ msgstr ""
 "Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
 "%(snapshotname)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:201
+#: cinder/volume/drivers/emc/emc_smis_common.py:202
 #, python-format
 msgid ""
 "Error Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
@@ -4838,7 +5069,7 @@ msgstr ""
 "Error Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
 "%(snapshotname)s. Create Volume from Snapshot is NOT supported on VMAX."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:212
+#: cinder/volume/drivers/emc/emc_smis_common.py:213
 #, python-format
 msgid ""
 "Error Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
@@ -4849,16 +5080,14 @@ msgstr ""
 "%(snapshotname)s. Cannot find Replication Service to create volume from "
 "snapshot."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:242
+#: cinder/volume/drivers/emc/emc_smis_common.py:243
 #, python-format
 msgid ""
 "Error Create Volume from Snapshot: Volume: %(volumename)s  "
-"Snapshot:%(snapshotname)s.  Return code: %(rc)lu.Error: %(error)s"
+"Snapshot:%(snapshotname)s.  Return code: %(rc)lu. Error: %(error)s"
 msgstr ""
-"Error Create Volume from Snapshot: Volume: %(volumename)s  "
-"Snapshot:%(snapshotname)s.  Return code: %(rc)lu.Error: %(error)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:305
+#: cinder/volume/drivers/emc/emc_smis_common.py:306
 #, python-format
 msgid ""
 "Error Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
@@ -4867,7 +5096,7 @@ msgstr ""
 "Error Create Volume from Snapshot: Volume: %(volumename)s  Snapshot: "
 "%(snapshotname)s.  Return code: %(rc)lu.  Error: %(error)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:333
+#: cinder/volume/drivers/emc/emc_smis_common.py:335
 #, python-format
 msgid ""
 "Create a Clone from Volume: Volume: %(volumename)s  Source Volume: "
@@ -4876,7 +5105,7 @@ msgstr ""
 "Create a Clone from Volume: Volume: %(volumename)s  Source Volume: "
 "%(srcname)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:353
+#: cinder/volume/drivers/emc/emc_smis_common.py:355
 #, python-format
 msgid ""
 "Error Create Cloned Volume: Volume: %(volumename)s  Source Volume: "
@@ -4885,7 +5114,7 @@ msgstr ""
 "Error Create Cloned Volume: Volume: %(volumename)s  Source Volume: "
 "%(srcname)s. Cannot find Replication Service to create cloned volume."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:383
+#: cinder/volume/drivers/emc/emc_smis_common.py:385
 #, python-format
 msgid ""
 "Error Create Cloned Volume: Volume: %(volumename)s  Source "
@@ -4894,7 +5123,7 @@ msgstr ""
 "Error Create Cloned Volume: Volume: %(volumename)s  Source "
 "Volume:%(srcname)s.  Return code: %(rc)lu.Error: %(error)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:446
+#: cinder/volume/drivers/emc/emc_smis_common.py:448
 #, python-format
 msgid ""
 "Error Create Cloned Volume: Volume: %(volumename)s  Source Volume: "
@@ -4903,17 +5132,17 @@ msgstr ""
 "Error Create Cloned Volume: Volume: %(volumename)s  Source Volume: "
 "%(srcname)s.  Return code: %(rc)lu.  Error: %(error)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:471
+#: cinder/volume/drivers/emc/emc_smis_common.py:474
 #, python-format
 msgid "Delete Volume: %(volume)s"
 msgstr "Delete Volume: %(volume)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:478
+#: cinder/volume/drivers/emc/emc_smis_common.py:481
 #, python-format
 msgid "Volume %(name)s not found on the array. No volume to delete."
 msgstr "Volume %(name)s not found on the array. No volume to delete."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:488
+#: cinder/volume/drivers/emc/emc_smis_common.py:491
 #, python-format
 msgid ""
 "Error Delete Volume: %(volumename)s. Storage Configuration Service not "
@@ -4922,7 +5151,7 @@ msgstr ""
 "Error Delete Volume: %(volumename)s. Storage Configuration Service not "
 "found."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:514
+#: cinder/volume/drivers/emc/emc_smis_common.py:517
 #, python-format
 msgid ""
 "Error Delete Volume: %(volumename)s.  Return code: %(rc)lu.  Error: "
@@ -4931,33 +5160,32 @@ msgstr ""
 "Error Delete Volume: %(volumename)s.  Return code: %(rc)lu.  Error: "
 "%(error)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:534
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:278
+#: cinder/volume/drivers/emc/emc_smis_common.py:538
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1705
 #, python-format
 msgid "Create snapshot: %(snapshot)s: volume: %(volume)s"
 msgstr "Create snapshot: %(snapshot)s: volume: %(volume)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:551
-#: cinder/volume/drivers/emc/emc_smis_common.py:553
-#: cinder/volume/drivers/emc/emc_smis_common.py:639
+#: cinder/volume/drivers/emc/emc_smis_common.py:555
+#: cinder/volume/drivers/emc/emc_smis_common.py:557
+#: cinder/volume/drivers/emc/emc_smis_common.py:644
 #, python-format
 msgid "Cannot find Replication Service to create snapshot for volume %s."
 msgstr "Cannot find Replication Service to create snapshot for volume %s."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:583
+#: cinder/volume/drivers/emc/emc_smis_common.py:587
 #, fuzzy, python-format
 msgid ""
 "Error Create Snapshot: %(snapshot)s Volume: %(volume)s Error: "
 "%(errordesc)s"
 msgstr "Error Create Snapshot: (snapshot)s Volume: %(volume)s Error: %(errordesc)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:617
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:306
+#: cinder/volume/drivers/emc/emc_smis_common.py:622
 #, python-format
 msgid "Delete Snapshot: %(snapshot)s: volume: %(volume)s"
 msgstr "Delete Snapshot: %(snapshot)s: volume: %(volume)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:631
+#: cinder/volume/drivers/emc/emc_smis_common.py:636
 #, python-format
 msgid ""
 "Snapshot: %(snapshot)s: volume: %(volume)s not found on the array. No "
@@ -4966,477 +5194,650 @@ msgstr ""
 "Snapshot: %(snapshot)s: volume: %(volume)s not found on the array. No "
 "snapshot to delete."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:671
+#: cinder/volume/drivers/emc/emc_smis_common.py:676
 #, python-format
 msgid ""
 "Error Delete Snapshot: Volume: %(volumename)s  Snapshot: "
-"%(snapshotname)s. Return code: %(rc)lu. Error: %(error)s"
+"%(snapshotname)s. Return code: %(rc)lu.  Error: %(error)s"
 msgstr ""
-"Error Delete Snapshot: Volume: %(volumename)s  Snapshot: "
-"%(snapshotname)s. Return code: %(rc)lu. Error: %(error)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:696
-#: cinder/volume/drivers/emc/emc_smis_common.py:711
+#: cinder/volume/drivers/emc/emc_smis_common.py:701
+#: cinder/volume/drivers/emc/emc_smis_common.py:716
 #, python-format
 msgid "Snapshot: %(snapshot)s: volume: %(volume)s. Snapshot is deleted."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:703
+#: cinder/volume/drivers/emc/emc_smis_common.py:708
 #, python-format
 msgid ""
 "Snapshot: %(snapshot)s: volume: %(volume)s. Snapshot deleted but cleanup "
 "timed out."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:716
+#: cinder/volume/drivers/emc/emc_smis_common.py:721
 #, python-format
 msgid ""
 "Snapshot: %(snapshot)s: volume: %(volume)s. Snapshot deleted but error "
 "during cleanup. Error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:771
+#: cinder/volume/drivers/emc/emc_smis_common.py:776
 #, python-format
 msgid "Error mapping volume %s."
 msgstr "Error mapping volume %s."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:804
+#: cinder/volume/drivers/emc/emc_smis_common.py:809
 #, python-format
 msgid "Error unmapping volume %s."
 msgstr "Error unmapping volume %s."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:836
+#: cinder/volume/drivers/emc/emc_smis_common.py:841
 #, python-format
 msgid "Error mapping volume %(vol)s. %(error)s"
 msgstr "Error mapping volume %(vol)s. %(error)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:867
+#: cinder/volume/drivers/emc/emc_smis_common.py:872
 #, python-format
 msgid "Error unmapping volume %(vol)s. %(error)s"
 msgstr "Error unmapping volume %(vol)s. %(error)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:878
+#: cinder/volume/drivers/emc/emc_smis_common.py:883
 #, python-format
 msgid "Map volume: %(volume)s"
 msgstr "Map volume: %(volume)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:887
-#: cinder/volume/drivers/emc/emc_smis_common.py:917
+#: cinder/volume/drivers/emc/emc_smis_common.py:892
+#: cinder/volume/drivers/emc/emc_smis_common.py:922
 #, python-format
 msgid "Cannot find Controller Configuration Service for storage system %s"
 msgstr "Cannot find Controller Configuration Service for storage system %s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:901
+#: cinder/volume/drivers/emc/emc_smis_common.py:906
 #, python-format
 msgid "Unmap volume: %(volume)s"
 msgstr "Unmap volume: %(volume)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:907
+#: cinder/volume/drivers/emc/emc_smis_common.py:912
 #, python-format
 msgid "Volume %s is not mapped. No volume to unmap."
 msgstr "Volume %s is not mapped. No volume to unmap."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:931
+#: cinder/volume/drivers/emc/emc_smis_common.py:936
 #, python-format
 msgid "Initialize connection: %(volume)s"
 msgstr "Initialize connection: %(volume)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:937
+#: cinder/volume/drivers/emc/emc_smis_common.py:942
 #, python-format
 msgid "Volume %s is already mapped."
 msgstr "Volume %s is already mapped."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:949
+#: cinder/volume/drivers/emc/emc_smis_common.py:954
 #, python-format
 msgid "Terminate connection: %(volume)s"
 msgstr "Terminate connection: %(volume)s"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:960
+#: cinder/volume/drivers/emc/emc_smis_common.py:965
 #, python-format
 msgid "Extend Volume: %(volume)s  New size: %(size)lu"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:980
+#: cinder/volume/drivers/emc/emc_smis_common.py:985
 #, python-format
 msgid ""
 "Error Extend Volume: %(volumename)s. Storage Configuration Service not "
 "found."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1011
+#: cinder/volume/drivers/emc/emc_smis_common.py:1016
 #, python-format
 msgid ""
 "Error Extend Volume: %(volumename)s.  Return code: %(rc)lu.  Error: "
 "%(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1063
+#: cinder/volume/drivers/emc/emc_smis_common.py:1068
 msgid "Storage type not found."
 msgstr "Storage type not found."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1153
+#: cinder/volume/drivers/emc/emc_smis_common.py:1158
 msgid "Cannot connect to ECOM server"
 msgstr "Cannot connect to ECOM server"
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1248
+#: cinder/volume/drivers/emc/emc_smis_common.py:1253
 #, python-format
 msgid "Pool %(storage_type)s is not found."
 msgstr "Pool %(storage_type)s is not found."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1254
+#: cinder/volume/drivers/emc/emc_smis_common.py:1259
 #, python-format
 msgid "Storage system not found for pool %(storage_type)s."
 msgstr "Storage system not found for pool %(storage_type)s."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1353
+#: cinder/volume/drivers/emc/emc_smis_common.py:1358
 #, python-format
 msgid "Error finding %s."
 msgstr "Error finding %s."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1472
+#: cinder/volume/drivers/emc/emc_smis_common.py:1477
+#, python-format
+msgid ""
+"Volume %(name)s not found on the array. Cannot determine if there are "
+"volumes mapped."
+msgstr ""
+"Volume %(name)s not found on the array. Cannot determine if there are "
+"volumes mapped."
+
+#: cinder/volume/drivers/emc/emc_smis_common.py:1597
+#, python-format
+msgid "Device number not found for volume %(volumename)s %(vol_instance)s."
+msgstr "Device number not found for volume %(volumename)s %(vol_instance)s."
+
+#: cinder/volume/drivers/emc/emc_smis_common.py:1725
+msgid "Error finding Storage Hardware ID Service."
+msgstr "Error finding Storage Hardware ID Service."
+
+#: cinder/volume/drivers/emc/emc_smis_common.py:1743
+msgid "Error finding Target WWNs."
+msgstr "Error finding Target WWNs."
+
+#: cinder/volume/drivers/emc/emc_smis_iscsi.py:191
+#, python-format
+msgid "Could not find iSCSI export  for volume %s"
+msgstr "Could not find iSCSI export  for volume %s"
+
+#: cinder/volume/drivers/emc/emc_smis_iscsi.py:200
+#, python-format
+msgid "Cannot find device number for volume %s"
+msgstr "Cannot find device number for volume %s"
+
+#: cinder/volume/drivers/emc/emc_smis_iscsi.py:237
+#, python-format
+msgid "ISCSI endpoint not found for SP %(sp)s on storage system %(storage)s."
+msgstr "ISCSI endpoint not found for SP %(sp)s on storage system %(storage)s."
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:199
+#, python-format
+msgid "naviseccli_path: Could not find NAVISECCLI tool %(path)s."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:209
+msgid "san_secondary_ip is configured as the same value as san_ip."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:213
+msgid "san_ip: Mandatory field configuration. san_ip is not set."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:227
+#, python-format
+msgid "Invalid VNX authentication type: %s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:234
+#, python-format
+msgid "Using security file in %s for authentication"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:242
+msgid "Plain text credentials are being used for authentication"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:245
+msgid ""
+"Neither security file nor plain text credentials are specified. Security "
+"file under home directory will be used for authentication if present."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:254
+#, python-format
+msgid "iscsi_initiators: %s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:308
+#, python-format
+msgid "Failed to enable compression on lun: %s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:317
+#, python-format
+msgid "LUN already exists, LUN name %(name)s. Message: %(msg)s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:345
+#, python-format
+msgid "LUN is already deleted, LUN name %(name)s. Message: %(msg)s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:371
+#, python-format
+msgid "CommandLineHelper._wait_for_condition: %s timeout"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:392
+#, python-format
+msgid "LUN %(name)s is already expanded. Message: %(msg)s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:450
+#, python-format
+msgid "Snapshot %(name)s already exists. Message: %(msg)s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:456
+#, python-format
+msgid "Failed to get LUN ID for volume %s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:470
+#, python-format
+msgid "Snapshot %(name)s may deleted already. Message: %(msg)s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:477
+#, python-format
+msgid "Snapshot %(name)s is in use, retry. Message: %(msg)s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:484
+#, python-format
+msgid "Snapshot %s was deleted successfully."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:504
+#, python-format
+msgid "Mount point %(name)s already exists. Message: %(msg)s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:523
+#, python-format
+msgid ""
+"Snapshot %(snapname)s is attached to snapshot mount point %(mpname)s "
+"already. Message: %(msg)s"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:577
 #, python-format
 msgid ""
-"Volume %(name)s not found on the array. Cannot determine if there are "
-"volumes mapped."
+"Migration command may get network timeout. Double check whether migration"
+" in fact started successfully. Message: %(msg)s"
 msgstr ""
-"Volume %(name)s not found on the array. Cannot determine if there are "
-"volumes mapped."
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1592
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:588
 #, python-format
-msgid "Device number not found for volume %(volumename)s %(vol_instance)s."
-msgstr "Device number not found for volume %(volumename)s %(vol_instance)s."
-
-#: cinder/volume/drivers/emc/emc_smis_common.py:1720
-msgid "Error finding Storage Hardware ID Service."
-msgstr "Error finding Storage Hardware ID Service."
+msgid "Start migration failed. Message: %s"
+msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_common.py:1738
-msgid "Error finding Target WWNs."
-msgstr "Error finding Target WWNs."
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:614
+msgid "Querying migrating status error."
+msgstr ""
 
-#: cinder/volume/drivers/emc/emc_smis_iscsi.py:236
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:671
 #, python-format
-msgid "ISCSI endpoint not found for SP %(sp)s on storage system %(storage)s."
-msgstr "ISCSI endpoint not found for SP %(sp)s on storage system %(storage)s."
+msgid "Storage group %(name)s already exists. Message: %(msg)s"
+msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:77
-msgid "Pool name is not specified."
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:688
+#, python-format
+msgid ""
+"Storage group %(name)s doesn't exist, may have already been deleted. "
+"Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:98
-msgid "Could not find NAVISECCLI tool."
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:720
+#, python-format
+msgid ""
+"Host %(host)s has already disconnected from storage group %(sgname)s. "
+"Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:107
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:740
 #, python-format
-msgid "Failed to find pool %s"
+msgid ""
+"LUN %(lun)s has already added to Storage Group %(sgname)s. Message: "
+"%(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:129
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:760
 #, python-format
-msgid "Create Volume: %(volume)s  Size: %(size)s"
+msgid "HLU %(hlu)s has already been removed from %(sgname)s. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:151
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:851
 #, python-format
-msgid "Volume %s already exists"
+msgid "Invalid value for %(key)s, value is %(value)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:153
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:894
 #, python-format
-msgid "Failed to create %(volumename)s: %(out)s"
+msgid "Error happened during storage pool querying, %s."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:915
+msgid "No array serial number returned, set as unknown."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:167
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1094
 #, python-format
-msgid "LUN %s failed to become Ready"
+msgid "See unavailable iSCSI target: %s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:190
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:335
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1221
 #, python-format
-msgid "Failed to destroy %s"
+msgid "Toggle storage_vnx_ip_adress from %(old)s to %(new)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:214
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1300
 msgid ""
-"The LUN cannot be expanded or shrunk because it has snapshots. Command to"
-" extend the specified volume failed."
+"destroy_empty_storage_group: True. Empty storage group will be deleted "
+"after volume is detached."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:220
-#, python-format
-msgid "Failed to expand %s"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1304
+msgid ""
+"initiator_auto_registration: False. Initiator auto registration is not "
+"enabled. Please register initiator manually."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:240
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:268
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1337
 #, python-format
-msgid "Failed to list %s"
+msgid ""
+"Create Volume: %(volume)s  Size: %(size)s pool: %(pool)s provisioning: "
+"%(provisioning)s tiering: %(tiering)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:296
-#, python-format
-msgid "Failed to create snap %s"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1385
+msgid "The given extra_spec or valid_values is None."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:328
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1387
 #, python-format
-msgid "Snapshot %s is in use"
+msgid "The extra_spec: %s is invalid."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1413
+msgid "deduplicated and auto tiering can't be both enabled."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1417
+msgid "Compression Enabler is not installed. Can not create compressed volume."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:330
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1423
+msgid "Deduplication Enabler is not installed. Can not create deduplicated volume"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1429
+msgid "ThinProvisioning Enabler is not installed. Can not create thin volume"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1434
+msgid "FAST VP Enabler is not installed. Can't set tiering policy for the volume"
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1463
+msgid ""
+"Failed to get target_pool_name and target_array_serial. 'location_info' "
+"is not in host['capabilities']."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1476
+msgid "Error on parsing target_pool_name/target_array_serial."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1594
+msgid "Storage-assisted migration failed during retype."
+msgstr ""
+
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1717
 #, python-format
-msgid "Failed to destroy %s  because snapshot is in use."
+msgid "Delete Snapshot: %(snapshot)s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:360
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1748
 #, python-format
-msgid "Creating Destination Volume : %s "
+msgid "Command to create the temporary Volume %s failed"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:377
-msgid "Command to create the destination volume failed"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1833
+#, python-format
+msgid "Storage Group %s is not found. Create it."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:395
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1875
 #, python-format
-msgid "Failed to create SMP %s"
+msgid "Host %s has no iSCSI initiator"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:413
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1886
 #, python-format
-msgid "Failed to attach snapshotname %s"
+msgid "Host %s has no FC initiators"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:420
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1923
 #, python-format
-msgid "Migrating Mount Point Volume: %s "
+msgid "Get ISCSI targets %(tg)s to register initiator %(in)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:437
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:1948
 #, python-format
-msgid "Failed to start migrating SMP %s"
+msgid "Get FC targets %(tg)s to register initiator %(in)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:451
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2039
 #, python-format
-msgid "Waiting for the update on Sync status of %s"
+msgid ""
+"Reach limitation set by configuration option max_luns_per_storage_group. "
+"Operation to add %(vol)s into Storage Group %(sg)s is rejected."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:454
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2063
 #, python-format
-msgid "Failed to really migrate %s"
+msgid "Failed to add %(vol)s into %(sg)s after %(retries)s tries."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:482
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2099
 #, python-format
-msgid "Failed to create cloned volume %s"
+msgid "Failed to find an available iSCSI targets for %s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:510
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2163
 #, python-format
-msgid "Failed to create SG %s"
+msgid "Storage Group %s is not found. terminate_connection() is unnecessary."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:528
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2171
 #, python-format
-msgid "Failed to connect %s"
+msgid "Volume %s is not found. It has probably been removed in VNX."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:545
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2179
 #, python-format
-msgid "NO LUNs in the storagegroup : %s "
+msgid "Volume %(vol)s was not in Storage Group %(sg)s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:603
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2187
 #, python-format
-msgid ""
-"The storage group has reached the maximum capacity of LUNs. Command to "
-"add LUN for volume - %s in storagegroup failed"
+msgid "Storage Group %s was empty, destroy it."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:613
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2197
 #, python-format
-msgid ""
-"Unable to get new host lun id. Please check if the storage group can "
-"accommodate new LUN. Command to add LUN for volume - %s in storagegroup "
-"failed"
+msgid "Failed to destroy Storage Group %s."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:637
-msgid "Requested Host LUN Number already in use"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2223
+msgid "Reference must contain lun_id element."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:640
-msgid "LUN was already added in the storage group"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2231
+msgid "Find no lun with the specified lun_id."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:644
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2292
 #, python-format
-msgid "Failed to add %s into SG"
+msgid "Storage pool %s is not supported by this Cinder Volume"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:663
-#, python-format
-msgid "Failed to remove %(hlu)s from %(sg)s"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2316
+msgid "Error parsing output for FastCache Command."
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:684
-msgid "Could not locate the attached volume."
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2356
+msgid "The input lun is not in a manageable pool backend by cinder"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:731
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2384
 #, python-format
-msgid "Invalid value of extra spec 'storagetype:provisioning': %(provisioning)s"
+msgid "Failed to find storage pool for source volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/emc/emc_vnx_cli.py:735
-msgid "No extra spec 'storagetype:provisioning' exist"
+#: cinder/volume/drivers/emc/emc_vnx_cli.py:2396
+#, python-format
+msgid "Failed to find storage pool to create volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/hds/hds.py:93 cinder/volume/drivers/hds/iscsi.py:71
-#: cinder/volume/drivers/hds/nfs.py:61
+#: cinder/volume/drivers/hds/hds.py:94 cinder/volume/drivers/hds/iscsi.py:72
+#: cinder/volume/drivers/hds/nfs.py:62
 #, python-format
 msgid "%(element)s: %(val)s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/hds.py:104 cinder/volume/drivers/hds/hds.py:106
-#: cinder/volume/drivers/hds/iscsi.py:82 cinder/volume/drivers/hds/iscsi.py:84
-#: cinder/volume/drivers/hds/nfs.py:72 cinder/volume/drivers/hds/nfs.py:74
+#: cinder/volume/drivers/hds/hds.py:105 cinder/volume/drivers/hds/hds.py:107
+#: cinder/volume/drivers/hds/iscsi.py:83 cinder/volume/drivers/hds/iscsi.py:85
+#: cinder/volume/drivers/hds/nfs.py:73 cinder/volume/drivers/hds/nfs.py:75
 #, fuzzy, python-format
 msgid "XML exception reading parameter: %s"
 msgstr "XML exception reading parameter: %s"
 
-#: cinder/volume/drivers/hds/hds.py:179
+#: cinder/volume/drivers/hds/hds.py:180
 #, python-format
 msgid "portal: %(ip)s:%(ipp)s, CTL: %(ctl)s, port: %(port)s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/hds.py:198 cinder/volume/drivers/hds/iscsi.py:269
-#: cinder/volume/drivers/hds/nfs.py:191
+#: cinder/volume/drivers/hds/hds.py:199 cinder/volume/drivers/hds/iscsi.py:270
+#: cinder/volume/drivers/hds/nfs.py:192
 #, fuzzy, python-format
 msgid "No configuration found for service: %s"
 msgstr "No configuration found for service: %s"
 
-#: cinder/volume/drivers/hds/hds.py:251 cinder/volume/drivers/hds/iscsi.py:347
+#: cinder/volume/drivers/hds/hds.py:252 cinder/volume/drivers/hds/iscsi.py:348
 #, fuzzy, python-format
 msgid "HDP not found: %s"
 msgstr "HDP not found: %s"
 
-#: cinder/volume/drivers/hds/hds.py:290 cinder/volume/drivers/hds/iscsi.py:394
+#: cinder/volume/drivers/hds/hds.py:291 cinder/volume/drivers/hds/iscsi.py:395
 #, fuzzy, python-format
 msgid "iSCSI portal not found for service: %s"
 msgstr "iSCSI portal not found for service: %s"
 
-#: cinder/volume/drivers/hds/iscsi.py:145
+#: cinder/volume/drivers/hds/iscsi.py:146
 #, python-format
 msgid "Backend type: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:203
+#: cinder/volume/drivers/hds/iscsi.py:204
 #, python-format
 msgid "Using default: instead of %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:204
-#: cinder/volume/drivers/hds/iscsi.py:267 cinder/volume/drivers/hds/nfs.py:189
+#: cinder/volume/drivers/hds/iscsi.py:205
+#: cinder/volume/drivers/hds/iscsi.py:268 cinder/volume/drivers/hds/nfs.py:190
 #, python-format
 msgid "Available services: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:216
+#: cinder/volume/drivers/hds/iscsi.py:217
 #, python-format
 msgid "Retrieving secret for service: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:250
+#: cinder/volume/drivers/hds/iscsi.py:251
 #, python-format
 msgid "Retrieving target for service: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:309
+#: cinder/volume/drivers/hds/iscsi.py:310
 #, python-format
 msgid "stats: stats: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:332
+#: cinder/volume/drivers/hds/iscsi.py:333
 #, python-format
 msgid "HDP list: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:383
+#: cinder/volume/drivers/hds/iscsi.py:384
 #, python-format
 msgid "do_setup: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:387
+#: cinder/volume/drivers/hds/iscsi.py:388
 #, python-format
 msgid "iSCSI portal found for service: %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:440
+#: cinder/volume/drivers/hds/iscsi.py:441
 #, python-format
 msgid "create_volume: create_lu returns %s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:446
+#: cinder/volume/drivers/hds/iscsi.py:447
 #, python-format
 msgid "LUN %(lun)s of size %(sz)s MB is created."
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:497
+#: cinder/volume/drivers/hds/iscsi.py:498
 #, python-format
 msgid "LUN %(lun)s extended to %(size)s GB."
 msgstr ""
 
-#: cinder/volume/drivers/hds/iscsi.py:679
+#: cinder/volume/drivers/hds/iscsi.py:680
 #, python-format
 msgid "Array mismatch %(myid)s vs %(arid)s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:215 cinder/volume/drivers/ibm/ibmnas.py:183
-#: cinder/volume/drivers/netapp/nfs.py:485
+#: cinder/volume/drivers/hds/nfs.py:216 cinder/volume/drivers/ibm/ibmnas.py:184
+#: cinder/volume/drivers/netapp/nfs.py:486
 #, python-format
 msgid "Resizing file to %sG"
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:218
+#: cinder/volume/drivers/hds/nfs.py:219
 #, python-format
 msgid "LUN %(id)s extended to %(size)s GB."
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:223 cinder/volume/drivers/netapp/nfs.py:491
+#: cinder/volume/drivers/hds/nfs.py:224 cinder/volume/drivers/netapp/nfs.py:492
 msgid "Resizing image file failed."
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:244
+#: cinder/volume/drivers/hds/nfs.py:245
 #, python-format
 msgid ""
 "Cannot create volume of size %(vol_size)s from snapshot of size "
 "%(snap_size)s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:378
+#: cinder/volume/drivers/hds/nfs.py:379
 #, python-format
 msgid ""
 "Cannot create clone of size %(vol_size)s from volume of size "
 "%(src_vol_size)s"
 msgstr ""
 
-#: cinder/volume/drivers/hds/nfs.py:423
+#: cinder/volume/drivers/hds/nfs.py:424
 #, python-format
 msgid ""
 "nfs_info: %(key)s: %(path)s, HDP:                         %(fslabel)s "
 "FSID: %(hdp)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/__init__.py:58
+#: cinder/volume/drivers/huawei/__init__.py:59
 msgid "_instantiate_driver: configuration not found."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/__init__.py:85
+#: cinder/volume/drivers/huawei/__init__.py:86
 #, python-format
 msgid ""
 "\"Product\" or \"Protocol\" is illegal. \"Product\" should be set to "
@@ -5444,118 +5845,118 @@ msgid ""
 "FC. Product: %(product)s Protocol: %(protocol)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_t.py:159
-#: cinder/volume/drivers/huawei/rest_common.py:1278
+#: cinder/volume/drivers/huawei/huawei_t.py:161
+#: cinder/volume/drivers/huawei/rest_common.py:1279
 #, python-format
 msgid ""
 "_get_iscsi_params: Failed to get target IP for initiator %(ini)s, please "
 "check config file."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_t.py:248
+#: cinder/volume/drivers/huawei/huawei_t.py:250
 #, python-format
 msgid ""
 "_get_iscsi_tgt_port_info: Failed to get iSCSI port info. Please make sure"
 " the iSCSI port IP %s is configured in array."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_t.py:351
+#: cinder/volume/drivers/huawei/huawei_t.py:353
 #, python-format
 msgid "_remove_iscsi_port: iSCSI port was not found on host %(hostid)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_t.py:436
+#: cinder/volume/drivers/huawei/huawei_t.py:438
 msgid "validate_connector: The FC driver requires thewwpns in the connector."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_t.py:578
+#: cinder/volume/drivers/huawei/huawei_t.py:582
 #, python-format
 msgid "_remove_fc_ports: FC port was not found on host %(hostid)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/huawei_utils.py:40
+#: cinder/volume/drivers/huawei/huawei_utils.py:41
 #, python-format
 msgid "parse_xml_file: %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:75
+#: cinder/volume/drivers/huawei/rest_common.py:76
 #, python-format
 msgid "Bad response from server: %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:82
+#: cinder/volume/drivers/huawei/rest_common.py:83
 msgid "JSON transfer error"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:102
+#: cinder/volume/drivers/huawei/rest_common.py:103
 #, python-format
 msgid "Login error, reason is %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:166
+#: cinder/volume/drivers/huawei/rest_common.py:167
 #, python-format
 msgid ""
 "%(err)s\n"
 "result: %(res)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:173
+#: cinder/volume/drivers/huawei/rest_common.py:174
 #, python-format
 msgid "%s \"data\" was not in result."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:208
+#: cinder/volume/drivers/huawei/rest_common.py:209
 msgid "Can't find the Qos policy in array"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:246
+#: cinder/volume/drivers/huawei/rest_common.py:247
 msgid "Can't find lun or lun group in array"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:280
+#: cinder/volume/drivers/huawei/rest_common.py:281
 #, python-format
 msgid "Invalid resource pool: %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:298
+#: cinder/volume/drivers/huawei/rest_common.py:299
 #, python-format
 msgid "Get pool info error, pool name is:%s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:688
+#: cinder/volume/drivers/huawei/rest_common.py:689
 #, python-format
 msgid "JSON transfer data error. %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:937
+#: cinder/volume/drivers/huawei/rest_common.py:938
 #, python-format
 msgid ""
 "Config file is wrong. LUNType must be \"Thin\" or \"Thick\". "
 "LUNType:%(fetchtype)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:964
+#: cinder/volume/drivers/huawei/rest_common.py:965
 #, python-format
 msgid ""
 "PrefetchType config is wrong. PrefetchType must in 1,2,3,4. fetchtype "
 "is:%(fetchtype)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:982
+#: cinder/volume/drivers/huawei/rest_common.py:983
 #, python-format
 msgid ""
 "_wait_for_luncopy:LUNcopy status is not normal.LUNcopy name: "
 "%(luncopyname)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1056
+#: cinder/volume/drivers/huawei/rest_common.py:1057
 #, python-format
 msgid ""
 "_get_iscsi_port_info: Failed to get iscsi port info through config IP "
 "%(ip)s, please check config file."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1157
+#: cinder/volume/drivers/huawei/rest_common.py:1158
 #, python-format
 msgid ""
 "_parse_volume_type: Unacceptable parameter %(key)s. Please check this key"
@@ -5563,57 +5964,57 @@ msgid ""
 "%(conf)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1225
+#: cinder/volume/drivers/huawei/rest_common.py:1226
 #, python-format
 msgid "%s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1239
-#: cinder/volume/drivers/huawei/ssh_common.py:118
-#: cinder/volume/drivers/huawei/ssh_common.py:1263
+#: cinder/volume/drivers/huawei/rest_common.py:1240
+#: cinder/volume/drivers/huawei/ssh_common.py:120
+#: cinder/volume/drivers/huawei/ssh_common.py:1266
 #, python-format
 msgid "_check_conf_file: Config file invalid. %s must be set."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1246
-#: cinder/volume/drivers/huawei/ssh_common.py:125
+#: cinder/volume/drivers/huawei/rest_common.py:1247
+#: cinder/volume/drivers/huawei/ssh_common.py:127
 msgid "_check_conf_file: Config file invalid. StoragePool must be set."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1256
+#: cinder/volume/drivers/huawei/rest_common.py:1257
 #, python-format
 msgid ""
 "_check_conf_file: Config file invalid. Host OSType invalid.\n"
 "The valid values are: %(os_list)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/rest_common.py:1300
+#: cinder/volume/drivers/huawei/rest_common.py:1301
 msgid "Can not find lun in array"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:54
+#: cinder/volume/drivers/huawei/ssh_common.py:56
 #, python-format
 msgid "ssh_read: Read SSH timeout. %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:70
+#: cinder/volume/drivers/huawei/ssh_common.py:72
 msgid "No response message. Please check system status."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:135
-#: cinder/volume/drivers/huawei/ssh_common.py:1285
+#: cinder/volume/drivers/huawei/ssh_common.py:137
+#: cinder/volume/drivers/huawei/ssh_common.py:1288
 #, python-format
 msgid ""
 "_check_conf_file: Config file invalid. Host OSType is invalid.\n"
 "The valid values are: %(os_list)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:169
+#: cinder/volume/drivers/huawei/ssh_common.py:171
 #, python-format
 msgid "_get_login_info: %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:279
+#: cinder/volume/drivers/huawei/ssh_common.py:281
 #, python-format
 msgid ""
 "_parse_volume_type: Unacceptable parameter %(key)s. Please check this key"
@@ -5621,78 +6022,78 @@ msgid ""
 "file %(conf)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:373
-#: cinder/volume/drivers/huawei/ssh_common.py:1449
+#: cinder/volume/drivers/huawei/ssh_common.py:375
+#: cinder/volume/drivers/huawei/ssh_common.py:1452
 #, python-format
 msgid "LUNType must be \"Thin\" or \"Thick\". LUNType:%(type)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:419
+#: cinder/volume/drivers/huawei/ssh_common.py:421
 #, python-format
 msgid ""
 "_get_maximum_capacity_pool_id: Failed to get pool id. Please check config"
 " file and make sure the StoragePool %s is created in storage array."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:464
+#: cinder/volume/drivers/huawei/ssh_common.py:467
 #, python-format
 msgid ""
 "_execute_cli: Can not connect to IP %(old)s, try to connect to the other "
 "IP %(new)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:499
+#: cinder/volume/drivers/huawei/ssh_common.py:502
 #, python-format
 msgid "_execute_cli: %s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:514
+#: cinder/volume/drivers/huawei/ssh_common.py:517
 #, python-format
 msgid "delete_volume: Volume %(name)s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:578
+#: cinder/volume/drivers/huawei/ssh_common.py:581
 #, python-format
 msgid "create_volume_from_snapshot: Snapshot %(name)s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:648
+#: cinder/volume/drivers/huawei/ssh_common.py:651
 #, python-format
 msgid "_wait_for_luncopy: LUNcopy %(luncopyname)s status is %(status)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:695
+#: cinder/volume/drivers/huawei/ssh_common.py:698
 #, python-format
 msgid "Source volume %(name)s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:745
+#: cinder/volume/drivers/huawei/ssh_common.py:748
 #, python-format
 msgid "extend_volume: volume %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:783
+#: cinder/volume/drivers/huawei/ssh_common.py:786
 msgid "create_snapshot: Resource pool needs 1GB valid size at least."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:790
+#: cinder/volume/drivers/huawei/ssh_common.py:793
 #, python-format
 msgid "create_snapshot: Volume %(name)s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:863
+#: cinder/volume/drivers/huawei/ssh_common.py:866
 #, python-format
 msgid ""
 "delete_snapshot: Can not delete snapshot %s for it is a source LUN of "
 "LUNCopy."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:871
+#: cinder/volume/drivers/huawei/ssh_common.py:874
 #, python-format
 msgid "delete_snapshot: Snapshot %(snap)s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:914
+#: cinder/volume/drivers/huawei/ssh_common.py:917
 #, python-format
 msgid ""
 "%(func)s: %(msg)s\n"
@@ -5700,269 +6101,269 @@ msgid ""
 "CLI out: %(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:931
+#: cinder/volume/drivers/huawei/ssh_common.py:934
 #, python-format
 msgid "map_volume: Volume %s was not found."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1100
+#: cinder/volume/drivers/huawei/ssh_common.py:1103
 #, python-format
 msgid "remove_map: Host %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1104
+#: cinder/volume/drivers/huawei/ssh_common.py:1107
 #, python-format
 msgid "remove_map: Volume %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1117
+#: cinder/volume/drivers/huawei/ssh_common.py:1120
 #, python-format
 msgid "remove_map: No map between host %(host)s and volume %(volume)s."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1144
+#: cinder/volume/drivers/huawei/ssh_common.py:1147
 #, python-format
 msgid ""
 "_delete_map: Failed to delete host map %(mapid)s.\n"
 "CLI out: %(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1275
+#: cinder/volume/drivers/huawei/ssh_common.py:1278
 msgid "_check_conf_file: Config file invalid. StoragePool must be specified."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1309
+#: cinder/volume/drivers/huawei/ssh_common.py:1312
 msgid ""
 "_get_device_type: The driver only supports Dorado5100 and Dorado 2100 G2 "
 "now."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1387
+#: cinder/volume/drivers/huawei/ssh_common.py:1390
 #, python-format
 msgid ""
 "create_volume_from_snapshot: %(device)s does not support create volume "
 "from snapshot."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1394
+#: cinder/volume/drivers/huawei/ssh_common.py:1397
 #, python-format
 msgid "create_cloned_volume: %(device)s does not support clone volume."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1402
+#: cinder/volume/drivers/huawei/ssh_common.py:1405
 #, python-format
 msgid "extend_volume: %(device)s does not support extend volume."
 msgstr ""
 
-#: cinder/volume/drivers/huawei/ssh_common.py:1411
+#: cinder/volume/drivers/huawei/ssh_common.py:1414
 #, python-format
 msgid "create_snapshot: %(device)s does not support snapshot."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:125
+#: cinder/volume/drivers/ibm/gpfs.py:126
 #, python-format
 msgid "Failed to issue mmgetstate command, error: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:136
+#: cinder/volume/drivers/ibm/gpfs.py:137
 #, python-format
 msgid "GPFS is not active.  Detailed output: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:137
+#: cinder/volume/drivers/ibm/gpfs.py:138
 #, python-format
 msgid "GPFS is not running, state: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:149
+#: cinder/volume/drivers/ibm/gpfs.py:150
 #, python-format
 msgid "Failed to issue df command for path %(path)s, error: %(error)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:165 cinder/volume/drivers/ibm/gpfs.py:254
+#: cinder/volume/drivers/ibm/gpfs.py:166 cinder/volume/drivers/ibm/gpfs.py:255
 #, python-format
 msgid "Failed to issue mmlsconfig command, error: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:176
+#: cinder/volume/drivers/ibm/gpfs.py:177
 #, python-format
 msgid "Failed to issue mmlsattr command on path %(path)s, error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:185
+#: cinder/volume/drivers/ibm/gpfs.py:186
 #, python-format
 msgid "Failed to find fileset for path %(path)s, command output: %(cmdout)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:207
+#: cinder/volume/drivers/ibm/gpfs.py:208
 #, python-format
 msgid "Invalid storage pool %s requested.  Retype failed."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:234
+#: cinder/volume/drivers/ibm/gpfs.py:235
 #, python-format
 msgid "Failed to issue mmlsfs command for path %(path)s, error: %(error)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:271
+#: cinder/volume/drivers/ibm/gpfs.py:272
 #, python-format
 msgid "Failed to issue mmlsattr command for path %(path)s, error: %(error)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:321
+#: cinder/volume/drivers/ibm/gpfs.py:322
 #, python-format
 msgid "Could not find GPFS cluster id: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:329
+#: cinder/volume/drivers/ibm/gpfs.py:330
 #, python-format
 msgid "Could not find GPFS file system device: %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:337
+#: cinder/volume/drivers/ibm/gpfs.py:338
 #, python-format
 msgid "Invalid storage pool %s specificed."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:347
+#: cinder/volume/drivers/ibm/gpfs.py:348
 msgid "Option gpfs_mount_point_base is not set correctly."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:354
+#: cinder/volume/drivers/ibm/gpfs.py:355
 msgid "Option gpfs_images_share_mode is not set correctly."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:360
+#: cinder/volume/drivers/ibm/gpfs.py:361
 msgid "Option gpfs_images_dir is not set correctly."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:367
+#: cinder/volume/drivers/ibm/gpfs.py:368
 #, python-format
 msgid ""
 "gpfs_images_share_mode is set to copy_on_write, but %(vol)s and %(img)s "
 "belong to different file systems."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:378
+#: cinder/volume/drivers/ibm/gpfs.py:379
 #, python-format
 msgid ""
 "gpfs_images_share_mode is set to copy_on_write, but %(vol)s and %(img)s "
 "belong to different filesets."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:387
+#: cinder/volume/drivers/ibm/gpfs.py:388
 #, python-format
 msgid ""
 "Downlevel GPFS Cluster Detected.  GPFS Clone feature not enabled in "
 "cluster daemon level %(cur)s - must be at least at level %(min)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:401
+#: cinder/volume/drivers/ibm/gpfs.py:402
 #, python-format
 msgid "%s must be an absolute path."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:406
+#: cinder/volume/drivers/ibm/gpfs.py:407
 #, python-format
 msgid "%s is not a directory."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:416
+#: cinder/volume/drivers/ibm/gpfs.py:417
 #, python-format
 msgid ""
 "The GPFS filesystem %(fs)s is not at the required release level.  Current"
 " level is %(cur)s, must be at least %(min)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:797
+#: cinder/volume/drivers/ibm/gpfs.py:798
 #, python-format
 msgid "Failed to resize volume %(volume_id)s, error: %(error)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:871
+#: cinder/volume/drivers/ibm/gpfs.py:872
 #, python-format
 msgid ""
 "Driver-based migration of volume %(vol)s failed. Move from %(src)s to "
 "%(dst)s failed with error: %(error)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:943
+#: cinder/volume/drivers/ibm/gpfs.py:944
 #, python-format
 msgid "mkfs failed on volume %(vol)s, error message was: %(err)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/gpfs.py:976
+#: cinder/volume/drivers/ibm/gpfs.py:977
 #, python-format
 msgid ""
 "%s cannot be accessed. Verify that GPFS is active and file system is "
 "mounted."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:87
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:232
-#: cinder/volume/drivers/netapp/iscsi.py:122
-#: cinder/volume/drivers/netapp/nfs.py:669
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:178
+#: cinder/volume/drivers/ibm/ibmnas.py:88
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:245
+#: cinder/volume/drivers/netapp/iscsi.py:123
+#: cinder/volume/drivers/netapp/nfs.py:670
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:195
 #, python-format
 msgid "%s is not set"
 msgstr "%s is not set"
 
-#: cinder/volume/drivers/ibm/ibmnas.py:93
+#: cinder/volume/drivers/ibm/ibmnas.py:94
 msgid ""
 "Password or SSH private key is required for authentication: set either "
 "nas_password or nas_private_key option"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:146
+#: cinder/volume/drivers/ibm/ibmnas.py:147
 #, python-format
 msgid "Failed in _create_ibmnas_snap during create_snapshot. Error: %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:160
+#: cinder/volume/drivers/ibm/ibmnas.py:161
 #, python-format
 msgid ""
 "Failed in _create_ibmnas_snap during create_volume_from_snapshot. Error: "
 "%s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:176
+#: cinder/volume/drivers/ibm/ibmnas.py:177
 #, python-format
 msgid "Failed in _create_ibmnas_copy. Error: %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:187
+#: cinder/volume/drivers/ibm/ibmnas.py:188
 #, python-format
 msgid "Failed to resize volume %(volume_id)s, error: %(error)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:210
+#: cinder/volume/drivers/ibm/ibmnas.py:211
 #, python-format
 msgid "Failed in _delete_snapfiles. Error: %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/ibmnas.py:248
+#: cinder/volume/drivers/ibm/ibmnas.py:249
 #, python-format
 msgid "Volume %s does not have provider_location specified, skipping."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:153
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:166
 #, python-format
 msgid "Failed getting details for pool %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:189
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:202
 msgid "do_setup: No configured nodes."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:222
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:235
 msgid "Unable to determine system name"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:225
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:238
 msgid "Unable to determine system id"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:238
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:251
 msgid ""
 "Password or SSH private key is required for authentication: set either "
 "san_password or san_private_key option"
@@ -5970,7 +6371,7 @@ msgstr ""
 "Password or SSH private key is required for authentication: set either "
 "san_password or san_private_key option"
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:246
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:259
 #, python-format
 msgid ""
 "Illegal value %d specified for storwize_svc_flashcopy_timeout: valid "
@@ -5979,35 +6380,35 @@ msgstr ""
 "Illegal value %d specified for storwize_svc_flashcopy_timeout: valid "
 "values are between 0 and 600"
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:264
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:277
 #, python-format
 msgid "ensure_export: Volume %s not found on storage"
 msgstr "ensure_export: Volume %s not found on storage"
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:283
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:296
 msgid "The connector does not contain the required information."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:338
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:352
 msgid "CHAP secret exists for host but CHAP is disabled"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:343
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:357
 #, python-format
 msgid "initialize_connection: Failed to get attributes for volume %s"
 msgstr "initialize_connection: Failed to get attributes for volume %s"
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:355
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:369
 #, python-format
 msgid "Did not find expected column name in lsvdisk: %s"
 msgstr "Did not find expected column name in lsvdisk: %s"
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:357
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:371
 #, python-format
 msgid "initialize_connection: Missing volume attribute for volume %s"
 msgstr "initialize_connection: Missing volume attribute for volume %s"
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:374
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:388
 #, python-format
 msgid ""
 "initialize_connection: No node found in I/O group %(gid)s for volume "
@@ -6016,25 +6417,25 @@ msgstr ""
 "initialize_connection: No node found in I/O group %(gid)s for volume "
 "%(vol)s"
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:383
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:397
 #, python-format
 msgid "initialize_connection: Did not find a preferred node for volume %s"
 msgstr "initialize_connection: Did not find a preferred node for volume %s"
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:406
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:429
 msgid ""
 "Could not get FC connection information for the host-volume connection. "
 "Is the host configured properly for FC connections?"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:421
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:448
 #, python-format
 msgid ""
 "Unable to find a preferred node match for node %(node)s in the list of "
 "available WWPNs on %(host)s. Using first available."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:441
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:468
 #, python-format
 msgid ""
 "initialize_connection: Failed to collect return properties for volume "
@@ -6043,147 +6444,148 @@ msgstr ""
 "initialize_connection: Failed to collect return properties for volume "
 "%(vol)s and connector %(conn)s.\n"
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:490
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:518
 msgid "terminate_connection: Failed to get host name from connector."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:534
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:562
 msgid "create_snapshot: get source volume failed."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:547
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:575
 msgid "create_volume_from_snapshot: Source and destination size differ."
 msgstr "create_volume_from_snapshot: Source and destination size differ."
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:559
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:587
 msgid "create_cloned_volume: Source and destination size differ."
 msgstr "create_cloned_volume: Source and destination size differ."
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:574
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:602
 msgid "extend_volume: Extending a volume with snapshots is not supported."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:617
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:645
 #, python-format
 msgid ""
 "_rm_vdisk_copy_op: Volume %s does not have any registered vdisk copy "
 "operations."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:622
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:650
 #, python-format
 msgid ""
 "_rm_vdisk_copy_op: Volume %(vol)s does not have the specified vdisk copy "
 "operation: orig=%(orig)s new=%(new)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:634
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:662
 #, python-format
 msgid ""
 "_rm_vdisk_copy_op: Volume metadata %s does not have any registered vdisk "
 "copy operations."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:642
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:670
 #, python-format
 msgid ""
 "_rm_vdisk_copy_op: Volume %(vol)s metadata does not have the specified "
 "vdisk copy operation: orig=%(orig)s new=%(new)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:667
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:695
 #, python-format
 msgid "Volume %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:679
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:707
 #, python-format
 msgid ""
 "_check_volume_copy_ops: Volume %(vol)s does not have the specified vdisk "
 "copy operation: orig=%(orig)s new=%(new)s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:791
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:819
 #, python-format
 msgid ""
 "Unable to retype:  A copy of volume %s exists. Retyping would exceed the "
 "limit of 2 copies."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:818
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:844
-msgid "No vdisk with the specified vdisk_UID."
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:846
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:873
+#, python-format
+msgid "No vdisk with the UID specified by source-id %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:837
-msgid "Reference must contain vdisk_UID element."
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:866
+msgid "Reference must contain source-id element."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:852
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:882
 msgid "The specified vdisk is mapped to a host."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:892
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:922
 msgid "Could not get pool data from the storage"
 msgstr "Could not get pool data from the storage"
 
-#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:893
+#: cinder/volume/drivers/ibm/storwize_svc/__init__.py:923
 msgid "_update_volume_stats: Could not get storage pool data"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:44
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:45
 #, python-format
 msgid "Could not find key in output of command %(cmd)s: %(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:64
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:65
 #, python-format
 msgid "Failed to get code level (%s)."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:86
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:87
 #, python-format
 msgid "Expected integer for node_count, svcinfo lsiogrp returned: %(node)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:143
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:144
 #, python-format
 msgid "WWPN on node %(node)s: %(wwpn)s"
 msgstr "WWPN on node %(node)s: %(wwpn)s"
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:165
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:166
 #, python-format
 msgid "Failed to find host %s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:229
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:239
 msgid "create_host: Host name is not unicode or string"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:240
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:250
 msgid "create_host: No initiators or wwpns supplied."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:323
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:333
 #, python-format
 msgid "unmap_vol_from_host: No mapping of volume %(vol_name)s to any host found."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:329
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:339
 #, python-format
 msgid ""
 "unmap_vol_from_host: Multiple mappings of volume %(vol_name)s found, no "
 "host specified."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:341
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:351
 #, python-format
 msgid ""
 "unmap_vol_from_host: No mapping of volume %(vol_name)s to host %(host)s "
 "found."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:382
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:392
 msgid ""
 "Illegal value specified for storwize_svc_vol_rsize: set to either a "
 "percentage (0-100) or -1"
@@ -6191,7 +6593,7 @@ msgstr ""
 "Illegal value specified for storwize_svc_vol_rsize: set to either a "
 "percentage (0-100) or -1"
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:388
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:398
 msgid ""
 "Illegal value specified for storwize_svc_vol_warning: set to a percentage"
 " (0-100)"
@@ -6199,7 +6601,7 @@ msgstr ""
 "Illegal value specified for storwize_svc_vol_warning: set to a percentage"
 " (0-100)"
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:395
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:405
 msgid ""
 "Illegal value specified for storwize_svc_vol_grainsize: set to either 32,"
 " 64, 128, or 256"
@@ -6207,15 +6609,15 @@ msgstr ""
 "Illegal value specified for storwize_svc_vol_grainsize: set to either 32,"
 " 64, 128, or 256"
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:402
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:412
 msgid "System does not support compression"
 msgstr "System does not support compression"
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:407
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:417
 msgid "If compression is set to True, rsize must also be set (not equal to -1)"
 msgstr "If compression is set to True, rsize must also be set (not equal to -1)"
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:413
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:423
 #, python-format
 msgid ""
 "Illegal value %(prot)s specified for storwize_svc_connection_protocol: "
@@ -6224,64 +6626,64 @@ msgstr ""
 "Illegal value %(prot)s specified for storwize_svc_connection_protocol: "
 "valid values are %(enabled)s"
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:422
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:432
 #, python-format
 msgid "I/O group %(iogrp)d is not valid; available I/O groups are %(avail)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:458
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:468
 msgid "Protocol must be specified as '<in> iSCSI' or '<in> FC'."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:531
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:541
 #, python-format
 msgid ""
 "Unexecpted mapping status %(status)s for mapping%(id)s. Attributes: "
 "%(attr)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:541
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:551
 #, python-format
 msgid ""
 "Mapping %(id)s prepare failed to complete within theallotted %(to)d "
 "seconds timeout. Terminating."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:601
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:611
 #, python-format
 msgid "Vdisk %(name)s not involved in mapping %(src)s -> %(tgt)s"
 msgstr "Vdisk %(name)s not involved in mapping %(src)s -> %(tgt)s"
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:647
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:657
 #, python-format
 msgid "Tried to delete non-existant vdisk %s."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:660
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:670
 #, python-format
 msgid "create_copy: Source vdisk %(src)s (%(src_id)s) does not exist"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:686
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:696
 #, python-format
 msgid ""
 "add_vdisk_copy failed: A copy of volume %s exists. Adding another copy "
 "would exceed the limit of 2 copies."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:693
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:703
 msgid "add_vdisk_copy started without a vdisk copy in the expected pool."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:762
+#: cinder/volume/drivers/ibm/storwize_svc/helpers.py:772
 msgid ""
 "Expected single vdisk returned from lsvdisk when filtering on vdisk_UID."
 "  %{count}s were returned."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:35
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:213
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:250
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:36
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:214
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:251
 #, python-format
 msgid ""
 "CLI Exception output:\n"
@@ -6294,13 +6696,13 @@ msgstr ""
 " stdout: %(out)s\n"
 " stderr: %(err)s"
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:53
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:54
 #, python-format
 msgid "Expected no output from CLI command %(cmd)s, got %(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:65
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:262
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:66
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:263
 #, python-format
 msgid ""
 "Failed to parse CLI output:\n"
@@ -6309,421 +6711,421 @@ msgid ""
 " stderr: %(err)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:144
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:145
 msgid "Must pass wwpn or host to lsfabric."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:160
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:161
 #, python-format
 msgid "Did not find success message nor error for %(fun)s: %(out)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:165
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:166
 msgid ""
 "storwize_svc_multihostmap_enabled is set to False, not allowing multi "
 "host mapping."
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:361
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:362
 #, python-format
 msgid "Did not find expected key %(key)s in %(fun)s: %(raw)s"
 msgstr ""
 
-#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:396
+#: cinder/volume/drivers/ibm/storwize_svc/ssh.py:397
 #, python-format
 msgid ""
 "Unexpected CLI response: header/row mismatch. header: %(header)s, row: "
 "%(row)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/api.py:424
+#: cinder/volume/drivers/netapp/api.py:425
 #, python-format
 msgid "No element by given name %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/api.py:444
+#: cinder/volume/drivers/netapp/api.py:445
 msgid "Not a valid value for NaElement."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/api.py:448
+#: cinder/volume/drivers/netapp/api.py:449
 msgid "NaElement name cannot be null."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/api.py:491
+#: cinder/volume/drivers/netapp/api.py:492
 msgid "Type cannot be converted into NaElement."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:80
+#: cinder/volume/drivers/netapp/common.py:83
 msgid "Required configuration not found"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:108
+#: cinder/volume/drivers/netapp/common.py:111
 #, python-format
 msgid "Requested unified config: %(storage_family)s and %(storage_protocol)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:114
+#: cinder/volume/drivers/netapp/common.py:117
 #, python-format
 msgid "Storage family %s is not supported"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:121
+#: cinder/volume/drivers/netapp/common.py:124
 #, python-format
 msgid "No default storage protocol found for storage family %(storage_family)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:128
+#: cinder/volume/drivers/netapp/common.py:131
 #, python-format
 msgid ""
 "Protocol %(storage_protocol)s is not supported for storage family "
 "%(storage_family)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:135
+#: cinder/volume/drivers/netapp/common.py:138
 #, python-format
 msgid ""
 "NetApp driver of family %(storage_family)s and protocol "
 "%(storage_protocol)s loaded"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:144
+#: cinder/volume/drivers/netapp/common.py:147
 msgid "Only loading netapp drivers supported."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/common.py:163
+#: cinder/volume/drivers/netapp/common.py:166
 #, python-format
 msgid ""
 "The configured NetApp driver is deprecated. Please refer the link to "
 "resolve the issue '%s'."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:69
+#: cinder/volume/drivers/netapp/iscsi.py:70
 #, python-format
 msgid "No metadata property %(prop)s defined for the LUN %(name)s"
 msgstr "No metadata property %(prop)s defined for the LUN %(name)s"
 
-#: cinder/volume/drivers/netapp/iscsi.py:175
+#: cinder/volume/drivers/netapp/iscsi.py:176
 #, python-format
 msgid "No entry in LUN table for volume/snapshot %(name)s."
 msgstr "No entry in LUN table for volume/snapshot %(name)s."
 
-#: cinder/volume/drivers/netapp/iscsi.py:227
+#: cinder/volume/drivers/netapp/iscsi.py:228
 #, python-format
 msgid "Mapped LUN %(name)s to the initiator %(initiator_name)s"
 msgstr "Mapped LUN %(name)s to the initiator %(initiator_name)s"
 
-#: cinder/volume/drivers/netapp/iscsi.py:232
+#: cinder/volume/drivers/netapp/iscsi.py:233
 #, python-format
 msgid ""
 "Successfully fetched target details for LUN %(name)s and initiator "
 "%(initiator_name)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:238
+#: cinder/volume/drivers/netapp/iscsi.py:239
 #, python-format
 msgid "Failed to get LUN target details for the LUN %s"
 msgstr "Failed to get LUN target details for the LUN %s"
 
-#: cinder/volume/drivers/netapp/iscsi.py:249
+#: cinder/volume/drivers/netapp/iscsi.py:250
 #, python-format
 msgid "Failed to get target portal for the LUN %s"
 msgstr "Failed to get target portal for the LUN %s"
 
-#: cinder/volume/drivers/netapp/iscsi.py:252
+#: cinder/volume/drivers/netapp/iscsi.py:253
 #, python-format
 msgid "Failed to get target IQN for the LUN %s"
 msgstr "Failed to get target IQN for the LUN %s"
 
-#: cinder/volume/drivers/netapp/iscsi.py:310
-#: cinder/volume/drivers/netapp/iscsi.py:557
-#: cinder/volume/drivers/netapp/nfs.py:101
-#: cinder/volume/drivers/netapp/nfs.py:208
+#: cinder/volume/drivers/netapp/iscsi.py:311
+#: cinder/volume/drivers/netapp/iscsi.py:558
+#: cinder/volume/drivers/netapp/nfs.py:102
+#: cinder/volume/drivers/netapp/nfs.py:209
 #, python-format
 msgid "Resizing %s failed. Cleaning volume."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:325
+#: cinder/volume/drivers/netapp/iscsi.py:326
 #, python-format
 msgid "Unmapped LUN %(name)s from the initiator %(initiator_name)s"
 msgstr "Unmapped LUN %(name)s from the initiator %(initiator_name)s"
 
-#: cinder/volume/drivers/netapp/iscsi.py:414
+#: cinder/volume/drivers/netapp/iscsi.py:415
 #, python-format
 msgid "Error mapping lun. Code :%(code)s, Message:%(message)s"
 msgstr "Error mapping lun. Code :%(code)s, Message:%(message)s"
 
-#: cinder/volume/drivers/netapp/iscsi.py:433
+#: cinder/volume/drivers/netapp/iscsi.py:434
 #, python-format
 msgid "Error unmapping lun. Code :%(code)s, Message:%(message)s"
 msgstr "Error unmapping lun. Code :%(code)s, Message:%(message)s"
 
-#: cinder/volume/drivers/netapp/iscsi.py:503
+#: cinder/volume/drivers/netapp/iscsi.py:504
 msgid "Object is not a NetApp LUN."
 msgstr "Object is not a NetApp LUN."
 
-#: cinder/volume/drivers/netapp/iscsi.py:535
+#: cinder/volume/drivers/netapp/iscsi.py:536
 #, python-format
 msgid "Message: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:537
+#: cinder/volume/drivers/netapp/iscsi.py:538
 #, python-format
 msgid "Error getting lun attribute. Exception: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:593
+#: cinder/volume/drivers/netapp/iscsi.py:594
 #, python-format
 msgid "No need to extend volume %s as it is already the requested new size."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:599
+#: cinder/volume/drivers/netapp/iscsi.py:600
 #, python-format
 msgid "Resizing lun %s directly to new size."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:626
+#: cinder/volume/drivers/netapp/iscsi.py:627
 #, python-format
 msgid "Lun %(path)s geometry failed. Message - %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:670
+#: cinder/volume/drivers/netapp/iscsi.py:671
 #, python-format
 msgid "Resizing lun %s using sub clone to new size."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:677
+#: cinder/volume/drivers/netapp/iscsi.py:678
 #, python-format
 msgid "%s cannot be sub clone resized as it is hosted on compressed volume"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:683
+#: cinder/volume/drivers/netapp/iscsi.py:684
 #, python-format
 msgid "%s cannot be sub clone resized as it contains no blocks."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:700
+#: cinder/volume/drivers/netapp/iscsi.py:701
 #, python-format
 msgid "Post clone resize lun %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:711
+#: cinder/volume/drivers/netapp/iscsi.py:712
 #, python-format
 msgid "Failure staging lun %s to tmp."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:716
+#: cinder/volume/drivers/netapp/iscsi.py:717
 #, python-format
 msgid "Failure moving new cloned lun to %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:720
+#: cinder/volume/drivers/netapp/iscsi.py:721
 #, python-format
 msgid "Failure deleting staged tmp lun %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:723
+#: cinder/volume/drivers/netapp/iscsi.py:724
 #, python-format
 msgid "Unknown exception in post clone resize lun %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:725
+#: cinder/volume/drivers/netapp/iscsi.py:726
 #, python-format
 msgid "Exception details: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:734
+#: cinder/volume/drivers/netapp/iscsi.py:735
 #, python-format
 msgid "Failure getting lun info for %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:781
+#: cinder/volume/drivers/netapp/iscsi.py:782
 #, python-format
 msgid "Failed to get vol with required size and extra specs for volume: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:793
+#: cinder/volume/drivers/netapp/iscsi.py:794
 #, python-format
 msgid "Error provisioning vol %(name)s on %(volume)s. Details: %(ex)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1012
+#: cinder/volume/drivers/netapp/iscsi.py:1013
 #, python-format
 msgid "No cloned lun named %s found on the filer"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1113
+#: cinder/volume/drivers/netapp/iscsi.py:1114
 msgid "Cluster ssc is not updated. No volume stats found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1175
-#: cinder/volume/drivers/netapp/nfs.py:1300
+#: cinder/volume/drivers/netapp/iscsi.py:1176
+#: cinder/volume/drivers/netapp/nfs.py:1301
 msgid "Unsupported ONTAP version. ONTAP version 7.3.1 and above is supported."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1179
-#: cinder/volume/drivers/netapp/nfs.py:1304
-#: cinder/volume/drivers/netapp/utils.py:323
+#: cinder/volume/drivers/netapp/iscsi.py:1180
+#: cinder/volume/drivers/netapp/nfs.py:1305
+#: cinder/volume/drivers/netapp/utils.py:325
 msgid "Api version could not be determined."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1190
+#: cinder/volume/drivers/netapp/iscsi.py:1191
 #, python-format
 msgid "Failed to get vol with required size for volume: %s"
 msgstr "Failed to get vol with required size for volume: %s"
 
-#: cinder/volume/drivers/netapp/iscsi.py:1299
+#: cinder/volume/drivers/netapp/iscsi.py:1300
 #, python-format
 msgid "Error finding luns for volume %s. Verify volume exists."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1509
+#: cinder/volume/drivers/netapp/iscsi.py:1510
 msgid "Volume refresh job already running. Returning..."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1515
+#: cinder/volume/drivers/netapp/iscsi.py:1516
 #, python-format
 msgid "Error refreshing vol capacity. Message: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/iscsi.py:1523
+#: cinder/volume/drivers/netapp/iscsi.py:1524
 #, python-format
 msgid "Refreshing capacity info for %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:106
-#: cinder/volume/drivers/netapp/nfs.py:213
+#: cinder/volume/drivers/netapp/nfs.py:107
+#: cinder/volume/drivers/netapp/nfs.py:214
 #, python-format
 msgid "NFS file %s not discovered."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:226
+#: cinder/volume/drivers/netapp/nfs.py:227
 #, python-format
 msgid "Copied image to volume %s using regular download."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:233
+#: cinder/volume/drivers/netapp/nfs.py:234
 #, python-format
 msgid "Registering image in cache %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:240
+#: cinder/volume/drivers/netapp/nfs.py:241
 #, python-format
 msgid ""
 "Exception while registering image %(image_id)s in cache. Exception: "
 "%(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:266
+#: cinder/volume/drivers/netapp/nfs.py:267
 #, python-format
 msgid "Cloning from cache to destination %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:296
+#: cinder/volume/drivers/netapp/nfs.py:297
 #, python-format
 msgid "Cleaning cache for share %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:308
+#: cinder/volume/drivers/netapp/nfs.py:309
 #, python-format
 msgid "Exception during cache cleaning %(share)s. Message - %(ex)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:366
+#: cinder/volume/drivers/netapp/nfs.py:367
 #, python-format
 msgid "Exception during deleting %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:398
+#: cinder/volume/drivers/netapp/nfs.py:399
 #, python-format
 msgid "Image cloning unsuccessful for image %(image_id)s. Message: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:414
+#: cinder/volume/drivers/netapp/nfs.py:415
 #, python-format
 msgid "Cloning image %s from cache"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:428
+#: cinder/volume/drivers/netapp/nfs.py:429
 #, python-format
 msgid "Unexpected exception during image cloning in share %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:434
+#: cinder/volume/drivers/netapp/nfs.py:435
 #, python-format
 msgid "Checking image clone %s from glance share."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:453
+#: cinder/volume/drivers/netapp/nfs.py:454
 #, python-format
 msgid "Image will locally be converted to raw %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:460
+#: cinder/volume/drivers/netapp/nfs.py:461
 #, python-format
 msgid "Converted to raw, but format is now %s"
 msgstr "Converted to raw, but format is now %s"
 
-#: cinder/volume/drivers/netapp/nfs.py:470
+#: cinder/volume/drivers/netapp/nfs.py:471
 #, python-format
 msgid "Performing post clone for %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:477
+#: cinder/volume/drivers/netapp/nfs.py:478
 msgid "NFS file could not be discovered."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:513
+#: cinder/volume/drivers/netapp/nfs.py:514
 msgid "Discover file retries exhausted."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:571
+#: cinder/volume/drivers/netapp/nfs.py:572
 msgid "Unexpected exception while short listing used share."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:586
+#: cinder/volume/drivers/netapp/nfs.py:587
 msgid "Image location not present."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:623
+#: cinder/volume/drivers/netapp/nfs.py:624
 msgid "Container size smaller than required file size."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:631
+#: cinder/volume/drivers/netapp/nfs.py:632
 #, python-format
 msgid "Destination %s already exists."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:639
+#: cinder/volume/drivers/netapp/nfs.py:640
 #, python-format
 msgid "Exception moving file %(src)s. Message - %(e)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:741
+#: cinder/volume/drivers/netapp/nfs.py:742
 #, python-format
 msgid "Shares on vserver %s will only be used for provisioning."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:745
-#: cinder/volume/drivers/netapp/nfs.py:947
+#: cinder/volume/drivers/netapp/nfs.py:746
+#: cinder/volume/drivers/netapp/nfs.py:948
 msgid "No vserver set in config. SSC will be disabled."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:794
+#: cinder/volume/drivers/netapp/nfs.py:795
 #, python-format
 msgid "Exception creating vol %(name)s on share %(share)s. Details: %(ex)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:803
+#: cinder/volume/drivers/netapp/nfs.py:804
 #, python-format
 msgid "Volume %s could not be created on shares."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:866
+#: cinder/volume/drivers/netapp/nfs.py:867
 #, python-format
 msgid "No interface found on cluster for ip %s"
 msgstr "No interface found on cluster for ip %s"
 
-#: cinder/volume/drivers/netapp/nfs.py:907
+#: cinder/volume/drivers/netapp/nfs.py:908
 #, python-format
 msgid ""
 "No volume on cluster with vserver\n"
@@ -6732,449 +7134,444 @@ msgid ""
 "                                   "
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:914
+#: cinder/volume/drivers/netapp/nfs.py:915
 #, python-format
 msgid ""
 "Cloning with params volume %(volume)s, src %(src_path)s,\n"
 "                    dest %(dest_path)s, vserver %(vserver)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:979
+#: cinder/volume/drivers/netapp/nfs.py:980
 msgid "No cluster ssc stats found. Wait for next volume stats update."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:996
+#: cinder/volume/drivers/netapp/nfs.py:997
 msgid "No shares found hence skipping ssc refresh."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1126
+#: cinder/volume/drivers/netapp/nfs.py:1127
 #, python-format
 msgid "Copied image %(img)s to volume %(vol)s using copy offload workflow."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1133
+#: cinder/volume/drivers/netapp/nfs.py:1134
 #, python-format
 msgid "Copy offload workflow unsuccessful. %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1157
+#: cinder/volume/drivers/netapp/nfs.py:1158
 #, python-format
 msgid "No vserver owning the ip %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1193
+#: cinder/volume/drivers/netapp/nfs.py:1194
 #, python-format
 msgid "Error in workflow copy from cache. %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1213
+#: cinder/volume/drivers/netapp/nfs.py:1214
 msgid "Source host details not found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1263
+#: cinder/volume/drivers/netapp/nfs.py:1264
 #, python-format
 msgid "Converted to raw, but format is now %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/nfs.py:1349
+#: cinder/volume/drivers/netapp/nfs.py:1350
 #, python-format
 msgid "No storage path found for export path %s"
 msgstr "No storage path found for export path %s"
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:421
+#: cinder/volume/drivers/netapp/ssc_utils.py:422
 #, python-format
 msgid "Running stale ssc refresh job for %(server)s and vserver %(vs)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:455
+#: cinder/volume/drivers/netapp/ssc_utils.py:456
 #, python-format
 msgid "Successfully completed stale refresh job for %(server)s and vserver %(vs)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:482
+#: cinder/volume/drivers/netapp/ssc_utils.py:483
 #, python-format
 msgid "Running cluster latest ssc job for %(server)s and vserver %(vs)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:488
+#: cinder/volume/drivers/netapp/ssc_utils.py:489
 #, python-format
 msgid "Successfully completed ssc job for %(server)s and vserver %(vs)s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:500
+#: cinder/volume/drivers/netapp/ssc_utils.py:501
 msgid "Backend not a VolumeDriver."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:502
+#: cinder/volume/drivers/netapp/ssc_utils.py:503
 msgid "Backend server not NaServer."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:505
+#: cinder/volume/drivers/netapp/ssc_utils.py:506
 msgid "ssc job in progress. Returning... "
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:517
+#: cinder/volume/drivers/netapp/ssc_utils.py:518
 msgid "refresh stale ssc job in progress. Returning... "
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:613
+#: cinder/volume/drivers/netapp/ssc_utils.py:614
 msgid "Fatal error: User not permitted to query NetApp volumes."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/ssc_utils.py:620
+#: cinder/volume/drivers/netapp/ssc_utils.py:621
 #, python-format
 msgid ""
 "The user does not have access or sufficient privileges to use all netapp "
 "apis. The following extra_specs will fail or be ignored: %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/utils.py:127
+#: cinder/volume/drivers/netapp/utils.py:128
 #, python-format
 msgid "Failed to invoke ems. Message : %s"
 msgstr ""
 
-#: cinder/volume/drivers/netapp/utils.py:140
+#: cinder/volume/drivers/netapp/utils.py:141
 msgid ""
 "It is not the recommended way to use drivers by NetApp. Please use "
 "NetAppDriver to achieve the functionality."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/utils.py:163
+#: cinder/volume/drivers/netapp/utils.py:164
 msgid "Requires an NaServer instance."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/utils.py:320
+#: cinder/volume/drivers/netapp/utils.py:322
 msgid "Unsupported Clustered Data ONTAP version."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:45
+#: cinder/volume/drivers/netapp/eseries/client.py:46
 msgid "One of the required inputs from host, port or scheme not found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:49
+#: cinder/volume/drivers/netapp/eseries/client.py:50
 msgid "Invalid transport type."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:73
+#: cinder/volume/drivers/netapp/eseries/client.py:74
 #, python-format
 msgid "Unexpected error while invoking web service. Error - %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:76
+#: cinder/volume/drivers/netapp/eseries/client.py:77
 msgid "Invoking web service failed."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:109
+#: cinder/volume/drivers/netapp/eseries/client.py:110
 msgid "Storage system id not set."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:135
+#: cinder/volume/drivers/netapp/eseries/client.py:136
 msgid "Content type not supported."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:145
+#: cinder/volume/drivers/netapp/eseries/client.py:146
 #, python-format
 msgid "Response error - %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/client.py:147
+#: cinder/volume/drivers/netapp/eseries/client.py:148
 #, python-format
 msgid "Response error code - %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:87
-#, python-format
-msgid "%s is not set."
-msgstr ""
-
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:101
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:102
 #, python-format
 msgid "Error resolving host %(host)s. Error - %(e)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:111
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:112
 msgid "Controller ips not valid after resolution."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:114
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:115
 msgid "Embedded mode detected."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:117
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:118
 msgid "Proxy mode detected."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:128
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:129
 #, python-format
 msgid "System with controller addresses [%s] is not registered with web service."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:146
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:147
 msgid "Waiting for web service array communication."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:150
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:151
 #, python-format
 msgid ""
 "Failure in communication between web service and array. Waited %s "
 "seconds. Verify array configuration parameters."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:160
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:161
 #, python-format
 msgid "System %(id)s found with bad status - %(status)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:162
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:163
 #, python-format
 msgid "System %(id)s has %(status)s status."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:178
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:179
 #, python-format
 msgid "Configured storage pools %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:274
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:275
 #, python-format
 msgid "No pit image found in snapshot group %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:300
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:334
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:301
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:335
 #, python-format
 msgid "Created volume with label %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:303
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:304
 #, python-format
 msgid "Error creating volume. Msg - %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:304
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:305
 #, python-format
 msgid "Failure creating volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:320
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:321
 #, python-format
 msgid "No storage pool found with available capacity %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:343
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:344
 #, python-format
 msgid "Failure deleting snap vol. Error: %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:345
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:346
 msgid "Snapshot volume not found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:361
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:362
 #, python-format
 msgid "Copying src vol %(src)s to dest vol %(dst)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:374
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:375
 #, python-format
 msgid "Vol copy job status %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:375
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:376
 #, python-format
 msgid "Vol copy job for dest %s failed."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:378
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:379
 #, python-format
 msgid "Vol copy job completed for dest %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:386
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:387
 #, python-format
 msgid "Failure deleting job %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:388
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:389
 #, python-format
 msgid "Volume copy job for src vol %s not found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:390
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:391
 #, python-format
 msgid "Copy job to dest vol %s completed."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:402
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:403
 #, python-format
 msgid "Failure deleting temp snapshot %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:411
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:412
 #, python-format
 msgid "Volume %s already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:435
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:436
 #, python-format
 msgid "Created snap grp with label %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:446
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:447
 #, python-format
 msgid "Snapshot %s already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:472
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:473
 #, python-format
 msgid "Mapped volume %(id)s to the initiator %(initiator_name)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:475
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:476
 #, python-format
 msgid ""
 "Successfully fetched target details for volume %(id)s and initiator "
 "%(initiator_name)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:515
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:516
 #, python-format
 msgid "No good iscsi portal information found for %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:540
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:541
 #, python-format
 msgid "Message - %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:555
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:556
 #, python-format
 msgid "Host with port %(port)s and type %(type)s not found."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:560
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:561
 #, python-format
 msgid "Creating host with port %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:573
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:574
 #, python-format
 msgid "Host type %s not supported."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:583
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:584
 msgid "No free luns. Host might exceeded max luns."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:613
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:614
 #, python-format
 msgid "Mapping not found for %(vol)s to host %(ht)s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:667
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:668
 #, python-format
 msgid "Extended volume with label %s."
 msgstr ""
 
-#: cinder/volume/drivers/netapp/eseries/iscsi.py:681
+#: cinder/volume/drivers/netapp/eseries/iscsi.py:682
 msgid "Returning as clean tmp vol job already running."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:105
+#: cinder/volume/drivers/nexenta/iscsi.py:106
 #, python-format
 msgid "Volume %s does not exist in Nexenta SA"
 msgstr "Volume %s does not exist in Nexenta SA"
 
-#: cinder/volume/drivers/nexenta/iscsi.py:151
+#: cinder/volume/drivers/nexenta/iscsi.py:152
 #, python-format
 msgid "Extending volume: %(id)s New size: %(size)s GB"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:167
+#: cinder/volume/drivers/nexenta/iscsi.py:168
 #, python-format
 msgid "Volume %s does not exist, it seems it was already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:180
+#: cinder/volume/drivers/nexenta/iscsi.py:181
 #, python-format
 msgid "Cannot delete snapshot %(origin)s: %(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:201
-#: cinder/volume/drivers/nexenta/nfs.py:201
+#: cinder/volume/drivers/nexenta/iscsi.py:202
+#: cinder/volume/drivers/nexenta/nfs.py:202
 #, python-format
 msgid "Volume creation failed, deleting created snapshot %(volume_name)s@%(name)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:206
-#: cinder/volume/drivers/nexenta/nfs.py:206
+#: cinder/volume/drivers/nexenta/iscsi.py:207
+#: cinder/volume/drivers/nexenta/nfs.py:207
 #, python-format
 msgid "Failed to delete zfs snapshot %(volume_name)s@%(name)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:268
+#: cinder/volume/drivers/nexenta/iscsi.py:269
 #, python-format
 msgid "Remote NexentaStor appliance at %s should be SSH-bound."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:288
+#: cinder/volume/drivers/nexenta/iscsi.py:289
 #, python-format
 msgid ""
 "Cannot send source snapshot %(src)s to destination %(dst)s. Reason: "
 "%(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:296
+#: cinder/volume/drivers/nexenta/iscsi.py:297
 #, python-format
 msgid ""
 "Cannot delete temporary source snapshot %(src)s on NexentaStor Appliance:"
 " %(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:302
+#: cinder/volume/drivers/nexenta/iscsi.py:303
 #, python-format
 msgid "Cannot delete source volume %(volume)s on NexentaStor Appliance: %(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:312
+#: cinder/volume/drivers/nexenta/iscsi.py:313
 #, python-format
 msgid ""
 "Cannot delete temporary destination snapshot %(dst)s on NexentaStor "
 "Appliance: %(exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:355
+#: cinder/volume/drivers/nexenta/iscsi.py:356
 #, python-format
 msgid "Snapshot %s does not exist, it seems it was already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:476
+#: cinder/volume/drivers/nexenta/iscsi.py:477
 #: cinder/volume/drivers/windows/windows_utils.py:273
 #, python-format
 msgid "Ignored target creation error \"%s\" while ensuring export"
 msgstr "Ignored target creation error \"%s\" while ensuring export"
 
-#: cinder/volume/drivers/nexenta/iscsi.py:486
+#: cinder/volume/drivers/nexenta/iscsi.py:487
 #, python-format
 msgid "Ignored target group creation error \"%s\" while ensuring export"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:498
+#: cinder/volume/drivers/nexenta/iscsi.py:499
 #, python-format
 msgid "Ignored target group member addition error \"%s\" while ensuring export"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:508
+#: cinder/volume/drivers/nexenta/iscsi.py:509
 #, python-format
 msgid "Ignored LU creation error \"%s\" while ensuring export"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:518
+#: cinder/volume/drivers/nexenta/iscsi.py:519
 #, python-format
 msgid "Ignored LUN mapping entry addition error \"%s\" while ensuring export"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/iscsi.py:551
+#: cinder/volume/drivers/nexenta/iscsi.py:552
 #, python-format
 msgid ""
 "Got error trying to destroy target group %(target_group)s, assuming it is"
@@ -7183,7 +7580,7 @@ msgstr ""
 "Got error trying to destroy target group %(target_group)s, assuming it is"
 " already gone: %(exc)s"
 
-#: cinder/volume/drivers/nexenta/iscsi.py:559
+#: cinder/volume/drivers/nexenta/iscsi.py:560
 #, python-format
 msgid ""
 "Got error trying to delete target %(target)s, assuming it is already "
@@ -7192,189 +7589,185 @@ msgstr ""
 "Got error trying to delete target %(target)s, assuming it is already "
 "gone: %(exc)s"
 
-#: cinder/volume/drivers/nexenta/jsonrpc.py:88
+#: cinder/volume/drivers/nexenta/jsonrpc.py:89
 msgid "No headers in server response"
 msgstr "No headers in server response"
 
-#: cinder/volume/drivers/nexenta/jsonrpc.py:89
+#: cinder/volume/drivers/nexenta/jsonrpc.py:90
 msgid "Bad response from server"
 msgstr "Bad response from server"
 
-#: cinder/volume/drivers/nexenta/jsonrpc.py:90
+#: cinder/volume/drivers/nexenta/jsonrpc.py:91
 #, python-format
 msgid "Auto switching to HTTPS connection to %s"
 msgstr "Auto switching to HTTPS connection to %s"
 
-#: cinder/volume/drivers/nexenta/nfs.py:86
+#: cinder/volume/drivers/nexenta/nfs.py:87
 #, python-format
 msgid "Volume %s does not exist in Nexenta Store appliance"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:90
+#: cinder/volume/drivers/nexenta/nfs.py:91
 #, python-format
 msgid "Folder %s does not exist in Nexenta Store appliance"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:147
+#: cinder/volume/drivers/nexenta/nfs.py:148
 #, python-format
 msgid "Cannot destroy created folder: %(vol)s/%(folder)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:177
+#: cinder/volume/drivers/nexenta/nfs.py:178
 #, python-format
 msgid "Cannot destroy cloned folder: %(vol)s/%(folder)s"
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:228
+#: cinder/volume/drivers/nexenta/nfs.py:229
 #, python-format
 msgid "Folder %s does not exist, it was already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:238
-#: cinder/volume/drivers/nexenta/nfs.py:269
+#: cinder/volume/drivers/nexenta/nfs.py:239
+#: cinder/volume/drivers/nexenta/nfs.py:270
 #, python-format
 msgid "Snapshot %s does not exist, it was already deleted."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:299
+#: cinder/volume/drivers/nexenta/nfs.py:300
 #, python-format
 msgid "Creating regular file: %s.This may take some time."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/nfs.py:310
+#: cinder/volume/drivers/nexenta/nfs.py:311
 #, python-format
 msgid "Regular file: %s created."
 msgstr ""
 
-#: cinder/volume/drivers/nexenta/utils.py:47
+#: cinder/volume/drivers/nexenta/utils.py:48
 #, python-format
 msgid "Invalid value: \"%s\""
 msgstr ""
 
-#: cinder/volume/drivers/san/san.py:168
+#: cinder/volume/drivers/san/san.py:171
 msgid "Specify san_password or san_private_key"
 msgstr "Specify san_password or san_private_key"
 
-#: cinder/volume/drivers/san/san.py:172
+#: cinder/volume/drivers/san/san.py:175
 msgid "san_ip must be set"
 msgstr "san_ip must be set"
 
-#: cinder/volume/drivers/san/solaris.py:78
+#: cinder/volume/drivers/san/solaris.py:79
 #, python-format
 msgid "Cannot parse list-view output: %s"
 msgstr "Cannot parse list-view output: %s"
 
-#: cinder/volume/drivers/san/solaris.py:173
+#: cinder/volume/drivers/san/solaris.py:174
 #, python-format
 msgid "LUID not found for %(zfs_poolname)s. Output=%(out)s"
 msgstr "LUID not found for %(zfs_poolname)s. Output=%(out)s"
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:187
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:204
 #, python-format
 msgid ""
 "Invalid hp3parclient version found (%(found)s). Version %(minimum)s or "
 "greater required."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:209
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:226
 #, python-format
 msgid "Failed to Login to 3PAR (%(url)s) because %(err)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:220
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:237
 msgid "You must install hp3parclient before using 3PAR drivers."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:226
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:243
 #, python-format
 msgid "HP3PARCommon %(common_ver)s, hp3parclient %(rest_ver)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:244
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:583
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:261
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:604
 #, python-format
 msgid "CPG (%s) doesn't exist on array"
 msgstr "CPG (%s) doesn't exist on array"
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:252
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:269
 #, python-format
 msgid "Failed to get domain because CPG (%s) doesn't exist on array."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:278
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:361
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:299
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:382
 #, python-format
 msgid "Virtual volume '%s' doesn't exist on array."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:314
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:335
 #, python-format
 msgid "Volume type ID '%s' is invalid."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:329
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:350
 #, python-format
 msgid "Virtual volume '%(ref)s' renamed to '%(new)s'."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:331
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:352
 #, python-format
 msgid "Virtual volume %(disp)s '%(new)s' is now being managed."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:345
-msgid "Reference must contain name element."
-msgstr ""
-
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:352
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:373
 msgid "Reference must be for an unmanaged virtual volume."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:376
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:397
 #, python-format
 msgid ""
 "Virtual volume %(disp)s '%(vol)s' is no longer managed. Volume renamed to"
 " '%(new)s'."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:405
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:426
 #, python-format
 msgid "Error extending volume: %(vol)s. Exception: %(ex)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:610
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:631
 #, python-format
 msgid "3PAR vlun %(name)s not found on host %(host)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:633
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:654
 #, python-format
 msgid "3PAR vlun for volume %(name)s not found on host %(host)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:672
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:693
 #, python-format
 msgid ""
 "3PAR vlun for volume '%(name)s' was deleted, but the host '%(host)s' was "
 "not deleted because: %(reason)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:772
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:793
 #, python-format
 msgid "Error creating QOS rule %s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:781
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:802
 #, python-format
 msgid "VV Set %s does not exist."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:823
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:844
 #, python-format
-msgid "Must specify a valid persona %(valid)s, value '%(persona)s' is invalid."
-msgstr "Must specify a valid persona %(valid)s, value '%(persona)s' is invalid."
+msgid "Must specify a valid persona %(valid)s,value '%(persona)s' is invalid."
+msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:874
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:923
 #, python-format
 msgid ""
 "Must specify a valid provisioning type %(valid)s, value '%(prov)s' is "
@@ -7383,103 +7776,243 @@ msgstr ""
 "Must specify a valid provisioning type %(valid)s, value '%(prov)s' is "
 "invalid."
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:942
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1009
 #, python-format
 msgid "Volume (%s) already exists on array"
 msgstr "Volume (%s) already exists on array"
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1055
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1120
+msgid ""
+"The volume is currently busy on the 3PAR and cannot be deleted at this "
+"time. You can try again later."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1132
 #, python-format
 msgid "Delete volume id not found. Removing from cinder: %(id)s Ex: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1126
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1196
 #, python-format
 msgid "Error extending volume %(id)s. Ex: %(ex)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1210
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1280
 #, python-format
 msgid "Failure in update_volume_key_value_pair:%s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1224
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1294
 #, python-format
 msgid "Failure in clear_volume_key_value_pair:%s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1236
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1306
 #, python-format
 msgid "Error attaching volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1244
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1314
 #, python-format
 msgid "Error detaching volume %s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1344
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1414
 #, python-format
 msgid ""
 "Copy volume task failed: convert_to_base_volume: id=%(id)s, "
 "status=%(status)s."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1365
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1435
 #, python-format
 msgid "Completed: convert_to_base_volume: id=%s."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1368
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1438
 #, python-format
 msgid "Volume (%s) already exists on array."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_common.py:1397
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1467
 #, python-format
 msgid "Delete Snapshot id not found. Removing from cinder: %(id)s Ex: %(msg)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_fc.py:240
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1547
+#, python-format
+msgid "Modifying %(volume_name)s userCPG from %(old_cpg)s to %(new_cpg)s"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1559
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1595
+#, python-format
+msgid ""
+"Tune volume task stopped before it was done: volume_name=%(volume_name)s,"
+" task-status=%(status)s."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1567
+#, python-format
+msgid "Converting %(volume_name)s to full provisioning with userCPG=%(new_cpg)s"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1572
+#, python-format
+msgid "Converting %(volume_name)s to thin provisioning with userCPG=%(new_cpg)s"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1588
+#, python-format
+msgid "tunevv failed because the volume '%s' has snapshots."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1617
+#, python-format
+msgid "Cannot retype from HP3PARDriver to %s."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1622
+msgid "Cannot retype from one 3PAR array to another."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1626
+#, python-format
+msgid ""
+"Invalid current snapCPG name for retype.  The volume may be in a "
+"transitioning state.  snapCpg='%s'."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1634
+#, python-format
+msgid "Invalid new snapCPG name for retype.  new_snap_cpg='%s'."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1640
+msgid "Cannot retype to a CPG in a different domain."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1644
+msgid "Cannot retype to a snap CPG in a different domain."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1815
+#, python-format
+msgid ""
+"Modifying %(volume_name)s snap_cpg from %(old_snap_cpg)s to "
+"%(new_snap_cpg)s."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1826
+#, python-format
+msgid "Modifying %s comments."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1835
+#, python-format
+msgid ""
+"Retype revert %(volume_name)s snap_cpg from %(new_snap_cpg)s back to "
+"%(old_snap_cpg)s."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1845
+#, python-format
+msgid "Exception during snapCPG revert: %s"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1914
+#, python-format
+msgid "Unexpected error when retype() tried to deleteVolumeSet(%s)"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1936
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1940
+#, python-format
+msgid "Unexpected error when retype() revert tried to deleteVolumeSet(%s)"
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1949
+#, python-format
+msgid ""
+"%(exception)s: Exception during revert of retype for volume "
+"%(volume_name)s. Original volume set/QOS settings may not have been fully"
+" restored."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_common.py:1961
+#, python-format
+msgid ""
+"%(exception)s: Exception during revert of retype for volume "
+"%(volume_name)s. Failed to remove from new volume set %(new_vvs)s."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_fc.py:245
 msgid "Need to remove FC Zone, building initiator target map"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:131
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:139
 #, python-format
 msgid "Invalid IP address format '%s'"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:165
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:173
 #, python-format
 msgid ""
 "Found invalid iSCSI IP address(s) in configuration option(s) "
 "hp3par_iscsi_ips or iscsi_ip_address '%s.'"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:171
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:179
 msgid "At least one valid iSCSI IP address must be set."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:273
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:280
 msgid "Least busy iSCSI port not found, using first iSCSI port in list."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:93
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:417
+msgid ""
+"Host exists without CHAP credentials set and has iSCSI attachments but "
+"CHAP is enabled.  Updating host with new CHAP credentials."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:444
+msgid "Host has no CHAP key, but CHAP is enabled."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:448
+msgid "No host or VLUNs exist. Generating new CHAP key."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:476
+msgid "Non-iSCSI VLUN detected."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:480
+msgid "No VLUN contained CHAP credentials. Generating new CHAP key."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_3par_iscsi.py:514
+#, python-format
+msgid "Volume %s doesn't exist on array."
+msgstr ""
+
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:94
 #, python-format
 msgid "CLIQ %(proxy_ver)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:114
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:115
 #, python-format
 msgid "Malformed response to CLIQ command %(verb)s %(cliq_args)s. Result=%(out)s"
 msgstr "Malformed response to CLIQ command %(verb)s %(cliq_args)s. Result=%(out)s"
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:122
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:123
 #, python-format
 msgid "Error running CLIQ command %(verb)s %(cliq_args)s.  Result=%(out)s"
 msgstr "Error running CLIQ command %(verb)s %(cliq_args)s.  Result=%(out)s"
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:152
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:153
 #, python-format
 msgid ""
 "Unexpected number of virtual ips for cluster  %(cluster_name)s. "
@@ -7488,616 +8021,669 @@ msgstr ""
 "Unexpected number of virtual ips for cluster  %(cluster_name)s. "
 "Result=%(_xml)s"
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:319
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:184
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:320
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:187
 msgid "Volume did not exist. It will not be deleted"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:331
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:217
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:332
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:220
 msgid "Snapshot did not exist. It will not be deleted"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:343
+#: cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py:344
 msgid "local_path not supported"
 msgstr "local_path not supported"
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_iscsi.py:79
+#: cinder/volume/drivers/san/hp/hp_lefthand_iscsi.py:80
 #, python-format
 msgid "HPLeftHand driver %(driver_ver)s, proxy %(proxy_ver)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:34
-msgid "Module hplefthandclient not installed."
-msgstr ""
-
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:102
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:105
 msgid "HPLeftHand url not found"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:128
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:131
 msgid "LeftHand cluster not found"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:136
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:139
 #, python-format
 msgid "REST %(proxy_ver)s hplefthandclient %(rest_ver)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:342
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:359
 #, python-format
 msgid "'%(value)s' is an invalid value for extra spec '%(key)s'"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:362
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:379
 #, python-format
 msgid "CHAP secret exists for host %s but CHAP is disabled"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:365
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:382
 #, python-format
 msgid "CHAP is enabled, but server secret not configured on server %s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:483
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:500
 #, python-format
 msgid ""
 "Cannot provide backend assisted migration for volume: %s because volume "
 "is from a different backend."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:488
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:494
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:505
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:511
 #, python-format
 msgid ""
 "Cannot provide backend assisted migration for volume: %s because cluster "
 "exists in different management group."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:505
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:522
 #, python-format
 msgid ""
 "Cannot provide backend assisted migration for volume: %s because the "
 "volume has been exported."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:516
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:533
 #, python-format
 msgid ""
 "Cannot provide backend assisted migration for volume: %s because the "
 "volume has snapshots."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:524
+#: cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py:541
 #, python-format
 msgid ""
 "Cannot provide backend assisted migration for volume: %s because volume "
 "does not exist in this management group."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:66
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:67
 #, python-format
 msgid "Failed to connect to MSA Array (%(host)s): %(err)s"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:71
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:72
 msgid "Failed to log on MSA Array (invalid login?)"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:125
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:126
 #, python-format
 msgid "%s configuration option is not set"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:166
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:167
 msgid "Volume must be detached to perform a clone operation."
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:243
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:244
 #, python-format
 msgid "Unable to get stats for VDisk (%s)"
 msgstr ""
 
-#: cinder/volume/drivers/san/hp/hp_msa_common.py:252
+#: cinder/volume/drivers/san/hp/hp_msa_common.py:253
 msgid "Connector doesn't provide wwpns"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:71
+#: cinder/volume/drivers/vmware/api.py:72
 #, python-format
 msgid "Failure while invoking function: %(func)s. Error: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:169
+#: cinder/volume/drivers/vmware/api.py:170
 #, python-format
 msgid "Error while terminating session: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:182
+#: cinder/volume/drivers/vmware/api.py:183
 msgid "Successfully established connection to the server."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:189
+#: cinder/volume/drivers/vmware/api.py:190
 #, python-format
 msgid "Error while logging out from vim session: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:195
+#: cinder/volume/drivers/vmware/api.py:196
 #, python-format
 msgid "Error while logging out from pbm session: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:244
+#: cinder/volume/drivers/vmware/api.py:245
 #, python-format
 msgid ""
 "Current session: %(session)s is inactive; re-creating the session while "
 "invoking method %(module)s.%(method)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:270
+#: cinder/volume/drivers/vmware/api.py:271
 #, python-format
 msgid "Error occurred while checking whether the current session: %s is active."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:312
-#: cinder/volume/drivers/vmware/api.py:316
+#: cinder/volume/drivers/vmware/api.py:313
+#: cinder/volume/drivers/vmware/api.py:317
 #, python-format
 msgid "Task: %(task)s failed with error: %(err)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/api.py:344
+#: cinder/volume/drivers/vmware/api.py:345
 #, python-format
 msgid "Error: unknown lease state %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/error_util.py:63
+#: cinder/volume/drivers/vmware/error_util.py:64
 msgid "VMware VMDK driver exception."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/error_util.py:69
+#: cinder/volume/drivers/vmware/error_util.py:70
 msgid "VMware VMDK driver configuration error."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/error_util.py:74
+#: cinder/volume/drivers/vmware/error_util.py:75
 #, python-format
 msgid "Invalid disk adapter type: %(invalid_type)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/io_util.py:126
+#: cinder/volume/drivers/vmware/error_util.py:80
+#, python-format
+msgid "Invalid disk type: %(disk_type)s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/io_util.py:127
 #, python-format
 msgid "Glance image: %s is in killed state."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/io_util.py:135
+#: cinder/volume/drivers/vmware/io_util.py:136
 #, python-format
 msgid "Glance image %(id)s is in unknown state - %(state)s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/read_write_util.py:204
-#: cinder/volume/drivers/vmware/read_write_util.py:293
+#: cinder/volume/drivers/vmware/read_write_util.py:205
+#: cinder/volume/drivers/vmware/read_write_util.py:294
 msgid "Could not retrieve URL from lease."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/read_write_util.py:207
+#: cinder/volume/drivers/vmware/read_write_util.py:208
 #, python-format
 msgid "Opening vmdk url: %s for write."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/read_write_util.py:296
+#: cinder/volume/drivers/vmware/read_write_util.py:297
 #, python-format
 msgid "Opening vmdk url: %s for read."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:143
+#: cinder/volume/drivers/vmware/vim.py:144
 #, python-format
 msgid "Error(s): %s occurred in the call to RetrievePropertiesEx."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:182
+#: cinder/volume/drivers/vmware/vim.py:183
 #, python-format
 msgid "No such SOAP method %(attr)s. Detailed error: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:191
+#: cinder/volume/drivers/vmware/vim.py:192
 #, python-format
 msgid "httplib error in %(attr)s: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:199
+#: cinder/volume/drivers/vmware/vim.py:200
 #, python-format
 msgid "urllib2 error in %(attr)s: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:208
+#: cinder/volume/drivers/vmware/vim.py:209
 #, python-format
 msgid "Socket error in %(attr)s: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:217
+#: cinder/volume/drivers/vmware/vim.py:218
 #, python-format
 msgid "Type error in %(attr)s: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vim.py:224
+#: cinder/volume/drivers/vmware/vim.py:225
 #, python-format
 msgid "Error in %(attr)s. Detailed error: %(excep)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:149
+#: cinder/volume/drivers/vmware/vmdk.py:174
+#, python-format
+msgid "Invalid disk type: %s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:187
 msgid ""
 "The VMware ESX VMDK driver is now deprecated and will be removed in the "
 "Juno release. The VMware vCenter VMDK driver will remain and continue to "
 "be supported."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:201
+#: cinder/volume/drivers/vmware/vmdk.py:239
 #, python-format
 msgid "%s not set."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:209
-#: cinder/volume/drivers/vmware/vmdk.py:1235
+#: cinder/volume/drivers/vmware/vmdk.py:247
+#: cinder/volume/drivers/vmware/vmdk.py:1479
 #, python-format
 msgid "Successfully setup driver: %(driver)s for server: %(ip)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:251
+#: cinder/volume/drivers/vmware/vmdk.py:289
 #, python-format
 msgid "Not able to find a suitable datastore for the volume: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:274
+#: cinder/volume/drivers/vmware/vmdk.py:312
 msgid "Backing not available, no operation to be performed."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:342
+#: cinder/volume/drivers/vmware/vmdk.py:380
 #, python-format
 msgid ""
 "Unable to pick datastore to accommodate %(size)s bytes from the "
 "datastores: %(dss)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:378
+#: cinder/volume/drivers/vmware/vmdk.py:416
 #, python-format
 msgid "No such storage profile '%s; is defined in vCenter."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:405
+#: cinder/volume/drivers/vmware/vmdk.py:443
 #, python-format
 msgid "Aborting since none of the datastores match the given storage profile %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:410
+#: cinder/volume/drivers/vmware/vmdk.py:448
 #, python-format
 msgid ""
 "Ignoring storage profile %s requirement for this volume since policy "
 "based placement is disabled."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:512
+#: cinder/volume/drivers/vmware/vmdk.py:555
 #, python-format
 msgid ""
 "Unable to find suitable datastore for volume of size: %(vol)s GB under "
 "host: %(host)s. More details: %(excep)s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:522
+#: cinder/volume/drivers/vmware/vmdk.py:565
 #, python-format
 msgid "Unable to find host to accommodate a disk of size: %s in the inventory."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:553
+#: cinder/volume/drivers/vmware/vmdk.py:596
 #, python-format
 msgid ""
 "Unable to find suitable datastore for volume: %(vol)s under host: "
 "%(host)s. More details: %(excep)s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:563
+#: cinder/volume/drivers/vmware/vmdk.py:606
 #, python-format
 msgid "Unable to create volume: %s in the inventory."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:589
+#: cinder/volume/drivers/vmware/vmdk.py:632
 #, python-format
 msgid "There is no backing for the volume: %s. Need to create one."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:602
+#: cinder/volume/drivers/vmware/vmdk.py:645
 #, python-format
 msgid "Trying to boot from an empty volume: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:611
+#: cinder/volume/drivers/vmware/vmdk.py:654
 #, python-format
 msgid ""
 "Returning connection_info: %(info)s for volume: %(volume)s with "
 "connector: %(connector)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:659
+#: cinder/volume/drivers/vmware/vmdk.py:702
 #, python-format
 msgid "Snapshot of volume not supported in state: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:664
+#: cinder/volume/drivers/vmware/vmdk.py:707
 #, python-format
 msgid "There is no backing, so will not create snapshot: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:669
+#: cinder/volume/drivers/vmware/vmdk.py:712
 #, python-format
 msgid "Successfully created snapshot: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:690
+#: cinder/volume/drivers/vmware/vmdk.py:733
 #, python-format
 msgid "Delete snapshot of volume not supported in state: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:695
+#: cinder/volume/drivers/vmware/vmdk.py:738
 #, python-format
 msgid "There is no backing, and so there is no snapshot: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:699
+#: cinder/volume/drivers/vmware/vmdk.py:742
 #, python-format
 msgid "Successfully deleted snapshot: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:740
+#: cinder/volume/drivers/vmware/vmdk.py:783
 #, python-format
 msgid "Successfully cloned new backing: %(back)s from source VMDK file: %(vmdk)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:757
+#: cinder/volume/drivers/vmware/vmdk.py:800
 #, python-format
 msgid ""
 "There is no backing for the source volume: %(svol)s. Not creating any "
 "backing for the volume: %(vol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:788
+#: cinder/volume/drivers/vmware/vmdk.py:831
 #, python-format
 msgid ""
 "There is no backing for the source snapshot: %(snap)s. Not creating any "
 "backing for the volume: %(vol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:797
-#: cinder/volume/drivers/vmware/vmdk.py:1351
+#: cinder/volume/drivers/vmware/vmdk.py:840
+#: cinder/volume/drivers/vmware/vmdk.py:1595
 #, python-format
 msgid ""
 "There is no snapshot point for the snapshotted volume: %(snap)s. Not "
 "creating any backing for the volume: %(vol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:834
+#: cinder/volume/drivers/vmware/vmdk.py:875
 #, python-format
 msgid "Cannot create image of disk format: %s. Only vmdk disk format is accepted."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:878
-#: cinder/volume/drivers/vmware/vmdk.py:953
+#: cinder/volume/drivers/vmware/vmdk.py:914
 #, python-format
-msgid "Done copying image: %(id)s to volume: %(vol)s."
+msgid "Error occurred while deleting temporary disk: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:881
+#: cinder/volume/drivers/vmware/vmdk.py:928
 #, python-format
-msgid ""
-"Exception in copy_image_to_volume: %(excep)s. Deleting the backing: "
-"%(back)s."
+msgid "Error occurred while copying %(src)s to %(dst)s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:990
+#, python-format
+msgid "Error occurred while copying image: %(image_id)s to %(path)s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:1000
+#, python-format
+msgid "Error occurred while deleting descriptor: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:901
+#: cinder/volume/drivers/vmware/vmdk.py:1029
+#, python-format
+msgid "Error occurred while deleting backing: %s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:1114
+#, python-format
+msgid "Error occured while creating volume: %(id)s from image: %(image_id)s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:1137
 #, python-format
 msgid "Exception in _select_ds_for_volume: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:945
+#: cinder/volume/drivers/vmware/vmdk.py:1181
 #, python-format
 msgid "Exception in copy_image_to_volume: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:949
+#: cinder/volume/drivers/vmware/vmdk.py:1185
 #, python-format
 msgid "Deleting the backing: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:964
+#: cinder/volume/drivers/vmware/vmdk.py:1189
+#, python-format
+msgid "Done copying image: %(id)s to volume: %(vol)s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/vmdk.py:1200
 #, python-format
 msgid ""
 "The backing is not found, so there is no need to extend the vmdk virtual "
 "disk for the volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:986
+#: cinder/volume/drivers/vmware/vmdk.py:1222
 #, python-format
 msgid "Unable to extend the size of the vmdk virtual disk at the path %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1033
+#: cinder/volume/drivers/vmware/vmdk.py:1272
 #, python-format
 msgid "Exception in copying the image to the volume: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1062
+#: cinder/volume/drivers/vmware/vmdk.py:1306
 msgid "Upload to glance of attached volume is not supported."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1073
+#: cinder/volume/drivers/vmware/vmdk.py:1317
 #, python-format
 msgid "Backing not found, creating for volume: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1092
+#: cinder/volume/drivers/vmware/vmdk.py:1336
 #, python-format
 msgid "Done copying volume %(vol)s to a new image %(img)s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1109
-#: cinder/volume/drivers/vmware/vmdk.py:1138
+#: cinder/volume/drivers/vmware/vmdk.py:1353
+#: cinder/volume/drivers/vmware/vmdk.py:1382
 #, python-format
 msgid "Done extending volume %(vol)s to size %(size)s GB."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1113
+#: cinder/volume/drivers/vmware/vmdk.py:1357
 #, python-format
 msgid ""
 "Relocating volume %s vmdk to a different datastore since trying to extend"
 " vmdk file in place failed."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1121
+#: cinder/volume/drivers/vmware/vmdk.py:1365
 #, python-format
 msgid "Not able to find a different datastore to place the extended volume %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1124
+#: cinder/volume/drivers/vmware/vmdk.py:1368
 #, python-format
 msgid "Selected datastore %(ds)s to place extended volume of size %(size)s GB."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1136
+#: cinder/volume/drivers/vmware/vmdk.py:1380
 #, python-format
 msgid "Not able to relocate volume %s for extending."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1185
+#: cinder/volume/drivers/vmware/vmdk.py:1429
 #, python-format
 msgid "PBM WSDL file %s is missing!"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1188
+#: cinder/volume/drivers/vmware/vmdk.py:1432
 #, python-format
 msgid "Using PBM WSDL location: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1199
+#: cinder/volume/drivers/vmware/vmdk.py:1443
 #, python-format
 msgid "Using overridden vmware_host_version from config: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1203
+#: cinder/volume/drivers/vmware/vmdk.py:1447
 #, python-format
 msgid "Fetched VC server version: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1210
+#: cinder/volume/drivers/vmware/vmdk.py:1454
 #, python-format
 msgid "Version string '%s' is not parseable"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1224
+#: cinder/volume/drivers/vmware/vmdk.py:1468
 #, python-format
 msgid "Not able to configure PBM for VC server: %s"
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1283
+#: cinder/volume/drivers/vmware/vmdk.py:1527
 #, python-format
 msgid "Relocating volume: %(backing)s to %(ds)s and %(rp)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1329
-#: cinder/volume/drivers/vmware/volumeops.py:792
+#: cinder/volume/drivers/vmware/vmdk.py:1573
+#: cinder/volume/drivers/vmware/volumeops.py:1035
 #, python-format
 msgid "Successfully created clone: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1343
+#: cinder/volume/drivers/vmware/vmdk.py:1587
 #, python-format
 msgid ""
 "There is no backing for the snapshotted volume: %(snap)s. Not creating "
 "any backing for the volume: %(vol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1380
+#: cinder/volume/drivers/vmware/vmdk.py:1624
 #, python-format
 msgid ""
 "There is no backing for the source volume: %(src)s. Not creating any "
 "backing for volume: %(vol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmdk.py:1388
+#: cinder/volume/drivers/vmware/vmdk.py:1632
 #, python-format
 msgid "Linked clone of source volume not supported in state: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmware_images.py:107
-#: cinder/volume/drivers/vmware/vmware_images.py:126
+#: cinder/volume/drivers/vmware/vmware_images.py:108
+#: cinder/volume/drivers/vmware/vmware_images.py:127
 #, python-format
 msgid "Downloaded image: %s from glance image server."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/vmware_images.py:158
+#: cinder/volume/drivers/vmware/vmware_images.py:159
 #, python-format
 msgid "Uploaded image: %s to the Glance image server."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:137
+#: cinder/volume/drivers/vmware/volumeops.py:304
 #, python-format
 msgid "Deleted the VM backing: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:293
+#: cinder/volume/drivers/vmware/volumeops.py:460
 #, python-format
 msgid "There are no valid datastores attached to %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:400
+#: cinder/volume/drivers/vmware/volumeops.py:567
 #, python-format
 msgid "Successfully extended the volume %(name)s to %(size)s GB."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:500
+#: cinder/volume/drivers/vmware/volumeops.py:712
 #, python-format
 msgid "Successfully created volume backing: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:626
+#: cinder/volume/drivers/vmware/volumeops.py:857
 #, python-format
 msgid ""
 "Successfully relocated volume backing: %(backing)s to datastore: %(ds)s "
 "and resource pool: %(rp)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:644
+#: cinder/volume/drivers/vmware/volumeops.py:875
 #, python-format
 msgid "Successfully moved volume backing: %(backing)s into the folder: %(fol)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:667
+#: cinder/volume/drivers/vmware/volumeops.py:898
 #, python-format
 msgid "Successfully created snapshot: %(snap)s for volume backing: %(backing)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:720
+#: cinder/volume/drivers/vmware/volumeops.py:951
 #, python-format
 msgid ""
 "Did not find the snapshot: %(name)s for backing: %(backing)s. Need not "
 "delete anything."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:731
+#: cinder/volume/drivers/vmware/volumeops.py:962
 #, python-format
 msgid "Successfully deleted snapshot: %(name)s of backing: %(backing)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:810
+#: cinder/volume/drivers/vmware/volumeops.py:1083
 #, python-format
 msgid "Successfully deleted file: %s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:875
+#: cinder/volume/drivers/vmware/volumeops.py:1129
+#, python-format
+msgid "Invalid disk backing: %s."
+msgstr ""
+
+#: cinder/volume/drivers/vmware/volumeops.py:1219
 #, python-format
 msgid "Successfully copied disk at: %(src)s to: %(dest)s."
 msgstr ""
 
-#: cinder/volume/drivers/vmware/volumeops.py:893
+#: cinder/volume/drivers/vmware/volumeops.py:1237
 #, python-format
 msgid "Deleted vmdk file: %s."
 msgstr ""
 
+#: cinder/volume/drivers/windows/vhdutils.py:132
+#, python-format
+msgid "Opening virtual disk failed with error: %s"
+msgstr ""
+
+#: cinder/volume/drivers/windows/vhdutils.py:143
+#, python-format
+msgid "Unsupported virtual disk extension: %s"
+msgstr ""
+
+#: cinder/volume/drivers/windows/vhdutils.py:163
+#, python-format
+msgid "Virtual disk resize failed with error: %s"
+msgstr ""
+
+#: cinder/volume/drivers/windows/vhdutils.py:206
+#, python-format
+msgid "Virtual disk conversion failed with error: %s"
+msgstr ""
+
 #: cinder/volume/drivers/windows/windows_utils.py:56
 #, python-format
 msgid ""
@@ -8214,464 +8800,440 @@ msgid ""
 "%(wmi_exc)s"
 msgstr ""
 
-#: cinder/volume/drivers/windows/windows_utils.py:379
-#, python-format
-msgid "Operation failed with return value: %s"
-msgstr ""
-
-#: cinder/volume/drivers/windows/windows_utils.py:391
+#: cinder/volume/drivers/windows/windows_utils.py:384
 #, python-format
 msgid "The file copy from %(src)s to %(dest)s failed."
 msgstr ""
 
-#: cinder/volume/drivers/windows/windows_utils.py:408
-#, python-format
-msgid ""
-"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
-" - %(err_desc)s - Error code: %(err_code)d"
-msgstr ""
-
-#: cinder/volume/drivers/windows/windows_utils.py:420
-#, python-format
-msgid ""
-"WMI job failed with status %(job_state)d. Job path: %(job_path)s Error "
-"details: %(error)s"
-msgstr ""
-
-#: cinder/volume/drivers/windows/windows_utils.py:427
-#, python-format
-msgid "WMI job failed with status %d. No error description available"
-msgstr ""
-
-#: cinder/volume/flows/common.py:59
+#: cinder/volume/flows/common.py:60
 #, python-format
 msgid ""
 "Failed setting source volume %(source_volid)s back to its initial "
 "%(source_status)s status"
 msgstr ""
 
-#: cinder/volume/flows/common.py:91
-#: cinder/volume/flows/manager/create_volume.py:649
+#: cinder/volume/flows/common.py:92
+#: cinder/volume/flows/manager/create_volume.py:650
 #, python-format
 msgid "Failed updating volume %(volume_id)s with %(update)s"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:79
+#: cinder/volume/flows/api/create_volume.py:80
 #, python-format
 msgid "Originating snapshot status must be one of %s values"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:101
+#: cinder/volume/flows/api/create_volume.py:102
 #, python-format
 msgid ""
 "Unable to create a volume from an originating source volume when its "
 "status is not one of %s values"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:124
+#: cinder/volume/flows/api/create_volume.py:125
 #, python-format
 msgid ""
 "Volume size %(size)sGB cannot be smaller than the snapshot size "
 "%(snap_size)sGB. They must be >= original snapshot size."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:133
+#: cinder/volume/flows/api/create_volume.py:134
 #, python-format
 msgid ""
 "Volume size %(size)sGB cannot be smaller than original volume size  "
 "%(source_size)sGB. They must be >= original volume size."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:142
+#: cinder/volume/flows/api/create_volume.py:143
 #, python-format
 msgid "Volume size %(size)s must be an integer and greater than 0"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:182
+#: cinder/volume/flows/api/create_volume.py:183
 #, python-format
 msgid "Image %(image_id)s is not active."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:190
+#: cinder/volume/flows/api/create_volume.py:191
 #, python-format
 msgid ""
 "Size of specified image %(image_size)sGB is larger than volume size "
 "%(volume_size)sGB."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:198
+#: cinder/volume/flows/api/create_volume.py:199
 #, python-format
 msgid ""
 "Volume size %(volume_size)sGB cannot be smaller than the image minDisk "
 "size %(min_disk)sGB."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:216
+#: cinder/volume/flows/api/create_volume.py:217
 #, python-format
 msgid "Metadata property key %s greater than 255 characters"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:221
+#: cinder/volume/flows/api/create_volume.py:222
 #, python-format
 msgid "Metadata property key %s value greater than 255 characters"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:258
+#: cinder/volume/flows/api/create_volume.py:259
 #, python-format
 msgid "Availability zone '%s' is invalid"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:271
+#: cinder/volume/flows/api/create_volume.py:272
 msgid "Volume must be in the same availability zone as the snapshot"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:280
+#: cinder/volume/flows/api/create_volume.py:281
 msgid "Volume must be in the same availability zone as the source volume"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:319
+#: cinder/volume/flows/api/create_volume.py:320
 msgid "Volume type will be changed to be the same as the source volume."
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:468
+#: cinder/volume/flows/api/create_volume.py:469
 #, python-format
 msgid "Failed destroying volume entry %s"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:552
+#: cinder/volume/flows/api/create_volume.py:553
 #, python-format
 msgid "Failed rolling back quota for %s reservations"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:598
+#: cinder/volume/flows/api/create_volume.py:599
 #, python-format
 msgid "Failed to update quota for deleting volume: %s"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:686
-#: cinder/volume/flows/manager/create_volume.py:193
+#: cinder/volume/flows/api/create_volume.py:687
+#: cinder/volume/flows/manager/create_volume.py:194
 #, python-format
 msgid "Volume %s: create failed"
 msgstr ""
 
-#: cinder/volume/flows/api/create_volume.py:690
+#: cinder/volume/flows/api/create_volume.py:691
 msgid "Unexpected build error:"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:142
+#: cinder/volume/flows/manager/create_volume.py:143
 #, python-format
 msgid "Volume %s: resetting 'creating' status failed."
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:161
+#: cinder/volume/flows/manager/create_volume.py:162
 #, python-format
 msgid "Volume %s: rescheduling failed"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:308
+#: cinder/volume/flows/manager/create_volume.py:309
 #, python-format
 msgid ""
 "Failed notifying about the volume action %(event)s for volume "
 "%(volume_id)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:336
+#: cinder/volume/flows/manager/create_volume.py:337
 #, python-format
 msgid "Copying metadata from %(src_type)s %(src_id)s to %(vol_id)s."
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:338
+#: cinder/volume/flows/manager/create_volume.py:339
 #, python-format
 msgid ""
 "Failed updating volume %(vol_id)s metadata using the provided "
 "%(src_type)s %(src_id)s metadata"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:396
+#: cinder/volume/flows/manager/create_volume.py:397
 #, python-format
 msgid ""
 "Failed fetching snapshot %(snapshot_id)s bootable flag using the provided"
 " glance snapshot %(snapshot_ref_id)s volume reference"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:412
+#: cinder/volume/flows/manager/create_volume.py:413
 #, python-format
 msgid "Failed updating volume %(volume_id)s bootable flag to true"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:446
-#: cinder/volume/flows/manager/create_volume.py:457
+#: cinder/volume/flows/manager/create_volume.py:447
+#: cinder/volume/flows/manager/create_volume.py:458
 #, python-format
 msgid ""
 "Failed to copy image %(image_id)s to volume: %(volume_id)s, error: "
 "%(error)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:452
+#: cinder/volume/flows/manager/create_volume.py:453
 #, python-format
 msgid "Failed to copy image to volume: %(volume_id)s, error: %(error)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:543
+#: cinder/volume/flows/manager/create_volume.py:544
 #, python-format
 msgid "Failed updating volume %(volume_id)s with %(updates)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:567
+#: cinder/volume/flows/manager/create_volume.py:568
 #, python-format
 msgid "Unable to create volume. Volume driver %s not initialized"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:575
+#: cinder/volume/flows/manager/create_volume.py:576
 #, python-format
 msgid ""
 "Volume %(volume_id)s: being created as %(create_type)s with "
 "specification: %(volume_spec)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:606
-#: cinder/volume/flows/manager/manage_existing.py:84
+#: cinder/volume/flows/manager/create_volume.py:607
+#: cinder/volume/flows/manager/manage_existing.py:85
 #, python-format
 msgid ""
 "Failed updating model of volume %(volume_id)s with creation provided "
 "model %(model)s"
 msgstr ""
 
-#: cinder/volume/flows/manager/create_volume.py:653
+#: cinder/volume/flows/manager/create_volume.py:654
 #, python-format
 msgid "Volume %(volume_name)s (%(volume_id)s): created successfully"
 msgstr ""
 
-#: cinder/volume/flows/manager/manage_existing.py:45
+#: cinder/volume/flows/manager/manage_existing.py:46
 #, python-format
 msgid "Unable to manage existing volume. Volume driver %s not initialized."
 msgstr ""
 
-#: cinder/volume/flows/manager/manage_existing.py:48
+#: cinder/volume/flows/manager/manage_existing.py:49
 #, python-format
 msgid "Volume driver %s not initialized."
 msgstr ""
 
-#: cinder/zonemanager/fc_san_lookup_service.py:82
+#: cinder/zonemanager/fc_san_lookup_service.py:83
 msgid ""
 "Lookup service not configured. Config option for fc_san_lookup_service "
 "need to specify a concrete implementation of lookup service"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:130
+#: cinder/zonemanager/fc_zone_manager.py:145
 #, python-format
 msgid "Final filtered map for fabric: %s"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:136
+#: cinder/zonemanager/fc_zone_manager.py:151
 msgid "Add Connection: Finished iterating over all target list"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:139
+#: cinder/zonemanager/fc_zone_manager.py:154
 #, python-format
 msgid "Failed adding connection for fabric=%(fabric)s: Error:%(err)s"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:160
+#: cinder/zonemanager/fc_zone_manager.py:175
 #, python-format
 msgid "Delete connection Target List:%s"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:176
+#: cinder/zonemanager/fc_zone_manager.py:191
 #, python-format
 msgid "Final filtered map for delete connection: %s"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:186
+#: cinder/zonemanager/fc_zone_manager.py:201
 #, python-format
 msgid "Failed removing connection for fabric=%(fabric)s: Error:%(err)s"
 msgstr ""
 
-#: cinder/zonemanager/fc_zone_manager.py:227
+#: cinder/zonemanager/fc_zone_manager.py:242
 #, python-format
 msgid "No targets to add or remove connection for I: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:105
+#: cinder/zonemanager/utils.py:39
+#, python-format
+msgid "Using FC Zone Manager %(zm_version)s, Driver %(drv_name)s %(drv_version)s."
+msgstr ""
+
+#: cinder/zonemanager/utils.py:55
+msgid "Driver didn't return connection info, can't add zone."
+msgstr ""
+
+#: cinder/zonemanager/utils.py:80
+msgid "Driver didn't return connection info from terminate_connection call."
+msgstr ""
+
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:106
 msgid "Missing Fibre Channel SAN configuration param - fc_fabric_names"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:139
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:140
 #, python-format
 msgid "Failed collecting name server info from fabric %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:142
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:143
 #, python-format
 msgid "SSH connection failed for %(fabric)s with error: %(err)s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:198
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:199
 msgid "Failed collecting nsshow info for fabric"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:205
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:206
 msgid "Failed collecting nscamshow"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:218
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:219
 #, python-format
 msgid "SSH Command failed with error '%(err)s' '%(command)s'"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:249
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:367
+#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:250
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:370
 #, python-format
 msgid "Malformed nameserver string: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:80
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:82
 #, python-format
 msgid "Failed getting active zone set from fabric %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:106
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:108
 #, python-format
 msgid ""
 "Malformed zone configuration: (switch=%(switch)s "
 "zone_config=%(zone_config)s)."
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:147
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:151
 #, python-format
 msgid "Deleting zone failed %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:179
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:184
 #, python-format
 msgid ""
 "Creating and activating zone set failed: (Zone set=%(cfg_name)s "
 "error=%(err)s)."
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:231
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:239
 #, python-format
 msgid "Deleting zones failed: (command=%(cmd)s error=%(err)s)."
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:249
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:260
 #, python-format
 msgid "Failed collecting nsshow info for fabric %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:257
-#, python-format
-msgid "Failed collecting nscamshow info for fabric %s"
-msgstr ""
-
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:288
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:291
 #, python-format
 msgid "Error while checking transaction status: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:304
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:307
 #, python-format
 msgid "Error while running zoning CLI: (command=%(cmd)s error=%(err)s)."
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:329
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:332
 msgid "No CLI output for firmware version check"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:332
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:345
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:335
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:348
 #, python-format
 msgid "Error while getting data via ssh: (command=%(cmd)s error=%(err)s)."
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:479
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:482
 #, python-format
 msgid "Error executing command via ssh: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:134
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:137
 #, python-format
 msgid "BrcdFCZoneDriver - Add connection for I-T map: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:146
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:145
 #, python-format
 msgid "Zoning policy for Fabric %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:156
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:265
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:405
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:463
-#, python-format
-msgid ""
-"Unsupported firmware on switch %s. Make sure switch is running firmware "
-"v6.4 or higher"
-msgstr ""
-
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:165
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:227
-#, python-format
-msgid "Failed to add zoning configuration %s"
-msgstr ""
-
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:193
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:172
 #, python-format
 msgid "Zone exists in I-T mode. Skipping zone creation %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:211
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:339
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:190
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:295
 #, python-format
 msgid "Zoning Policy: %s, not recognized"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:216
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:195
 #, python-format
 msgid "Zone map to add: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:243
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:207
 #, python-format
-msgid "BrcdFCZoneDriver - Delete connection for I-T map: %s"
+msgid "Failed to add zoning configuration %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:255
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:223
 #, python-format
-msgid "Zoning policy for fabric %s"
+msgid "BrcdFCZoneDriver - Delete connection for I-T map: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:274
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:231
 #, python-format
-msgid "Failed to delete zoning configuration %s"
+msgid "Zoning policy for fabric %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:366
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:324
 msgid "Failed to update or delete zoning configuration"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:414
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:357
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:393
 #, python-format
-msgid "Failed to get SAN context %s"
+msgid ""
+"Unsupported firmware on switch %s. Make sure switch is running firmware "
+"v6.4 or higher"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:426
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:363
 #, python-format
 msgid "Error getting name server info: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:429
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:366
 #, python-format
 msgid "Failed to get name server info:%s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:437
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:374
 #, python-format
 msgid "Filtered targets for SAN is: %s"
 msgstr ""
 
-#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:473
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:400
+#, python-format
+msgid "Failed to retrieve active zoning configuration %s"
+msgstr ""
+
+#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:424
 #, python-format
-msgid "Failed to access active zoning configuration:%s"
+msgid "Failed to create sb connector for %s"
 msgstr ""
 
diff --git a/cinder/locale/es/LC_MESSAGES/cinder-log-error.po b/cinder/locale/es/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..b010665
--- /dev/null
@@ -0,0 +1,25 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/cinder/language/"
+"es/)\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "Error durante %(full_task_name)s: %(e)s"
index afc6a0c0c7a0c8c6a4465101213044fac128fca3..daaedac303caf4327801a6c2257ab509aa95cb98 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
-"PO-Revision-Date: 2014-06-30 20:07+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Spanish (http://www.transifex.com/projects/p/cinder/language/"
 "es/)\n"
@@ -19,17 +19,12 @@ msgstr ""
 "Generated-By: Babel 1.3\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: cinder/openstack/common/periodic_task.py:125
+#: cinder/openstack/common/periodic_task.py:126
 #, python-format
 msgid "Skipping periodic task %(task)s because its interval is negative"
 msgstr "Omitiendo la tarea periódica %(task)s porque el intervalo es negativo"
 
-#: cinder/openstack/common/periodic_task.py:130
+#: cinder/openstack/common/periodic_task.py:131
 #, python-format
 msgid "Skipping periodic task %(task)s because it is disabled"
 msgstr "Omitiendo la tarea periódica %(task)s porque está inhabilitada"
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:387
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr "Eliminando registro duplicado con id: %(id)s de la tabla: %(table)s"
index e01620cc3b34726930ca36977366666ddb82d3da..7d73ddbe84e4f78fa5453b9161a15f00412ae163 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:03+0000\n"
-"PO-Revision-Date: 2014-06-30 20:07+0000\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: French (http://www.transifex.com/projects/p/cinder/language/"
 "fr/)\n"
@@ -19,24 +19,7 @@ msgstr ""
 "Generated-By: Babel 1.3\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: cinder/openstack/common/periodic_task.py:179
+#: cinder/openstack/common/periodic_task.py:202
 #, python-format
 msgid "Error during %(full_task_name)s: %(e)s"
 msgstr "Erreur pendant %(full_task_name)s : %(e)s"
-
-#: cinder/openstack/common/db/api.py:72
-msgid "DB exceeded retry limit."
-msgstr "DB dépassé limite de tentatives"
-
-#: cinder/openstack/common/db/api.py:76
-msgid "DB connection error."
-msgstr "erreurs de connexion DB"
-
-#: cinder/openstack/common/db/sqlalchemy/session.py:460
-msgid "DB exception wrapped."
-msgstr "Exception BD encapsulée."
-
-#: cinder/openstack/common/db/sqlalchemy/test_migrations.py:267
-#, python-format
-msgid "Failed to migrate to version %s on engine %s"
-msgstr ""
index e45571a82d5ef15a679a41cfc530a7e5877020b1..349de5e0b3b2596603a7bf0367af92c1827f8e2b 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
-"PO-Revision-Date: 2014-06-30 20:07+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: French (http://www.transifex.com/projects/p/cinder/language/"
 "fr/)\n"
@@ -19,17 +19,12 @@ msgstr ""
 "Generated-By: Babel 1.3\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: cinder/openstack/common/periodic_task.py:125
+#: cinder/openstack/common/periodic_task.py:126
 #, python-format
 msgid "Skipping periodic task %(task)s because its interval is negative"
 msgstr "Tâche périodique %(task)s ignorée car son intervalle est négatif"
 
-#: cinder/openstack/common/periodic_task.py:130
+#: cinder/openstack/common/periodic_task.py:131
 #, python-format
 msgid "Skipping periodic task %(task)s because it is disabled"
 msgstr "Tâche périodique %(task)s car elle est désactivée"
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:387
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr "Suppression ligne en double avec l'ID : %(id)s de la table : %(table)s"
diff --git a/cinder/locale/fr/LC_MESSAGES/cinder-log-warning.po b/cinder/locale/fr/LC_MESSAGES/cinder-log-warning.po
new file mode 100644 (file)
index 0000000..b822ff8
--- /dev/null
@@ -0,0 +1,32 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: French (http://www.transifex.com/projects/p/cinder/language/"
+"fr/)\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: cinder/openstack/common/network_utils.py:146
+msgid "tcp_keepidle not available on your system"
+msgstr "tcp_keepidle n'est pas disponible sur votre système"
+
+#: cinder/openstack/common/network_utils.py:153
+msgid "tcp_keepintvl not available on your system"
+msgstr "tcp_keepintvl n'est pas disponible sur votre système"
+
+#: cinder/openstack/common/network_utils.py:160
+msgid "tcp_keepknt not available on your system"
+msgstr "tcp_keepknt n'est pas disponible sur votre système"
diff --git a/cinder/locale/it/LC_MESSAGES/cinder-log-error.po b/cinder/locale/it/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..e785248
--- /dev/null
@@ -0,0 +1,25 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Italian (http://www.transifex.com/projects/p/cinder/language/"
+"it/)\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "Errore durante %(full_task_name)s: %(e)s"
index 07c00e8945dd34344959e03849730a61aa5da0f6..c5f9dfac896860ca6cadeac09497fd92b58c90f9 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-05 06:02+0000\n"
-"PO-Revision-Date: 2014-07-04 15:41+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Italian (http://www.transifex.com/projects/p/cinder/language/"
 "it/)\n"
@@ -19,18 +19,13 @@ msgstr ""
 "Generated-By: Babel 1.3\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: cinder/openstack/common/periodic_task.py:125
+#: cinder/openstack/common/periodic_task.py:126
 #, python-format
 msgid "Skipping periodic task %(task)s because its interval is negative"
 msgstr ""
 "Abbadono dell'attività periodica %(task)s perché l'intervalo è negativo"
 
-#: cinder/openstack/common/periodic_task.py:130
+#: cinder/openstack/common/periodic_task.py:131
 #, python-format
 msgid "Skipping periodic task %(task)s because it is disabled"
 msgstr "Abbadono dell'attività periodica %(task)s perché è disabilitata"
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:387
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr "Cancellata riga duplicata con id: %(id)s dalla tablella: %(table)s"
index dc843556d0189858f3a55f9fd30905fae81a3adb..020e08b2866ca3bd877bff5a0a7f43306a4a4dc4 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:03+0000\n"
-"PO-Revision-Date: 2014-06-30 20:07+0000\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Japanese (http://www.transifex.com/projects/p/cinder/language/"
 "ja/)\n"
@@ -19,24 +19,7 @@ msgstr ""
 "Generated-By: Babel 1.3\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: cinder/openstack/common/periodic_task.py:179
+#: cinder/openstack/common/periodic_task.py:202
 #, python-format
 msgid "Error during %(full_task_name)s: %(e)s"
 msgstr "%(full_task_name)s 中のエラー: %(e)s"
-
-#: cinder/openstack/common/db/api.py:72
-msgid "DB exceeded retry limit."
-msgstr "DBへのリトライが上限に達しました。"
-
-#: cinder/openstack/common/db/api.py:76
-msgid "DB connection error."
-msgstr "DB接続エラーが発生しました。"
-
-#: cinder/openstack/common/db/sqlalchemy/session.py:460
-msgid "DB exception wrapped."
-msgstr "DB 例外がラップされました。"
-
-#: cinder/openstack/common/db/sqlalchemy/test_migrations.py:267
-#, python-format
-msgid "Failed to migrate to version %s on engine %s"
-msgstr "バージョン%sをエンジン%sへの移行が失敗しました。"
diff --git a/cinder/locale/ja/LC_MESSAGES/cinder-log-info.po b/cinder/locale/ja/LC_MESSAGES/cinder-log-info.po
new file mode 100644 (file)
index 0000000..64a9978
--- /dev/null
@@ -0,0 +1,30 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Japanese (http://www.transifex.com/projects/p/cinder/language/"
+"ja/)\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: cinder/openstack/common/periodic_task.py:126
+#, python-format
+msgid "Skipping periodic task %(task)s because its interval is negative"
+msgstr "タスクの間隔が負であるため、定期タスク %(task)s をスキップしています"
+
+#: cinder/openstack/common/periodic_task.py:131
+#, python-format
+msgid "Skipping periodic task %(task)s because it is disabled"
+msgstr "タスクが使用不可であるため、定期タスク %(task)s をスキップしています"
diff --git a/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-error.po b/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..a99dce1
--- /dev/null
@@ -0,0 +1,25 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/cinder/"
+"language/ko_KR/)\n"
+"Language: ko_KR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "%(full_task_name)s 중 오류: %(e)s"
diff --git a/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-info.po b/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-info.po
new file mode 100644 (file)
index 0000000..995c094
--- /dev/null
@@ -0,0 +1,30 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/cinder/"
+"language/ko_KR/)\n"
+"Language: ko_KR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: cinder/openstack/common/periodic_task.py:126
+#, python-format
+msgid "Skipping periodic task %(task)s because its interval is negative"
+msgstr "간격이 음수이기 때문에 주기적 태스크 %(task)s을(를) 건너뜀"
+
+#: cinder/openstack/common/periodic_task.py:131
+#, python-format
+msgid "Skipping periodic task %(task)s because it is disabled"
+msgstr "사용 안하기 때문에 주기적 태스크 %(task)s을(를) 건너뜀"
diff --git a/cinder/locale/pt_BR/LC_MESSAGES/cinder-log-error.po b/cinder/locale/pt_BR/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..bade35e
--- /dev/null
@@ -0,0 +1,25 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/"
+"cinder/language/pt_BR/)\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "Erro durante %(full_task_name)s: %(e)s"
index c94f0ebb1f2a5536dcf56f49ee208675e7b6aa54..8e86f5abac89778f5f22a9c417c52481622d9a3a 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
-"PO-Revision-Date: 2014-06-30 20:07+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/"
 "cinder/language/pt_BR/)\n"
@@ -19,17 +19,12 @@ msgstr ""
 "Generated-By: Babel 1.3\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: cinder/openstack/common/periodic_task.py:125
+#: cinder/openstack/common/periodic_task.py:126
 #, python-format
 msgid "Skipping periodic task %(task)s because its interval is negative"
 msgstr "Ignorando tarefa periódica %(task)s porque seu intervalo é negativo"
 
-#: cinder/openstack/common/periodic_task.py:130
+#: cinder/openstack/common/periodic_task.py:131
 #, python-format
 msgid "Skipping periodic task %(task)s because it is disabled"
 msgstr "Ignorando tarefa periódica %(task)s porque ela está desativada"
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:387
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr "Excluindo linha duplicada com ID: %(id)s da tabela: %(table)s"
diff --git a/cinder/locale/ru/LC_MESSAGES/cinder-log-error.po b/cinder/locale/ru/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..401d8e3
--- /dev/null
@@ -0,0 +1,26 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Russian (http://www.transifex.com/projects/p/cinder/language/"
+"ru/)\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "Ошибка во время %(full_task_name)s: %(e)s"
diff --git a/cinder/locale/te_IN/LC_MESSAGES/cinder-log-critical.po b/cinder/locale/te_IN/LC_MESSAGES/cinder-log-critical.po
new file mode 100644 (file)
index 0000000..7669616
--- /dev/null
@@ -0,0 +1,21 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+# Malyadri Beegala <malyadri.beegala@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-07-31 15:31+0000\n"
+"Last-Translator: Malyadri Beegala <malyadri.beegala@gmail.com>\n"
+"Language-Team: Telugu (India) (http://www.transifex.com/projects/p/cinder/"
+"language/te_IN/)\n"
+"Language: te_IN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
diff --git a/cinder/locale/te_IN/LC_MESSAGES/cinder-log-error.po b/cinder/locale/te_IN/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..c68a1d5
--- /dev/null
@@ -0,0 +1,26 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+# Malyadri Beegala <malyadri.beegala@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: Malyadri Beegala <malyadri.beegala@gmail.com>\n"
+"Language-Team: Telugu (India) (http://www.transifex.com/projects/p/cinder/"
+"language/te_IN/)\n"
+"Language: te_IN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr " %(full_task_name)s: %(e)s లో లోపం "
diff --git a/cinder/locale/te_IN/LC_MESSAGES/cinder-log-info.po b/cinder/locale/te_IN/LC_MESSAGES/cinder-log-info.po
new file mode 100644 (file)
index 0000000..e2896c2
--- /dev/null
@@ -0,0 +1,31 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+# Malyadri Beegala <malyadri.beegala@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: Malyadri Beegala <malyadri.beegala@gmail.com>\n"
+"Language-Team: Telugu (India) (http://www.transifex.com/projects/p/cinder/"
+"language/te_IN/)\n"
+"Language: te_IN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: cinder/openstack/common/periodic_task.py:126
+#, python-format
+msgid "Skipping periodic task %(task)s because its interval is negative"
+msgstr "దాని విరామం ప్రతికూల ఎందుకంటే ఆవర్తన పని %(task)s దాటవేయడం"
+
+#: cinder/openstack/common/periodic_task.py:131
+#, python-format
+msgid "Skipping periodic task %(task)s because it is disabled"
+msgstr " నియమితకాలపు పనిని ఎన్నుకొలేదు కావున నియమితకాలపు పనులను %(task)s దాటవేయడం జరిగింది."
diff --git a/cinder/locale/te_IN/LC_MESSAGES/cinder-log-warning.po b/cinder/locale/te_IN/LC_MESSAGES/cinder-log-warning.po
new file mode 100644 (file)
index 0000000..472a076
--- /dev/null
@@ -0,0 +1,33 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+# Malyadri Beegala <malyadri.beegala@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: Malyadri Beegala <malyadri.beegala@gmail.com>\n"
+"Language-Team: Telugu (India) (http://www.transifex.com/projects/p/cinder/"
+"language/te_IN/)\n"
+"Language: te_IN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: cinder/openstack/common/network_utils.py:146
+msgid "tcp_keepidle not available on your system"
+msgstr "tcp_keepidle మీ సిస్టమ్ నందు లభించలేదు"
+
+#: cinder/openstack/common/network_utils.py:153
+msgid "tcp_keepintvl not available on your system"
+msgstr "tcp_keepintvl మీ సిస్టమ్ నందు లభించలేదు"
+
+#: cinder/openstack/common/network_utils.py:160
+msgid "tcp_keepknt not available on your system"
+msgstr "tcp_keepknt మీ సిస్టమ్ నందు లభించలేదు"
diff --git a/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-error.po b/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..db5fd4d
--- /dev/null
@@ -0,0 +1,25 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/cinder/"
+"language/tr_TR/)\n"
+"Language: tr_TR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "%(full_task_name)s sırasında hata: %(e)s"
diff --git a/cinder/locale/zh_CN/LC_MESSAGES/cinder-log-error.po b/cinder/locale/zh_CN/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..6e07205
--- /dev/null
@@ -0,0 +1,25 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/cinder/"
+"language/zh_CN/)\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "在 %(full_task_name)s 期间发生错误:%(e)s"
index 19976b80d04bc0c3fd0e568c451cbfe115356122..0d077715a79937f228ccd4a54825913304ed3d67 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Cinder\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-07-04 06:02+0000\n"
-"PO-Revision-Date: 2014-06-30 20:07+0000\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/cinder/"
 "language/zh_CN/)\n"
@@ -19,17 +19,12 @@ msgstr ""
 "Generated-By: Babel 1.3\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: cinder/openstack/common/periodic_task.py:125
+#: cinder/openstack/common/periodic_task.py:126
 #, python-format
 msgid "Skipping periodic task %(task)s because its interval is negative"
 msgstr "正在跳过周期性任务 %(task)s,因为其时间间隔为负"
 
-#: cinder/openstack/common/periodic_task.py:130
+#: cinder/openstack/common/periodic_task.py:131
 #, python-format
 msgid "Skipping periodic task %(task)s because it is disabled"
 msgstr "正在跳过周期性任务 %(task)s,因为它已禁用"
-
-#: cinder/openstack/common/db/sqlalchemy/utils.py:387
-#, python-format
-msgid "Deleting duplicated row with id: %(id)s from table: %(table)s"
-msgstr "正在从表 %(table)s 中删除具有id %(id)s 的重复行"
diff --git a/cinder/locale/zh_TW/LC_MESSAGES/cinder-log-error.po b/cinder/locale/zh_TW/LC_MESSAGES/cinder-log-error.po
new file mode 100644 (file)
index 0000000..22326b2
--- /dev/null
@@ -0,0 +1,25 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:08+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/cinder/"
+"language/zh_TW/)\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: cinder/openstack/common/periodic_task.py:202
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr "執行 %(full_task_name)s 期間發生錯誤:%(e)s"
diff --git a/cinder/locale/zh_TW/LC_MESSAGES/cinder-log-info.po b/cinder/locale/zh_TW/LC_MESSAGES/cinder-log-info.po
new file mode 100644 (file)
index 0000000..63ccd4b
--- /dev/null
@@ -0,0 +1,30 @@
+# Translations template for cinder.
+# Copyright (C) 2014 ORGANIZATION
+# This file is distributed under the same license as the cinder project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Cinder\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2014-08-09 06:07+0000\n"
+"PO-Revision-Date: 2014-08-07 07:52+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/cinder/"
+"language/zh_TW/)\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 1.3\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: cinder/openstack/common/periodic_task.py:126
+#, python-format
+msgid "Skipping periodic task %(task)s because its interval is negative"
+msgstr "正在跳過定期作業 %(task)s,因為其間隔為負數"
+
+#: cinder/openstack/common/periodic_task.py:131
+#, python-format
+msgid "Skipping periodic task %(task)s because it is disabled"
+msgstr "正在跳過定期作業 %(task)s,因為它已停用"