I've recreated the same issue as Noel with the proposed code under review ( https://review.openstack.org/#/c/102514).
Nate On Wed, Jun 25, 2014 at 1:45 PM, Noel Burton-Krahn <n...@pistoncloud.com> wrote: > Thanks, Roman. That fix did get past the sa_instance_state problem, but > I bumped into something new. It looks like floating_ip_update() doesn't > like the SA fixed ip that's fetched here: > > + updates['fixed_ip'] = db.fixed_ip_get(context, id_) > > I'm not sure what "A conflicting state is already present in the identity > map" means. Is there another way to fetch the fixed ip? > > Traceback: > > Jun 25 17:30:21 10.35.0.14 nova-network 2014-06-25 17:30:21.764 4992 ERROR > oslo.messaging.rpc.dispatcher [-] Exception during message handling: A > conflicting state is already present in the identity map for key (<class > 'nova.db.sqlalchemy.models.FixedIp'>, (3L,)) > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher Traceback > (most recent call last): > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line > 133, in _dispatch_and_reply > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line > 176, in _dispatch > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line > 122, in _do_dispatch > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/nova/network/floating_ips.py", line > 575, in migrate_instance_start > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/nova/objects/base.py", line 151, in > wrapper > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/nova/objects/floating_ip.py", line 135, > in save > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/nova/db/api.py", line 386, in > floating_ip_update > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/nova/db/sqlalchemy/api.py", line 164, > in wrapper > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/nova/db/sqlalchemy/api.py", line 1024, > in floating_ip_update > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/nova/openstack/common/db/sqlalchemy/models.py", > line 88, in update > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line > 220, in __set__ > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line > 780, in set > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line > 801, in fire_replace_event > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 87, > in set_ > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 1490, > in _save_or_update_state > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 1746, > in _save_or_update_impl > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 1739, > in _update_impl > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/identity.py", line 119, > in add > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher > AssertionError: A conflicting state is already present in the identity map > for key (<class 'nova.db.sqlalchemy.models.FixedIp'>, (3L,)) > 2014-06-25 17:30:21.764 4992 TRACE oslo.messaging.rpc.dispatcher > Jun 25 17:30:21 10.35.0.14 nova-network 2014-06-25 17:30:21.765 4992 ERROR > oslo.messaging._drivers.common [-] Returning exception A conflicting state > is already present in the identity map for key (<class > 'nova.db.sqlalchemy.models.FixedIp'>, (3L,)) to caller > Jun 25 17:30:21 10.35.0.14 nova-network 2014-06-25 17:30:21.766 4992 ERROR > oslo.messaging._drivers.common [-] ['Traceback (most recent call last):\n', > ' File > "/usr/lib64/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line > 133, in _dispatch_and_reply\n', ' File > "/usr/lib64/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line > 176, in _dispatch\n', ' File > "/usr/lib64/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line > 122, in _do_dispatch\n', ' File > "/usr/lib64/python2.7/site-packages/nova/network/floating_ips.py", line > 575, in migrate_instance_start\n', ' File > "/usr/lib64/python2.7/site-packages/nova/objects/base.py", line 151, in > wrapper\n', ' File > "/usr/lib64/python2.7/site-packages/nova/objects/floating_ip.py", line 135, > in save\n', ' File "/usr/lib64/python2.7/site-packages/nova/db/api.py", > line 386, in floating_ip_update\n', ' File > "/usr/lib64/python2.7/site-packages/nova/db/sqlalchemy/api.py", line 164, > in wrapper\n', ' File > "/usr/lib64/python2.7/site-packages/nova/db/sqlalchemy/api.py", line 1024, > in floating_ip_update\n', ' File > "/usr/lib64/python2.7/site-packages/nova/openstack/common/db/sqlalchemy/models.py", > line 88, in update\n', ' File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line > 220, in __set__\n', ' File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line > 780, in set\n', ' File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/attributes.py", line > 801, in fire_replace_event\n', ' File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 87, > in set_\n', ' File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 1490, > in _save_or_update_state\n', ' File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 1746, > in _save_or_update_impl\n', ' File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 1739, > in _update_impl\n', ' File > "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/identity.py", line 119, > in add\n', "AssertionError: A conflicting state is already present in the > identity map for key (<class 'nova.db.sqlalchemy.models.FixedIp'>, > (3L,))\n"] > Jun 25 17:30:21 10.35.0.14 nova-network.log: > /usr/lib64/python2.7/site-packages/amqp/channel.py:616: > VDeprecationWarning: The auto_delete flag for exchanges has been deprecated > and will be removed > Jun 25 17:30:21 10.35.0.14 nova-network.log: from py-amqp v1.5.0. > Jun 25 17:30:21 10.35.0.14 nova-network.log: > /usr/lib64/python2.7/site-packages/amqp/channel.py:616: > VDeprecationWarning: The auto_delete flag for exchanges has been deprecated > and will be removed > Jun 25 17:30:21 10.35.0.14 nova-network.log: from py-amqp v1.5.0. > > > > On Wed, Jun 25, 2014 at 5:48 AM, Roman Podoliaka <rpodoly...@mirantis.com> > wrote: > >> Hi all, >> >> I believe this should be fixed by https://review.openstack.org/#/c/102514 >> >> Thanks, >> Roman >> >> On Wed, Jun 25, 2014 at 9:39 AM, Noel Burton-Krahn <n...@pistoncloud.com> >> wrote: >> > Thanks a lot for the quick reply, Dan. It's good to know that _context >> is >> > expected to be a RequestContext. We do have some changes to nova, >> although >> > none are obviously in this area. I'll look there and file a bug if >> this is >> > from pure nova. >> > >> > -- >> > Noel >> > >> > >> > >> > On Tue, Jun 24, 2014 at 3:33 PM, Dan Smith <dansm...@redhat.com> wrote: >> >> >> >> -----BEGIN PGP SIGNED MESSAGE----- >> >> Hash: SHA1 >> >> >> >> >> >> > floating_ip.save() Exception during message handling: 'FixedIP' >> >> > object has no attribute '_sa_instance_state' >> >> > >> >> > >> >> > The floating_ip object's context did appears to be a >> >> > RequestContext object, not a SQLAlchemy object >> >> >> >> I think you're confusing NovaObjects with SA objects. A NovaObject's >> >> _context *should* be a RequestContext. >> >> >> >> >> >> > floating_ip.__dict__={'_address': IPAddress('10.35.4.6'), >> >> > '_interface': u'public', '_updated_at': datetime.datetime(2014, 6, >> >> > 24, 20, 38, 28, tzinfo=<iso8601.iso8601.Utc object at >> >> > 0x7f97cad18e10>), '_context': <nova.context.RequestContext object >> >> > at 0x7f97cac4acd0>, '_auto_assigned': False, '_pool': u'nova', >> >> > '_deleted_at': None, '_deleted': False, '_created_at': >> >> > datetime.datetime(2014, 6, 24, 16, 14, 50, >> >> > tzinfo=<iso8601.iso8601.Utc object at 0x7f97cad18dd0>), >> >> > '_fixed_ip_id': 10, '_host': u'10.35.0.15', '_changed_fields': >> >> > set([]), '_id': 6, '_project_id': >> >> > '96164da78025487daf0b7a20cb338939'} >> >> >> >> This is a NovaObject, but the reference to "_sa_instance_state" is a >> >> SQLAlchemy thing, AFAIK. The commit of mine you reference is about >> >> converting the use of some SA objects and bare dicts to NovaObjects. >> >> If your object looks like the above, but you're getting the above >> >> message about _sa_instance_state, the something is very (very) >> confused. >> >> >> >> >> >> > I'm still working through why >> >> > floating_ip_obj.FloatingIP.get_by_address() may return an object >> >> > that doesn't work. >> >> > >> >> > Dan, does this ring any bells? >> >> >> >> This looks highly fishy. Is the code modified in any way? If not, file >> >> a bug with all these details please. >> >> >> >> - --Dan >> >> -----BEGIN PGP SIGNATURE----- >> >> Version: GnuPG v1 >> >> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ >> >> >> >> iQEcBAEBAgAGBQJTqfy0AAoJEBeZxaMESjNVrakIANBBYbr+EOHTv8fPYE/Gb4jo >> >> zoNKuixNZFEJk19qTY2Fdk4OsKw1qq1aJ+kXH/G9WZEQQjNwkrbOhyb2gTEk4rF/ >> >> HQEKRoHVMAa3cOtwzCRsyYVQ/Q0MdNJFug+CYPcGHQYT1en+c8kdVhLAfnXD/pBu >> >> XO9l2elQr4uBq2fmkG0Biet35qqb62g5p6o1haxhzLWM83X+9yTwTalyqcdCmgKz >> >> Uzy1V2A9pYxpiPyPC1R3y6onq8R9HlLrGH1SMtPgDNyno+HsWrokbLvgWKJr0tfU >> >> asAfamRkS92BkeyCx4SoCcIho+NIq7ySILRhDx2ojGtIKjelI6KYAcqQQoKHcT0= >> >> =qvTt >> >> -----END PGP SIGNATURE----- >> > >> > >> > >> > _______________________________________________ >> > Mailing list: >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack >> > Post to : openstack@lists.openstack.org >> > Unsubscribe : >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack >> > >> >> _______________________________________________ >> Mailing list: >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack >> Post to : openstack@lists.openstack.org >> Unsubscribe : >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack >> > > > _______________________________________________ > Mailing list: > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack > Post to : openstack@lists.openstack.org > Unsubscribe : > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack > >
_______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack