ee744e7ca7
Change-Id: I64b4a6baaa481eeccb34b228c520eb81a1ae0d46
62 lines
1.8 KiB
Python
62 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
# 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.
|
|
|
|
"""
|
|
test_kloudbuster
|
|
----------------------------------
|
|
|
|
Tests for `kloudbuster` module.
|
|
"""
|
|
from kloudbuster.kb_config import KBConfig
|
|
from kloudbuster.kloudbuster import process_cli_args
|
|
|
|
def test_kbconfig_default():
|
|
# verify that we load the defaulgt config properly
|
|
kbcfg = KBConfig()
|
|
kbcfg.update_configs()
|
|
cfg = kbcfg.config_scale
|
|
assert cfg.openrc_file is None
|
|
assert cfg.vm_creation_concurrency == 5
|
|
assert cfg.client.flavor.vcpus == 1
|
|
|
|
config_yaml = """
|
|
client:
|
|
flavor:
|
|
vcpus: 100
|
|
ram: 2048
|
|
disk: 0
|
|
extra_specs:
|
|
"hw:cpu_policy": dedicated
|
|
storage_stage_configs:
|
|
vm_count: 1
|
|
target: 'volume'
|
|
disk_size: 10
|
|
io_file_size: 55
|
|
"""
|
|
def test_kbconfig_overide(stage_fs):
|
|
config_fs = {
|
|
'config.yaml': config_yaml
|
|
}
|
|
stage_fs('/tmp/kbtest', config_fs)
|
|
# verify that config override is working
|
|
args = ['-c', '/tmp/kbtest/config.yaml']
|
|
process_cli_args(args)
|
|
kbcfg = KBConfig()
|
|
kbcfg.init_with_cli()
|
|
kbcfg.update_configs()
|
|
cfg = kbcfg.config_scale
|
|
print(cfg.client.storage_stage_configs)
|
|
assert cfg.client.flavor.vcpus == 100
|
|
assert cfg.client.storage_stage_configs.io_file_size == 55
|