← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1634949] Re: nova's checking for local and catch-all address fails to check for all valid IPv6 representations

 

Reviewed:  https://review.openstack.org/388970
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=077a90971ea20629e607571b48694bd1022821d8
Submitter: Jenkins
Branch:    master

commit 077a90971ea20629e607571b48694bd1022821d8
Author: Amy Fong <amy.fong@xxxxxxxxxxxxx>
Date:   Wed Oct 19 15:29:05 2016 -0400

    Catch all local/catch-all addresses for IPv6
    
    _check_graphics_addresses_can_live_migrate() checks to see if an address
    is local or catch all by doing a match against
    
                LOCAL_ADDRS = ('0.0.0.0', '127.0.0.1', '::', '::1')
    
    In IPv6, due to zero compression, there are many different valid ways
    to represent :: and ::1 (since leading zeros don't need to be suppressed).
    
    Because of this, the current code will fail to match against something
    like "::0" even though it's a perfectly valid way to represent the
    same address.
    
    The simple fix for this is to convert the address(es) in the config file
    to canonical form before matching against LOCAL_ADDRS.
    
    Change-Id: I13dd45fac489e722747f74695567a40a3a201652
    Closes-bug: #1634949


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1634949

Title:
  nova's checking for local and catch-all address fails to check for all
  valid IPv6 representations

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  _check_graphics_addresses_can_live_migrate() checks to see if an
  address is local or catch all by doing a match against

              LOCAL_ADDRS = ('0.0.0.0', '127.0.0.1', '::', '::1')

  In IPv6, due to zero compression, there are many different valid ways
  to represent :: and ::1 (since leading zeros don't need to be
  suppressed).

  Because of this, the current code will fail to match against something
  like "::0" even though it's a perfectly valid way to represent the
  same address.

  The simple fix for this is to convert the address(es) in the config
  file to canonical form before matching against LOCAL_ADDRS.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1634949/+subscriptions


References