This patch adds two new jobs:
* kolla-ansible-centos-source-upgrade
* kolla-ansible-ubuntu-source-upgrade
These jobs first deploy a control plane using the previous release of
Kolla Ansible, then upgrade to the current release.
Because we can't change the branch of the git repository on the Zuul
executor, we change the branch of the kolla-ansible repository on the
primary node to the branch of the previous release, in this case
stable/rocky. A new remote-template role has been added that supports
generating templates using a remote template source, to generate config
files using the previous kolla-ansible branch.
If the change being tested depends on a kolla change for the current
branch, then we build images. Rather than using the current
kolla-ansible version to tag the images, we now tag them with
change_<gerrit change ID>. This is because the version of kolla-ansible
will change from the previous release to the current one as we upgrade
the system.
Finally, it should be noted that the 'previous_release' variable in the
Zuul config needs to be updated with each release, since this sets the
release of kolla-ansible that is installed initially.
Depends-On: https://review.openstack.org/645089/
Depends-On: https://review.openstack.org/644250/
Depends-On: https://review.openstack.org/645816/
Depends-On: https://review.openstack.org/645840/
Change-Id: If301e0affcd55360fefe3b105f023ae5c47b0853
The path /var/lib/docker/volumes/kolla_logs/_data/ is too long
shorter log path will help to debug from log.
The volume path is compatible with docker-engine and docker-ce.
Change-Id: I9195d5f24d938f5060fe748aac3ae58c79ec5abf
If building images, kolla currently uses its own version for their tag
by default. This might not match the version of kolla-ansible, which is
what is used by default in kolla-ansible. This leads to the image not
being found.
This change uses kolla-ansible's version to tag locally built images.
Change-Id: I49c7afb9167d1e3f8a4470b6ebbb6ad6798d4996
With this change, an operator may be able to stop a
service container without stopping all services in a host.
This change is the starting point to start
fast-forward upgrades support.
In next changes new flags will be introducced to disable
stop dataplane services during upgrades.
Change-Id: Ifde7a39d7d8596ef0d7405ecf1ac1d49a459d9ef
Implements: blueprint support-stop-containers
blueprint database-backup-recovery
Introduce a new option, mariadb_backup, which takes a backup of all
databases hosted in MariaDB.
Backups are performed using XtraBackup, the output of which is saved to
a dedicated Docker volume on the target host (which defaults to the
first node in the MariaDB cluster).
It supports either full (the default) or incremental backups.
Change-Id: Ied224c0d19b8734aa72092aaddd530155999dbc3
Improve where openstack services are deployed
to a variable, so we will avoid many conditions
when more CI jobs are added with different configs.
Heat is enabled by default in globals.yml, lets deploy it
at least.
Change-Id: If0f009cf434c3ed5874b3171d8c75911ef8e4be1
This change is intended to ease the addition of new test scenarios, by
splitting the existing setup_gate.sh script up into several smaller
scripts. We may wish to further break these scripts up in future,
depending on the requirements of new test jobs.
Change-Id: Ifa442ac79a54f749c56d20f5f7383c3852d95268
Introduce a job 'kolla-ansible-ubuntu-source-zun' to test kolla
with Zun enabled. To reduce CI resource, this job will be triggered
only if there are changes on the Zun's ansible roles.
Change-Id: I0ba207e1d3761da2d6992c5834d4f59e7e1d6628
The python-neutronclient is deprecated. We should use openstackclient
and openstacksdk for the equivalent functionality.
Change-Id: Iaf49d6b7942343104e0b40b6db89b78a793b858b
Kolla Ansible now claims [1] to support executing as a user other than
root. We should ensure that this is tested in CI.
This change removes the 'become' from hosts in the inventory, and sets
the remote user to 'kolla', as configured via the bootstrap-servers
command. The bootstrap-servers command and other ansible commands
executed before it still need to execute as the zuul user and not as
kolla, since kolla does not exist yet.
The autogenerated SSH private key in passwords.yml is now added to the
zuul user's SSH config, such that it can SSH as the kolla user, which
has authorised this key.
[1]
https://blueprints.launchpad.net/kolla-ansible/+spec/ansible-specific-task-become
Change-Id: I8f3587e2908bc5b8889cd6fbc01981a6186d33e6
Without this, kolla-ansible check fails with the following error:
Unable to retrieve file contents
Could not find or access '/path/to/kolla-ansible/ansible/check.yml'"}
Also adds the check command to the CI tests, to ensure that it does not
break again.
Change-Id: I9fc2f9999f55cb742ac3ac38579dcf26524a9fc7
Closes-Bug: #1790653
In order to migrate to the latest release of rabbitmq (3.7), we need to
first remove this deprecated plugin which is no longer supported (the
problems it solved are now addressed in rabbitmq itself).
This avoids a circular dependency in CI where the new images depend on
the new clustering and the new clustering depends on the new images.
Change-Id: I921459f3e40b9e0d4af9497384e49aabf0abe79b
Cinder removed some parameters from the API.
Openstack client is not updated yet and failing.
Revert this change once is fixed.
Change-Id: Ie8feb03e9a07a6486a8b375d3304c9e6f1f8b890
Without these jobs, a compute node that is rebooted or powered off may
violently kill off the VMs running inside of it. This has been kept
separate from the main portion of kolla-ansible since no current role
modifies the systemd jobs of the system.
Change-Id: I0a4424f97b5ad872ff0398258c1dc42d31d0ef07
User can use custom directory for nova instance.
For example using a shared file system as backend.
Change-Id: I11fe4891719a2e2a34888d8b798df5602e294e4f
To destroy a kolla-ansible environment a confirmation string should be passed
along with kolla-ansible command: kolla-ansible destroy -i ~/multinode \
--yes-i-really-really-mean-it
However, this string is not evaluated right and just putting --y starts destroy
process: ./kolla-ansible destroy -i ~/multinode --y
Change-Id: I5983f9c7fd3859d60741dfd23ad10dfd91872eeb
Closes-Bug: #1701313
Deploys a bifrost container using kolla-ansible bifrost-deploy.
IPA and disk images are downloaded rather than built to improve
reliability.
Currently only minimal testing of the deployment is performed, creating
and deleting an ironic node. Ideally we would perform a bare metal node
deployment.
The job is based on CentOS, as Ubuntu bifrost deployment is currently
failing with a python-MySQLdb error.
Change-Id: Ic45094594c21116b5b0d6a606f568fc7954175e3
When running the kolla-ansible destroy playbook most of the files
under /etc/kolla are cleaned up. This change will cause the
clean-up to skip the kolla-cli related directories. When running
the deployment code in a container or a separate VM this is not
an issue, but when doing an all-in-one or running the deployment
process from one of the systems being deployed onto it would have
previously destroyed the kolla-cli inventory and any generated
certificates used for TLS.
Change-Id: Icd62e177964b8fb31052131785c6d7b138975a28