nova/nova
Matt Riedemann b501fa7a92 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.

Change-Id: I7a7678e4af8160e6f48b96095154fca6ca48ff09
Closes-Bug: #1673613
(cherry picked from commit 9a9a620ea2)
2017-05-22 11:20:55 -04:00
..
CA
api Fix the evacuate API without json-schema validation in 2.13 2017-04-20 23:28:43 +08:00
cells Remove straggling use of main db flavors in cellsv1 code 2017-02-11 18:54:48 +00:00
cert Integrate OSProfiler and Nova 2017-01-18 15:00:14 +07:00
cloudpipe Rename security_group parameter in compute.API:create 2016-11-10 11:25:43 -05:00
cmd Handle special characters in database connection URL netloc 2017-05-22 11:20:55 -04:00
common cors: update default configuration in config 2016-11-05 20:17:42 -04:00
compute Parse algorithm from cipher for ephemeral disk encryption 2017-05-19 10:45:46 -04:00
conductor Add populate_retry to schedule_and_build_instances 2017-03-17 10:15:10 -04:00
conf Parse algorithm from cipher for ephemeral disk encryption 2017-05-19 10:45:46 -04:00
console Merge "tests: Replace use of CONF with monkey patching" 2017-01-24 12:03:07 +00:00
consoleauth Integrate OSProfiler and Nova 2017-01-18 15:00:14 +07:00
db Merge "Fix mitaka online migration for PCI devices" into stable/ocata 2017-04-25 19:33:33 +00:00
hacking [2/3]Replace six.iteritems() with .items() 2017-01-09 09:11:00 +00:00
image Merge "[2/3]Replace six.iteritems() with .items()" 2017-01-21 06:55:52 +00:00
ipv6
keymgr Deprecate barbican options 2016-07-29 15:36:28 -05:00
locale Imported Translations from Zanata 2016-10-27 08:19:38 +00:00
network Fix port update exception when unshelving an instance with PCI devices 2017-04-25 19:20:38 +00:00
notifications Merge "[2/3]Replace six.iteritems() with .items()" 2017-01-21 06:55:52 +00:00
objects Fix live migrate with XenServer 2017-02-16 12:47:09 -05:00
pci [2/3]Replace six.iteritems() with .items() 2017-01-09 09:11:00 +00:00
policies Separate CRUD policy for server_groups 2016-11-21 11:43:13 -05:00
scheduler Use the keystone session loader in the placement reporting 2017-02-22 16:45:13 -05:00
servicegroup Don't use 'updated_at' to check service's status 2016-12-08 09:51:03 +00:00
tests Handle special characters in database connection URL netloc 2017-05-22 11:20:55 -04:00
virt Merge "Fix HTTP 500 raised for getConsoleLog for stopped instance" into stable/ocata 2017-04-25 21:17:57 +00:00
vnc
volume Catching OverQuota Exception 2017-05-06 18:55:10 +00:00
wsgi Clarify the language in the apache wsgi sample 2017-02-02 15:43:25 -08:00
__init__.py
availability_zones.py Port test_metadata to Python 3 2016-11-29 11:28:24 +08:00
baserpc.py
block_device.py Allow None for block_device_mapping_v2.boot_index 2017-02-09 15:20:06 +00:00
cache_utils.py
config.py Integrate OSProfiler and Nova 2017-01-18 15:00:14 +07:00
context.py Cache database and message queue connection objects 2017-05-19 21:54:25 +00:00
crypto.py
debugger.py
exception.py Merge "Block starting compute unless placement conf is provided" 2017-01-31 20:43:44 +00:00
exception_wrapper.py do not include context to exception notification 2017-03-17 13:00:21 -04:00
filters.py
hash_ring.py Ironic: allow multiple compute services 2016-08-04 23:51:13 +00:00
hooks.py
i18n.py
loadables.py
manager.py Integrate OSProfiler and Nova 2017-01-18 15:00:14 +07:00
policy.py [2/3]Replace six.iteritems() with .items() 2017-01-09 09:11:00 +00:00
profiler.py Integrate OSProfiler and Nova 2017-01-18 15:00:14 +07:00
quota.py [2/3]Replace six.iteritems() with .items() 2017-01-09 09:11:00 +00:00
rpc.py Added instance.reboot.error to the legacy notifications 2017-01-27 19:15:41 +00:00
safe_utils.py
service.py Integrate OSProfiler and Nova 2017-01-18 15:00:14 +07:00
service_auth.py Add service_token for nova-cinder interaction 2017-01-11 15:49:16 +00:00
signature_utils.py
test.py Cache database and message queue connection objects 2017-05-19 21:54:25 +00:00
utils.py Merge "[2/3]Replace six.iteritems() with .items()" 2017-01-21 06:55:52 +00:00
version.py
weights.py
wsgi.py [2/3]Replace six.iteritems() with .items() 2017-01-09 09:11:00 +00:00