14 Commits

Author SHA1 Message Date
Kevin Carter
3100780e1e Fix the docs job
This change fixes the docs job to ensure we have access to development
versions of tripleo-common. This is being done because we have more
modules coming in which are using tripleo-common which may require
unreleased versions of the package when running tests. This change
adds tripleo-common as an upstream constraint which is only used in
the docs and molecule test scenarios.

Change-Id: Ib64307defe4d5a0e06ad862ab9f51d1da3d23312
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2020-03-19 19:31:20 +00:00
Sorin Sbarnea
9ac51dc172 Simplify linting
Keeps pep8 environment until we will be able to remove it from
zuul templates.

Change-Id: I1e709043bb4be93331d4511b947b181fe2ead8f4
2020-03-19 18:42:11 +00:00
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
Kevin Carter
733f8a0abd
Ensure ruamel is included when we build test environments
This change ensures that we include ruamel.yaml when we build test
environments, which is required for docs. This module used to be
included elsewhere however, due to recent dependency changes the
package was dropped somwhere along the way.

The docs test will now run anytime change change is made to our
requirements files. This will ensure we're not running into these
types of failures in the future.

Change-Id: If3d65944a4e71fc8fba926fd0956a73429fbb172
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2020-02-21 11:43:40 -06:00
Sorin Sbarnea
c7006fc49d Upgrade molecule to 3.0
Makes changes required by molecule v3.0.0

Change-Id: I7669145ce9eef0bbda662df11426be326d5f3f5e
2020-02-20 14:04:28 +00:00
Sagi Shnaidman
9b263bebd5 Bump molecule to 3.0a4
Change-Id: I8ee167d539027f34cf6ab986a39c689d8b4aeac7
2019-12-11 19:24:38 +02:00
Kevin Carter
06df5f3c34
include the openstacksdk so that openstack modules work within molecule
Change-Id: Id8aeb925b7a305bf70ab556edd6f8891eae145a2
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2019-12-09 12:43:16 -06:00
gujin
d4fd512305 tox: Keeping going with docs
Change-Id: Ieb99efd35108f4cb53e4f3f29da2415ba4152a9c
2019-11-03 02:48:48 +08:00
Kevin Carter
db3692bd5e
Convert all of the fedora28 container usage to centos8
This change moves all of the fedora28 container images to centos8 to ensure
we're maximizing coverage in all of our roles with OS images that represent
real deployments. While fedora28 was useful to exercise RHEL8 code path's
while there was no RHEL/CentOS8 container image, we can now use the upstream
CentOS8 image ensuring we're getting a true, representitive, environment.

> In the process of testsing it was noticed that the test_deps role was
  triggering scenario jobs. This role is only used for test purposes and
  should not test scenarios deployments.

Molecule requirements have been updated to ensure we're testing with package
versions that reflect the realities of production deployments.

Hacks that were added to enable fedora28 testing have been removed.

The ptp role now only will test the ntp stop scenario on centos7. This is
done because there is no NTP package/service in centos8.

Change-Id: I0e960f9ee230c82edb2ad9d40557aa6d0237dfc0
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2019-10-31 11:20:26 -05:00
Kevin Carter
a435b717dd
Constrain molecule
This change constrains molecule so we're not pulling in broken or otherwise
incompatible code. Recent changes to upstream molecule have introduced some
instability. To ensure we're always testing with an expected release of
molecule a new upper constraint has been added.

Additionally to ensure we're not creating testing gaps, a modification has
been added to the role addition job definition. This will ensure we're
exercising molecule in the event that any of its requirements change in the
future.

Change-Id: Ib12e9a52ace6d3545757ada6863e58843de99ad9
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2019-08-30 17:08:45 -05:00
Kevin Carter
bf83dc8a87 Update jobs resolving runtime issues
The requiurements in tests needs the python package netaddr to wrap
and filter IP addresses, while this package is assumed to be installed
when ansible is installed via the package manager, these assumptions
are not true when installing using pip, like we do in test. This change
ensures that the netaddr package is part of the test environment.

An update has been made to allow the tripleo_container_stop role to
pass one of its tests. The shell command to stop containers was
prefixing the container name which would result in a failure to stop
the given container name in a production environment.

Test packages have been added to the tripleo_ptp molecule tests. These
packages are being added so that we can ensure the test container
images are created with everything assumed to be installed on a running
system.

Change-Id: If704272fb44cff35e7093c5f91ff1b48fd20a91e
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2019-08-15 23:50:51 +00:00
Kevin Carter
89652e486a
Dont set constraints on sphinx
This python package does not need a constraint. In this case the
constraint is being removed because it will break on py27 which
we have to still support until 1 January 2019. Modern sphinx
will automatically limit the version installed based on the
detected version of python.

Change-Id: I5091a6c30eec43ec24e3664813bc1fafd89f3e28
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2019-07-11 11:35:06 -05:00
Kevin Carter
32aed164b9
Add ansible requirement to our docs builds
This change combines the docs and molecule requirements files. This is
being done because the zuul publishing job does not use tox to render
documentation so we're not able to combine the two requirements files
via the tox interface. To ensure we're not creating duplicate
requirements, which could be frustrating to maintain in the future,
we're linking doc/requirements.txt to molecule-requirements.txt and
combining the package lists.

Change-Id: If7977ad06bf0775834a15e6274ae6457e4601fa6
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2019-07-10 14:29:08 -05:00
Kevin Carter
7c23a01bd7
Enforce testing consistency
The upstream OpenStack gate installs docker using the "install-docker"
from within the zuul-jobs repository. To ensure we're able to test role
consistently this change removes our internal docker install tasks
and simply uses the role as provided by zuul.

All of the requirements we were installing for molecule via built in
tox configuration  have all been moved to the unmanaged requirements
file, "molecule-requirements.txt". This file will ensure anything we
install in a virtual-environment is consistent throughout our stack.

The `run-local-test` script has been added to the scripts directory
allowing local development to be setup and executed with minimal,
to no, pre-configuration or setup. This script and its usage has
been documented in the contributing guide.

Change-Id: If7d1ba7e59a1d6918d9606c9df8bfad21c0c47da
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2019-07-01 19:48:38 -05:00