nova/nova/tests/virt/test_configdrive.py
Davanum Srinivas de92d65f29 Test force_config_drive as a boolean as last resort
The force_config_drive help clearly states that only possible option is
'always' but folks are setting it to 'True'/'False' etc and expecting
it to work. So let's enable that as well. In the worst case scenario
mentioned in the bug, it was set to 'False' and since the check for
force_config_drive took any string as true, we were enabling the flag
to true. With the change in this review, we force a conversion of the
string to true. Additional check for the flag to be set as 'always' is
treated as true as well. The test case checks for all the variations

Closes-Bug: #1319180
DocImpact

Change-Id: Ifa6348fa7dfd9de063eb13d30e3ddf94fa530b57
2014-06-17 07:52:28 +10:00

30 lines
1.1 KiB
Python

# Copyright 2014 IBM Corp.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from nova.openstack.common import strutils
from nova import test
from nova.virt import configdrive
class ConfigDriveTestCase(test.NoDBTestCase):
def test_valid_string_values(self):
for value in (strutils.TRUE_STRINGS + ('always',)):
self.flags(force_config_drive=value)
self.assertTrue(configdrive.required_by({}))
def test_invalid_string_values(self):
for value in (strutils.FALSE_STRINGS + ('foo',)):
self.flags(force_config_drive=value)
self.assertFalse(configdrive.required_by({}))