ipv6 default route setup fails with mutliple defaults

Bug #1836788 reported by Tom Barron
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Shared File Systems Service (Manila)
Fix Released
Medium
Tom Barron

Bug Description

devstack's plugin.sh setup_ipv6 function saves the default ipv6 route and restores it after setting up quagga. If there is more than one ipv6 default route it will save all of them into a single local default_route variable and the restore will fail because it issues an 'ip -6 route replace' command with too many arguments.

Example:

default_route collected:

2019-07-16 15:37:11.874 | ++ /opt/stack/new/manila/devstack/plugin.sh:setup_ipv6:1017 : local 'default_route=default via fe80::ce2d:e0ff:fec2:34b8 dev ens3
2019-07-16 15:37:11.875 | default via fe80::ce2d:e0ff:fe5a:d91d dev ens3'

default route restore attempt fails:

2019-07-16 15:38:12.539 | ++ /opt/stack/new/manila/devstack/plugin.sh:setup_ipv6:1134 : [[ -z default via fe80::ce2d:e0ff:fec2:34b8 dev ens3
2019-07-16 15:38:12.539 | default via fe80::ce2d:e0ff:fe5a:d91d dev ens3 ]]
2019-07-16 15:38:12.542 | ++ /opt/stack/new/manila/devstack/plugin.sh:setup_ipv6:1137 : sudo ip -6 route replace default via fe80::ce2d:e0ff:fec2:34b8 dev ens3 default via fe80::ce2d:e0ff:fe5a:d91d dev ens3
2019-07-16 15:38:12.552 | Error: either "to" is duplicate, or "default" is a garbage.
2019-07-16 15:38:12.557 | + /opt/stack/new/manila/devstack/plugin.sh:setup_ipv6:1 : exit_trap

Tom Barron (tpb)
Changed in manila:
milestone: none → train-2
assignee: nobody → Tom Barron (tpb)
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to manila (master)

Fix proposed to branch: master
Review: https://review.opendev.org/671134

Changed in manila:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to manila (master)

Reviewed: https://review.opendev.org/671134
Committed: https://git.openstack.org/cgit/openstack/manila/commit/?id=70e908344dd4db81652264a2de2c04ce9666bb46
Submitter: Zuul
Branch: master

commit 70e908344dd4db81652264a2de2c04ce9666bb46
Author: Tom Barron <email address hidden>
Date: Tue Jul 16 14:55:21 2019 -0400

    Conditionally restore default route in setup_ipv6

    Restoring the default IPv6 route is not needed in CI and
    fails when there are multiple defaults, but it is useful
    in local devstacks where multiple default routes are not
    typical.

    Add a variable in settings and use it to make this behavior
    conditional and set it to False for the lvm job.

    Closes-bug: #1836788
    Change-Id: Id73de8100509ec5935641f5f35f93f482d108bcd

Changed in manila:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/manila 9.0.0.0rc1

This issue was fixed in the openstack/manila 9.0.0.0rc1 release candidate.

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

Fix proposed to branch: stable/stein
Review: https://review.opendev.org/725433

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

Reviewed: https://review.opendev.org/725433
Committed: https://git.openstack.org/cgit/openstack/manila/commit/?id=99c0a110920910bfd379d544e7085daca90b1132
Submitter: Zuul
Branch: stable/stein

commit 99c0a110920910bfd379d544e7085daca90b1132
Author: Tom Barron <email address hidden>
Date: Tue Jul 16 14:55:21 2019 -0400

    Conditionally restore default route in setup_ipv6

    Restoring the default IPv6 route is not needed in CI and
    fails when there are multiple defaults, but it is useful
    in local devstacks where multiple default routes are not
    typical.

    Add a variable in settings and use it to make this behavior
    conditional and set it to False for the lvm job.

    Closes-bug: #1836788
    Change-Id: Id73de8100509ec5935641f5f35f93f482d108bcd
    (cherry picked from commit 70e908344dd4db81652264a2de2c04ce9666bb46)

tags: added: in-stable-stein
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to manila (stable/rocky)

Fix proposed to branch: stable/rocky
Review: https://review.opendev.org/725712

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

Fix proposed to branch: stable/queens
Review: https://review.opendev.org/725720

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

Reviewed: https://review.opendev.org/725712
Committed: https://git.openstack.org/cgit/openstack/manila/commit/?id=682d6b6ee17e8abb4038ca304bee839463424838
Submitter: Zuul
Branch: stable/rocky

commit 682d6b6ee17e8abb4038ca304bee839463424838
Author: Tom Barron <email address hidden>
Date: Tue Jul 16 14:55:21 2019 -0400

    Conditionally restore default route in setup_ipv6

    Restoring the default IPv6 route is not needed in CI and
    fails when there are multiple defaults, but it is useful
    in local devstacks where multiple default routes are not
    typical.

    Add a variable in settings and use it to make this behavior
    conditional and set it to False for the lvm job.

    Closes-bug: #1836788
    Change-Id: Id73de8100509ec5935641f5f35f93f482d108bcd
    (cherry picked from commit 70e908344dd4db81652264a2de2c04ce9666bb46)
    (cherry picked from commit 99c0a110920910bfd379d544e7085daca90b1132)

tags: added: in-stable-rocky
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to manila (stable/queens)

Reviewed: https://review.opendev.org/725720
Committed: https://git.openstack.org/cgit/openstack/manila/commit/?id=0e75bf821a71980f1336196831d1f2aaeb831db0
Submitter: Zuul
Branch: stable/queens

commit 0e75bf821a71980f1336196831d1f2aaeb831db0
Author: Tom Barron <email address hidden>
Date: Tue Jul 16 14:55:21 2019 -0400

    Conditionally restore default route in setup_ipv6

    Restoring the default IPv6 route is not needed in CI and
    fails when there are multiple defaults, but it is useful
    in local devstacks where multiple default routes are not
    typical.

    Add a variable in settings and use it to make this behavior
    conditional and set it to False for the lvm job.

    Closes-bug: #1836788
    Change-Id: Id73de8100509ec5935641f5f35f93f482d108bcd
    (cherry picked from commit 70e908344dd4db81652264a2de2c04ce9666bb46)
    (cherry picked from commit 99c0a110920910bfd379d544e7085daca90b1132)
    (cherry picked from commit 682d6b6ee17e8abb4038ca304bee839463424838)

tags: added: in-stable-queens
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/manila queens-eol

This issue was fixed in the openstack/manila queens-eol release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/manila rocky-eol

This issue was fixed in the openstack/manila rocky-eol release.

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

Other bug subscribers

Remote bug watches

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