This provides full coverage of openstackclient cookbook integration testing.
Also enable multiple_converge when using kitchen to try and catch additional
idempotency issues.
Change-Id: Iaaf06bcbb8206f99c02bd6e89ecf8b8c2bf384e2
Signed-off-by: Lance Albertson <lance@osuosl.org>
This adds support for testing CentOS 8.
- Update documentation
- Add references to CentOS 8
- Update genealogy to include latest releases
- Update minimum Chef requirement
- Add Bare Metal to list of cookbooks when creating a stable branch
- Include memcached in identity role
- Update InSpec tests for CentOS 8
- Ensure we install the yum package on rpm distros (required by Chef to
run properly and is missing on the default image)
- Remove yum-epel attributes in integration since it breaks on EL8
Change-Id: Ie648432021325150fdd2fd7ab7f1af10bc69b655
Signed-off-by: Lance Albertson <lance@osuosl.org>
The bind cookbook has been migrated to the Sous Chefs and a new release has
finally been done which removes the need to have this in the pointer (which is
now broken).
In addition:
- Disable voting for other issues that need to be addressed
- Add CHEF_PRODUCT_NAME env var to kitchen.yml to allow users of Cinc to use it
more easily
Change-Id: I2a58f3633f0e5cd2457ebcb09feaa3c848a7513c
Signed-off-by: Lance Albertson <lance@osuosl.org>
We currently don't fully support SELinux so we need to disable it for now until
we get it fixed properly. Make this a variable so that we can change dynamically
later if we need to for testing purposes.
Temporarily disable voting until we get things working properly again.
Change-Id: Ib6dec3f6ea1cbc13d9c82d372b4f65f689adc0bc
Signed-off-by: Lance Albertson <lance@osuosl.org>
This works around a problem that was introducted in berkshelf-7.2.0 for Ruby 3.0
support that now breaks berks with the following error:
ArgumentError wrong number of arguments (given 3, expected 1..2)
This should be removed after we remove support for Chef/Cinc 15.
Signed-off-by: Lance Albertson <lance@osuosl.org>
Change-Id: Ica4a65a98f3b3b509d1aa8df5f36f62f3677acab
This includes newer cookstyle rules that we should be checking for.
Change-Id: I6f1bedfe30dd3455570b41862e01b0c928f5e565
Signed-off-by: Lance Albertson <lance@osuosl.org>
This requires a fix in cookbook-openstack-common that will depend on this patch
so jobs need to be disabled.
Change-Id: Ide2fefddcd79ad7ff9bbe748187b4fd4999a857a
Signed-off-by: Lance Albertson <lance@osuosl.org>
This adds support for testing both Chef/Cinc 15 and Chef/Cinc 16 which
are still supported upstream. For now this disables voting on 16 as we
have some known issues that need to be worked out first.
In addition, this updates to Chef Workstation 20.8.111 which includes
Chef 16 for spec testing. For now, let's only worry about doing unit
testing against Chef 16 and worry about integration testing to catch any
issues with Chef 15.
Also remove installation of the fog-openstack gem as it's now included
in Chef Workstation by default.
Change-Id: I191b14a295bf323ab37f5a97298f9f0594e8843c
Signed-off-by: Lance Albertson <lance@osuosl.org>
Create a role for installing a chef-client implementation instead of
having it hardcoded within the pre playbook.
Create additional jobs running with cinc-client.
Change-Id: Ib6c592f684072f60962c1be5fccff035fd4c3459
Changed:
- Temporarily disable voting during development
- Update git URI for bind cookbook to use upstream master
- Renamed .kitchen.yml -> kitchen.yml
- Genealogy updated
Fixed:
- Idempotency with use of apt_update resource
- InSpec tests to work with Train
- Cookstyle
Added:
- Data bag for placement service
- Set deprecations_as_errors to true in kitchen.yml
Removed:
- Unused statsd cookbook in Berksfile
- Unused .rubocop.yml
Deprecated:
- LBaaS recipes and tests. This has been deprecated upstream.
Change-Id: I53a28de6aad000a246ff8f610b64dd5201c03b27
Switch to openstackdocstheme 2.2.1 version. Using
this version will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering problems
Update Sphinx version as well.
Disable openstackdocs_auto_name to use 'project' variable as name.
Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.
openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.
See also
http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html
Change-Id: Ied3bb008208231bd4c9b6c2e86c716eac66267aa
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove python 2.7 stanza from setup.py
- Remove obsolete sections from setup.cfg
- Update requirements, no need for python_version anymore
- Cleanup */source/conf.py to remove now obsolete content.
- Use newer openstackdocstheme version
Change-Id: I5f6aabc271e21fe8edbf2aadd2f78f8bdc407e80
- Update references from Rocky to Stein.
- Switch to using chef-workstation
- Exclude integration group from Berksfile. This is to ensure ChefSpec tests
should always work regardless if we're working on integration related
cookbooks that don't interact with those tests.
- Temporarily disable voting for integration tests due to cookbook version
conflicts
- Add tests for openstack-common::etcd and openstack-common::completions
- Update tests for Stein
- Update OVS port to check
- Add tests for lbaas but only for kitchen, not for CI pipeline
- Add suite and tests for integration-test
Change-Id: Id451b08e361acc709879a65d0d92b35640a5dba9
This updates the integration tests for the ops-database cookbook so that
it works properly with the new mariadb cookbook. In addition:
- Enable auto_correct for forwarded_port so we can run more than one
instance at a time with test-kitchen
- Remove mariadb attributes that are no longer needed
- Temporarily disable voting on centos/ubuntu gates since this will
require a patch from ops-database and we cannot create a circular
dependency
Depends-On: https://review.opendev.org/710348
Change-Id: I215a777d255b4b5f9a3481f782a2b7b89f9c3a07
This changes the logic so that we use the Berksfile in the cookbook
we're doing changes in instead of what's included in openstack-chef.
This should allow us to properly deal with cookbook dependencies in a
saner fashion with Gerrit without getting into depends-on hell.
This also required refactoring the Rakefile and roles used in Gerrit and
test-kitchen. Each cookbook now has their own role and test role which
includes specific Tempest configuration settings. This will require
updates in most cookbooks' Berksfile to include missing cookbook
dependencies such as ops-database, ops-messaging and integration-test.
Other major changes includes migrating to using InSpec for integration
testing instead of relying on simple commands included in the Rakefile.
I have replaced most of what was included in _run_basic_queries as
InSpec tests which also improves our coverage overall. Currently the
InSpec coverage is fairly basic and should probably include additional
tests, but in general it covers the following:
I've also added minimal non-voting jobs for both platforms so we can
catch any issue we might have missed downstream.
- Services are enabled and running
- Basic commands return sane output
- Openstack users, services and endpoints are correct
The all suites exclude running Tempest due to the fact that InSpec
doesn't have the ability to change the command timeout beyond 600
seconds [1] which is an issue I've run into. It's recommended to run
tempest manually when using test-kitchen.
NOTE: I haven't made any updates to the multi-node test-kitchen
environment in this patch and will plan on doing that later. I don't
believe this will break anything there.
Other various minor changes include:
- Replaced bare-metal cookbook with block-storage in minimal role
- Print out the command that run_command is going to run to help with
debugging.
- Use different public_ip so that it doesn't interfere with people using
10.0.0.0/24 locally (like me!).
- Add forwarded port to access Horizon
- Switch to using Chef 15 with test-kitchen
- Include log files from additional services that we were missing
- Add missing databag for aodh and telemetry_metric
- Include a real rndc key in the databag to assist with testing
- Use OSUOSL for EPEL mirror to work around public mirror issues
[1] https://github.com/inspec/inspec/issues/1675
Depends-On: https://review.opendev.org/703882
Change-Id: Idebc87ebb6acad7d0af222fb9025fefcb9bf5a1e
- Update some documentation
- Migrate all Markdown to RST for better rendering
- Drop obsolete bootstrap.sh script
- Update tox.ini as for building docs only python3 is supported
Change-Id: I40a7b02e0a83b516dd7b3cccdb3ddbece2996890
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.
[1] https://github.com/sphinx-doc/sphinx/commit/e3483e9b045
Change-Id: Id4ba8fdf54276ce53601337b3006728724831084
All cookbook projects should use a shared queue for gating, so that
patches are merged in order and tested together.
Change-Id: I71da5029d7f6ffa9e9067eb1e3c32ef05cc0ab4b
The Glance Registry service has been deprecated upstream and needs to be removed
from the run list here for testing.
Needed-By: https://review.opendev.org/690401
Depends-On: https://review.opendev.org/691732
Change-Id: Ib9ef88684bab8ab5f8919646a88f1b2bee1beadf
Signed-off-by: Lance Albertson <lance@osuosl.org>
This provides a large collection of updates and refactoring to improve
the development environment for the cookbooks using test-kitchen.
The primary change this provides is the addition of the 'minimal' suite
which replicates what the integration test jobs run in Zuul. This is
useful for testing and debugging issues that might be found during CI
jobs.
- Switch run_list to using roles to better match how the zuul jobs work
- Update to using Ubuntu 18.04 instead of 16.04
- Move all attributes from .kitchen.yml files to environments
- Update multi-node and dokken test-kitchen
- Use MariaDB 10.1 by default as 10.0 has been deprecated upstream for
ubuntu 18.04. Also use OSUOSL mirror as it's more stable than
upstream
- Don't disable EPEL on RHEL systems
- Synchronize attributes (within reason) between test-kitchen files
- Update roles run_list
- Create openstack_test cookbook and update /etc/apt/sources.list to
OSUOSL mirrors to improve stability on Ubuntu
Change-Id: Ie6d7b56a78f7fadbd28e6d27a46446a46c3c5ebd
Signed-off-by: Lance Albertson <lance@osuosl.org>
I'd really like to re-enable integration tests for CentOS since we use
it quite a bit. This should also hopefully catch any issues that might
be missed.
Change-Id: I2be43a81c5c8d4e36253b740affe7223f7a54acd
Signed-off-by: Lance Albertson <lance@osuosl.org>
After the stack to move to using chef-client for the integration tests
has merged, we can make the integration job voting again.
Change-Id: If906f4e07c2afc6dbbf1784aecbb8f473ca62c86
Using the chef-client baked into ChefDK is causing issues with the
fog-openstack gem since it is locked in ChefDK. To work around this and
better mimic how this is used in production, switch the integration
tests to installing chef-client instead of ChefDK.
- Split out pre-run playbooks between delivery and integration (keep
ChefDK for delivery)
- Install Chef 14 by default
- Install Berkshelf in Chef
- Install cookstyle which is needed in the Rakefile
- Update command paths so that berkshelf is available with Chef and
ChefDK
- Update ChefDK to 3.2.30 but not higher due to issues with chefspec and
apache2 [1]
- Upgrade fog-openstack gem to work around extraneous warnings to match
cookbook-openstackclient
- Remove unneeded pip downgrade
[1] https://github.com/sous-chefs/apache2/issues/588
Change-Id: I0b0c2eb80dc0d831685cc7f69a1186a6148e6258
Signed-off-by: Lance Albertson <lance@osuosl.org>