GitHub configuration
All new repositories must be configured to use the following branch ruleset: https://raw.githubusercontent.com/seapath/.github/main/branch-default-ruleset.json.
To enable it:
Go to the project settings
In the left menu, select "Rulesets" in "Rules"
Click on the "New ruleset" button, then "Import a ruleset"
Select the "branch-default-ruleset.json"
On the new screen go to the end, click on the button "Create"
Release procedure
For a new vX.Y.Z release:
Bump SEAPATH Yocto distribution version
If not already done, bump python3-setup-ovs, python3-vm-manager and python3-svtrace in
recipes-seapath
:SRCREV
Version in recipe file name for python3-setup-ovs and python3-vm-manager
Change the version in SEAPATH distro files for SEAPATH Yocto
Add
vX.Y.Z.xml
file in repo-manifest (pointing to vX.Y.Z repositories using commit ID)Use this
vX.Y.Z.xml
file as default manifesttag these repositories with vX.Y.Z:
ansible
build_debian_iso
yocto_bsp
meta-seapath
ansible-role-systemd-networkd
vm_manager
cockpit-*
python3-setup-ovs
repo-manifest
snmp_passpersist
cukinia-tests
Revert the repo-manifest
Publish ansible code on ansible-galaxy with version v1.0.0
Write a wiki page with all the release note
Write one dedicated release note for the following repositories :
ansible
build_debian_iso
yocto_bsp
Release validation tests
The following tasks should be validated before any new release.
Yocto
Validate the following image builds with
cqfd
. Also, keep built.wic
and.swu
image files marked with a * for later use.
- Flasher *
cqfd -b flasher
- Hypervisor cluster
- Release image * →
cqfd -b host_efi_swu
- Debug image →
cqfd -b host_efi_dbg_swu
- Minimal image →
cqfd -b host_efi_minimal
- Hypervisor standalone *
cqfd run ./build.sh -v -i seapath-host-efi-swu-image --distro seapath-standalone-host
- Guest
- Release image * →
cqfd -b guest_efi
- Debug image →
cqfd -b guest_efi_dbg
- Observer *
cqfd -b observer_efi_swu
Create a SEAPATH flasher USB key.
Flash and validate a standalone hypervisor
Flash a machine with the built standalone release image using the flasher.
Boot the newly flashed machine, check that it is reachable from SSH.
Ansible configuration → Use the revision that will be release of SEAPATH Ansible
Set up the Ansible inventory for the standalone test machine
Configure the standalone hypervisor:
cqfd run ansible-playbook --limit standalone_machine -i <inventory-to-use> playbooks/seapath_setup_main.yaml
Check that cukinia test succeed :
sudo cukinia
Flash and validate a cluster
Flash a SEAPATH cluster: 2 hypervisors and 1 observer
Run Ansible setup on the SEAPATH cluster
Set up the Ansible inventory for the cluster
Configure the cluster
cqfd run ansible-playbook --limit cluster_machines playbooks/seapath_setup_main.yaml
Check that cukinia test succeed on hypervisors and observer :
sudo cukinia
Run Cukinia tests
Run Cukinia’s test on a VM
Deploy a standalone VM
Deploy a VM in a cluster
Debian
TODO