Routes version 2.3 broke the way we register routes

Bug #1563028 reported by Amrith Kumar
30
This bug affects 4 people
Affects Status Importance Assigned to Milestone
OpenStack DBaaS (Trove)
Fix Released
Critical
Amrith Kumar
neutron
Fix Released
High
Cedric Brandily
Kilo
New
Undecided
Unassigned

Bug Description

Routes v2.3 which just came out included this change

https://github.com/bbangert/routes/commit/0a417004be7e2d950bdcd629ccf24cf9f56ef817

which changed submap.connect() in a way that broke the way Trove registers routes.

We now need to provide a routename and a path as independent arguments.

I tried to make sense of the documentation at http://routes.readthedocs.org/en/v2.3/setting_up.html#submappers and got nowhere in a hurry, but reading the code for connect() provided a possible solution.

This will likely need to go to stable/mitaka as well.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to trove (master)

Fix proposed to branch: master
Review: https://review.openstack.org/298419

Changed in trove:
status: New → In Progress
Revision history for this message
Tony Breeds (o-tony) wrote :

Duplicate of: https://bugs.launchpad.net/neutron/+bug/1563157 Not actually hotting the duplicate link so we don't loose context

Revision history for this message
Henry Gessau (gessau) wrote :

Just noting that upperconstraints is still at Routes==2.2 and hopefully it will stay there until all affected projects and backports are fixed.

Changed in neutron:
importance: Undecided → High
Changed in neutron:
assignee: nobody → Cedric Brandily (cbrandily)
Henry Gessau (gessau)
tags: added: liberty-backport-potential mitaka-backport-potential
Revision history for this message
Cedric Brandily (cbrandily) wrote :
Changed in neutron:
status: New → Confirmed
Henry Gessau (gessau)
tags: added: kilo-backport-potential
Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote :

Can someone please try this:
https://github.com/bbangert/routes/pull/65

Thanks,
Dims

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/298855

Changed in neutron:
status: Confirmed → In Progress
Revision history for this message
Cedric Brandily (cbrandily) wrote :

Dims, https://github.com/bbangert/routes/pull/65 seems to address the trouble (using neutron code)

Revision history for this message
Henry Gessau (gessau) wrote :

