commit 9a9a620ea2d06e51c01b0864d7275b57d7203e5a
Author: Matt Riedemann <email address hidden>
Date: Thu May 11 18:29:42 2017 -0400
Handle special characters in database connection URL netloc
When calling "nova-manage cell_v2 simple_cell_setup" or
"nova-manage cell_v2 map_cell0" without passing in the
--database_connection option, we read the [database]/connection
URL from nova.conf, try to split the URL and then create a
default connection based on the name of the original connection,
so if you're cell database's name is 'nova' you'd end up with
'nova_cell0' for the cell0 database name in the URL.
The problem is the database connection URL has credentials in the
netloc and if the password has special characters in it, those can
mess up the URL split, like splitting on ? which is normally denoting
the beginning of the path in a URL.
This change handles special characters in the password by using
a nice DB connection URL parsing utility method available in
sqlalchemy to get the database name out of the connection URL string
so we can replace it properly with the _cell0 suffix.
Adds a release note as this bug causes issues when upgrading.
Reviewed: https:/ /review. openstack. org/464088 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=9a9a620ea2d 06e51c01b0864d7 275b57d7203e5a
Committed: https:/
Submitter: Jenkins
Branch: master
commit 9a9a620ea2d06e5 1c01b0864d7275b 57d7203e5a
Author: Matt Riedemann <email address hidden>
Date: Thu May 11 18:29:42 2017 -0400
Handle special characters in database connection URL netloc
When calling "nova-manage cell_v2 simple_cell_setup" or connection option, we read the [database] /connection
"nova-manage cell_v2 map_cell0" without passing in the
--database_
URL from nova.conf, try to split the URL and then create a
default connection based on the name of the original connection,
so if you're cell database's name is 'nova' you'd end up with
'nova_cell0' for the cell0 database name in the URL.
The problem is the database connection URL has credentials in the
netloc and if the password has special characters in it, those can
mess up the URL split, like splitting on ? which is normally denoting
the beginning of the path in a URL.
This change handles special characters in the password by using
a nice DB connection URL parsing utility method available in
sqlalchemy to get the database name out of the connection URL string
so we can replace it properly with the _cell0 suffix.
Adds a release note as this bug causes issues when upgrading.
Change-Id: I7a7678e4af8160 e6f48b96095154f ca6ca48ff09
Closes-Bug: #1673613