[openstack-dev] [Neutron] Fix to agents race condition creates another issue
Edgar Magana
emagana at plumgrid.com
Thu Dec 12 09:13:40 UTC 2013
Ok, I just did it.
https://bugs.launchpad.net/neutron/+bug/1260232
It seems that Yong found the same problem for ML2:
https://bugs.launchpad.net/bugs/1260224
I am just wondering, how come we did not catch this with ML2 when we are
claiming that it is our default plugin.
Edgar
On Wed, Dec 11, 2013 at 10:38 PM, Eugene Nikanorov
<enikanorov at mirantis.com>wrote:
> Hi, Edgar,
>
> Please file a bug on this. Obviously this was introduced by that commit.
>
> Thanks,
> Eugene.
>
>
> On Thu, Dec 12, 2013 at 7:45 AM, Edgar Magana <emagana at plumgrid.com>wrote:
>
>> In commit:
>> https://review.openstack.org/#/c/58814/
>>
>> There is an assumption that all "plugins" creates the
>> plumgrid_neutron.agents which is not the case. I just tested big switch and
>> plumgrid and they are failing:
>>
>> INFO [alembic.migration] Running upgrade havana -> e197124d4b9, add
>> unique constraint to members
>> INFO [alembic.migration] Running upgrade e197124d4b9 -> 1fcfc149aca4,
>> Add a unique constraint on (agent_type, host) columns to prevent a race
>> condition when an agent entry is 'upserted'.
>> Traceback (most recent call last):
>> File "/usr/local/bin/neutron-db-manage", line 10, in <module>
>> sys.exit(main())
>> File "/opt/stack/neutron/neutron/db/migration/cli.py", line 143, in main
>> CONF.command.func(config, CONF.command.name)
>> File "/opt/stack/neutron/neutron/db/migration/cli.py", line 80, in
>> do_upgrade_downgrade
>> do_alembic_command(config, cmd, revision, sql=CONF.command.sql)
>> File "/opt/stack/neutron/neutron/db/migration/cli.py", line 59, in
>> do_alembic_command
>> getattr(alembic_command, cmd)(config, *args, **kwargs)
>> File "/usr/local/lib/python2.7/dist-packages/alembic/command.py", line
>> 124, in upgrade
>> script.run_env()
>> File "/usr/local/lib/python2.7/dist-packages/alembic/script.py", line
>> 193, in run_env
>> util.load_python_file(self.dir, 'env.py')
>> File "/usr/local/lib/python2.7/dist-packages/alembic/util.py", line
>> 177, in load_python_file
>> module = load_module(module_id, path)
>> File "/usr/local/lib/python2.7/dist-packages/alembic/compat.py", line
>> 39, in load_module
>> return imp.load_source(module_id, path, fp)
>> File
>> "/opt/stack/neutron/neutron/db/migration/alembic_migrations/env.py", line
>> 105, in <module>
>> run_migrations_online()
>> File
>> "/opt/stack/neutron/neutron/db/migration/alembic_migrations/env.py", line
>> 89, in run_migrations_online
>> options=build_options())
>> File "<string>", line 7, in run_migrations
>> File "/usr/local/lib/python2.7/dist-packages/alembic/environment.py",
>> line 652, in run_migrations
>> self.get_context().run_migrations(**kw)
>> File "/usr/local/lib/python2.7/dist-packages/alembic/migration.py",
>> line 224, in run_migrations
>> change(**kw)
>> File
>> "/opt/stack/neutron/neutron/db/migration/alembic_migrations/versions/1fcfc149aca4_agents_unique_by_type_and_host.py",
>> line 50, in upgrade
>> local_cols=['agent_type', 'host']
>> File "<string>", line 7, in create_unique_constraint
>> File "/usr/local/lib/python2.7/dist-packages/alembic/operations.py",
>> line 539, in create_unique_constraint
>> schema=schema, **kw)
>> File "/usr/local/lib/python2.7/dist-packages/alembic/ddl/impl.py", line
>> 135, in add_constraint
>> self._exec(schema.AddConstraint(const))
>> File "/usr/local/lib/python2.7/dist-packages/alembic/ddl/impl.py", line
>> 76, in _exec
>> conn.execute(construct, *multiparams, **params)
>> File
>> "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
>> 1449, in execute
>> params)
>> File
>> "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
>> 1542, in _execute_ddl
>> compiled
>> File
>> "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
>> 1698, in _execute_context
>> context)
>> File
>> "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line
>> 1691, in _execute_context
>> context)
>> File
>> "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line
>> 331, in do_execute
>> cursor.execute(statement, parameters)
>> File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174,
>> in execute
>> self.errorhandler(self, exc, value)
>> File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line
>> 36, in defaulterrorhandler
>> raise errorclass, errorvalue
>> sqlalchemy.exc.ProgrammingError: (ProgrammingError) (1146, "Table
>> 'plumgrid_neutron.agents' doesn't exist") 'ALTER TABLE agents ADD
>> CONSTRAINT uniq_agents0agent_type0host UNIQUE (agent_type, host)' ()
>> ++ failed
>> ++ local r=1
>> +++ jobs -p
>> ++ kill
>> ++ set +o xtrace
>>
>>
>>
>> Is this known issues? If not, let me know and I can properly reported.
>>
>> Thanks,
>>
>> Edgar
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131212/dc07b591/attachment.html>
More information about the OpenStack-dev
mailing list