51 Commits

Author SHA1 Message Date
Pierre Riteau
502d3858bc Remove unneeded doc requirements in molecule tox env
Change-Id: Ie68ba316327437b4503f4a0aa48a58e89d403790
2020-09-24 12:13:13 +02:00
Pierre Riteau
c585554988 CI: Fix kayobe-tox-molecule job
When molecule runs, it installs ansible>2.8, which is version 2.10.0
since today. This now also installs the ansible-base package, currently
at version 2.10.1. Then it installs the version of ansible required by
kayobe, i.e. ansible>=2.8.0,<2.10.0 (currently 2.9.13).

We end up with a tox molecule venv containing:

ansible==2.9.13
ansible-base==2.10.1

This causes the following issue:

ERROR! Unexpected Exception, this is probably a bug: cannot import name 'AnsibleCollectionLoader' from 'ansible.utils.collection_loader' (/home/zuul/src/opendev.org/openstack/kayobe/.tox/molecule/lib/python3.8/site-packages/ansible/utils/collection_loader/__init__.py)

This commit adds requirements.txt to the molecule tox deps, which
ensures the correct version of ansible gets installed first.

Change-Id: I7ef890a2ae6fd67f53e1b8bca244a1c0d44fea53
2020-09-23 18:34:23 +02:00
wu.chunyang
9475050cc7 Remove unnecessary requirements from tox.ini
requirements.txt is unnecessary when running `tox -e releasenotes` since
release notes requirements are in doc/requirements.txt. This PS removes
the requirements.txt from tox.ini and reuses [docs] deps.

Sync from kolla-ansible and kolla.

Change-Id: I9df2f98772c143a9662fd5c123cc9f6d5410c5e5
2020-09-18 13:10:43 +00:00
Mark Goddard
354113c20b docs: Move configuration reference to subpath
This allows us to add configuration scenarios.

Change-Id: Id636f78c61237fb27fa65fa3d4b3fc1a4cf0ba6a
Story: 2004360
Task: 40777
2020-08-28 08:28:40 +01:00
Will Szumski
9c36feb4ed Revert "Use OpenStack Ussuri release"
This reverts commit ffce6fa6411667f1474c33d845ccc4ac72765689.

Change-Id: I00f1b7c7d0182a80e0fb212099f67e92187ca603
2020-06-12 13:41:06 +01:00
Mark Goddard
ffce6fa641 Use OpenStack Ussuri release
Switch all dependencies to use the OpenStack Ussuri release.

This commit should be reverted on the master branch once the
Kayobe stable/ussuri branch has been cut and RC1 released.

Change-Id: Id126ea109e6dfcba09b524129876985547ad368f
2020-05-29 15:42:07 +01:00
Radosław Piliszek
83bc574ba5 Cleanup py27 support
Removes and/or replaces all mentions of py27.

Cleans up obsolete requirements and their lower-constraints.

Update cliff minimum to 3.1.0 in requirements.txt, which has a fix for
story 2005891.

Change-Id: I52cffa2f1aee944f79c4618ea20b779755792f2a
2020-04-20 18:04:19 +00:00
Mark Goddard
8bed623571 Fix passwords.yml generation with vault encryption on Python 3
Kayobe generates passwords.yml for Kolla Ansible, and can encrypt it
using the vault password. Previously this was failing on Python 3 due to
passing a string to file.write() which expects bytes.

This change fixes the issue by encoding the password string passed to
file.write().

This allows us to run the ansible role tests under Python 3.

Change-Id: I33813f79984a46f1967ef3aee455dcfbe7eb93da
Story: 2006574
Task: 39481
2020-04-20 15:42:22 +01:00
Ghanshyam Mann
208c46e72c [ussuri][goal] More cleanup for python 2.7 drop
Cleanup requirement and set ignore_basepython_conflict = True
in tox to avoid python version conflict warning which going
to be error in future.

Change-Id: Ia4ce42a20417d69efd50ef563aabd8cffbb7b346
2020-02-29 15:23:18 -06:00
Pierre Riteau
c9474bf9b0 Revert "Use OpenStack Train release"
This reverts commit a93b85ba07113a77a6c0db498a59cef3bca15b94.

The local Python executable for Kolla Ansible is changed to Python 3
because Kolla Ansible master no longer supports Python 2.

