603660efe8
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
36 lines
1.1 KiB
Python
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."""
|