Should we add "!=2.3" to Routes in global requirements?

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to trove (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/298984

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/298855
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=c6efa6292cac9267428366dc3cee00f6fc73e208
Submitter: Jenkins
Branch: master

commit c6efa6292cac9267428366dc3cee00f6fc73e208
Author: Cedric Brandily <email address hidden>
Date: Tue Mar 29 18:06:44 2016 +0200

    Support Routes==2.3

    SubMapper.connect allows in Routes<=2.2 to define routes with/without a
    name:

     map.connect(route_name, route_path)
     map.connect(route_path)

    Routes==2.3 SubMapper.connect now requires a route name (but not
    Mapper.connect). This change adds a route name when needed to support
    Routes<=2.2 and Routes==2.3.

    Closes-Bug: #1563028
    Change-Id: I655bfe7f047945896d63dd94c584acfe60d81b38

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/299227

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/299241

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/299242

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to trove (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/299287

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to trove (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/299288

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to trove (master)

Reviewed: https://review.openstack.org/298419
Committed: https://git.openstack.org/cgit/openstack/trove/commit/?id=6664fb27af2218c411230f91b8e23e72845cbf2a
Submitter: Jenkins
Branch: master

commit 6664fb27af2218c411230f91b8e23e72845cbf2a
Author: Amrith Kumar <email address hidden>
Date: Mon Mar 28 16:10:53 2016 -0400

    Address change in Route v2.3

    Routes v2.3 which just came out included a change (see the LP bug
    referenced below) that caused py27 to fail.

    At issue is that Routes<2.3 allowed both

        submapper.connect(route_name, route_path), and
        submapper.connect(route_path).

    In 2.3, you were required to provide both route_name and
    route_path. This change adds a route_name to support both Routes < 2.3
    and Routes == 2.3.

    Change-Id: I8738d4dcac2cc37b727767ba614fab4339758e22
    Closes-Bug: 1563028

Changed in trove:
status: In Progress → Fix Released
Revision history for this message
Matt Riedemann (mriedem) wrote :
Download full text (4.1 KiB)

Example of this failure:

http://logs.openstack.org/periodic-stable/periodic-trove-python27-db-liberty/595efcf/console.html#_2016-03-30_06_06_50_505

2016-03-30 06:06:50.457 | Traceback (most recent call last):
2016-03-30 06:06:50.457 | File "run_tests.py", line 233, in main
2016-03-30 06:06:50.457 | app = initialize_trove(config_file)
2016-03-30 06:06:50.458 | File "run_tests.py", line 76, in initialize_trove
2016-03-30 06:06:50.458 | return pastedeploy.paste_deploy_app(config_file, 'trove', {})
2016-03-30 06:06:50.500 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/trove/common/pastedeploy.py", line 161, in paste_deploy_app
2016-03-30 06:06:50.501 | return deploy.loadapp("config:%s" % paste_config_file, name=app_name)
2016-03-30 06:06:50.501 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
2016-03-30 06:06:50.501 | return loadobj(APP, uri, name=name, **kw)
2016-03-30 06:06:50.501 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
2016-03-30 06:06:50.501 | return context.create()
2016-03-30 06:06:50.502 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2016-03-30 06:06:50.502 | return self.object_type.invoke(self)
2016-03-30 06:06:50.502 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
2016-03-30 06:06:50.502 | **context.local_conf)
2016-03-30 06:06:50.502 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
2016-03-30 06:06:50.502 | val = callable(*args, **kw)
2016-03-30 06:06:50.503 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/trove/common/wsgi.py", line 58, in versioned_urlmap
2016-03-30 06:06:50.503 | urlmap = paste.urlmap.urlmap_factory(*args, **kwargs)
2016-03-30 06:06:50.503 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/.tox/py27/local/lib/python2.7/site-packages/paste/urlmap.py", line 31, in urlmap_factory
2016-03-30 06:06:50.503 | app = loader.get_app(app_name, global_conf=global_conf)
2016-03-30 06:06:50.503 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app
2016-03-30 06:06:50.503 | name=name, global_conf=global_conf).create()
2016-03-30 06:06:50.504 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
2016-03-30 06:06:50.504 | return self.object_type.invoke(self)
2016-03-30 06:06:50.504 | File "/home/jenkins/workspace/periodic-trove-python27-db-liberty/.tox/py27/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 207, in invoke
2016-03-30 06:06:50...

Read more...

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on trove (stable/kilo)

Change abandoned by Matt Riedemann (<email address hidden>) on branch: stable/kilo
Review: https://review.openstack.org/299288
Reason: This will fix it: https://review.openstack.org/#/c/277056/

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to trove (stable/mitaka)

Reviewed: https://review.openstack.org/298984
Committed: https://git.openstack.org/cgit/openstack/trove/commit/?id=18331be59c9f712532a1b3ec378865a7d37b8fa9
Submitter: Jenkins
Branch: stable/mitaka

commit 18331be59c9f712532a1b3ec378865a7d37b8fa9
Author: Amrith Kumar <email address hidden>
Date: Mon Mar 28 16:10:53 2016 -0400

    Address change in Route v2.3

    Routes v2.3 which just came out included a change (see the LP bug
    referenced below) that caused py27 to fail.

    At issue is that Routes<2.3 allowed both

        submapper.connect(route_name, route_path), and
        submapper.connect(route_path).

    In 2.3, you were required to provide both route_name and
    route_path. This change adds a route_name to support both Routes < 2.3
    and Routes == 2.3.

    Change-Id: I8aa0626960fbf446102452a56369d24420422dac
    Related-Bug: 1563028
    (cherry picked from commit 6664fb27af2218c411230f91b8e23e72845cbf2a)

tags: added: in-stable-mitaka
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to trove (stable/liberty)

Reviewed: https://review.openstack.org/299287
Committed: https://git.openstack.org/cgit/openstack/trove/commit/?id=a571e449178a5b3dbab75129c12175e3aaeb0a09
Submitter: Jenkins
Branch: stable/liberty

commit a571e449178a5b3dbab75129c12175e3aaeb0a09
Author: Amrith Kumar <email address hidden>
Date: Mon Mar 28 16:10:53 2016 -0400

    Address change in Route v2.3

    Routes v2.3 which just came out included a change (see the LP bug
    referenced below) that caused py27 to fail.

    At issue is that Routes<2.3 allowed both

        submapper.connect(route_name, route_path), and
        submapper.connect(route_path).

    In 2.3, you were required to provide both route_name and
    route_path. This change adds a route_name to support both Routes < 2.3
    and Routes == 2.3.

    Change-Id: I8738d4dcac2cc37b727767ba614fab4339758e22
    Closes-Bug: 1563028
    (cherry picked from commit 6664fb27af2218c411230f91b8e23e72845cbf2a)

tags: added: in-stable-liberty
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/mitaka)