Change-Id: I768ce8db9cec1c70d94f271997bbcc64d370403e
2020-02-14 14:54:23 +00:00
Ghanshyam Mann
c0a1216afa [ussuri][goal] Drop python 2.7 support and testing
OpenStack is dropping the py2.7 support in ussuri cycle.

kayobe is ready with python 3 and ok to drop the
python 2.7 support.

Complete discussion & schedule can be found in
- http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010142.html
- https://etherpad.openstack.org/p/drop-python2-support

Ussuri Communtiy-wide goal:
https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html

Change-Id: Idbbdd96ff23846d29833c5997d1e32e65b5169f2
2020-02-11 10:12:39 +00:00
Will Szumski
a93b85ba07 Use OpenStack Train release
Switch all dependencies to use the OpenStack Train release.

This commit should be reverted on the master branch once the
Kayobe stable/train branch has been cut and RC1 released.

Change-Id: I6006e14df27a180f1438f9eb01b9ebefdddaff72
2019-12-12 11:55:56 +01:00
Zuul
081291dccf Merge "Remove sphinx from test-requirements.txt" 2019-12-06 18:04:20 +00:00
gujin
d23ed92588 tox: Keeping going with docs
1. Sphinx 1.8 introduced [1] the '--keep-going' argument which, as its name
suggests, keeps the build running when it encounters non-fatal errors.
This is exceptionally useful in avoiding a continuous edit-build loop
when undertaking large doc reworks where multiple errors may be
introduced.

2. Cleanup the folders before run commands

[1] https://github.com/sphinx-doc/sphinx/commit/e3483e9b045

Change-Id: Ib3133820a3d3ca3027ea2f9bc9b6907929cff8ed
2019-11-11 13:49:54 +00:00
Pierre Riteau
21836ddf90 Remove sphinx from test-requirements.txt
Documentation build environments use doc/requirements.txt where sphinx
is already present. Use doc/requirements.txt in the pep8 environment
because sphinx is required by sphinx8.

Change-Id: I3a2c9ae392745e001c5bdd01212c996e54c44f0c
2019-10-21 11:10:13 +02:00
Mark Goddard
798b7dfc53 Build pdf doc
The is one of community goals that each project should produce a
single PDF file. The pdf should be in the output of openstack-tox-docs
job.

TeX packages are required to build PDF locally, following is
recommended:

* inkscape
* texlive-latex-base
* texlive-latex-extra
* texlive-fonts-recommended

More about the goal:
https://governance.openstack.org/tc/goals/train/pdf-doc-generation.html
https://etherpad.openstack.org/p/train-pdf-support-goal
https://etherpad.openstack.org/p/pdf-goal-train-common-problems

Change-Id: Ib8a238f5ad4329527147be72331b87f57877f68e
2019-10-16 14:36:13 +01:00
pengyuesheng
aabf913c9b Update the constraints url
For more detail, see http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006478.html

Change-Id: I90662a9816c4f4af5a4a481d0e815bf6a398f8d3
2019-09-24 15:48:27 +08:00
Mark Goddard
ebe13df6f7 Revert "Use OpenStack Stein release"
This reverts commit b46b2b72bbec2a076a8175fc0aff96cbdefcabff.

Switch dependencies and upper constraints back to master branch for
development after cutting stable/stein branch.

Change-Id: Ie7f588aab59e57efe240a58a3bd0a6f09fbcefb7
2019-08-22 13:52:42 +01:00
Mark Goddard
7ed7b27bc4 Add retries to ansible galaxy install for all envs
Galaxy install often fails in CI, scuppering an otherwise good run.

Change-Id: I3d02afe33cdf32b1d285bd4bdc4a8074883113ca
2019-07-04 13:02:04 +00:00
Mark Goddard
b46b2b72bb Use OpenStack Stein release
Switch all dependencies to use the OpenStack Stein release.

This commit should be reverted on the master branch once the
Kayobe stable/stein branch has been cut and RC1 released.

Change-Id: I50a39994c8ffa0c7d65e026ae765973541423476
2019-05-29 17:20:25 +01:00
Zuul
cada311d4c Merge "Add python 3.6 jobs" 2019-04-26 17:57:36 +00:00
Mark Goddard
5b9f85d715 Update git.openstack.org to opendev.org
The project infrastructure is now hosted at opendev.org.

Kayobe projects have been moved from the openstack/ namespace to x/.

