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 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
- 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
All cookbook projects should use a shared queue for gating, so that
patches are merged in order and tested together.
Change-Id: I71da5029d7f6ffa9e9067eb1e3c32ef05cc0ab4b
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>
There were some integration tests running into timeouts while they were
almost finished, so let us increase the timeout for them from 1h to
90mins.
The openstack-chef-delivery job otoh takes only a couple of minutes
usually, so reduce the timeout from 45min to 30min.
Change-Id: I11601843293d1e0c04b4fafb8019261f20cb50ff
Seems that since we are a deployment project, we should produce a
deployment guide rather than an installation guide. Using
what OpenStack-Ansible did as a guide.
Change-Id: I9740b7dbc8cf48c47e5bbc5d261f8736b00ee068
OpenStack Rocky is only supported on Ubuntu Bionic, so we no longer can
run any sensible tests on Xenial.
- Update default mariadb version to 10.1
Depends-On: https://review.openstack.org/645119
Depends-On: https://review.openstack.org/645162
Change-Id: Ifcf73e49a77e497b19700566a3a13ebfc9ca9741
The upstream base job has been switched from Xenial to Bionic, causing
our integration job to fail. Make it non-voting while we work on fixing
it and also introduce a job that runs on Xenial to ensure we keep
testing there.
Change-Id: Ie7981ee522f3b73bb62a2ce02ed247c2b7a33458
Chef Delivery is the command-line interface for workflow capabilities in Chef
Automate and the standard interface that Chef community cookbooks use for
verification.
Change-Id: I72a1775369f955901260173b061f28640055c808
Implements: blueprint deprecate-rakefiles
We want to control the doc build locally, so we do not depend on changes
to project-config.
Also, since this is a greenfield thing, use python3 from the start.
Change-Id: I811d492fe4aa5525003820936e16d7be4632209c
Zuul no longer requires the project-name for in-repo configuration.
Omitting it makes forking or renaming projects easier.
Change-Id: I1ecc5a139199177e5bfd004e9f8354ff460567ac
Zuul now supports including the file extension on the playbook path
and omitting the extension is now deprecrated. Update references
to include the extension.
Change-Id: I159084ce5a0181cc1a8dd3112762d2e7c05a14ae