Move service to use uWSGI role instead of iternal task for uwsgi
deployment. This aims to ease the maintenance of uWSGI and speedup
metal deployments as the same uwsgi environment will be used
across all services.
Depends-On: https://review.opendev.org/678200/
Depends-On: https://review.opendev.org/678055/
Change-Id: If5aeeefb93c8ba3c1368970de61ea1300218f637
This driver has been retired [1] and tests are now failing becasue the
nova-lxd repo master branch is now empty.
[1] https://review.opendev.org/#/c/672283/
Change-Id: I9906ede54f6b41972a03bfa1d39ba5f99c6235ed
Placement is now a separate service and has been removed from nova[1]
and implemented as a separate service in OSA[2]. As such, the nova
in-tree placement API is now disabled and can be removed.
[1] https://review.opendev.org/#/c/618215/
[2] https://review.opendev.org/#/c/656891/
Depends-On: I01df855d8b9255d24efe16ab053ffa491fda351f
Depends-On: I25ce79b9e3492cb075c50beed90ea2b78055e474
Change-Id: I2f5d4c2f1fc1418bc4f4c4baa1ce3c90b88208fc
This patch adjusts the nova-lxd deployment so that it works correctly
with LXD3 and bionic.
* Update the zuul job and project config to switch from xenial to bionic.
* Change the variable lxd_storage_pool to always have a defined value
in the role defaults. This variable represents the name of the LXD
storage pool which is distinct from any names associated with underlying
storage. LXD storage pools created with 'lxd init' are always called 'default'.
* Switch the role test storage backend from dir to ZFS. nova-lxd is
currently not working for the dir backend as it expects the storage
subsystem to support quotas.
* Due to limitiations in nova-lxd it is necessary to ensure that the
LXD storage pool name and ZFS pool names are both set to 'default'.
Closes-Bug: #1800837
Change-Id: If1e48bb2e789e13f20435da19907b5adb7c1ef1f
In Ie0e72f69026c44a3c3ff6316bbb308bdd873c149 we forgot
to remove the ansible-role-requirements.yml entry for
os_previous_nova, so we do it here.
Change-Id: Ibc46b8d128ac78dffe9d1cc578b4ea403db6c0e2
The connection plugin no longer falls back on using the
inventory_hostname as the container_name. Set container_name as a host
var for each container in the test inventory.
Change-Id: I9d2ce4a0554a791bd6dea0e7280205b0d71c8fd6
Now that we're using the general templates, we can slim down
the role test definitions. We can also remove tests which are
not being watched, or which are fundamentally broken. With
this we can also remove unused scripts/plays.
We do the following:
1. We remove the 'ssl' job, given that the person working on
that is no longer doing so, and no-one else has picked up
the work.
2. We remove the 'upgrade' job, given that it's been broken
all cycle due to the way the job executes and we need to
regroup to figure out another way to do it.
3. We rename the tox target for 'func_lxc' to 'lxc' and
as the 'func_' prefix is pointless.
4. We remove the base python setting in the lxc tox target
because we're not running our functional tests using py3
yet.
Change-Id: Ie0e72f69026c44a3c3ff6316bbb308bdd873c149
Our role tests execute as non-root users, and the roles
need to access the environment variables for that non-root
user. Ansible, when targeting localhost, changes to
'connection: local' and thus breaks everything we need
to do against localhost as root unless we use 'become: true',
but we if generally use that against remote hosts we lose
the environment variables for the non-root user.
As such, we switch the inventory to target 'compute1' instead,
which has the address '10.1.1.1' (br-mgmt), so that we do not
have to deal with the implict connection type changes implemented
by Ansible.
Depends-On: https://review.openstack.org/584033
Change-Id: I6e6f586844f4945ebbeffe17da4cd16083d43771
With the more recent versions of ansible, we should now use
"is" instead of the "|" sign for the tests.
This should fix it.
Change-Id: If3e4366c22e900557e4730a7e8838f55ffe30ecc
This introduces oslo.messaging variables that define the RPC and
Notify transports for the OpenStack services. These parameters
replace the rabbitmq values and are used to generate the messaging
transport_url for the service. The association of the messaging
backend server to the oslo.messaging services will then be
transparent to the nova service.
This patch:
* Add oslo.messaging variables for RPC and Notify to defaults
* Update transport_url generation
* Add oslo.messaging to inventory
* Add release note
Depends-On: If4326a6848d2d32af284fdbb94798eb0b03734d5
Depends-On: I2b09145b60116c029fc85477399c24f94974b61d
Change-Id: Ia95c5c0dfb3cf42bc31dc311dd853db969acc193
Now that run_tests.sh handles the tests repo clone, we can
remove the use of the older tests-repo-clone.sh script.
Change-Id: I4837704fd5519c1507fc72189dde87cb75729e44
In order to ensure that the updated role is used for tests,
we adjust the a-r-r file to pull from the correct repo.
Change-Id: Idfdeecdea9df70c351cb16de942d3433481e4a54
In order to allow tests to work as the use of the common
role is implemented in the various roles, we pre-implement
the addition of the role into the a-r-r file.
Change-Id: I51d6a2172b3d2cce8b20591e77f62b75ee336b39
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
In order to allow tests to work with https://review.openstack.org/551028
merged, add the role to the a-r-r file.
Change-Id: I89cc4f6502bf301a6cfdaf40d73c84adc5ed945d
The upgrade tests are very noisy since Ansible verbosity is set too
high. This makes debugging problems very painful so drop the verbosity
level a bit and let users increase it if desired.
Change-Id: I5fc08aedcee05f01d93af787a2672ee38cdcc40a
The placement_database config options were added in Newton
but the actual code to use the options was reverted and is
not used.
Change-Id: Ifb09747056750893e442ebe0b4124e861a70ae55
Related-Reviews: I31293ac4689630e4113588ab2c6373cf572b8f38
Closes-Bug: #1670419
When doing the role upgrade, we run every playbook with current's
branch ansible. This is normal for the infrastructure bits (which
are running on current branch), but not for the installation of
the previous branch's role, which should use previous branch's
environment.
Change-Id: I88e2616db193487905e1e1552695ec4847bcb4f9
Depends-On: I7ebb045885dd645b820de2b7f75b46c755c015f6
Related-Bug: #1741471
openstacksdk was updated to 0.10.0 which has a different
connection.Connection object, which doesn't take our auth_url.
We should respect the constraints, install the tooling in a venv,
and restrict to a known version of the sdk until more robust code
is written.
Change-Id: I681d5177c3d62d4cd44371fef0032fa8a0727dfd
We are already collecting logs as part of the post-run playbook so we
don't need to do that as part of the exit trap. This avoid collecting
and compressing the logs twice.
Change-Id: I03ad2ae6ded9e13052980694d1122169c1374bb0
Cloning from the official ODL git repository fails far too often with
the following error
fatal: unable to access 'https://git.opendaylight.org/gerrit/p/integration/packaging/ansible-opendaylight.git/': gnutls_handshake() failed: Error in the pull function
Lets switch to the github mirror which may be more reliable.
Change-Id: If709bfecbc0d0139985db79a51ecbc6499aa3fc7
In https://review.openstack.org/513200 the var specifying
the image was updated to a different structure and some
vars were removed. This updates the override to the new
structure.
Depends-On: I0b218fe276292e13dbb40ab38c9a167025d16e45
Change-Id: I4995fcac48889bd189cc1f25adb442b7a6637a46
This changes the a-r-r with the proper version, and fixes
the repo path for role upgrades:
The role will, during test-upgrade-pre, have its current branch
checked out, and will deploy the current branch infrastructure,
including the generation of the constraints.
Then, the installation of previous branch of the role will use
the constraints for its previous version, but will have no
constraints for it, and fail.
We need to generate the constraints for the previous version too.
This should do it.
This patch also implements an initial set of jobs intended to
match the current job execution method. It does not intend to
improve how the jobs are executed - only to replicate what is
currently in openstack-infra/openstack-zuul-jobs and provide
the platform to iterate on.
Co-Authored-By: Jean-Philippe Evrard <jean-philippe.evrard@rackspace.co.uk>
Depends-On: I0391ec310c4eede436011a48490e3c524c8ddf4d
Change-Id: Ib35253ed9020ed27280329891509292b5b463d6c
In order to pass the lint test, all meta-dep
roles for the roles we execute in the test must
be present. As the os_neutron role recently got
the opendaylight role added as a meta-dep it is
now required here too.
Change-Id: I13b02994a9cdcf694cad27252a3534c192cc30df
The placement service is already setup to use UWsgi, we need
to move the other Nova services to follow suit as part of our community
goal for Pike.
Additionally, we need to clean up the nginx configuration as we are
moving away from fronting uWSGI with nginx inside the roles.
Depends-On: Ib66b9709fb88205eaf3f133c87357a4dbbdde5ae
Change-Id: If6c30e00c1c753692c970457b75e3ae7f5cc066c
Implements: blueprint goal-deploy-api-in-wsgi
Add support for the openSUSE Leap distributions. Similar to CentOS,
we need to modify the libvirt sysconfig file to enable/disable the
TCP/IP listening option. Moreover, we also update the zypper cache
before package installation.
Change-Id: I7b2a39eb38b5bee08c90f5188c53e0e5cf3d7e2e
Moves the ceph_client role execution inside the os_nova role
instead of executing it at the playbook level.
Change-Id: Iea317a20d37ae6f187df3eb7db6290d6b99e6997
Test the availability of the Nova API services during an upgrade, and
report them. Passing/failing the gate is not supported at this time.
Change-Id: I29e1d3974b2391b91a9fa35dc0f59944107ad853
Due to https://bugs.launchpad.net/nova-lxd/+bug/1694719 nova-lxd is
currently failing gates - we can SHA pin neutron to get around this
until the bug is resolved.
Change-Id: I8a4cd5bb25333f105cefba4aa1d17d252657eb30
When executing the tests repo clone in OpenStack-CI,
use zuul-cloner instead of git to enable cross-repo
testing. This ensures that if a dependent patch from
the tests repo is noted using 'Depends-On: <change-id>'
in the commit message, that patch will be included.
Depends-On: Idce7abebf32f24c356a27e099fbca954d917402b
Change-Id: I170decc3aa8864c25cac322f79b518454abf0505
'ansible_become' defined as a host_var or in the inventory for a host
has a higher precedence than 'become' defined within a playbook.
In change Id5b76a87809f03951c954fc3d752419a673403f7, 'become' was
defined explicitly for each play running against localhost so
'ansible_become' should be removed from its host_vars.
Change-Id: I27f46c3966877d5026c96345220d1f268deb971d
A Bug in nova prevents our tests or Nova from working properly. This is
being fixed in https://review.openstack.org/#/c/455710/, but until that
merges we should SHA pin upstream nova to allow development to continue.
Change-Id: Iac6166d7375f47887248c179a59bb1b7edc222fa
The Nova upgrades need to inherit the "os_nova-overrides.yml" vars file,
otherwise the incorrect tempest tests will run and tests for endpoints
that don't exist will fail.
Change-Id: Icc70108c0576a3844fbe09374def0c629398913f