Change-Id: I16b523285eb34c1cd0eaf920aa4512d0ae1b4f05
2019-04-24 14:00:18 +01:00
Mark Goddard
73063732aa Add openstack_release and openstack_branch
Adds two new variables, 'openstack_release' and 'openstack_branch',
in ${KAYOBE_CONFIG_PATH}/openstack.yml for setting the current OpenStack
release and branch in a single place.

Also uses the master branch for the molecule tox job.

Change-Id: I851a1e6eddc6738005c1813599445b38c0ae0d57
2019-04-15 11:41:07 +00:00
Mark Goddard
eda8246b7b Use master version of dependencies
Use master branch of:

* Kolla
* Kolla ansible
* Bifrost
* IPA
* OpenStack services
* Requirements

Also, use the infra docker registry mirror at port 8082 which does not
have any path component in its URL, and so works with Docker CE.

Depends-On: https://review.openstack.org/#/c/651254/
Change-Id: Icdb62aa0083d9272a08421138719cf5f6b52ec5a
Story: 2001864
Task: 14316
2019-04-09 16:55:02 +00:00
Mark Goddard
da8059644c Add python 3.6 jobs
Also change to use the py3 tox environment rather than specifying a
version explicitly.

Change-Id: I05d5d6f5718b39dc95b40efe44e9ebb3fb5b1311
Story: 2004959
Task: 30035
2019-03-15 13:00:40 +00:00
Mark Goddard
4d52ee0cdf Run yamllint on etc/kayobe during pep8 tox env
We run yamllint with the same configuration in kayobe-config, so we
should catch issues here before they are synchronised.

Change-Id: Ia2de07abc7c58040f99766adb950c477800ea56d
2019-02-14 12:17:19 +00:00
Mark Goddard
935d3cef6a Update dependencies to Rocky
Use stable/rocky branch of:

* Kolla
* Kolla ansible
* Bifrost
* IPA
* OpenStack services
* Requirements

Also updates Kolla Ansible inventory template.

The seed deploy job has been made non-voting and non-gating, because we
are waiting for bifrost change https://review.openstack.org/#/c/618740
to merge, be released, and for the kolla bifrost image to use the new
package.

Change-Id: Id5e7fdbd196f96e1e75ffc68bc93aab18fa38aa7
Story: 2001864
Task: 27798
Depends-On: I58e4f951d4a3dd89e0784fd82d8a62dbba374f79
2018-11-19 14:37:33 +00:00
Mark Goddard
74cdf09d1a Use zuul's install-docker role
This allows us to remove the sudo from the tox molecule environment, since
the install-docker role correctly adds the zuul user to the docker group.

Change-Id: Ib7abd22c0caf793a8a59d38a4f63df7e60a7b69e
2018-11-12 10:58:59 +00:00
huang.zhiping
18b5498050 fix tox python3 overrides
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: I9aaae4949e2cf6c8a33fb6fbf8be15e1d09cce44
2018-06-18 10:39:33 +00:00
Mark Goddard
2c27566d8c Add documentation for custom ansible playbooks
Change-Id: Ia00bd15d037ce3f1db66a953f9c327074e509627
Story: 2001663
Task: 12599
2018-05-21 16:00:57 +01:00
Mark Goddard
1c376f071e Build release notes using reno
The current approach of adding release notes to a single file means that
we end up with merge conflicts every time a change is merged. This is
wasteful of time and resources.

Change-Id: I19f956e4e3991e39252eaa3a1b97a3b2812858d2
Story: 2001637
Task: 6649
2018-05-04 15:11:23 +01:00
Mark Goddard
f86c0ff48f Use queens version of dependencies
Use queens release of:

* Kolla
* Kolla ansible
* Bifrost
* IPA
* OpenStack services

Changes to kolla inventory files were made by comparing the multinode
inventory in kolla-ansible with the overcloud-services and
overcloud-components templates.

Kolla ansible added the concept of inner-compute and external-compute,
and these groups have been added to the top-level inventory.

We also synchronise globals.yml and kolla enablement flags.

Change-Id: I87b052f777567226e41294b955f736040e55e102
Story: 2001863
Task: 14315
2018-05-02 11:40:46 +01:00
Mark Goddard
d385b32382 Add CI job for molecule tests
Adds the following zuul job:

kayobe-tox-molecule

It runs ansible role tests using the molecule framework.

Note that we are currently running tox as root to work around issues
with applying docker group membership in the Zuul CI environment.

