OpenStack Juno发布Nova错误:RemoteError:远程错误:OperationalError(OperationalError)(1048,“Column'instore_uuid'不能为null”)

时间:2014-12-26 05:41:57

标签: ubuntu openstack-nova

ENV:

  • 节点1:控制器,运行控制器服务,Mysql,RabbitMQ
  • 节点2:compute1,运行nova_compute
  • 节点3:网络,运行neutron_server
  • 节点4:block1,运行cinder-volume

复制程序:

卷创建有效。在仪表板或Nova Cli中启动实例时,计算节点上的文件“/usr/lib/python2.7/dist-packages/nova/compute/manager.py”中的instance.save()函数抛出了异常,第2273行。以下是带有debug = true的nova-compute日志文件中的跟踪:

**RemoteError: Remote error: OperationalError (OperationalError) (1048, "Column 'instance_uuid' cannot be null") 'UPDATE instance_extra SET updated_at=%s, instance_uuid=%s WHERE instance_extra.id = %s' (datetime.datetime(2014, 12, 25, 11, 11, 36, 186194), None, 13L)**

19:11:36.105 20544 TRACE oslo.messaging.rpc.dispatcher [u'Traceback (most recent call last):\n', u'  
File "/usr/lib/python2.7/dist-packages/nova/conductor/manager.py", line 400, in _object_dispatch\n    return getattr(target, method)(context, *args, **kwargs)\n', u'  
File "/usr/lib/python2.7/dist-packages/nova/objects/base.py", line 204, in wrapper\n    return fn(self, ctxt, *args, **kwargs)\n', u'  
File "/usr/lib/python2.7/dist-packages/nova/objects/instance.py", line 500, in save\n    columns_to_join=_expected_cols(expected_attrs))\n', u'  
File "/usr/lib/python2.7/dist-packages/nova/db/api.py", line 746, in instance_update_and_get_original\n    columns_to_join=columns_to_join)\n', u'  
File "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 143, in wrapper\n    return f(*args, **kwargs)\n', u'  
File "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 2289, in instance_update_and_get_original\n    columns_to_join=columns_to_join)\n', u'  
File "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 2380, in _instance_update\n    session.add(instance_ref)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 470, in __exit__\n    self.rollback()\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__\n    compat.reraise(exc_type, exc_value, exc_tb)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 467, in __exit__\n    self.commit()\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 377, in commit\n    self._prepare_impl()\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 357, in _prepare_impl\n    self.session.flush()\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1919, in flush\n    self._flush(objects)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2037, in _flush\n    transaction.rollback(_capture_exception=True)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__\n    compat.reraise(exc_type, exc_value, exc_tb)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2001, in _flush\n    flush_context.execute()\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 372, in execute\n    rec.execute(self)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 526, in execute\n    uow\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 60, in save_obj\n    mapper, table, update)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 518, in _emit_update_statements\n    execute(statement, params)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 729, in execute\n    return meth(self, multiparams, params)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 321, in _execute_on_connection\n    return connection._execute_clauseelement(self, multiparams, params)\n', u'  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 826, in _execute_clauseelement\n    compiled_sql, distilled_params\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 958, in _execute_context\n    context)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1156, in _handle_dbapi_exception\n    util.raise_from_cause(newraise, exc_info)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause\n    reraise(type(exception), exception, tb=exc_tb)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 951, in _execute_context\n    context)\n', u'  
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 436, in do_execute\n    cursor.execute(statement, parameters)\n', u'  
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute\n    self.errorhandler(self, exc, value)\n', u'  
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler\n    raise errorclass, errorvalue\n', u'OperationalError: (OperationalError) (1048, "Column \'instance_uuid\' cannot be null") \'UPDATE instance_extra SET updated_at=%s, instance_uuid=%s WHERE instance_extra.id = %s\' (datetime.datetime(2014, 12, 25, 11, 11, 36, 186194), None, 13L)\n'].

在对此代码行进行注释后,操作可以向前移动,但在调用位置的其他instance.save()中也会发生类似的问题。

谢谢。

0 个答案:

没有答案