Reviewed: https://review.openstack.org/299227
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=3213eb124e40b130e174ac3a91067e2b196788dd
Submitter: Jenkins
Branch: stable/mitaka

commit 3213eb124e40b130e174ac3a91067e2b196788dd
Author: Cedric Brandily <email address hidden>
Date: Tue Mar 29 18:06:44 2016 +0200

    Support Routes==2.3

    SubMapper.connect allows in Routes<=2.2 to define routes with/without a
    name:

     map.connect(route_name, route_path)
     map.connect(route_path)

    Routes==2.3 SubMapper.connect now requires a route name (but not
    Mapper.connect). This change adds a route name when needed to support
    Routes<=2.2 and Routes==2.3.

    Closes-Bug: #1563028
    Change-Id: I655bfe7f047945896d63dd94c584acfe60d81b38
    (cherry picked from commit c6efa6292cac9267428366dc3cee00f6fc73e208)

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/neutron 8.0.0.0rc3

This issue was fixed in the openstack/neutron 8.0.0.0rc3 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/kilo)

Reviewed: https://review.openstack.org/299242
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=19bc45d3454120654db3d641b0690e8d553638d8
Submitter: Jenkins
Branch: stable/kilo

commit 19bc45d3454120654db3d641b0690e8d553638d8
Author: Cedric Brandily <email address hidden>
Date: Tue Mar 29 18:06:44 2016 +0200

    Support Routes==2.3

    SubMapper.connect allows in Routes<=2.2 to define routes with/without a
    name:

     map.connect(route_name, route_path)
     map.connect(route_path)

    Routes==2.3 SubMapper.connect now requires a route name (but not
    Mapper.connect). This change adds a route name when needed to support
    Routes<=2.2 and Routes==2.3.

    Conflicts:
     neutron/api/extensions.py

    Closes-Bug: #1563028
    Change-Id: I655bfe7f047945896d63dd94c584acfe60d81b38
    (cherry picked from commit c6efa6292cac9267428366dc3cee00f6fc73e208)
    (cherry picked from commit 761a1be4251963ec94eab10677489d560b8daa6f)

tags: added: in-stable-kilo
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/liberty)

Reviewed: https://review.openstack.org/299241
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=761a1be4251963ec94eab10677489d560b8daa6f
Submitter: Jenkins
Branch: stable/liberty

commit 761a1be4251963ec94eab10677489d560b8daa6f
Author: Cedric Brandily <email address hidden>
Date: Tue Mar 29 18:06:44 2016 +0200

    Support Routes==2.3

    SubMapper.connect allows in Routes<=2.2 to define routes with/without a
    name:

     map.connect(route_name, route_path)
     map.connect(route_path)

    Routes==2.3 SubMapper.connect now requires a route name (but not
    Mapper.connect). This change adds a route name when needed to support
    Routes<=2.2 and Routes==2.3.

    Conflicts:
     neutron/api/extensions.py

    Closes-Bug: #1563028
    Change-Id: I655bfe7f047945896d63dd94c584acfe60d81b38
    (cherry picked from commit c6efa6292cac9267428366dc3cee00f6fc73e208)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/302570

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to trove (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/302581

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)
Download full text (11.4 KiB)

Reviewed: https://review.openstack.org/302570
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=03ccdd6a6d8e4cea9145e39dd7a1614656024aed
Submitter: Jenkins
Branch: master

commit 3213eb124e40b130e174ac3a91067e2b196788dd
Author: Cedric Brandily <email address hidden>
Date: Tue Mar 29 18:06:44 2016 +0200

    Support Routes==2.3

    SubMapper.connect allows in Routes<=2.2 to define routes with/without a
    name:

     map.connect(route_name, route_path)
     map.connect(route_path)

    Routes==2.3 SubMapper.connect now requires a route name (but not
    Mapper.connect). This change adds a route name when needed to support
    Routes<=2.2 and Routes==2.3.

    Closes-Bug: #1563028
    Change-Id: I655bfe7f047945896d63dd94c584acfe60d81b38
    (cherry picked from commit c6efa6292cac9267428366dc3cee00f6fc73e208)

commit 4283a7e36b74823f229400f0f049742f630db28b
Author: Ihar Hrachyshka <email address hidden>
Date: Wed Mar 30 11:48:37 2016 +0200

    Constraint requirements using mitaka upper-constraints.txt file

    Change-Id: I6a908470987ce05769c425c4623df404cef76a10

commit fc690974480611242d4fc6e1deaaf68171fcaed3
Author: OpenStack Proposal Bot <email address hidden>
Date: Wed Mar 30 06:21:15 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: I78c24969927224277f381532ad2604cfde8741fc