The ubuntu-1604 platform has been removed because the job takes a long
time to run even on one platform.

Change-Id: I8be24be828c0e124d822d7b39a02169c92b81eb3
Story: #2001637
Task: #6646
2018-04-10 12:28:27 +01:00
Mark Goddard
dbc1f26848 Follow the new PTI for document build
For compliance with the Project Testing Interface [1] as described in
[2].

[1]
https://governance.openstack.org/tc/reference/project-testing-interface.html
[2]
http://lists.openstack.org/pipermail/openstack-dev/2017-December/125710.html

Change-Id: I03d36b2545f69c4ca3ca1ced73d179e81b7b8811
2018-04-03 17:28:15 +01:00
Mark Goddard
64f502fe85 Update README & CONTRIBUTING for OpenStack process
Kayobe is to become an OpenStack-related project, and as such will use
Gerrit for code reviews and Storyboard for issue and feature tracking.
The README and CONTRIBUTING documents have been updated to reflect that,
and a standard OpenStack HACKING document has been added.

Change-Id: Id03bcb5183bfbf6e84bb4d9c22f85d9418b6b4fc
Story: #2001637
Task: #6644
2018-03-13 14:14:26 +00:00
Mark Goddard
048fd82bef Use stestr for running unit tests, add a coverage environment
stestr [1] is a fork of the testrunner python test runner.

Coverage tests can be run using 'tox -e cover'.

Adds a job for checking coverage to Zuul check and gate.

[1] http://stestr.readthedocs.io/en/latest/

Change-Id: I25cd407677a4013d022f87d124c6db43ab6bb2e0
Story: #2001637
Task: #6648
2018-03-08 16:37:08 +00:00
Mark Goddard
823e50cce7
Merge branch 'master' into molecule-kolla-openstack 2018-02-22 15:19:15 +00:00
Mark Goddard
d57969beb9
Merge pull request #84 from ktibi/ceph_tag
add storage group and ceph tag
2018-02-22 14:51:45 +00:00
Mark Goddard
2200504a3e Remove pip install sphinx from pep8 tox environment
This was required when upper constraints restricted sphinx to < 1.5. UC now has an
appropriate version of sphinx.
2018-02-21 13:40:19 +00:00
Mark Goddard
318f73cc52 Add a tox environment & dependencies for running molecule tests 2018-02-20 18:48:28 +00:00
Mark Goddard
1999110bbc Fixes for ceph block device tagging (#1)
* Install galaxy roles before running ansible tests

* Use package module in kolla-ceph to support Debian-based systems

This is required for running tests in TravisCI.

* Fix kolla-ceph unit test

* Add more tests for kolla-ceph

Journal tests are currently failing on my laptop due to partition labels
being truncated.

* Add .gitignore for stackhpc.parted-1-1 galaxy role

* Run all test cases

Run all test cases, collecting failures, then report at the end.
2018-02-09 14:42:38 +01:00
Mark Goddard
6beb880486 Add bashate to pep8 tox environment 2018-02-06 11:54:12 +00:00
Mark Goddard
76309988ff Initial unit testing of ansible - kolla-ansible role
Adds a new tox environment, ansible, which runs ansible unit tests. One
such test has been implemented so far, for the kolla-ansible role.
2017-12-07 11:26:50 +00:00
Mark Goddard
7281847095 Add a tox environment ansible-syntax for checking ansible syntax
Run this environment in TravisCI.
2017-11-17 12:06:22 +00:00
John Garbutt
444801af0e Update to use pike requirements 2017-09-18 21:41:47 +01:00
John Garbutt
c4e75cc5b0 Add ability to run ansible-lint
Hopefully it will help debug ansible 2.3 related issues.
2017-09-14 14:42:40 +01:00
Mark Goddard
cc2906e2e9 Add Travis CI config
Currently we run the following:

* Python and documentation style checks
* Documentation build
* Python unit tests
2017-09-04 11:01:02 +01:00
Mark Goddard
ee09ae8f4a Add sphinx8, a thin wrapper around doc8 that supports sphinx 2017-09-04 11:01:02 +01:00
Mark Goddard
454e888933 Add doc8 for documentation style checking, fix the one issue found 2017-04-06 10:19:45 +01:00
Mark Goddard
61f7f804cb Expand documentation and change to sphinx from MarkDown 2017-03-29 14:02:51 +01:00