tripleo-ansible/tripleo_ansible/tests/base.py
Steve Baker 603660efe8 module tripleo_baremetal_expand_roles
This module consumes the baremetal deployment yaml and transforms it
to a list of instances and a heat environment. Subsequent modules in
the role will consume the instances and take actions based on the
instance entries and the observed ironic nodes.

The mistral action[1] has significant unit test coverage[2] which is
desirable to keep, so most of the logic has been put in a module_utils
with its own unit tests. Some special handling is required in the unit
test and doc generation to make baremetal_deploy importable from
ansible.module_utils, which is done automatically during ansible runs.

[1] https://opendev.org/openstack/tripleo-common/src/branch/master/tripleo_common/actions/baremetal_deploy.py#L353
[2] https://opendev.org/openstack/tripleo-common/src/branch/master/tripleo_common/tests/actions/test_baremetal_deploy.py#L648

Change-Id: I21cc6939db5120d4c1549b9ec66d6e0f172fd229
Story: 2007212
Task: 38457
2020-03-06 15:12:21 +00:00

36 lines
1.1 KiB
Python

# Copyright 2019 Red Hat, Inc.
# All Rights Reserved.
#
# 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 ansible.plugins import loader
from oslotest import base
def load_module_utils(*args):
"""Ensure requested module_utils are loaded into ansible.module_utils"""
if args:
for m in args:
try:
loader.module_utils_loader.get(m)
except AttributeError:
pass
else:
# search and load all module_utils, its noisy and slower
list(loader.module_utils_loader.all())
class TestCase(base.BaseTestCase):
"""Test case base class for all unit tests."""