This patch clears up confusion resulting from both tripleo and
cinder creating "default" volume types. The quotes indicate subtle
differences in how the term is used, and how it causes confusion for
cloud users.
TripleO added support for configuring cinder's default volume type,
and later cinder itself added its own support for a default volume
type. The cinder project's motivation was to provide a volume type
for all volumes, even when cloud administrators hadn't defined one.
But from tripleo's perspective, cinder's volume type was redundant
because tripleo *does* define a default volume type.
The confusion for cloud users is that cinder chose "__DEFAULT__" for
the name of the volume type, and "Default Volume Type" for its
description. This is misleading because tripleo's CinderDefaultVolumeType
is the actual default volume type.
Clearing up the confusion depends on whether the overcloud is a green
field deployment where no volumes have been created, or a brown field
deployment where cinder's __DEFAULT__ type may be in use. If no volumes
exist then it's safe for tripleo to simply delete cinder's __DEFAULT__
type. Otherwise, the __DEFAULT__ type's description is updated so that
it indicates the actual default type is the one established by the
CinderDefaultVolumeType parameter.
Lastly, CinderDefaultVolumeType is now constrained to prevent it being
set to an empty string. That should never happen, so this is just a
safety net.
Related-Bug: #1782217
Change-Id: Idf27c14b31dc077ef9a0e567bd502ed6842bd52b
(cherry picked from commit 4bf4866030)
(cherry picked from commit f10e5f2e6e)