summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ironic/api/controllers/v1/node.py15
-rw-r--r--ironic/common/states.py6
-rw-r--r--ironic/conductor/manager.py84
-rw-r--r--ironic/db/sqlalchemy/api.py8
-rw-r--r--ironic/db/sqlalchemy/migrate_repo/versions/013_nodes_add_last_error.py30
-rw-r--r--ironic/db/sqlalchemy/models.py3
-rw-r--r--ironic/drivers/modules/fake.py4
-rw-r--r--ironic/locale/ar/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/bg_BG/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/bn_IN/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/bs/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ca/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/cs/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/da/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/de/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/en_AU/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/en_GB/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/en_US/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/es/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/es_MX/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/eu/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/eu_ES/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/fa/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/fi_FI/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/fil/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/fr/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/gl/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/hi/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/hr/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/hu/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/id/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ironic.pot138
-rw-r--r--ironic/locale/it/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/it_IT/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ja/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ka_GE/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/km/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/kn/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ko_KR/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ml_IN/LC_MESSAGES/ironic.po1606
-rw-r--r--ironic/locale/mr_IN/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ms/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/nb/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ne/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/nl_NL/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/pl_PL/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/pt/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/pt_BR/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ro/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ru/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ru_RU/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/sk/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/sl_SI/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/sv/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/sw_KE/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/tl/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/tl_PH/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/tr_TR/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/uk/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/ur/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/vi_VN/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/zh_CN/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/zh_HK/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/locale/zh_TW/LC_MESSAGES/ironic.po136
-rw-r--r--ironic/objects/node.py12
-rw-r--r--ironic/openstack/common/config/__init__.py0
-rw-r--r--[-rwxr-xr-x]ironic/openstack/common/config/generator.py93
-rw-r--r--ironic/openstack/common/context.py12
-rw-r--r--ironic/tests/api/test_chassis.py6
-rw-r--r--ironic/tests/api/test_nodes.py28
-rw-r--r--ironic/tests/conductor/test_manager.py129
-rw-r--r--ironic/tests/db/sqlalchemy/test_migrations.py19
-rw-r--r--ironic/tests/db/test_nodes.py11
-rw-r--r--ironic/tests/db/test_ports.py12
-rw-r--r--ironic/tests/db/utils.py1
-rw-r--r--ironic/tests/drivers/test_fake.py5
76 files changed, 5753 insertions, 3949 deletions
diff --git a/ironic/api/controllers/v1/node.py b/ironic/api/controllers/v1/node.py
index 0de32da54..469646a06 100644
--- a/ironic/api/controllers/v1/node.py
+++ b/ironic/api/controllers/v1/node.py
@@ -88,12 +88,12 @@ class NodePowerStateController(rest.RestController):
#TODO(lucasagomes): Test if target is a valid state and if it's able
# to transition to the target state from the current one
- node['target_power_state'] = target
- updated_node = pecan.request.rpcapi.update_node(pecan.request.context,
- node)
+ # Note that there is a race condition. The node state(s) could change
+ # by the time the RPC call is made and the TaskManager manager gets a
+ # lock.
pecan.request.rpcapi.change_node_power_state(pecan.request.context,
- updated_node, target)
- return NodePowerState.convert_with_links(updated_node, expand=False)
+ node, target)
+ return NodePowerState.convert_with_links(node, expand=False)
class NodeProvisionState(state.State):
@@ -190,6 +190,10 @@ class Node(base.APIBase):
target_power_state = wtypes.text
"The user modified desired power state of the node."
+ last_error = wtypes.text
+ "Any error from the most recent (last) asynchronous transaction that"
+ "started but failed to finish."
+
provision_state = wtypes.text
"Represent the current (not transition) provision state of the node"
@@ -230,6 +234,7 @@ class Node(base.APIBase):
def convert_with_links(cls, rpc_node, expand=True):
minimum_fields = ['uuid', 'power_state', 'target_power_state',
'provision_state', 'target_provision_state',
+ 'last_error',
'instance_uuid']
fields = minimum_fields if not expand else None
node = Node.from_rpc_object(rpc_node, fields)
diff --git a/ironic/common/states.py b/ironic/common/states.py
index 92cddb20d..a02826494 100644
--- a/ironic/common/states.py
+++ b/ironic/common/states.py
@@ -28,7 +28,7 @@ validated by the driver. Any node with non-empty `properties` is said to be
When the driver has received both `properties` and `driver_info`, it will check
the power status of the node and update the `power_state` accordingly. If the
-driver fails to read the the power state from the node, it will reject the
+driver fails to read the power state from the node, it will reject the
`driver_info` change, and the state will remain as INIT. If the power status
check succeeds, `power_state` will change to one of POWER_ON or POWER_OFF,
accordingly.
@@ -36,7 +36,9 @@ accordingly.
At this point, the power state may be changed via the API, a console
may be started, and a tenant may be associated.
-The `power_state` for a node which fails to transition will be set to ERROR.
+The `power_state` for a node always represents the current power state. Any
+power operation sets this to the actual state when done (whether successful or
+not). It is set to ERROR only when unable to get the power state from a node.
When `instance_uuid` is set to a non-empty / non-None value, the node is said
to be "associated" with a tenant.
diff --git a/ironic/conductor/manager.py b/ironic/conductor/manager.py
index 6260e93bb..8375ae675 100644
--- a/ironic/conductor/manager.py
+++ b/ironic/conductor/manager.py
@@ -154,7 +154,7 @@ class ConductorManager(service.PeriodicService):
"""RPC method to encapsulate changes to a node's state.
Perform actions such as power on, power off. It waits for the power
- action to finish, then if succesful, it updates the power_state for
+ action to finish, then if successful, it updates the power_state for
the node with the new power state.
:param context: an admin context.
@@ -162,10 +162,8 @@ class ConductorManager(service.PeriodicService):
:param new_state: the desired power state of the node.
:raises: InvalidParameterValue when the wrong state is specified
or the wrong driver info is specified.
- :raises: NodeInWrongPowerState when the node is in the state.
- that cannot perform and requested power action.
- :raises: other exceptins by the node's power driver if something
- wrong during the power action.
+ :raises: other exceptions by the node's power driver if something
+ wrong occurred during the power action.
"""
node_id = node_obj.get('uuid')
@@ -174,31 +172,57 @@ class ConductorManager(service.PeriodicService):
% {'node': node_id, 'state': new_state})
with task_manager.acquire(context, node_id, shared=False) as task:
- # an exception will be raised if validate fails.
- task.driver.power.validate(node_obj)
- curr_state = task.driver.power.get_power_state(task, node_obj)
- if curr_state == new_state:
- raise exception.NodeInWrongPowerState(node=node_id,
- pstate=curr_state)
-
- # set the target_power_state.
- # This will expose to other processes and clients that the work
- # is in progress
- node_obj['target_power_state'] = new_state
- node_obj.save(context)
+ node = task.node
+ try:
+ task.driver.power.validate(node)
+ curr_state = task.driver.power.get_power_state(task, node)
+ except Exception as e:
+ with excutils.save_and_reraise_exception():
+ node['last_error'] = \
+ _("Failed to change power state to '%(target)s'. "
+ "Error: %(error)s") % {
+ 'target': new_state, 'error': e}
+ node.save(context)
- #take power action, set the power_state to error if fails
+ if curr_state == new_state:
+ # Neither the ironic service nor the hardware has erred. The
+ # node is, for some reason, already in the requested state,
+ # though we don't know why. eg, perhaps the user previously
+ # requested the node POWER_ON, the network delayed those IPMI
+ # packets, and they are trying again -- but the node finally
+ # responds to the first request, and so the second request
+ # gets to this check and stops.
+ # This isn't an error, so we'll clear last_error field
+ # (from previous operation), log a warning, and return.
+ node['last_error'] = None
+ node.save(context)
+ LOG.warn(_("Not going to change_node_power_state because "
+ "current state = requested state = '%(state)s'.")
+ % {'state': curr_state})
+ return
+
+ # Set the target_power_state and clear any last_error, since we're
+ # starting a new operation. This will expose to other processes
+ # and clients that work is in progress.
+ node['target_power_state'] = new_state
+ node['last_error'] = None
+ node.save(context)
+
+ # take power action
try:
- task.driver.power.set_power_state(task, node_obj, new_state)
- except exception.IronicException:
- node_obj['power_state'] = states.ERROR
- node_obj.save(context)
- raise
-
- # update the node power states
- node_obj['power_state'] = new_state
- node_obj['target_power_state'] = states.NOSTATE
- node_obj.save(context)
+ task.driver.power.set_power_state(task, node, new_state)
+ except Exception as e:
+ with excutils.save_and_reraise_exception():
+ node['last_error'] = \
+ _("Failed to change power state to '%(target)s'. "
+ "Error: %(error)s") % {
+ 'target': new_state, 'error': e}
+ else:
+ # success!
+ node['power_state'] = new_state
+ finally:
+ node['target_power_state'] = states.NOSTATE
+ node.save(context)
# NOTE(deva): There is a race condition in the RPC API for vendor_passthru.
# Between the validate_vendor_action and do_vendor_action calls, it's
@@ -256,7 +280,7 @@ class ConductorManager(service.PeriodicService):
try:
new_state = task.driver.deploy.deploy(task, node_obj)
- except exception.IronicException:
+ except Exception:
with excutils.save_and_reraise_exception():
node_obj['provision_state'] = states.ERROR
node_obj.save(context)
@@ -299,7 +323,7 @@ class ConductorManager(service.PeriodicService):
try:
new_state = task.driver.deploy.tear_down(task, node_obj)
- except exception.IronicException:
+ except Exception:
with excutils.save_and_reraise_exception():
node_obj['provision_state'] = states.ERROR
node_obj.save(context)
diff --git a/ironic/db/sqlalchemy/api.py b/ironic/db/sqlalchemy/api.py
index 0eab5f11c..3c3c03e80 100644
--- a/ironic/db/sqlalchemy/api.py
+++ b/ironic/db/sqlalchemy/api.py
@@ -192,8 +192,10 @@ class Connection(api.Connection):
@objects.objectify(objects.Node)
def get_nodes_by_chassis(self, chassis, limit=None, marker=None,
sort_key=None, sort_dir=None):
+ # get_chassis() to raise an exception if the chassis is not found
+ chassis_obj = self.get_chassis(chassis)
query = model_query(models.Node)
- query = add_node_filter_by_chassis(query, chassis)
+ query = query.filter_by(chassis_id=chassis_obj.id)
return _paginate_query(models.Node, limit, marker,
sort_key, sort_dir, query)
@@ -368,8 +370,10 @@ class Connection(api.Connection):
@objects.objectify(objects.Port)
def get_ports_by_node(self, node, limit=None, marker=None,
sort_key=None, sort_dir=None):
+ # get_node() to raise an exception if the node is not found
+ node_obj = self.get_node(node)
query = model_query(models.Port)
- query = add_port_filter_by_node(query, node)
+ query = query.filter_by(node_id=node_obj.id)
return _paginate_query(models.Port, limit, marker,
sort_key, sort_dir, query)
diff --git a/ironic/db/sqlalchemy/migrate_repo/versions/013_nodes_add_last_error.py b/ironic/db/sqlalchemy/migrate_repo/versions/013_nodes_add_last_error.py
new file mode 100644
index 000000000..9a3197f06
--- /dev/null
+++ b/ironic/db/sqlalchemy/migrate_repo/versions/013_nodes_add_last_error.py
@@ -0,0 +1,30 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+# -*- encoding: utf-8 -*-
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from sqlalchemy import Table, Column, MetaData, Text
+
+
+def upgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+
+ nodes = Table('nodes', meta, autoload=True)
+
+ # Create new last_error column
+ nodes.create_column(Column('last_error', Text, nullable=True))
+
+
+def downgrade(migrate_engine):
+ raise NotImplementedError('Downgrade from version 013 is unsupported.')
diff --git a/ironic/db/sqlalchemy/models.py b/ironic/db/sqlalchemy/models.py
index b56e9c88e..b102c125c 100644
--- a/ironic/db/sqlalchemy/models.py
+++ b/ironic/db/sqlalchemy/models.py
@@ -26,7 +26,7 @@ from oslo.config import cfg
from sqlalchemy import Column, ForeignKey
from sqlalchemy import Integer, Index
-from sqlalchemy import schema, String
+from sqlalchemy import schema, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.types import TypeDecorator, VARCHAR
@@ -120,6 +120,7 @@ class Node(Base):
target_power_state = Column(String(15), nullable=True)
provision_state = Column(String(15), nullable=True)
target_provision_state = Column(String(15), nullable=True)
+ last_error = Column(Text, nullable=True)
properties = Column(JSONEncodedDict)
driver = Column(String(15))
driver_info = Column(JSONEncodedDict)
diff --git a/ironic/drivers/modules/fake.py b/ironic/drivers/modules/fake.py
index a28818576..082807b76 100644
--- a/ironic/drivers/modules/fake.py
+++ b/ironic/drivers/modules/fake.py
@@ -33,7 +33,9 @@ class FakePower(base.PowerInterface):
return states.NOSTATE
def set_power_state(self, task, node, power_state):
- pass
+ if power_state not in [states.POWER_ON, states.POWER_OFF]:
+ raise exception.InvalidParameterValue(_("set_power_state called "
+ "with an invalid power state: %s.") % power_state)
def reboot(self, task, node):
pass
diff --git a/ironic/locale/ar/LC_MESSAGES/ironic.po b/ironic/locale/ar/LC_MESSAGES/ironic.po
index 5672c8eb6..48aa44038 100644
--- a/ironic/locale/ar/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ar/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Arabic "
@@ -19,38 +19,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -140,11 +140,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -154,269 +154,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -617,11 +617,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/bg_BG/LC_MESSAGES/ironic.po b/ironic/locale/bg_BG/LC_MESSAGES/ironic.po
index fde88c67d..aeedf5697 100644
--- a/ironic/locale/bg_BG/LC_MESSAGES/ironic.po
+++ b/ironic/locale/bg_BG/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Bulgarian (Bulgaria) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/bn_IN/LC_MESSAGES/ironic.po b/ironic/locale/bn_IN/LC_MESSAGES/ironic.po
index b5cdc1585..8e66ee6c3 100644
--- a/ironic/locale/bn_IN/LC_MESSAGES/ironic.po
+++ b/ironic/locale/bn_IN/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Bengali (India) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/bs/LC_MESSAGES/ironic.po b/ironic/locale/bs/LC_MESSAGES/ironic.po
index d57e6ef48..53a3274f7 100644
--- a/ironic/locale/bs/LC_MESSAGES/ironic.po
+++ b/ironic/locale/bs/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Bosnian "
@@ -19,38 +19,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -140,11 +140,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -154,269 +154,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -617,11 +617,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ca/LC_MESSAGES/ironic.po b/ironic/locale/ca/LC_MESSAGES/ironic.po
index dfffb0f1f..505acf7fd 100644
--- a/ironic/locale/ca/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ca/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Catalan "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/cs/LC_MESSAGES/ironic.po b/ironic/locale/cs/LC_MESSAGES/ironic.po
index 12b73487e..5ca855325 100644
--- a/ironic/locale/cs/LC_MESSAGES/ironic.po
+++ b/ironic/locale/cs/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Czech "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/da/LC_MESSAGES/ironic.po b/ironic/locale/da/LC_MESSAGES/ironic.po
index ff40168ef..c17380b6c 100644
--- a/ironic/locale/da/LC_MESSAGES/ironic.po
+++ b/ironic/locale/da/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Danish "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/de/LC_MESSAGES/ironic.po b/ironic/locale/de/LC_MESSAGES/ironic.po
index 4251f045d..f4bda6930 100644
--- a/ironic/locale/de/LC_MESSAGES/ironic.po
+++ b/ironic/locale/de/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: German "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/en_AU/LC_MESSAGES/ironic.po b/ironic/locale/en_AU/LC_MESSAGES/ironic.po
index 29ba0fd72..8b78b4ddb 100644
--- a/ironic/locale/en_AU/LC_MESSAGES/ironic.po
+++ b/ironic/locale/en_AU/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: English (Australia) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/en_GB/LC_MESSAGES/ironic.po b/ironic/locale/en_GB/LC_MESSAGES/ironic.po
index 9a0ca04c4..e838beecd 100644
--- a/ironic/locale/en_GB/LC_MESSAGES/ironic.po
+++ b/ironic/locale/en_GB/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: English (United Kingdom) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/en_US/LC_MESSAGES/ironic.po b/ironic/locale/en_US/LC_MESSAGES/ironic.po
index ee7566c19..72814034f 100644
--- a/ironic/locale/en_US/LC_MESSAGES/ironic.po
+++ b/ironic/locale/en_US/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: English (United States) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/es/LC_MESSAGES/ironic.po b/ironic/locale/es/LC_MESSAGES/ironic.po
index 7e59250a0..b99c06e4a 100644
--- a/ironic/locale/es/LC_MESSAGES/ironic.po
+++ b/ironic/locale/es/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Spanish "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/es_MX/LC_MESSAGES/ironic.po b/ironic/locale/es_MX/LC_MESSAGES/ironic.po
index 926ff390a..5ca328f52 100644
--- a/ironic/locale/es_MX/LC_MESSAGES/ironic.po
+++ b/ironic/locale/es_MX/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Spanish (Mexico) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/eu/LC_MESSAGES/ironic.po b/ironic/locale/eu/LC_MESSAGES/ironic.po
index 5105edcd2..3c571077e 100644
--- a/ironic/locale/eu/LC_MESSAGES/ironic.po
+++ b/ironic/locale/eu/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Basque "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/eu_ES/LC_MESSAGES/ironic.po b/ironic/locale/eu_ES/LC_MESSAGES/ironic.po
index 98875416c..b3f7a7867 100644
--- a/ironic/locale/eu_ES/LC_MESSAGES/ironic.po
+++ b/ironic/locale/eu_ES/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-15 02:27+0000\n"
"Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
"Language-Team: Basque (Spain) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/fa/LC_MESSAGES/ironic.po b/ironic/locale/fa/LC_MESSAGES/ironic.po
index df3506dee..b6f00d252 100644
--- a/ironic/locale/fa/LC_MESSAGES/ironic.po
+++ b/ironic/locale/fa/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-15 02:28+0000\n"
"Last-Translator: Tom Fifield <tom@openstack.org>\n"
"Language-Team: Persian "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/fi_FI/LC_MESSAGES/ironic.po b/ironic/locale/fi_FI/LC_MESSAGES/ironic.po
index 20cb2c955..fe3e44c2f 100644
--- a/ironic/locale/fi_FI/LC_MESSAGES/ironic.po
+++ b/ironic/locale/fi_FI/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Finnish (Finland) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/fil/LC_MESSAGES/ironic.po b/ironic/locale/fil/LC_MESSAGES/ironic.po
index b69af9b4e..1068ebb81 100644
--- a/ironic/locale/fil/LC_MESSAGES/ironic.po
+++ b/ironic/locale/fil/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Filipino "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/fr/LC_MESSAGES/ironic.po b/ironic/locale/fr/LC_MESSAGES/ironic.po
index 418ce40a5..2b1e1a934 100644
--- a/ironic/locale/fr/LC_MESSAGES/ironic.po
+++ b/ironic/locale/fr/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: French "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/gl/LC_MESSAGES/ironic.po b/ironic/locale/gl/LC_MESSAGES/ironic.po
index 52566cb3f..682b99f12 100644
--- a/ironic/locale/gl/LC_MESSAGES/ironic.po
+++ b/ironic/locale/gl/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Galician "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/hi/LC_MESSAGES/ironic.po b/ironic/locale/hi/LC_MESSAGES/ironic.po
index a5bc7f221..b34c011af 100644
--- a/ironic/locale/hi/LC_MESSAGES/ironic.po
+++ b/ironic/locale/hi/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Hindi "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/hr/LC_MESSAGES/ironic.po b/ironic/locale/hr/LC_MESSAGES/ironic.po
index d71ca34c9..c852e4018 100644
--- a/ironic/locale/hr/LC_MESSAGES/ironic.po
+++ b/ironic/locale/hr/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Croatian "
@@ -19,38 +19,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -140,11 +140,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -154,269 +154,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -617,11 +617,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/hu/LC_MESSAGES/ironic.po b/ironic/locale/hu/LC_MESSAGES/ironic.po
index 3dd39ec5b..eb186cb8e 100644
--- a/ironic/locale/hu/LC_MESSAGES/ironic.po
+++ b/ironic/locale/hu/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Hungarian "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/id/LC_MESSAGES/ironic.po b/ironic/locale/id/LC_MESSAGES/ironic.po
index 8f00e0719..e97d160de 100644
--- a/ironic/locale/id/LC_MESSAGES/ironic.po
+++ b/ironic/locale/id/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Indonesian "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ironic.pot b/ironic/locale/ironic.pot
index 7be25556f..fb88eb01e 100644
--- a/ironic/locale/ironic.pot
+++ b/ironic/locale/ironic.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: ironic jenkins.ironic.propose.translation.update.4\n"
+"Project-Id-Version: ironic jenkins.ironic.propose.translation.update.7\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+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,38 +17,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -138,11 +138,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -152,269 +152,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -615,11 +615,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/it/LC_MESSAGES/ironic.po b/ironic/locale/it/LC_MESSAGES/ironic.po
index ff6629fb6..6a0e25dd7 100644
--- a/ironic/locale/it/LC_MESSAGES/ironic.po
+++ b/ironic/locale/it/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Italian "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/it_IT/LC_MESSAGES/ironic.po b/ironic/locale/it_IT/LC_MESSAGES/ironic.po
index 574269352..59774b4ab 100644
--- a/ironic/locale/it_IT/LC_MESSAGES/ironic.po
+++ b/ironic/locale/it_IT/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Italian (Italy) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ja/LC_MESSAGES/ironic.po b/ironic/locale/ja/LC_MESSAGES/ironic.po
index fb8fa49c5..9ad0a750a 100644
--- a/ironic/locale/ja/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ja/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Japanese "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ka_GE/LC_MESSAGES/ironic.po b/ironic/locale/ka_GE/LC_MESSAGES/ironic.po
index d5d70316e..f4e6ac755 100644
--- a/ironic/locale/ka_GE/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ka_GE/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Georgian (Georgia) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/km/LC_MESSAGES/ironic.po b/ironic/locale/km/LC_MESSAGES/ironic.po
index ad57e84fc..639b7f461 100644
--- a/ironic/locale/km/LC_MESSAGES/ironic.po
+++ b/ironic/locale/km/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-15 02:27+0000\n"
"Last-Translator: Tom Fifield <tom@openstack.org>\n"
"Language-Team: Khmer "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/kn/LC_MESSAGES/ironic.po b/ironic/locale/kn/LC_MESSAGES/ironic.po
index 1660e1be5..15da3623e 100644
--- a/ironic/locale/kn/LC_MESSAGES/ironic.po
+++ b/ironic/locale/kn/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Kannada "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ko_KR/LC_MESSAGES/ironic.po b/ironic/locale/ko_KR/LC_MESSAGES/ironic.po
index c9f1b3add..7e98b8d2a 100644
--- a/ironic/locale/ko_KR/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ko_KR/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Korean (Korea) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ml_IN/LC_MESSAGES/ironic.po b/ironic/locale/ml_IN/LC_MESSAGES/ironic.po
new file mode 100644
index 000000000..c5d2af21a
--- /dev/null
+++ b/ironic/locale/ml_IN/LC_MESSAGES/ironic.po
@@ -0,0 +1,1606 @@
+# Malayalam (India) translations for ironic.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the ironic project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Ironic\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
+"PO-Revision-Date: 2013-11-17 02:17+0000\n"
+"Last-Translator: Tom Fifield <tom@openstack.org>\n"
+"Language-Team: Malayalam (India) "
+"(http://www.transifex.com/projects/p/openstack/language/ml_IN/)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\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"
+
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
+#, python-format
+msgid "Patching Error: %s"
+msgstr ""
+
+#: ironic/api/controllers/v1/node.py:85
+#, python-format
+msgid "Power operation for node %s is already in progress."
+msgstr ""
+
+#: ironic/api/controllers/v1/node.py:296
+msgid "Method not specified"
+msgstr ""
+
+#: ironic/api/controllers/v1/node.py:324
+msgid "Chassis id not specified."
+msgstr ""
+
+#: ironic/api/controllers/v1/node.py:373
+#, python-format
+msgid "Invalid parameter value: %s, 'associated' can only be true or false."
+msgstr ""
+
+#: ironic/api/controllers/v1/node.py:462
+#, python-format
+msgid ""
+"Changing states is not allowed here; You must use the nodes/%s/state "
+"interface."
+msgstr ""
+
+#: ironic/api/controllers/v1/node.py:471
+#, python-format
+msgid "Can not update node %s while a state transition is in progress."
+msgstr ""
+
+#: ironic/api/controllers/v1/port.py:116
+msgid "Node id not specified."
+msgstr ""
+
+#: ironic/api/controllers/v1/port.py:152
+#, python-format
+msgid "Does not support hyphens as separator: %s"
+msgstr ""
+
+#: ironic/api/controllers/v1/port.py:155
+#, python-format
+msgid "Invalid MAC address format: %s"
+msgstr ""
+
+#: ironic/api/controllers/v1/port.py:164
+msgid "MAC address already exists."
+msgstr ""
+
+#: ironic/api/controllers/v1/port.py:218
+#, python-format
+msgid "Missing %s attribute(s)"
+msgstr ""
+
+#: ironic/api/controllers/v1/port.py:253
+#, python-format
+msgid "Attribute(s): %s can not be removed"
+msgstr ""
+
+#: ironic/api/controllers/v1/utils.py:29
+msgid "Limit must be positive"
+msgstr ""
+
+#: ironic/api/controllers/v1/utils.py:36
+#, python-format
+msgid "Invalid sort direction: %s. Acceptable values are 'asc' or 'desc'"
+msgstr ""
+
+#: ironic/api/controllers/v1/utils.py:52
+#, python-format
+msgid "Invalid patch format: %s"
+msgstr ""
+
+#: ironic/api/controllers/v1/utils.py:59
+#, python-format
+msgid "Operation not supported: %s"
+msgstr ""
+
+#: ironic/api/controllers/v1/utils.py:63
+#, python-format
+msgid "Invalid path: %s"
+msgstr ""
+
+#: ironic/api/controllers/v1/utils.py:67
+#, python-format
+msgid "Adding an additional attribute (%s) to the resource is not allowed"
+msgstr ""
+
+#: ironic/api/controllers/v1/utils.py:73
+msgid "UUIDs can not be removed or replaced"
+msgstr ""
+
+#: ironic/api/controllers/v1/utils.py:91
+#, python-format
+msgid "Wrong type. Expected '%(type)s', got '%(value)s'"
+msgstr ""
+
+#: ironic/api/middleware/parsable_error.py:52
+#, python-format
+msgid "ErrorDocumentMiddleware received an invalid status %s"
+msgstr ""
+
+#: ironic/api/middleware/parsable_error.py:80
+#, python-format
+msgid "Error parsing HTTP response: %s"
+msgstr ""
+
+#: ironic/cmd/api.py:48
+#, python-format
+msgid "Serving on http://%(host)s:%(port)s"
+msgstr ""
+
+#: ironic/cmd/api.py:50
+msgid "Configuration:"
+msgstr ""
+
+#: ironic/common/exception.py:59
+msgid "Unexpected error while running command."
+msgstr ""
+
+#: ironic/common/exception.py:62
+#, python-format
+msgid ""
+"%(description)s\n"
+"Command: %(cmd)s\n"
+"Exit code: %(exit_code)s\n"
+"Stdout: %(stdout)r\n"
+"Stderr: %(stderr)r"
+msgstr ""
+
+#: ironic/common/exception.py:124
+msgid "An unknown exception occurred."
+msgstr ""
+
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
+msgid "Exception in string format operation"
+msgstr ""
+
+#: ironic/common/exception.py:165
+msgid "Not authorized."
+msgstr ""
+
+#: ironic/common/exception.py:170
+msgid "User does not have admin privileges"
+msgstr ""
+
+#: ironic/common/exception.py:174
+#, python-format
+msgid "Policy doesn't allow %(action)s to be performed."
+msgstr ""
+
+#: ironic/common/exception.py:178
+msgid "Operation not permitted."
+msgstr ""
+
+#: ironic/common/exception.py:182
+msgid "Unacceptable parameters."
+msgstr ""
+
+#: ironic/common/exception.py:187
+msgid "Invalid resource state."
+msgstr ""
+
+#: ironic/common/exception.py:192
+#, python-format
+msgid "Unacceptable CPU info: %(reason)s"
+msgstr ""
+
+#: ironic/common/exception.py:196
+#, python-format
+msgid "%(address)s is not a valid IP v4/6 address."
+msgstr ""
+
+#: ironic/common/exception.py:200
+#, python-format
+msgid "Disk format %(disk_format)s is not acceptable"
+msgstr ""
+
+#: ironic/common/exception.py:204
+#, python-format
+msgid "Expected a uuid but received %(uuid)s."
+msgstr ""
+
+#: ironic/common/exception.py:208
+#, python-format
+msgid "Expected an uuid or int but received %(identity)s."
+msgstr ""
+
+#: ironic/common/exception.py:212
+#, python-format
+msgid "Expected a MAC address but received %(mac)s."
+msgstr ""
+
+#: ironic/common/exception.py:216
+#, python-format
+msgid "Failed to deploy instance: %(reason)s"
+msgstr ""
+
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
+#, python-format
+msgid "Image %(image_id)s is unacceptable: %(reason)s"
+msgstr ""
+
+#: ironic/common/exception.py:230
+#, python-format
+msgid "%(err)s"
+msgstr ""
+
+#: ironic/common/exception.py:234
+msgid "Resource could not be found."
+msgstr ""
+
+#: ironic/common/exception.py:239
+#, python-format
+msgid "No disk at %(location)s"
+msgstr ""
+
+#: ironic/common/exception.py:243
+#, python-format
+msgid "Failed to load driver %(driver_name)s."
+msgstr ""
+
+#: ironic/common/exception.py:247
+#, python-format
+msgid "Image %(image_id)s could not be found."
+msgstr ""
+
+#: ironic/common/exception.py:251
+#, python-format
+msgid "Host %(host)s could not be found."
+msgstr ""
+
+#: ironic/common/exception.py:255
+#, python-format
+msgid "Console %(console_id)s could not be found."
+msgstr ""
+
+#: ironic/common/exception.py:259
+#, python-format
+msgid "File %(file_path)s could not be found."
+msgstr ""
+
+#: ironic/common/exception.py:263
+#, python-format
+msgid "No valid host was found. %(reason)s"
+msgstr ""
+
+#: ironic/common/exception.py:267
+#, python-format
+msgid "Instance %(instance)s could not be found."
+msgstr ""
+
+#: ironic/common/exception.py:271
+#, python-format
+msgid "Node %(node)s could not be found."
+msgstr ""
+
+#: ironic/common/exception.py:275
+#, python-format
+msgid "Node %(node)s is locked by another process."
+msgstr ""
+
+#: ironic/common/exception.py:279
+#, python-format
+msgid "Node %(node)s is associated with instance %(instance)s."
+msgstr ""
+
+#: ironic/common/exception.py:283
+#, python-format
+msgid "Port %(port)s could not be found."
+msgstr ""
+
+#: ironic/common/exception.py:287
+#, python-format
+msgid "Chassis %(chassis)s could not be found."
+msgstr ""
+
+#: ironic/common/exception.py:291
+#, python-format
+msgid "Conductor %(conductor)s could not be found."
+msgstr ""
+
+#: ironic/common/exception.py:295
+#, python-format
+msgid "Conductor %(conductor)s already registered."
+msgstr ""
+
+#: ironic/common/exception.py:299
+#, python-format
+msgid "Failed to set node power state to %(pstate)s."
+msgstr ""
+
+#: ironic/common/exception.py:303
+msgid "An exclusive lock is required, but the current context has a shared lock."
+msgstr ""
+
+#: ironic/common/exception.py:308
+#, python-format
+msgid ""
+"Unable to complete the requested action because node %(node)s is "
+"currently in use by another process."
+msgstr ""
+
+#: ironic/common/exception.py:313
+#, python-format
+msgid ""
+"Can not change instance association while node %(node)s is in power state"
+" %(pstate)s."
+msgstr ""
+
+#: ironic/common/exception.py:318
+#, python-format
+msgid "Can not change power state because node %(node)s is not fully configured."
+msgstr ""
+
+#: ironic/common/exception.py:323
+#, python-format
+msgid ""
+"Cannot complete the requested action because chassis %(chassis)s contains"
+" nodes."
+msgstr ""
+
+#: ironic/common/exception.py:328
+#, python-format
+msgid "IPMI call failed: %(cmd)s."
+msgstr ""
+
+#: ironic/common/exception.py:332
+#, python-format
+msgid "Failed to establish SSH connection to host %(host)s."
+msgstr ""
+
+#: ironic/common/exception.py:336
+#, python-format
+msgid "Unsupported object type %(objtype)s"
+msgstr ""
+
+#: ironic/common/exception.py:340
+#, python-format
+msgid "Cannot call %(method)s on orphaned %(objtype)s object"
+msgstr ""
+
+#: ironic/common/exception.py:344
+#, python-format
+msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
+msgstr ""
+
+#: ironic/common/exception.py:349
+#, python-format
+msgid "Version %(objver)s of %(objname)s is not supported"
+msgstr ""
+
+#: ironic/common/exception.py:353
+#, python-format
+msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
+msgstr ""
+
+#: ironic/common/exception.py:358
+#, python-format
+msgid "Not authorized for image %(image_id)s."
+msgstr ""
+
+#: ironic/common/exception.py:362
+#, python-format
+msgid "Invalid image href %(image_href)s."
+msgstr ""
+
+#: ironic/common/exception.py:366
+msgid "Unauthorised for keystone service catalog."
+msgstr ""
+
+#: ironic/common/exception.py:374
+#, python-format
+msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
+msgstr ""
+
+#: ironic/common/exception.py:379
+msgid "Connection failed"
+msgstr ""
+
+#: ironic/common/exception.py:383
+msgid "Requested OpenStack Images API is forbidden"
+msgstr ""
+
+#: ironic/common/exception.py:391
+msgid "Requested version of OpenStack Images API is not available."
+msgstr ""
+
+#: ironic/common/exception.py:395
+msgid "The provided endpoint is invalid"
+msgstr ""
+
+#: ironic/common/exception.py:399
+msgid "Unable to communicate with the server."
+msgstr ""
+
+#: ironic/common/images.py:112
+msgid "Snapshot list encountered but no header found!"
+msgstr ""
+
+#: ironic/common/images.py:205
+msgid "'qemu-img info' parsing failed."
+msgstr ""
+
+#: ironic/common/images.py:211
+#, python-format
+msgid "fmt=%(fmt)s backed by: %(backing_file)s"
+msgstr ""
+
+#: ironic/common/images.py:217
+#, python-format
+msgid "%(image)s was %(format)s, converting to raw"
+msgstr ""
+
+#: ironic/common/images.py:226
+#, python-format
+msgid "Converted to raw, but format is now %s"
+msgstr ""
+
+#: ironic/common/keystone.py:48
+#, python-format
+msgid "Could not perform authorization process for service catalog: %s"
+msgstr ""
+
+#: ironic/common/keystone.py:53
+msgid "No keystone service catalog loaded"
+msgstr ""
+
+#: ironic/common/policy.py:32
+msgid "JSON file representing policy"
+msgstr ""
+
+#: ironic/common/policy.py:35
+msgid "Rule checked when requested rule is not found"
+msgstr ""
+
+#: ironic/common/utils.py:115 ironic/openstack/common/processutils.py:127
+#, python-format
+msgid "Got unknown keyword args to utils.execute: %r"
+msgstr ""
+
+#: ironic/common/utils.py:126 ironic/openstack/common/processutils.py:142
+#, python-format
+msgid "Running cmd (subprocess): %s"
+msgstr ""
+
+#: ironic/common/utils.py:150 ironic/drivers/modules/ssh.py:100
+#: ironic/openstack/common/processutils.py:167
+#: ironic/openstack/common/processutils.py:240
+#, python-format
+msgid "Result was %s"
+msgstr ""
+
+#: ironic/common/utils.py:163 ironic/openstack/common/processutils.py:179
+#, python-format
+msgid "%r failed. Retrying."
+msgstr ""
+
+#: ironic/common/utils.py:221
+#, python-format
+msgid "SSH connect failed: %s"
+msgstr ""
+
+#: ironic/common/utils.py:254
+#, python-format
+msgid "Invalid backend: %s"
+msgstr ""
+
+#: ironic/common/utils.py:408 ironic/openstack/common/fileutils.py:64
+#, python-format
+msgid "Reloading cached file %s"
+msgstr ""
+
+#: ironic/common/utils.py:496
+#, python-format
+msgid "Could not remove tmpdir: %s"
+msgstr ""
+
+#: ironic/common/utils.py:531
+#, python-format
+msgid "Failed to unlink %(path)s, error: %(e)s"
+msgstr ""
+
+#: ironic/common/utils.py:540
+#, python-format
+msgid "Failed to remove dir %(path)s, error: %(e)s"
+msgstr ""
+
+#: ironic/common/utils.py:556
+#, python-format
+msgid "Failed to create symlink from %(source)s to %(link)s, error: %(e)s"
+msgstr ""
+
+#: ironic/common/utils.py:570
+#, python-format
+msgid ""
+"Failed to remove trailing character. Returning original object. Supplied "
+"object is not a string: %s,"
+msgstr ""
+
+#: ironic/common/glance_service/base_image_service.py:126
+#, python-format
+msgid ""
+"Error contacting glance server '%(host)s:%(port)s' for '%(method)s', "
+"%(extra)s."
+msgstr ""
+
+#: ironic/common/glance_service/base_image_service.py:162
+msgid "Getting a full list of images metadata from glance."
+msgstr ""
+
+#: ironic/common/glance_service/base_image_service.py:183
+#, python-format
+msgid "Getting image metadata from glance. Image: %s"
+msgstr ""
+
+#: ironic/conductor/manager.py:83
+#, python-format
+msgid ""
+"A conductor with hostname %(hostname)s was previously registered. "
+"Updating registration"
+msgstr ""
+
+#: ironic/conductor/manager.py:96
+#, python-format
+msgid "Received notification: %r"
+msgstr ""
+
+#: ironic/conductor/manager.py:125
+#, python-format
+msgid "RPC update_node called for node %s."
+msgstr ""
+
+#: ironic/conductor/manager.py:129
+msgid "Invalid method call: update_node can not change node state."
+msgstr ""
+
+#: ironic/conductor/manager.py:172
+#, python-format
+msgid ""
+"RPC change_node_power_state called for node %(node)s. The desired new "
+"state is %(state)s."
+msgstr ""
+
+#: ironic/conductor/manager.py:214
+#, python-format
+msgid "RPC call_driver called for node %s."
+msgstr ""
+
+#: ironic/conductor/manager.py:242
+#, python-format
+msgid "RPC do_node_deploy called for node %s."
+msgstr ""
+
+#: ironic/conductor/manager.py:247
+#, python-format
+msgid ""
+"RPC do_node_deploy called for %(node)s, but provision state is already "
+"%(state)s."
+msgstr ""
+
+#: ironic/conductor/manager.py:282
+#, python-format
+msgid "RPC do_node_tear_down called for node %s."
+msgstr ""
+
+#: ironic/conductor/manager.py:290
+#, python-format
+msgid "RCP do_node_tear_down not allowed for node %(node)s in state %(state)s"
+msgstr ""
+
+#: ironic/conductor/resource_manager.py:81
+#, python-format
+msgid "Release called on node %s for which no lock has been acquired."
+msgstr ""
+
+#: ironic/conductor/resource_manager.py:88
+#, python-format
+msgid "Can not release node %s because it was not reserved by this tracker."
+msgstr ""
+
+#: ironic/conductor/task_manager.py:150
+msgid "Multi-node TaskManager has no attribute 'node'"
+msgstr ""
+
+#: ironic/conductor/task_manager.py:159
+msgid "Multi-node TaskManager has no attribute 'driver'"
+msgstr ""
+
+#: ironic/conductor/task_manager.py:168
+msgid "Multi-node TaskManager can't select single node manager from the list"
+msgstr ""
+
+#: ironic/db/sqlalchemy/migration.py:43
+msgid "version should be an integer"
+msgstr ""
+
+#: ironic/db/sqlalchemy/migration.py:70
+msgid "Upgrade DB using Essex release first."
+msgstr ""
+
+#: ironic/db/sqlalchemy/migrate_repo/versions/001_init.py:72
+#: ironic/db/sqlalchemy/migrate_repo/versions/012_add_conductor_table.py:46
+msgid "Exception while creating table."
+msgstr ""
+
+#: ironic/db/sqlalchemy/migrate_repo/versions/012_add_conductor_table.py:56
+msgid "Downgrade from version 012 is unsupported."
+msgstr ""
+
+#: ironic/drivers/modules/deploy_utils.py:168
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: ironic/drivers/modules/deploy_utils.py:172
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: ironic/drivers/modules/deploy_utils.py:175
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: ironic/drivers/modules/deploy_utils.py:184
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: ironic/drivers/modules/deploy_utils.py:202
+#, python-format
+msgid "Deploy to address %s failed."
+msgstr ""
+
+#: ironic/drivers/modules/deploy_utils.py:203
+#, python-format
+msgid "Command: %s"
+msgstr ""
+
+#: ironic/drivers/modules/deploy_utils.py:204
+#, python-format
+msgid "StdOut: %r"
+msgstr ""
+
+#: ironic/drivers/modules/deploy_utils.py:205
+#, python-format
+msgid "StdErr: %r"
+msgstr ""
+
+#: ironic/drivers/modules/fake.py:63
+msgid "Invalid vendor passthru, no 'method' specified."
+msgstr ""
+
+#: ironic/drivers/modules/fake.py:69
+msgid "Parameter not passed to Ironic."
+msgstr ""
+
+#: ironic/drivers/modules/fake.py:73
+#, python-format
+msgid "Unsupported method (%s) passed through to vendor extension."
+msgstr ""
+
+#: ironic/drivers/modules/ipminative.py:60
+#, python-format
+msgid "The following IPMI credentials are not supplied to IPMI driver: %s."
+msgstr ""
+
+#: ironic/drivers/modules/ipminative.py:81
+#, python-format
+msgid ""
+"IPMI power on failed for node %(node_id)s with the following error: "
+"%(error)s"
+msgstr ""
+
+#: ironic/drivers/modules/ipminative.py:111
+#, python-format
+msgid ""
+"IPMI power off failed for node %(node_id)s with the following error: "
+"%(error)s"
+msgstr ""
+
+#: ironic/drivers/modules/ipminative.py:143
+#, python-format
+msgid ""
+"IPMI power reboot failed for node %(node_id)s with the following error: "
+"%(error)s"
+msgstr ""
+
+#: ironic/drivers/modules/ipminative.py:178
+#, python-format
+msgid ""
+"IPMI get power state failed for node %(node_id)s with the following "
+"error: %(error)s"
+msgstr ""
+
+#: ironic/drivers/modules/ipminative.py:192
+#, python-format
+msgid ""
+"IPMI get power state for node %(node_id)s returns the following details:"
+" %(detail)s"
+msgstr ""
+
+#: ironic/drivers/modules/ipminative.py:245
+#, python-format
+msgid "set_power_state called with an invalid power state: %s."
+msgstr ""
+
+#: ironic/drivers/modules/ipminative.py:281
+#: ironic/drivers/modules/ipmitool.py:231
+#, python-format
+msgid "Invalid boot device %s specified."
+msgstr ""
+
+#: ironic/drivers/modules/ipminative.py:290
+#, python-format
+msgid ""
+"IPMI set boot device failed for node %(node_id)s with the following "
+"error: %(error)s"
+msgstr ""
+
+#: ironic/drivers/modules/ipmitool.py:70
+msgid "IPMI credentials not supplied to IPMI driver."
+msgstr ""
+
+#: ironic/drivers/modules/ipmitool.py:95
+#, python-format
+msgid "ipmitool stdout: '%(out)s', stderr: '%(err)s'"
+msgstr ""
+
+#: ironic/drivers/modules/ipmitool.py:124
+#, python-format
+msgid "IPMI power on failed for node %s."
+msgstr ""
+
+#: ironic/drivers/modules/ipmitool.py:157
+#, python-format
+msgid "IPMI power off failed for node %s."
+msgstr ""
+
+#: ironic/drivers/modules/ipmitool.py:201 ironic/drivers/modules/ssh.py:335
+#, python-format
+msgid "set_power_state called with invalid power state %s."
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:108
+#, python-format
+msgid ""
+"Can not validate PXE bootloader. The following paramenters were not "
+"passed to ironic: %s"
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:123
+#, python-format
+msgid "Can not validate PXE bootloader. Invalid parameter %s"
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:142
+#, python-format
+msgid "Building PXE config for deployment %s."
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:316
+#, python-format
+msgid "Fetching kernel and ramdisk for instance %s"
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:346
+#, python-format
+msgid "Fetching image %(ami)s for instance %(name)s"
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:520
+msgid "Deploy key is not match"
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:536
+#, python-format
+msgid "Parameters %s were not passed to ironic for deploy."
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:550
+#, python-format
+msgid "Unsupported method (%s) passed to PXE driver."
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:563
+#, python-format
+msgid "Node %(node_id)s deploy error message: %(error)s"
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:566
+#, python-format
+msgid "start deployment for node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:575
+#, python-format
+msgid "deployment to node %s failed"
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:578
+#, python-format
+msgid "Deploy error: \"%(error)s\" for node %(node_id)s"
+msgstr ""
+
+#: ironic/drivers/modules/pxe.py:582
+#, python-format
+msgid "deployment to node %s done"
+msgstr ""
+
+#: ironic/drivers/modules/ssh.py:85 ironic/openstack/common/processutils.py:219
+#, python-format
+msgid "Running cmd (SSH): %s"
+msgstr ""
+
+#: ironic/drivers/modules/ssh.py:129
+msgid "SSHPowerDriver requires virt_type be set."
+msgstr ""
+
+#: ironic/drivers/modules/ssh.py:135
+#, python-format
+msgid ""
+"SSHPowerDriver '%(virt_type)s' is not a valid virt_type, supported types "
+"are: %(valid)s"
+msgstr ""
+
+#: ironic/drivers/modules/ssh.py:143
+msgid "SSHPowerDriver requires both address and username be set."
+msgstr ""
+
+#: ironic/drivers/modules/ssh.py:149
+msgid "SSHPowerDriver requires either password or key_filename be set."
+msgstr ""
+
+#: ironic/drivers/modules/ssh.py:179
+#, python-format
+msgid "Node \"%(host)s\" with MAC address %(mac)s not found."
+msgstr ""
+
+#: ironic/drivers/modules/ssh.py:199
+#, python-format
+msgid "Retrieved Node List: %s"
+msgstr ""
+
+#: ironic/drivers/modules/ssh.py:204
+#, python-format
+msgid "Checking Node: %s's Mac address."
+msgstr ""
+
+#: ironic/drivers/modules/ssh.py:218
+#, python-format
+msgid "Found Mac address: %s"
+msgstr ""
+
+#: ironic/objects/base.py:54
+#, python-format
+msgid "Error setting %(attr)s"
+msgstr ""
+
+#: ironic/objects/base.py:145
+msgid "Invalid version string"
+msgstr ""
+
+#: ironic/objects/base.py:200
+#, python-format
+msgid "Unable to instantiate unregistered object type %(objtype)s"
+msgstr ""
+
+#: ironic/objects/base.py:301
+#, python-format
+msgid "Cannot load '%(attrname)s' in the base class"
+msgstr ""
+
+#: ironic/objects/base.py:310
+msgid "Cannot save anything in the base class"
+msgstr ""
+
+#: ironic/objects/conductor.py:55
+msgid "Cannot update a conductor record directly."
+msgstr ""
+
+#: ironic/objects/utils.py:39
+msgid "A datetime.datetime is required here"
+msgstr ""
+
+#: ironic/objects/utils.py:104
+#, python-format
+msgid "An object of class %s is required here"
+msgstr ""
+
+#: ironic/openstack/common/excutils.py:48
+#, python-format
+msgid "Original exception being dropped: %s"
+msgstr ""
+
+#: ironic/openstack/common/lockutils.py:102
+#, python-format
+msgid "Could not release the acquired lock `%s`"
+msgstr ""
+
+#: ironic/openstack/common/lockutils.py:188
+#, python-format
+msgid "Got semaphore \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+
+#: ironic/openstack/common/lockutils.py:199
+#, python-format
+msgid "Attempting to grab file lock \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+
+#: ironic/openstack/common/lockutils.py:226
+#, python-format
+msgid "Got file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
+msgstr ""
+
+#: ironic/openstack/common/lockutils.py:234
+#, python-format
+msgid "Released file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
+msgstr ""
+
+#: ironic/openstack/common/log.py:244
+#, python-format
+msgid "Deprecated: %s"
+msgstr ""
+
+#: ironic/openstack/common/log.py:336
+#, python-format
+msgid "Error loading logging config %(log_config)s: %(err_msg)s"
+msgstr ""
+
+#: ironic/openstack/common/log.py:386
+#, python-format
+msgid "syslog facility must be one of: %s"
+msgstr ""
+
+#: ironic/openstack/common/log.py:555
+#, python-format
+msgid "Fatal call to deprecated config: %(msg)s"
+msgstr ""
+
+#: ironic/openstack/common/loopingcall.py:84
+#, python-format
+msgid "task run outlasted interval by %s sec"
+msgstr ""
+
+#: ironic/openstack/common/loopingcall.py:91
+msgid "in fixed duration looping call"
+msgstr ""
+
+#: ironic/openstack/common/loopingcall.py:131
+#, python-format
+msgid "Dynamic looping call sleeping for %.02f seconds"
+msgstr ""
+
+#: ironic/openstack/common/loopingcall.py:138
+msgid "in dynamic looping call"
+msgstr ""
+
+#: ironic/openstack/common/periodic_task.py:42
+#, python-format
+msgid "Unexpected argument for periodic task creation: %(arg)s."
+msgstr ""
+
+#: ironic/openstack/common/periodic_task.py:133
+#, python-format
+msgid "Skipping periodic task %(task)s because its interval is negative"
+msgstr ""
+
+#: ironic/openstack/common/periodic_task.py:138
+#, python-format
+msgid "Skipping periodic task %(task)s because it is disabled"
+msgstr ""
+
+#: ironic/openstack/common/periodic_task.py:176
+#, python-format
+msgid "Running periodic task %(full_task_name)s"
+msgstr ""
+
+#: ironic/openstack/common/periodic_task.py:184
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr ""
+
+#: ironic/openstack/common/policy.py:395
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: ironic/openstack/common/policy.py:405
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: ironic/openstack/common/policy.py:680
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: ironic/openstack/common/processutils.py:221
+msgid "Environment not supported over SSH"
+msgstr ""
+
+#: ironic/openstack/common/processutils.py:225
+msgid "process_input not supported over SSH"
+msgstr ""
+
+#: ironic/openstack/common/service.py:113
+#: ironic/openstack/common/service.py:276
+msgid "Full set of CONF:"
+msgstr ""
+
+#: ironic/openstack/common/service.py:122
+#: ironic/openstack/common/service.py:219
+#, python-format
+msgid "Caught %s, exiting"
+msgstr ""
+
+#: ironic/openstack/common/service.py:165
+msgid "Parent process has died unexpectedly, exiting"
+msgstr ""
+
+#: ironic/openstack/common/service.py:201
+msgid "Forking too fast, sleeping"
+msgstr ""
+
+#: ironic/openstack/common/service.py:224
+msgid "Unhandled exception"
+msgstr ""
+
+#: ironic/openstack/common/service.py:231
+#, python-format
+msgid "Started child %d"
+msgstr ""
+
+#: ironic/openstack/common/service.py:241
+#, python-format
+msgid "Starting %d workers"
+msgstr ""
+
+#: ironic/openstack/common/service.py:258
+#, python-format
+msgid "Child %(pid)d killed by signal %(sig)d"
+msgstr ""
+
+#: ironic/openstack/common/service.py:262
+#, python-format
+msgid "Child %(pid)s exited with status %(code)d"
+msgstr ""
+
+#: ironic/openstack/common/service.py:266
+#, python-format
+msgid "pid %d not in child list"
+msgstr ""
+
+#: ironic/openstack/common/service.py:294
+#, python-format
+msgid "Caught %s, stopping children"
+msgstr ""
+
+#: ironic/openstack/common/service.py:305
+#, python-format
+msgid "Waiting on %d children to exit"
+msgstr ""
+
+#: ironic/openstack/common/strutils.py:88
+#, python-format
+msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
+msgstr ""
+
+#: ironic/openstack/common/strutils.py:184
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: ironic/openstack/common/strutils.py:191
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
+#: ironic/openstack/common/db/exception.py:44
+msgid "Invalid Parameter: Unicode is not supported by the current database."
+msgstr ""
+
+#: ironic/openstack/common/db/sqlalchemy/session.py:487
+msgid "DB exception wrapped."
+msgstr ""
+
+#: ironic/openstack/common/db/sqlalchemy/session.py:538
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: ironic/openstack/common/db/sqlalchemy/session.py:610
+#, python-format
+msgid "SQL connection failed. %s attempts left."
+msgstr ""
+
+#: ironic/openstack/common/db/sqlalchemy/utils.py:33
+msgid "Sort key supplied was not valid."
+msgstr ""
+
+#: ironic/openstack/common/db/sqlalchemy/utils.py:72
+msgid "Id not in sort_keys; is sort_keys unique?"
+msgstr ""
+
+#: ironic/openstack/common/db/sqlalchemy/utils.py:120
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr ""
+
+#: ironic/openstack/common/notifier/api.py:125
+#, python-format
+msgid "%s not in valid priorities"
+msgstr ""
+
+#: ironic/openstack/common/notifier/api.py:141
+#, python-format
+msgid ""
+"Problem '%(e)s' attempting to send to notification system. "
+"Payload=%(payload)s"
+msgstr ""
+
+#: ironic/openstack/common/notifier/api.py:171
+#, python-format
+msgid "Failed to load notifier %s. These notifications will not be sent."
+msgstr ""
+
+#: ironic/openstack/common/notifier/rpc_notifier.py:45
+#: ironic/openstack/common/notifier/rpc_notifier2.py:51
+#, python-format
+msgid "Could not send notification to %(topic)s. Payload=%(message)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/__init__.py:106
+#, python-format
+msgid ""
+"A RPC is being made while holding a lock. The locks currently held are "
+"%(locks)s. This is probably a bug. Please report it. Include the "
+"following: [%(stack)s]."
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:75
+msgid "Pool creating new connection"
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:200
+#, python-format
+msgid "no calling threads waiting for msg_id : %(msg_id)s, message : %(data)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:209
+#, python-format
+msgid ""
+"Number of call waiters is greater than warning threshhold: %d. There "
+"could be a MulticallProxyWaiter leak."
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:292
+#, python-format
+msgid "unpacked context: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:338
+#, python-format
+msgid "UNIQUE_ID is %s."
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:407
+#, python-format
+msgid "received %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:415
+#, python-format
+msgid "no method for message: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:416
+#, python-format
+msgid "No method for message: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:444
+#: ironic/openstack/common/rpc/impl_zmq.py:286
+#, python-format
+msgid "Expected exception during message handling (%s)"
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:452
+#: ironic/openstack/common/rpc/impl_zmq.py:292
+msgid "Exception during message handling"
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:587
+#, python-format
+msgid "Making synchronous call on %s ..."
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:590
+#, python-format
+msgid "MSG_ID is %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:624
+#, python-format
+msgid "Making asynchronous cast on %s..."
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:633
+msgid "Making asynchronous fanout cast..."
+msgstr ""
+
+#: ironic/openstack/common/rpc/amqp.py:661
+#, python-format
+msgid "Sending %(event_type)s on %(topic)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:75
+msgid "An unknown RPC related exception occurred."
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:105
+#, python-format
+msgid ""
+"Remote error: %(exc_type)s %(value)s\n"
+"%(traceback)s."
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:122
+#, python-format
+msgid ""
+"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
+" \"%(method)s\" info: \"%(info)s\""
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:138
+#: ironic/openstack/common/rpc/common.py:139
+#: ironic/openstack/common/rpc/common.py:140
+msgid "<unknown>"
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:144
+#, python-format
+msgid "Found duplicate message(%(msg_id)s). Skipping it."
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:148
+msgid "Invalid reuse of an RPC connection."
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:152
+#, python-format
+msgid "Specified RPC version, %(version)s, not supported by this endpoint."
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:157
+#, python-format
+msgid ""
+"Specified RPC envelope version, %(version)s, not supported by this "
+"endpoint."
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:162
+#, python-format
+msgid "Specified RPC version cap, %(version_cap)s, is too low"
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:285
+#, python-format
+msgid "Failed to sanitize %(item)s. Key error %(err)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/common.py:307
+#, python-format
+msgid "Returning exception %s to caller"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_kombu.py:169
+#: ironic/openstack/common/rpc/impl_qpid.py:133
+msgid "Failed to process message... skipping it."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_kombu.py:480
+#, python-format
+msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_kombu.py:502
+#, python-format
+msgid "Connected to AMQP server on %(hostname)s:%(port)d"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_kombu.py:539
+#, python-format
+msgid ""
+"Unable to connect to AMQP server on %(hostname)s:%(port)d after "
+"%(max_retries)d tries: %(err_str)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_kombu.py:555
+#, python-format
+msgid ""
+"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
+"again in %(sleep_time)d seconds."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_kombu.py:609
+#: ironic/openstack/common/rpc/impl_qpid.py:404
+#, python-format
+msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_kombu.py:627
+#: ironic/openstack/common/rpc/impl_qpid.py:419
+#, python-format
+msgid "Timed out waiting for RPC response: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_kombu.py:631
+#: ironic/openstack/common/rpc/impl_qpid.py:423
+#, python-format
+msgid "Failed to consume message from queue: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_kombu.py:670
+#: ironic/openstack/common/rpc/impl_qpid.py:458
+#, python-format
+msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_qpid.py:352
+#, python-format
+msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_qpid.py:358
+#, python-format
+msgid "Connected to AMQP server on %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_qpid.py:371
+msgid "Re-established AMQP queues"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_qpid.py:431
+msgid "Error processing message. Skipping it."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:97
+msgid "JSON serialization failed."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:104
+#, python-format
+msgid "Deserializing: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:140
+#, python-format
+msgid "Connecting to %(addr)s with %(type)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:141
+#, python-format
+msgid "-> Subscribed to %(subscribe)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:142
+#, python-format
+msgid "-> bind: %(bind)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:150
+msgid "Could not open socket."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:162
+#, python-format
+msgid "Subscribing to %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:204
+msgid "You cannot recv on this socket."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:209
+msgid "You cannot send on this socket."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:273
+#, python-format
+msgid "Running func with context: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:311
+msgid "Sending reply"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:345
+msgid "RPC message did not include method."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:380
+msgid "Registering reactor"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:392
+msgid "In reactor registered"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:407
+msgid "Out reactor registered"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:411
+msgid "Consuming socket"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:453
+#, python-format
+msgid "CONSUMER GOT %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:465
+#, python-format
+msgid "Creating proxy for topic: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:471
+msgid "Topic contained dangerous characters."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:496
+#, python-format
+msgid "ROUTER RELAY-OUT SUCCEEDED %(data)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:505
+msgid "Topic socket file creation failed."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:510
+#, python-format
+msgid "ROUTER RELAY-OUT QUEUED %(data)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:513
+#, python-format
+msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:532
+#, python-format
+msgid "Could not create IPC directory %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:542
+msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:576
+#, python-format
+msgid "CONSUMER RECEIVED DATA: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:578
+#, python-format
+msgid "ROUTER RELAY-OUT %(data)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:600
+msgid "ZMQ Envelope version unsupported or unknown."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:628
+msgid "Skipping topic registration. Already registered."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:635
+#, python-format
+msgid "Consumer is a zmq.%s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:687
+msgid "Creating payload"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:700
+msgid "Creating queue socket for reply waiter"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:713
+msgid "Sending cast"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:716
+msgid "Cast sent; Waiting reply"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:719
+#, python-format
+msgid "Received message: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:720
+msgid "Unpacking response"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:729
+msgid "Unsupported or unknown ZMQ envelope returned."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:736
+msgid "RPC Message Invalid."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:760
+#, python-format
+msgid "%(msg)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:763
+#, python-format
+msgid "Sending message(s) to: %s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:767
+msgid "No matchmaker results. Not casting."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:770
+msgid "No match from matchmaker."
+msgstr ""
+
+#: ironic/openstack/common/rpc/impl_zmq.py:852
+#, python-format
+msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead"
+msgstr ""
+
+#: ironic/openstack/common/rpc/matchmaker.py:47
+msgid "Match not found by MatchMaker."
+msgstr ""
+
+#: ironic/openstack/common/rpc/matchmaker.py:83
+msgid "Matchmaker does not implement registration or heartbeat."
+msgstr ""
+
+#: ironic/openstack/common/rpc/matchmaker.py:233
+#, python-format
+msgid "Matchmaker unregistered: %(key)s, %(host)s"
+msgstr ""
+
+#: ironic/openstack/common/rpc/matchmaker.py:245
+msgid "Register before starting heartbeat."
+msgstr ""
+
+#: ironic/openstack/common/rpc/matchmaker_ring.py:81
+#: ironic/openstack/common/rpc/matchmaker_ring.py:99
+#, python-format
+msgid "No key defining hosts for topic '%s', see ringfile"
+msgstr ""
+
+#: ironic/openstack/common/rpc/service.py:48
+#, python-format
+msgid "Creating Consumer connection for Service %s"
+msgstr ""
+
+#: ironic/tests/db/sqlalchemy/test_migrations.py:144
+#, python-format
+msgid "config_path is %s"
+msgstr ""
+
+#: ironic/tests/db/sqlalchemy/test_migrations.py:243
+#, python-format
+msgid "latest version is %s"
+msgstr ""
+
+#: ironic/tests/db/sqlalchemy/test_migrations.py:314
+#, python-format
+msgid "Failed to migrate to version %(version)s on engine %(engine)s"
+msgstr ""
+
diff --git a/ironic/locale/mr_IN/LC_MESSAGES/ironic.po b/ironic/locale/mr_IN/LC_MESSAGES/ironic.po
index 5357c40b8..69797aacf 100644
--- a/ironic/locale/mr_IN/LC_MESSAGES/ironic.po
+++ b/ironic/locale/mr_IN/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Marathi (India) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ms/LC_MESSAGES/ironic.po b/ironic/locale/ms/LC_MESSAGES/ironic.po
index 5fe3bf3a2..eae3334e3 100644
--- a/ironic/locale/ms/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ms/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Malay "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/nb/LC_MESSAGES/ironic.po b/ironic/locale/nb/LC_MESSAGES/ironic.po
index e17abe736..fb16fe7ea 100644
--- a/ironic/locale/nb/LC_MESSAGES/ironic.po
+++ b/ironic/locale/nb/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Norwegian Bokmål "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ne/LC_MESSAGES/ironic.po b/ironic/locale/ne/LC_MESSAGES/ironic.po
index c919f07c3..ac48da963 100644
--- a/ironic/locale/ne/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ne/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Nepali "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/nl_NL/LC_MESSAGES/ironic.po b/ironic/locale/nl_NL/LC_MESSAGES/ironic.po
index 49f864722..878c832f0 100644
--- a/ironic/locale/nl_NL/LC_MESSAGES/ironic.po
+++ b/ironic/locale/nl_NL/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Dutch (Netherlands) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/pl_PL/LC_MESSAGES/ironic.po b/ironic/locale/pl_PL/LC_MESSAGES/ironic.po
index 8dfc1adeb..c11f18c65 100644
--- a/ironic/locale/pl_PL/LC_MESSAGES/ironic.po
+++ b/ironic/locale/pl_PL/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Polish (Poland) "
@@ -19,38 +19,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -140,11 +140,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -154,269 +154,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -617,11 +617,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/pt/LC_MESSAGES/ironic.po b/ironic/locale/pt/LC_MESSAGES/ironic.po
index 891cb08f9..125b76a95 100644
--- a/ironic/locale/pt/LC_MESSAGES/ironic.po
+++ b/ironic/locale/pt/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Portuguese "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/pt_BR/LC_MESSAGES/ironic.po b/ironic/locale/pt_BR/LC_MESSAGES/ironic.po
index 788526c37..14fb860b4 100644
--- a/ironic/locale/pt_BR/LC_MESSAGES/ironic.po
+++ b/ironic/locale/pt_BR/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Portuguese (Brazil) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ro/LC_MESSAGES/ironic.po b/ironic/locale/ro/LC_MESSAGES/ironic.po
index ee4a9bd74..eb5e8cb8b 100644
--- a/ironic/locale/ro/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ro/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Romanian "
@@ -19,38 +19,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -140,11 +140,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -154,269 +154,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -617,11 +617,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ru/LC_MESSAGES/ironic.po b/ironic/locale/ru/LC_MESSAGES/ironic.po
index 5c0440872..d33f304a2 100644
--- a/ironic/locale/ru/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ru/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Russian "
@@ -19,38 +19,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -140,11 +140,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -154,269 +154,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -617,11 +617,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ru_RU/LC_MESSAGES/ironic.po b/ironic/locale/ru_RU/LC_MESSAGES/ironic.po
index 8879a7da7..ccfe13898 100644
--- a/ironic/locale/ru_RU/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ru_RU/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Russian (Russia) "
@@ -19,38 +19,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -140,11 +140,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -154,269 +154,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -617,11 +617,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/sk/LC_MESSAGES/ironic.po b/ironic/locale/sk/LC_MESSAGES/ironic.po
index 4f6f4bd13..eb25cee83 100644
--- a/ironic/locale/sk/LC_MESSAGES/ironic.po
+++ b/ironic/locale/sk/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Slovak "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/sl_SI/LC_MESSAGES/ironic.po b/ironic/locale/sl_SI/LC_MESSAGES/ironic.po
index fbb20b56a..557b1c2bf 100644
--- a/ironic/locale/sl_SI/LC_MESSAGES/ironic.po
+++ b/ironic/locale/sl_SI/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Slovenian (Slovenia) "
@@ -19,38 +19,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -140,11 +140,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -154,269 +154,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -617,11 +617,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/sv/LC_MESSAGES/ironic.po b/ironic/locale/sv/LC_MESSAGES/ironic.po
index e6fe1749e..0d42cfa6c 100644
--- a/ironic/locale/sv/LC_MESSAGES/ironic.po
+++ b/ironic/locale/sv/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-15 02:27+0000\n"
"Last-Translator: Tom Fifield <tom@openstack.org>\n"
"Language-Team: Swedish "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/sw_KE/LC_MESSAGES/ironic.po b/ironic/locale/sw_KE/LC_MESSAGES/ironic.po
index e4d7e5d3f..891106b68 100644
--- a/ironic/locale/sw_KE/LC_MESSAGES/ironic.po
+++ b/ironic/locale/sw_KE/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Swahili (Kenya) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/tl/LC_MESSAGES/ironic.po b/ironic/locale/tl/LC_MESSAGES/ironic.po
index 24a08ae7b..7bbf2f1b4 100644
--- a/ironic/locale/tl/LC_MESSAGES/ironic.po
+++ b/ironic/locale/tl/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Tagalog "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/tl_PH/LC_MESSAGES/ironic.po b/ironic/locale/tl_PH/LC_MESSAGES/ironic.po
index 2572649c5..97025ed9f 100644
--- a/ironic/locale/tl_PH/LC_MESSAGES/ironic.po
+++ b/ironic/locale/tl_PH/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Tagalog (Philippines) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/tr_TR/LC_MESSAGES/ironic.po b/ironic/locale/tr_TR/LC_MESSAGES/ironic.po
index ad8fd1525..1a1355257 100644
--- a/ironic/locale/tr_TR/LC_MESSAGES/ironic.po
+++ b/ironic/locale/tr_TR/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Turkish (Turkey) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/uk/LC_MESSAGES/ironic.po b/ironic/locale/uk/LC_MESSAGES/ironic.po
index ab57b14da..6e4059e52 100644
--- a/ironic/locale/uk/LC_MESSAGES/ironic.po
+++ b/ironic/locale/uk/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Ukrainian "
@@ -19,38 +19,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -140,11 +140,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -154,269 +154,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -617,11 +617,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/ur/LC_MESSAGES/ironic.po b/ironic/locale/ur/LC_MESSAGES/ironic.po
index 773defc28..488c7848a 100644
--- a/ironic/locale/ur/LC_MESSAGES/ironic.po
+++ b/ironic/locale/ur/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Urdu "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/vi_VN/LC_MESSAGES/ironic.po b/ironic/locale/vi_VN/LC_MESSAGES/ironic.po
index 040416ff2..1b371900c 100644
--- a/ironic/locale/vi_VN/LC_MESSAGES/ironic.po
+++ b/ironic/locale/vi_VN/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Vietnamese (Viet Nam) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/zh_CN/LC_MESSAGES/ironic.po b/ironic/locale/zh_CN/LC_MESSAGES/ironic.po
index 3aab89283..90ecee576 100644
--- a/ironic/locale/zh_CN/LC_MESSAGES/ironic.po
+++ b/ironic/locale/zh_CN/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Chinese (China) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/zh_HK/LC_MESSAGES/ironic.po b/ironic/locale/zh_HK/LC_MESSAGES/ironic.po
index fae171524..845812fad 100644
--- a/ironic/locale/zh_HK/LC_MESSAGES/ironic.po
+++ b/ironic/locale/zh_HK/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Chinese (Hong Kong) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/locale/zh_TW/LC_MESSAGES/ironic.po b/ironic/locale/zh_TW/LC_MESSAGES/ironic.po
index 4cc70ceb2..9b7cd1f7a 100644
--- a/ironic/locale/zh_TW/LC_MESSAGES/ironic.po
+++ b/ironic/locale/zh_TW/LC_MESSAGES/ironic.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-11-15 06:00+0000\n"
+"POT-Creation-Date: 2013-11-18 06:00+0000\n"
"PO-Revision-Date: 2013-11-12 16:15+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Chinese (Taiwan) "
@@ -18,38 +18,38 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 1.3\n"
-#: ironic/api/controllers/v1/chassis.py:191
-#: ironic/api/controllers/v1/node.py:477 ironic/api/controllers/v1/port.py:247
+#: ironic/api/controllers/v1/chassis.py:193
+#: ironic/api/controllers/v1/node.py:480 ironic/api/controllers/v1/port.py:247
#, python-format
msgid "Patching Error: %s"
msgstr ""
-#: ironic/api/controllers/v1/node.py:84
+#: ironic/api/controllers/v1/node.py:85
#, python-format
msgid "Power operation for node %s is already in progress."
msgstr ""
-#: ironic/api/controllers/v1/node.py:293
+#: ironic/api/controllers/v1/node.py:296
msgid "Method not specified"
msgstr ""
-#: ironic/api/controllers/v1/node.py:321
+#: ironic/api/controllers/v1/node.py:324
msgid "Chassis id not specified."
msgstr ""
-#: ironic/api/controllers/v1/node.py:370
+#: ironic/api/controllers/v1/node.py:373
#, python-format
msgid "Invalid parameter value: %s, 'associated' can only be true or false."
msgstr ""
-#: ironic/api/controllers/v1/node.py:459
+#: ironic/api/controllers/v1/node.py:462
#, python-format
msgid ""
"Changing states is not allowed here; You must use the nodes/%s/state "
"interface."
msgstr ""
-#: ironic/api/controllers/v1/node.py:468
+#: ironic/api/controllers/v1/node.py:471
#, python-format
msgid "Can not update node %s while a state transition is in progress."
msgstr ""
@@ -139,11 +139,11 @@ msgstr ""
msgid "Configuration:"
msgstr ""
-#: ironic/common/exception.py:58
+#: ironic/common/exception.py:59
msgid "Unexpected error while running command."
msgstr ""
-#: ironic/common/exception.py:61
+#: ironic/common/exception.py:62
#, python-format
msgid ""
"%(description)s\n"
@@ -153,269 +153,269 @@ msgid ""
"Stderr: %(stderr)r"
msgstr ""
-#: ironic/common/exception.py:123
+#: ironic/common/exception.py:124
msgid "An unknown exception occurred."
msgstr ""
-#: ironic/common/exception.py:144 ironic/openstack/common/rpc/common.py:87
+#: ironic/common/exception.py:145 ironic/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: ironic/common/exception.py:164
+#: ironic/common/exception.py:165
msgid "Not authorized."
msgstr ""
-#: ironic/common/exception.py:169
+#: ironic/common/exception.py:170
msgid "User does not have admin privileges"
msgstr ""
-#: ironic/common/exception.py:173
+#: ironic/common/exception.py:174
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: ironic/common/exception.py:177
+#: ironic/common/exception.py:178
msgid "Operation not permitted."
msgstr ""
-#: ironic/common/exception.py:181
+#: ironic/common/exception.py:182
msgid "Unacceptable parameters."
msgstr ""
-#: ironic/common/exception.py:186
+#: ironic/common/exception.py:187
msgid "Invalid resource state."
msgstr ""
-#: ironic/common/exception.py:191
+#: ironic/common/exception.py:192
#, python-format
msgid "Unacceptable CPU info: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:195
+#: ironic/common/exception.py:196
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: ironic/common/exception.py:199
+#: ironic/common/exception.py:200
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: ironic/common/exception.py:203
+#: ironic/common/exception.py:204
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: ironic/common/exception.py:207
+#: ironic/common/exception.py:208
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
-#: ironic/common/exception.py:211
+#: ironic/common/exception.py:212
#, python-format
msgid "Expected a MAC address but received %(mac)s."
msgstr ""
-#: ironic/common/exception.py:215
+#: ironic/common/exception.py:216
#, python-format
msgid "Failed to deploy instance: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:219 ironic/common/exception.py:223
+#: ironic/common/exception.py:220 ironic/common/exception.py:224
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:229
+#: ironic/common/exception.py:230
#, python-format
msgid "%(err)s"
msgstr ""
-#: ironic/common/exception.py:233
+#: ironic/common/exception.py:234
msgid "Resource could not be found."
msgstr ""
-#: ironic/common/exception.py:238
+#: ironic/common/exception.py:239
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: ironic/common/exception.py:242
+#: ironic/common/exception.py:243
#, python-format
msgid "Failed to load driver %(driver_name)s."
msgstr ""
-#: ironic/common/exception.py:246
+#: ironic/common/exception.py:247
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:250
+#: ironic/common/exception.py:251
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: ironic/common/exception.py:254
+#: ironic/common/exception.py:255
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: ironic/common/exception.py:258
+#: ironic/common/exception.py:259
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: ironic/common/exception.py:262
+#: ironic/common/exception.py:263
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: ironic/common/exception.py:266
+#: ironic/common/exception.py:267
#, python-format
msgid "Instance %(instance)s could not be found."
msgstr ""
-#: ironic/common/exception.py:270
+#: ironic/common/exception.py:271
#, python-format
msgid "Node %(node)s could not be found."
msgstr ""
-#: ironic/common/exception.py:274
+#: ironic/common/exception.py:275
#, python-format
msgid "Node %(node)s is locked by another process."
msgstr ""
-#: ironic/common/exception.py:278
+#: ironic/common/exception.py:279
#, python-format
msgid "Node %(node)s is associated with instance %(instance)s."
msgstr ""
-#: ironic/common/exception.py:282
+#: ironic/common/exception.py:283
#, python-format
msgid "Port %(port)s could not be found."
msgstr ""
-#: ironic/common/exception.py:286
+#: ironic/common/exception.py:287
#, python-format
msgid "Chassis %(chassis)s could not be found."
msgstr ""
-#: ironic/common/exception.py:290
+#: ironic/common/exception.py:291
#, python-format
msgid "Conductor %(conductor)s could not be found."
msgstr ""
-#: ironic/common/exception.py:294
+#: ironic/common/exception.py:295
#, python-format
msgid "Conductor %(conductor)s already registered."
msgstr ""
-#: ironic/common/exception.py:298
+#: ironic/common/exception.py:299
#, python-format
msgid "Failed to set node power state to %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:302
+#: ironic/common/exception.py:303
msgid "An exclusive lock is required, but the current context has a shared lock."
msgstr ""
-#: ironic/common/exception.py:307
+#: ironic/common/exception.py:308
#, python-format
msgid ""
"Unable to complete the requested action because node %(node)s is "
"currently in use by another process."
msgstr ""
-#: ironic/common/exception.py:312
+#: ironic/common/exception.py:313
#, python-format
msgid ""
"Can not change instance association while node %(node)s is in power state"
" %(pstate)s."
msgstr ""
-#: ironic/common/exception.py:317
+#: ironic/common/exception.py:318
#, python-format
msgid "Can not change power state because node %(node)s is not fully configured."
msgstr ""
-#: ironic/common/exception.py:322
+#: ironic/common/exception.py:323
#, python-format
msgid ""
"Cannot complete the requested action because chassis %(chassis)s contains"
" nodes."
msgstr ""
-#: ironic/common/exception.py:327
+#: ironic/common/exception.py:328
#, python-format
msgid "IPMI call failed: %(cmd)s."
msgstr ""
-#: ironic/common/exception.py:331
+#: ironic/common/exception.py:332
#, python-format
msgid "Failed to establish SSH connection to host %(host)s."
msgstr ""
-#: ironic/common/exception.py:335
+#: ironic/common/exception.py:336
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: ironic/common/exception.py:339
+#: ironic/common/exception.py:340
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: ironic/common/exception.py:343
+#: ironic/common/exception.py:344
#, python-format
msgid "Driver %(driver)s for node %(node)s does not support %(extension)s."
msgstr ""
-#: ironic/common/exception.py:348
+#: ironic/common/exception.py:349
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: ironic/common/exception.py:352
+#: ironic/common/exception.py:353
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: ironic/common/exception.py:357
+#: ironic/common/exception.py:358
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: ironic/common/exception.py:361
+#: ironic/common/exception.py:362
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: ironic/common/exception.py:365
+#: ironic/common/exception.py:366
msgid "Unauthorised for keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:373
+#: ironic/common/exception.py:374
#, python-format
msgid "Attr %(attr)s with value %(value)s not found in keystone service catalog."
msgstr ""
-#: ironic/common/exception.py:378
+#: ironic/common/exception.py:379
msgid "Connection failed"
msgstr ""
-#: ironic/common/exception.py:382
+#: ironic/common/exception.py:383
msgid "Requested OpenStack Images API is forbidden"
msgstr ""
-#: ironic/common/exception.py:390
+#: ironic/common/exception.py:391
msgid "Requested version of OpenStack Images API is not available."
msgstr ""
-#: ironic/common/exception.py:394
+#: ironic/common/exception.py:395
msgid "The provided endpoint is invalid"
msgstr ""
-#: ironic/common/exception.py:398
+#: ironic/common/exception.py:399
msgid "Unable to communicate with the server."
msgstr ""
@@ -616,11 +616,11 @@ msgstr ""
msgid "Multi-node TaskManager can't select single node manager from the list"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:68
+#: ironic/db/sqlalchemy/migration.py:43
msgid "version should be an integer"
msgstr ""
-#: ironic/db/sqlalchemy/migration.py:95
+#: ironic/db/sqlalchemy/migration.py:70
msgid "Upgrade DB using Essex release first."
msgstr ""
diff --git a/ironic/objects/node.py b/ironic/objects/node.py
index 457bb823d..e74eec7c7 100644
--- a/ironic/objects/node.py
+++ b/ironic/objects/node.py
@@ -35,10 +35,22 @@ class Node(base.IronicObject):
'properties': utils.dict_or_none,
'reservation': utils.str_or_none,
+
+ # One of states.POWER_ON|POWER_OFF|NOSTATE|ERROR
'power_state': utils.str_or_none,
+
+ # Set to one of states.POWER_ON|POWER_OFF when a power operation
+ # starts, and set to NOSTATE when the operation finishes
+ # (successfully or unsuccessfully).
'target_power_state': utils.str_or_none,
+
'provision_state': utils.str_or_none,
'target_provision_state': utils.str_or_none,
+
+ # Any error from the most recent (last) asynchronous transaction
+ # that started but failed to finish.
+ 'last_error': utils.str_or_none,
+
'extra': utils.dict_or_none,
}
diff --git a/ironic/openstack/common/config/__init__.py b/ironic/openstack/common/config/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/ironic/openstack/common/config/__init__.py
diff --git a/ironic/openstack/common/config/generator.py b/ironic/openstack/common/config/generator.py
index deb006e59..4b6ce87b7 100755..100644
--- a/ironic/openstack/common/config/generator.py
+++ b/ironic/openstack/common/config/generator.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2012 SINA Corporation
@@ -16,10 +15,11 @@
# License for the specific language governing permissions and limitations
# under the License.
#
-# @author: Zhongyue Luo, SINA Corporation.
-#
+
"""Extracts OpenStack config option info from module(s)."""
+from __future__ import print_function
+
import imp
import os
import re
@@ -28,6 +28,7 @@ import sys
import textwrap
from oslo.config import cfg
+import six
from ironic.openstack.common import gettextutils
from ironic.openstack.common import importutils
@@ -50,7 +51,6 @@ OPT_TYPES = {
MULTISTROPT: 'multi valued',
}
-OPTION_COUNT = 0
OPTION_REGEX = re.compile(r"(%s)" % "|".join([STROPT, BOOLOPT, INTOPT,
FLOATOPT, LISTOPT,
MULTISTROPT]))
@@ -79,6 +79,13 @@ def generate(srcfiles):
# The options list is a list of (module, options) tuples
opts_by_group = {'DEFAULT': []}
+ for module_name in os.getenv(
+ "IRONIC_CONFIG_GENERATOR_EXTRA_MODULES", "").split(','):
+ module = _import_module(module_name)
+ if module:
+ for group, opts in _list_opts(module):
+ opts_by_group.setdefault(group, []).append((module_name, opts))
+
for pkg_name in pkg_names:
mods = mods_by_pkg.get(pkg_name)
mods.sort()
@@ -88,7 +95,7 @@ def generate(srcfiles):
mod_obj = _import_module(mod_str)
if not mod_obj:
- continue
+ raise RuntimeError("Unable to import module %s" % mod_str)
for group, opts in _list_opts(mod_obj):
opts_by_group.setdefault(group, []).append((mod_str, opts))
@@ -97,8 +104,6 @@ def generate(srcfiles):
for group, opts in opts_by_group.items():
print_group_opts(group, opts)
- print "# Total option count: %d" % OPTION_COUNT
-
def _import_module(mod_str):
try:
@@ -161,18 +166,16 @@ def _list_opts(obj):
def print_group_opts(group, opts_by_module):
- print "[%s]" % group
- print
- global OPTION_COUNT
+ print("[%s]" % group)
+ print('')
for mod, opts in opts_by_module:
- OPTION_COUNT += len(opts)
- print '#'
- print '# Options defined in %s' % mod
- print '#'
- print
+ print('#')
+ print('# Options defined in %s' % mod)
+ print('#')
+ print('')
for opt in opts:
_print_opt(opt)
- print
+ print('')
def _get_my_ip():
@@ -186,25 +189,31 @@ def _get_my_ip():
return None
-def _sanitize_default(s):
+def _sanitize_default(name, value):
"""Set up a reasonably sensible default for pybasedir, my_ip and host."""
- if s.startswith(BASEDIR):
- return s.replace(BASEDIR, '/usr/lib/python/site-packages')
- elif BASEDIR in s:
- return s.replace(BASEDIR, '')
- elif s == _get_my_ip():
+ if value.startswith(sys.prefix):
+ # NOTE(jd) Don't use os.path.join, because it is likely to think the
+ # second part is an absolute pathname and therefore drop the first
+ # part.
+ value = os.path.normpath("/usr/" + value[len(sys.prefix):])
+ elif value.startswith(BASEDIR):
+ return value.replace(BASEDIR, '/usr/lib/python/site-packages')
+ elif BASEDIR in value:
+ return value.replace(BASEDIR, '')
+ elif value == _get_my_ip():
return '10.0.0.1'
- elif s == socket.gethostname():
+ elif value == socket.gethostname() and 'host' in name:
return 'ironic'
- elif s.strip() != s:
- return '"%s"' % s
- return s
+ elif value.strip() != value:
+ return '"%s"' % value
+ return value
def _print_opt(opt):
opt_name, opt_default, opt_help = opt.dest, opt.default, opt.help
if not opt_help:
sys.stderr.write('WARNING: "%s" is missing help string.\n' % opt_name)
+ opt_help = ""
opt_type = None
try:
opt_type = OPTION_REGEX.search(str(type(opt))).group(0)
@@ -212,42 +221,48 @@ def _print_opt(opt):
sys.stderr.write("%s\n" % str(err))
sys.exit(1)
opt_help += ' (' + OPT_TYPES[opt_type] + ')'
- print '#', "\n# ".join(textwrap.wrap(opt_help, WORDWRAP_WIDTH))
+ print('#', "\n# ".join(textwrap.wrap(opt_help, WORDWRAP_WIDTH)))
+ if opt.deprecated_opts:
+ for deprecated_opt in opt.deprecated_opts:
+ if deprecated_opt.name:
+ deprecated_group = (deprecated_opt.group if
+ deprecated_opt.group else "DEFAULT")
+ print('# Deprecated group/name - [%s]/%s' %
+ (deprecated_group,
+ deprecated_opt.name))
try:
if opt_default is None:
- print '#%s=<None>' % opt_name
+ print('#%s=<None>' % opt_name)
elif opt_type == STROPT:
- assert(isinstance(opt_default, basestring))
- print '#%s=%s' % (opt_name, _sanitize_default(opt_default))
+ assert(isinstance(opt_default, six.string_types))
+ print('#%s=%s' % (opt_name, _sanitize_default(opt_name,
+ opt_default)))
elif opt_type == BOOLOPT:
assert(isinstance(opt_default, bool))
- print '#%s=%s' % (opt_name, str(opt_default).lower())
+ print('#%s=%s' % (opt_name, str(opt_default).lower()))
elif opt_type == INTOPT:
assert(isinstance(opt_default, int) and
not isinstance(opt_default, bool))
- print '#%s=%s' % (opt_name, opt_default)
+ print('#%s=%s' % (opt_name, opt_default))
elif opt_type == FLOATOPT:
assert(isinstance(opt_default, float))
- print '#%s=%s' % (opt_name, opt_default)
+ print('#%s=%s' % (opt_name, opt_default))
elif opt_type == LISTOPT:
assert(isinstance(opt_default, list))
- print '#%s=%s' % (opt_name, ','.join(opt_default))
+ print('#%s=%s' % (opt_name, ','.join(opt_default)))
elif opt_type == MULTISTROPT:
assert(isinstance(opt_default, list))
if not opt_default:
opt_default = ['']
for default in opt_default:
- print '#%s=%s' % (opt_name, default)
- print
+ print('#%s=%s' % (opt_name, default))
+ print('')
except Exception:
sys.stderr.write('Error in option "%s"\n' % opt_name)
sys.exit(1)
def main():
- if len(sys.argv) < 2:
- print "usage: %s [srcfile]...\n" % sys.argv[0]
- sys.exit(0)
generate(sys.argv[1:])
if __name__ == '__main__':
diff --git a/ironic/openstack/common/context.py b/ironic/openstack/common/context.py
index 7172c1bc7..8dd7936a6 100644
--- a/ironic/openstack/common/context.py
+++ b/ironic/openstack/common/context.py
@@ -33,19 +33,22 @@ def generate_request_id():
class RequestContext(object):
- """
+ """Helper class to represent useful information about a request context.
+
Stores information about the security context under which the user
accesses the system, as well as additional request information.
"""
def __init__(self, auth_token=None, user=None, tenant=None, is_admin=False,
- read_only=False, show_deleted=False, request_id=None):
+ read_only=False, show_deleted=False, request_id=None,
+ instance_uuid=None):
self.auth_token = auth_token
self.user = user
self.tenant = tenant
self.is_admin = is_admin
self.read_only = read_only
self.show_deleted = show_deleted
+ self.instance_uuid = instance_uuid
if not request_id:
request_id = generate_request_id()
self.request_id = request_id
@@ -57,10 +60,11 @@ class RequestContext(object):
'read_only': self.read_only,
'show_deleted': self.show_deleted,
'auth_token': self.auth_token,
- 'request_id': self.request_id}
+ 'request_id': self.request_id,
+ 'instance_uuid': self.instance_uuid}
-def get_admin_context(show_deleted="no"):
+def get_admin_context(show_deleted=False):
context = RequestContext(None,
tenant=None,
is_admin=True,
diff --git a/ironic/tests/api/test_chassis.py b/ironic/tests/api/test_chassis.py
index 25ba1ae14..efb6f189b 100644
--- a/ironic/tests/api/test_chassis.py
+++ b/ironic/tests/api/test_chassis.py
@@ -123,6 +123,12 @@ class TestListChassis(base.FunctionalTest):
response = self.get_json('/chassis/nodes', expect_errors=True)
self.assertEqual(response.status_int, 400)
+ def test_nodes_subresource_chassis_not_found(self):
+ non_existent_uuid = 'eeeeeeee-cccc-aaaa-bbbb-cccccccccccc'
+ response = self.get_json('/chassis/%s/nodes' % non_existent_uuid,
+ expect_errors=True)
+ self.assertEqual(response.status_int, 404)
+
class TestPatch(base.FunctionalTest):
diff --git a/ironic/tests/api/test_nodes.py b/ironic/tests/api/test_nodes.py
index 4b4fd6ad0..3914cb272 100644
--- a/ironic/tests/api/test_nodes.py
+++ b/ironic/tests/api/test_nodes.py
@@ -152,7 +152,7 @@ class TestListNodes(base.FunctionalTest):
self.assertEqual(len(data['ports']), 1)
self.assertIn('next', data.keys())
- def test_nodes_subresource_noid(self):
+ def test_ports_subresource_noid(self):
ndict = dbutils.get_test_node()
self.dbapi.create_node(ndict)
pdict = dbutils.get_test_port(node_id=ndict['id'])
@@ -161,6 +161,12 @@ class TestListNodes(base.FunctionalTest):
response = self.get_json('/nodes/ports', expect_errors=True)
self.assertEqual(response.status_int, 400)
+ def test_ports_subresource_node_not_found(self):
+ non_existent_uuid = 'eeeeeeee-cccc-aaaa-bbbb-cccccccccccc'
+ response = self.get_json('/nodes/%s/ports' % non_existent_uuid,
+ expect_errors=True)
+ self.assertEqual(response.status_int, 404)
+
def test_state(self):
ndict = dbutils.get_test_node()
self.dbapi.create_node(ndict)
@@ -533,49 +539,37 @@ class TestPut(base.FunctionalTest):
self.chassis = self.dbapi.create_chassis(cdict)
ndict = dbutils.get_test_node()
self.node = self.dbapi.create_node(ndict)
- p = mock.patch.object(rpcapi.ConductorAPI, 'update_node')
- self.mock_update_node = p.start()
- self.addCleanup(p.stop)
p = mock.patch.object(rpcapi.ConductorAPI, 'change_node_power_state')
self.mock_cnps = p.start()
self.addCleanup(p.stop)
def test_power_state(self):
- self.mock_update_node.return_value = self.node
-
response = self.put_json('/nodes/%s/state/power' % self.node['uuid'],
{'target': states.POWER_ON})
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.status_code, 202)
- self.mock_update_node.assert_called_once_with(mock.ANY, mock.ANY)
self.mock_cnps.assert_called_once_with(mock.ANY, mock.ANY, mock.ANY)
def test_power_state_in_progress(self):
- self.mock_update_node.return_value = self.node
manager = mock.MagicMock()
with mock.patch.object(objects.Node, 'get_by_uuid') as mock_get_node:
mock_get_node.return_value = self.node
manager.attach_mock(mock_get_node, 'get_by_uuid')
- manager.attach_mock(self.mock_update_node, 'update_node')
manager.attach_mock(self.mock_cnps, 'change_node_power_state')
expected = [mock.call.get_by_uuid(mock.ANY, self.node['uuid']),
- mock.call.update_node(mock.ANY, mock.ANY),
mock.call.change_node_power_state(mock.ANY, mock.ANY,
- mock.ANY),
- mock.call.get_by_uuid(mock.ANY, self.node['uuid'])]
+ mock.ANY)]
self.put_json('/nodes/%s/state/power' % self.node['uuid'],
{'target': states.POWER_ON})
- self.assertRaises(webtest.app.AppError, self.put_json,
- '/nodes/%s/state/power' % self.node['uuid'],
- {'target': states.POWER_ON})
-
self.assertEqual(manager.mock_calls, expected)
- # check status code
self.dbapi.update_node(self.node['uuid'],
{'target_power_state': 'fake'})
+ self.assertRaises(webtest.app.AppError, self.put_json,
+ '/nodes/%s/state/power' % self.node['uuid'],
+ {'target': states.POWER_ON})
response = self.put_json('/nodes/%s/state/power' % self.node['uuid'],
{'target': states.POWER_ON},
expect_errors=True)
diff --git a/ironic/tests/conductor/test_manager.py b/ironic/tests/conductor/test_manager.py
index da3a0d9e9..490040e6d 100644
--- a/ironic/tests/conductor/test_manager.py
+++ b/ironic/tests/conductor/test_manager.py
@@ -181,12 +181,13 @@ class ManagerTestCase(base.DbTestCase):
self.assertEqual(res['driver'], existing_driver)
def test_change_node_power_state_power_on(self):
- """Test if start_power_state to turn node power on
+ """Test if change_node_power_state to turn node power on
is successful or not.
"""
ndict = utils.get_test_node(driver='fake',
power_state=states.POWER_OFF)
node = self.dbapi.create_node(ndict)
+ node = objects.Node.get_by_uuid(self.context, node['uuid'])
with mock.patch.object(self.driver.power, 'get_power_state') \
as get_power_mock:
@@ -194,18 +195,20 @@ class ManagerTestCase(base.DbTestCase):
self.service.change_node_power_state(self.context,
node, states.POWER_ON)
-
- get_power_mock.assert_called_once_with(mock.ANY, node)
+ node.refresh()
+ get_power_mock.assert_called_once_with(mock.ANY, mock.ANY)
self.assertEqual(node['power_state'], states.POWER_ON)
self.assertEqual(node['target_power_state'], None)
+ self.assertEqual(node['last_error'], None)
def test_change_node_power_state_power_off(self):
- """Test if start_power_state to turn node power off
+ """Test if change_node_power_state to turn node power off
is successful or not.
"""
ndict = utils.get_test_node(driver='fake',
power_state=states.POWER_ON)
node = self.dbapi.create_node(ndict)
+ node = objects.Node.get_by_uuid(self.context, node['uuid'])
with mock.patch.object(self.driver.power, 'get_power_state') \
as get_power_mock:
@@ -213,10 +216,43 @@ class ManagerTestCase(base.DbTestCase):
self.service.change_node_power_state(self.context, node,
states.POWER_OFF)
+ node.refresh()
+ get_power_mock.assert_called_once_with(mock.ANY, mock.ANY)
+ self.assertEqual(node['power_state'], states.POWER_OFF)
+ self.assertEqual(node['target_power_state'], None)
+ self.assertEqual(node['last_error'], None)
+
+ def test_change_node_power_state_to_invalid_state(self):
+ """Test if an exception is thrown when changing to an invalid
+ power state.
+ """
+ ndict = utils.get_test_node(driver='fake',
+ power_state=states.POWER_ON)
+ node = self.dbapi.create_node(ndict)
+ node = objects.Node.get_by_uuid(self.context, node['uuid'])
+
+ with mock.patch.object(self.driver.power, 'get_power_state') \
+ as get_power_mock:
+ get_power_mock.return_value = states.POWER_ON
+
+ self.assertRaises(exception.InvalidParameterValue,
+ self.service.change_node_power_state,
+ self.context,
+ node,
+ "POWER")
+ node.refresh()
+ get_power_mock.assert_called_once_with(mock.ANY, mock.ANY)
+ self.assertEqual(node['power_state'], states.POWER_ON)
+ self.assertEqual(node['target_power_state'], None)
+ self.assertNotEqual(node['last_error'], None)
- get_power_mock.assert_called_once_with(mock.ANY, node)
+ # last_error is cleared when a new transaction happens
+ self.service.change_node_power_state(self.context, node,
+ states.POWER_OFF)
+ node.refresh()
self.assertEqual(node['power_state'], states.POWER_OFF)
self.assertEqual(node['target_power_state'], None)
+ self.assertEqual(node['last_error'], None)
def test_change_node_power_state_already_locked(self):
"""Test if an exception is thrown when applying an exclusive
@@ -225,6 +261,7 @@ class ManagerTestCase(base.DbTestCase):
ndict = utils.get_test_node(driver='fake',
power_state=states.POWER_ON)
node = self.dbapi.create_node(ndict)
+ node = objects.Node.get_by_uuid(self.context, node['uuid'])
# check if the node is locked
with task_manager.acquire(self.context, node['id'], shared=False):
@@ -233,33 +270,65 @@ class ManagerTestCase(base.DbTestCase):
self.context,
node,
states.POWER_ON)
-
- def test_change_node_power_state_invalid_state(self):
- """Test if an NodeInWrongPowerState exception is thrown
- when the node is in an invalid state to perform current operation.
+ node.refresh()
+ self.assertEqual(node['power_state'], states.POWER_ON)
+ self.assertEqual(node['target_power_state'], None)
+ self.assertEqual(node['last_error'], None)
+
+ def test_change_node_power_state_already_being_processed(self):
+ """The target_power_state is expected to be None so it isn't
+ checked in the code. This is what happens if it is not None.
+ (Eg, if a conductor had died during a previous power-off
+ attempt and left the target_power_state set to states.POWER_OFF,
+ and the user is attempting to power-off again.)
"""
ndict = utils.get_test_node(driver='fake',
+ power_state=states.POWER_ON,
+ target_power_state=states.POWER_OFF)
+ node = self.dbapi.create_node(ndict)
+ node = objects.Node.get_by_uuid(self.context, node['uuid'])
+
+ self.service.change_node_power_state(self.context, node,
+ states.POWER_OFF)
+ node.refresh()
+ self.assertEqual(node['power_state'], states.POWER_OFF)
+ self.assertEqual(node['target_power_state'], states.NOSTATE)
+ self.assertEqual(node['last_error'], None)
+
+ def test_change_node_power_state_in_same_state(self):
+ """Test that we don't try to set the power state if the requested
+ state is the same as the current state.
+ """
+ ndict = utils.get_test_node(driver='fake',
+ last_error='anything but None',
power_state=states.POWER_ON)
node = self.dbapi.create_node(ndict)
+ node = objects.Node.get_by_uuid(self.context, node['uuid'])
with mock.patch.object(self.driver.power, 'get_power_state') \
as get_power_mock:
get_power_mock.return_value = states.POWER_ON
+ with mock.patch.object(self.driver.power, 'set_power_state') \
+ as set_power_mock:
+ set_power_mock.side_effect = exception.IronicException()
- self.assertRaises(exception.NodeInWrongPowerState,
- self.service.change_node_power_state,
- self.context,
- node,
- states.POWER_ON)
- get_power_mock.assert_called_once_with(mock.ANY, node)
+ self.service.change_node_power_state(self.context, node,
+ states.POWER_ON)
+ node.refresh()
+ get_power_mock.assert_called_once_with(mock.ANY, mock.ANY)
+ self.assertFalse(set_power_mock.called)
+ self.assertEqual(node['power_state'], states.POWER_ON)
+ self.assertEqual(node['target_power_state'], None)
+ self.assertEqual(node['last_error'], None)
def test_change_node_power_state_invalid_driver_info(self):
- """Test if an exception is thrown when the driver validation is
- failed.
+ """Test if an exception is thrown when the driver validation
+ fails.
"""
ndict = utils.get_test_node(driver='fake',
power_state=states.POWER_ON)
node = self.dbapi.create_node(ndict)
+ node = objects.Node.get_by_uuid(self.context, node['uuid'])
with mock.patch.object(self.driver.power, 'validate') \
as validate_mock:
@@ -271,34 +340,40 @@ class ManagerTestCase(base.DbTestCase):
self.context,
node,
states.POWER_ON)
- validate_mock.assert_called_once_with(node)
+ node.refresh()
+ validate_mock.assert_called_once_with(mock.ANY)
+ self.assertEqual(node['power_state'], states.POWER_ON)
+ self.assertEqual(node['target_power_state'], None)
+ self.assertNotEqual(node['last_error'], None)
def test_change_node_power_state_set_power_failure(self):
- """Test if an exception is thrown when the set_power call is
- failed.
+ """Test if an exception is thrown when the set_power call
+ fails.
"""
- class TestException(Exception):
- pass
-
ndict = utils.get_test_node(driver='fake',
power_state=states.POWER_OFF)
node = self.dbapi.create_node(ndict)
+ node = objects.Node.get_by_uuid(self.context, node['uuid'])
with mock.patch.object(self.driver.power, 'get_power_state') \
as get_power_mock:
with mock.patch.object(self.driver.power, 'set_power_state') \
as set_power_mock:
get_power_mock.return_value = states.POWER_OFF
- set_power_mock.side_effect = TestException()
+ set_power_mock.side_effect = exception.IronicException()
- self.assertRaises(TestException,
+ self.assertRaises(exception.IronicException,
self.service.change_node_power_state,
self.context,
node,
states.POWER_ON)
- get_power_mock.assert_called_once_with(mock.ANY, node)
- set_power_mock.assert_called_once_with(mock.ANY, node,
+ node.refresh()
+ get_power_mock.assert_called_once_with(mock.ANY, mock.ANY)
+ set_power_mock.assert_called_once_with(mock.ANY, mock.ANY,
states.POWER_ON)
+ self.assertEqual(node['power_state'], states.POWER_OFF)
+ self.assertEqual(node['target_power_state'], None)
+ self.assertNotEqual(node['last_error'], None)
def test_vendor_action(self):
n = utils.get_test_node(driver='fake')
diff --git a/ironic/tests/db/sqlalchemy/test_migrations.py b/ironic/tests/db/sqlalchemy/test_migrations.py
index 66b396c77..54fb3b14f 100644
--- a/ironic/tests/db/sqlalchemy/test_migrations.py
+++ b/ironic/tests/db/sqlalchemy/test_migrations.py
@@ -709,3 +709,22 @@ class TestMigrations(BaseMigrationTestCase, WalkVersionsMixin):
conductor.insert().execute,
{'hostname': None})
# FIXME: add check for postgres
+
+ def _pre_upgrade_013(self, engine):
+ nodes = db_utils.get_table(engine, 'nodes')
+ col_names = set(column.name for column in nodes.c)
+
+ self.assertFalse('last_error' in col_names)
+ return col_names
+
+ def _check_013(self, engine, col_names_pre):
+ nodes = db_utils.get_table(engine, 'nodes')
+ col_names = set(column.name for column in nodes.c)
+
+ # didn't lose any columns in the migration
+ self.assertEqual(col_names_pre, col_names.intersection(col_names_pre))
+
+ # only added one 'last_error' column
+ self.assertEqual(len(col_names_pre), len(col_names) - 1)
+ self.assertTrue(isinstance(nodes.c['last_error'].type,
+ getattr(sqlalchemy.types, 'Text')))
diff --git a/ironic/tests/db/test_nodes.py b/ironic/tests/db/test_nodes.py
index 378ebd13e..d655104dd 100644
--- a/ironic/tests/db/test_nodes.py
+++ b/ironic/tests/db/test_nodes.py
@@ -85,11 +85,12 @@ class DbNodeTestCase(base.DbTestCase):
self.assertEqual(n['id'], nodes[0]['id'])
def test_get_nodes_by_chassis_that_does_not_exist(self):
- nodes = self.dbapi.get_nodes_by_chassis(33)
- self.assertEqual(0, len(nodes))
-
- nodes = self.dbapi.get_nodes_by_chassis("1231231-123123-123123")
- self.assertEqual(0, len(nodes))
+ self.assertRaises(exception.ChassisNotFound,
+ self.dbapi.get_nodes_by_chassis,
+ 33)
+ self.assertRaises(exception.ChassisNotFound,
+ self.dbapi.get_nodes_by_chassis,
+ '12345678-9999-0000-aaaa-123456789012')
def test_get_node_by_id(self):
n = self._create_test_node()
diff --git a/ironic/tests/db/test_ports.py b/ironic/tests/db/test_ports.py
index e440bb3ba..206ebfe6f 100644
--- a/ironic/tests/db/test_ports.py
+++ b/ironic/tests/db/test_ports.py
@@ -84,12 +84,12 @@ class DbPortTestCase(base.DbTestCase):
def test_get_ports_by_node_that_does_not_exist(self):
self.dbapi.create_port(self.p)
- res = self.dbapi.get_ports_by_node(99)
- self.assertEqual(0, len(res))
-
- res = self.dbapi.get_ports_by_node(
- '12345678-9999-0000-aaaa-123456789012')
- self.assertEqual(0, len(res))
+ self.assertRaises(exception.NodeNotFound,
+ self.dbapi.get_ports_by_node,
+ 99)
+ self.assertRaises(exception.NodeNotFound,
+ self.dbapi.get_ports_by_node,
+ '12345678-9999-0000-aaaa-123456789012')
def test_destroy_port(self):
self.dbapi.create_port(self.p)
diff --git a/ironic/tests/db/utils.py b/ironic/tests/db/utils.py
index 4ef89b07e..53cf949b5 100644
--- a/ironic/tests/db/utils.py
+++ b/ironic/tests/db/utils.py
@@ -72,6 +72,7 @@ def get_test_node(**kw):
'provision_state': kw.get('provision_state', states.NOSTATE),
'target_provision_state': kw.get('target_provision_state',
states.NOSTATE),
+ 'last_error': kw.get('last_error', None),
'instance_uuid': kw.get('instance_uuid', None),
'driver': kw.get('driver', 'fake'),
'driver_info': kw.get('driver_info', fake_info),
diff --git a/ironic/tests/drivers/test_fake.py b/ironic/tests/drivers/test_fake.py
index 272cd792b..447b81d36 100644
--- a/ironic/tests/drivers/test_fake.py
+++ b/ironic/tests/drivers/test_fake.py
@@ -44,7 +44,10 @@ class FakeDriverTestCase(base.TestCase):
def test_power_interface(self):
self.driver.power.validate(self.node)
self.driver.power.get_power_state(None, self.node)
- self.driver.power.set_power_state(None, None, states.NOSTATE)
+ self.assertRaises(exception.InvalidParameterValue,
+ self.driver.power.set_power_state,
+ None, None, states.NOSTATE)
+ self.driver.power.set_power_state(None, None, states.POWER_ON)
self.driver.power.reboot(None, None)
def test_deploy_interface(self):