← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1190454] Re: sqlalchemy could not parse sql_connection urls containning ipv6 address

 

Fixed upstream

** Changed in: oslo
       Status: In Progress => Invalid

-- 
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/1190454

Title:
  sqlalchemy  could not parse sql_connection urls containning ipv6
  address

Status in OpenStack Compute (Nova):
  Won't Fix
Status in Oslo - a Library of Common OpenStack Code:
  Invalid

Bug description:
  Version of Nova: Grizzly.

  I tried to configure openstack in pure IPv6 enviroment.

   Edit nova.conf file in controller node.
   Set the sql_connection = msyql://nova:nova@[2001:db8::22]/nova?charset=utf8 ( [2001:db8::22] is ipv6 address of controller node)

  When started the service nova-conductor (or any other project connected to database),  It reported ERROR.
  In File: /usr/lib64/python2.6/site-packages/sqlalchemy/engine/url.py
    Function :  def _parse_rfc1738_args(name):
                             pattern = re.compile(r'''
                                (?P<name>[\w\+]+)://
                                (?:
                                (?P<username>[^:/]*)
                                (?::(?P<password>[^/]*))?
                                @)?
                                (?:
                                (?P<host>[^/:]*)
                                (?::(?P<port>[^/]*))?
                                )?
                                (?:/(?P<database>.*))?
                                '''
                                , re.X)

                            m = pattern.match(name)
                                 if m is not None:
                                      components = m.groupdict()

  Add breakpoint in above code and debug to get the components. Result of components is following:
  { 'username': 'nova',  'name': 'mysql',  'database':'nova?charset=utf8',  'host': '[2001',  'password':'nova',   'port' : 'db8::22]' }

  Obviously, the current code could not parse  sql_connection urls that
  contain ipv6 address correctly.

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