commit 41be555eddb0f9947fdaa4e73fa74a72677d4d11
Author: OpenStack Proposal Bot <email address hidden>
Date: Tue Mar 29 06:07:19 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: Iafa43bfcfca4d6af0d0866206c07fa817f567de6

commit b435ec56af98d2c04de37dd779ed3613ec4583ad
Author: OpenStack Proposal Bot <email address hidden>
Date: Mon Mar 28 06:07:02 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: I9e908579b4704c4294367113523b898839586426

commit bec65f6cdd159ec252c4aa0a63aabc9aea8fcfba
Author: YAMAMOTO Takashi <email address hidden>
Date: Fri Mar 25 15:25:39 2016 +0900

    api tests: Check correct extensions

    auto_allocate -> auto-allocated-topology
    rbac_policies -> rbac-policies

    Closes-Bug: #1561858

    (cherry picked from commit 9d3bab6b8d6b2122732faeb66f831927bee0ac7e)
    Change-Id: Ied13e52bf78afe571f7243e93005bf5c68fe44db

commit f0c3b19165a5ca73ea8f1dc0ddaad290eee35039
Author: OpenStack Proposal Bot <email address hidden>
Date: Fri Mar 25 06:06:36 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: Idb22eac32944a088d24f4d44e537d9bba09dbcc2

commit 99915fa76bd4ce13e0d36059616ba357f4f54ee2
Author: Hynek Mlnarik <email address hidden>
Date: Thu Mar...

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to trove (master)

Reviewed: https://review.openstack.org/302581
Committed: https://git.openstack.org/cgit/openstack/trove/commit/?id=3e6cfdb089198c465dcd0e1c8388808c9979bbd8
Submitter: Jenkins
Branch: master

commit 4e3e804f7c375b1519267d35ab14b8515106ae6d
Author: Amrith Kumar <email address hidden>
Date: Tue Mar 29 12:07:14 2016 -0400

    Trove's tox tests should respect upper-constraints.txt

    This will force pip install to use the upper-constraints.txt specified
    version of pip modules. When you don't do this, you are out on the
    bleeding edge and become unstable everytime some python library in the
    wide world changes in a way that you don't expect.

    The releasenotes job has no constraints file, so override the install
    command there.

    This commit is being proposed on stable/mitaka and therefore the
    install command includes the clear designation of the branch. This is
    because, on branches other than master, we need to be sure to get the
    upper-constraints.txt file for that branch.

    Change-Id: I8417e0fefae9711d0f71b8f97bbb0e4ea5f8ccf2
    Closes-Bug: #1563038
    (cherry picked from commit aca90168f52169afb36500d6af77723b1a707008)

commit 18331be59c9f712532a1b3ec378865a7d37b8fa9
Author: Amrith Kumar <email address hidden>
Date: Mon Mar 28 16:10:53 2016 -0400

    Address change in Route v2.3

    Routes v2.3 which just came out included a change (see the LP bug
    referenced below) that caused py27 to fail.

    At issue is that Routes<2.3 allowed both

        submapper.connect(route_name, route_path), and
        submapper.connect(route_path).

    In 2.3, you were required to provide both route_name and
    route_path. This change adds a route_name to support both Routes < 2.3
    and Routes == 2.3.

    Change-Id: I8aa0626960fbf446102452a56369d24420422dac
    Related-Bug: 1563028
    (cherry picked from commit 6664fb27af2218c411230f91b8e23e72845cbf2a)

commit f34581a9d71d296b699e3d4324a35bf457488074
Author: Thierry Carrez <email address hidden>
Date: Fri Mar 18 09:48:48 2016 +0100

    Update .gitreview for stable/mitaka

    Change-Id: I5b43aab59d6cdbb9b24a7b5694c1f9f55fc7c259

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/neutron 2015.1.4

This issue was fixed in the openstack/neutron 2015.1.4 release.

Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/neutron 7.1.0

This issue was fixed in the openstack/neutron 7.1.0 release.

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/neutron 9.0.0.0b1

This issue was fixed in the openstack/neutron 9.0.0.0b1 development milestone.

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/trove 6.0.0.0b2

This issue was fixed in the openstack/trove 6.0.0.0b2 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/trove 4.0.1

This issue was fixed in the openstack/trove 4.0.1 release.

tags: removed: kilo-backport-potential liberty-backport-potential mitaka-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 2015.1.4

This issue was fixed in the openstack/neutron 2015.1.4 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/trove 4.0.1

This issue was fixed in the openstack/trove 4.0.1 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.