Use the updated names for the tox/{linters,pep8} jobs from zuul-jobs
repo.
Story: 2011326
Task: 51548
Depends-On: https://review.opendev.org/c/starlingx/zuul-jobs/+/939555
Change-Id: Ica84a5c0224625f95952c1a4dfa6258d5df1f25f
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
Previous commit defined a local zuul job to run tox linters. That job
was badly named, as the names are supposed to be globally-unique.
Solution: remove local job definition and call stx-tox-{linters,pep8}
defined by the Depends-On review.
Story: 2011326
Task: 51548
Depends-On: https://review.opendev.org/c/starlingx/zuul-jobs/+/939454
Change-Id: I7f4c4859efcfc50f91de51b76956e1cfce681fcb
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
Openstack recently changed the default node for some of the zuul jobs
that we rely on. The new node has python 3.12, rather than 3.10, which
causes python dependency problems.
Solution: force affected jobs to run on Debian/bullseye.
Story: 2011326
Task: 51548
Change-Id: Ibd44c186f4355654f9ea841a63c6bd61e2b406fc
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
The QEMU base version on 7.2+dfsg-7+deb12u5 was still causing
incompatibilities other than the ones fixed in [1].
When hot-plugging devices to instances, the error was still occurring
and extra cherry-picks [2-4] were required to be brought from master
in order to fix bug/2083929.
Patch 0014-qemu-remove-support-for-generating-yes-no-boolean-op.patch
was not strictly necessary for this fix, but it helped to smooth the
package build with the other two patches in place.
When we decide to uprev libvirt, this change will no longer be needed.
[1] https://opendev.org/starlingx/virt/commit/a4fad169adb97d5d7d6fd1ae6510db8c24fd6f3
[2] libvirt/libvirt/-/commit/29318399667114b3dd8a054f7ef898b3ba74828d
[3] libvirt/libvirt/-/commit/4f33b817b2926198ec626f10c3fca1c8aaececf6
[4] libvirt/libvirt/-/commit/f763b6e43900605308df8dbca16e4702033947e9
Test Plan:
PASS - build-pkgs -c -p libvirt
PASS - build-stx-images.sh --only stx-libvirt
PASS - Re-apply STX-O with new stx-libvirt image
PASS - Launch VM with 1 bootable volume
PASS - Attach 1 extra volume to the VM
PASS - Live-migrate the VM
Bug: 2083929
Change-Id: I19bcce19fb006e9023505e0c9d6aa67c4c0cb827
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
Co-authored-by: Daniel Caires <DanielMarques.Caires@windriver.com>
After the QEMU uprev to be based on version 7.2+dfsg-7+deb12u5, while we
keep libvirt base version on 7.0.0-3 we are having an incompatibility
issue already reported usptream between qemu 6.0+ and libvirt <7.2 [1].
After version 6.0, qmp command 'object-add' does not support 'props'
parameter but libvirt 7.0.0-3 stills use it when assembling the
command [2-3].
This patch, then, brings the libvirt upstream commits that fixed this
issue starting from v7.2.0. While it is not possible to uprev our libvirt
this patch will be useful to fix the problem and enable proper
device attach when actions are performed on QEMU instances.
When we decide to uprev libvirt, this patch will no longer be needed.
[1] https://bugs.launchpad.net/starlingx/+bug/2078857
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1958302
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1944985
The list of upstream cherry-picked commits follows:
commit 1786cd4179fbaafe83f022c98fc6ee425177ceba
qemu: monitor: Don't add 'props' wrapper if qemu has QEMU_CAPS_OBJECT_QAPIFIED
Author: Peter Krempa <pkrempa@redhat.com>
Date: Mon Nov 30 18:30:46 2020 +0100
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
(cherry picked from commit 96850dfe216f99019978a55027a1e763135ae88f)
commit 9f3a38f3adbdf5f68e960b9c70aa84543c8e7d57
qemuMonitorCreateObjectPropsWrap: Open-code in qemuBuildMemoryBackendProps
Author: Peter Krempa <pkrempa@redhat.com>
Date: Mon Nov 30 17:08:46 2020 +0100
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
(cherry picked from commit 71828a7bc0646ef834af37509fa8300ef4e74340)
commit d2546ae335628e9589cae7c301c42f58772a6218
qemu: monitor: Make wrapping of 'props' of 'object-add' optional
Author: Peter Krempa <pkrempa@redhat.com>
Date: Mon Nov 30 16:03:57 2020 +0100
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
(cherry picked from commit e0eeb2cc67d960a48937f99c659fb63dbd4049dc)
commit b545d8bf1a6ae4f651daa92a32fecc8819ee0a6c
qemu: capabilities: Introduce QEMU_CAPS_OBJECT_QAPIFIED
Author: Peter Krempa <pkrempa@redhat.com>
Date: Fri Nov 27 07:06:13 2020 +0100
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
(cherry picked from commit 3d50ecc9bb2be88a56f00cd60335215b0d1132c2)
TEST PLAN:
PASS - build-pkgs -c -p libvirt
PASS - build-image stx-libvirt
PASS - Update a running AIO-DX stx-openstack deployment with the new
image and ensure libvirt pods are updated and Running
PASS - Live-Migrate a running VM instance with a volume
PASS - Cold-Migrate a running VM instance with a volume
Closes-Bug: 2078857
Change-Id: I6dafafa220809c79f08420d181b2c4ef97f3b71b
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
When STX Patches were ported to the top of QEMU 7.2 version, the
auto-merging placed our custom cli args parsing in the wrong place at
softmmu/vl.c file. These extra cli arguments are related to DPDK
configurations and supposed to be passed to rte_eal_init() function,
called only when dpdk is enabled.
This wrong placing was actually causing an error for any instance that
we tried to launch, since in the new base version there is QEMU code
parsing the cli args BEFORE we properly handle and remove the DPDK extra
args.
This change re-orders the code position inside our patch, such that DPDK
arguments are properly parsed, sent to rte_eal_init() and removed from
argc and argv before proceeding with QEMU upstream logic.
TEST PLAN:
PASS - build-pkgs -c -p qemu
PASS - build-image
PASS - bootstrap a virtual AIO-SX
PASS - apply stx-openstack
PASS - 'openstack hypervisor list' shows a QEMU hypervisor UP
PASS - launch a simple VM (no volumes, single network), it is
properly built and end up in Running state.
Closes-Bug: 2078230
Change-Id: Id14a2328e2fb249a4de8fc8ad6302cee0b1d48ab
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
As per the reported launchpad [1], Zuul recently updated its default
nodeset from Ubuntu 22 to 24. Now, we need to set our jobs nodeset to
debian-bullsseye to properly execute it.
This was causing Zuul errors to any stx/virt change, but was not related
to the change content [2].
[1] https://bugs.launchpad.net/starlingx/+bug/2077748
[2] https://zuul.opendev.org/t/openstack/build/9f030173bfaa4bf68e43471df120736a
Test Plan:
PASS - stx-virt-pylint successfully executed
Partial-Bug: 2077748
Change-Id: I10e0b1e6f0d6d8b88914e779e05165150df4d42a
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
This change adds the use of the configure flag --target-list to filter
our build targets, mapping only targets currently required on the
StarlingX virtualization context.
This reduces both the time and the required disk space for for build:
* BEFORE: Build needed 00:17:34, 7709532k disk space
* AFTER : Build needed 00:16:27, 2394216k disk space
Also, this change updates patch 0006 by adding an extra, and now
required, library to configure LIBS. Because of that, the patch name is
also reworded.
TEST PLAN:
PASS - build-pkgs -c -p qemu
PASS - build-image
PASS - bootstrap a virtual AIO-SX
PASS - apply stx-openstack
PASS - 'openstack hypervisor list' shows a QEMU hypervisor UP
Story: 2010781
Task: 50764
Change-Id: I0362546606ad26bececf810c7c9e9ef2eb9b08fb
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
stx-libvirt container fails to build when it can't install package
'qemu'.
The package 'qemu' was recently upgraded to package qemu 7.3 from 5.2.
Qemu 7.2 no longer produces a dummy 'qemu' deb package.
Even in qemu 5.2 it was an empty deb package.
The container build instructions for stx-libvirt need to be updated,
removing the reference to package 'qemu'.
Partial-bug: 2051878
Change-Id: I98e3c7bd656c3e631c4aaf053dc39815fa0b32fb
Signed-off-by: Scott Little <scott.little@windriver.com>
(cherry picked from commit 7d2229bd6c2d702da3ddebbc0a9d9ca3925e43ac)
As we add kata container support for StarlingX
with the latest kata containers stable version 3.1.3.
We need to upgrade qemu to 7.2.0 version to make them
compatible.
Test plan:
PASS - Build qemu package.
PASS - Build /install image on AIO-SX.
PASS - Verify the package is installed in the system.
PASS - Verify the qemu-utils correctly installed by
running qemi-image -V
PASS - Verify the qemu x86_64 correctly installed by
running qemu-system-x86_64 --version
PASS - Verify stx-openstack works correctly with sanity
and regression tests.
PASS - Verify that the kata-runtime check command print
system is capable of running kata containers.
PASS - Verify that kubectl could create pod with kata
containers runtime, and pod start successfully.
Story: 2010781
Task: 48183
Change-Id: Ie9fba13999023e3dce37c620864710707bc679ed
Signed-off-by: David Liu <david.liu@windriver.com>
Set sphinx language to 'en', as newer versions of sphinx no longer
accept 'None'
Change-Id: I4f8431870e668716b9d1e0a18472cd14868f68f8
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
After splitting the virtualization packages (Libvirt and QEMU) from
`starlingx/integ` and moving them to `starlingx/virt`, it has been
observed that the `qemu-img` command is no longer present in the
platform.
By taking a look at the packages migrated from `starlingx/integ` [1] to
`starling/virt` [2], one can see that the `qemu-utils` package was left
behind in the middle of this process.
Therefore, this change adds the package to the Debian ISO.
[1] 2d3951f713
[2] 886d1cc759
Story: 2010317
Task: 47779
Test Plan:
PASS - Build qemu package
PASS - Build image
PASS - Bootstrap system with built image
PASS - Verify that qemu-utils was correctly added by running:
$ qemu-img -V
Change-Id: Iccb7d5e127173339a18f549d306af01bd06e4f62
Signed-off-by: Luan Nunes Utimura <LuanNunes.Utimura@windriver.com>
This change updates the `0001-Customize-Debian-build-files-for-STX`
deb_patch for QEMU build to better filter the list of targets even for
the configure step.
It also reduces the build time by avoiding the generation and linking of
objects related to targets that won't be used by the package installed
on StarlingX.
Test Plan:
PASS - Build qemu package
PASS - Build/install image on AIO-SX
PASS - Verify that the package is installed in the system
PASS - Verify that stx-openstack sanity passes without new bugs
Story: 2010317
Task: 47666
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
Signed-off-by: Luan Nunes Utimura <LuanNunes.Utimura@windriver.com>
Change-Id: I5ae5427271952d75f7d17b3a995d5bfdccbd803a
A recent update relocated package libvirt from the 'integ' git repo
to the 'virt' git repo, but failed to update the docker image
packaging.
Testing:
build-stx-images.sh: pass
Closes-bug: 2016907
Signed-off-by: Scott Little <scott.little@windriver.com>
Change-Id: I7d650ee1257c703a3514b6f4c348e4020d138ed1
Removed an erronious reference to integ from libvirt's meta_data.yaml.
Fix revcounts for relocated qemu and libvirt.
Added ${OS}_build_layer.cfg file so that the build system won't
ignore this repo.
Add a zuul setup.
Add minimal doc and release notes setup.
Testing:
build-pkgs -c -a: pass
build-pkgs -p libvirt,qemu: pass
build-iso: pass
Story: 2010317
Task: 47779
Signed-off-by: Scott Little <scott.little@windriver.com>
Change-Id: Id31df64f0182a6ae48ac4034100183e11218e988
Signed-off-by: Scott Little <scott.little@windriver.com>
Change-Id: Iec43ee082ad576832045e8a76008e5a503a76b37
Depends-On: Ifd002b037a537fbe2876ec72bc1c8982bc9ef61e
This change enables building the stx-libvirt Docker image within the
Debian build framework. It is now based on stx-debian and
following the new convention for StarlingX images.
Test Plan:
PASS - Build libvirt debian package
PASS - Build stx-libvirt image
PASS - Manually upload built image to a system, use helm-override to
change the libvirt container image and apply stx-openstack
PASS - Ensure the libvirt Pod successfully starts and is running
PASS - Ensure libvirt Pod Liveness and Readiness probes are healthy
Story: 2010072
Task: 46974
Closes-Bug: 1998630
Depends-On: https://review.opendev.org/c/starlingx/tools/+/866411
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
Change-Id: I10112a0f1ab3a1f880ebc8b162c42b7b131d6aad
This change adds the necessary files for the libvirt package to be built
for Debian.
This change is the new approach for porting this package and will be
replacing an old change that will no longer be valid [1].
All the libvirt related packages (rpm) delivered on CentOS builds of
starlingx were verified to exist or have an equivalent package for the
Debian Bullseye (deb) distro [2], which is based on libvirt 7.0.0.
The upstream Debian packaging, patches and configuration will be used as
is, although the deb_patches directory will contain a patch to add few
starlingx specific files that are required, based on how stx-libvirt [3]
was previously built and delivered to CentOS.
This change will deprecate the starlingx-staging/stx-libvirt repository
and any future starlingx change to libvirt will now be placed here,
on top of debian/7.0.0-3 (bullseye) version.
Earlier (on CentOS) the base point was the libvirt 4.7.0 release and 17
starlingx specific commits were added to deliver new features or fix
bugs. Now, the base point will be the libvirt 7.0.0 release package
already prepared for Debian [4] and those 17 commits port will be
evaluated and done, in case they are still needed.
The patches dir will contain source code patches required for
stx-libvirt, that is, the code that was earlier added on top of 4.7.0
libvirt release to add StarlingX required functionalities.
The work done on this change is simply porting the code changes,
copying it and doing the minimum required updates when it is needed.
If more than one commit (from that list) can be placed on a single
patch, the patch description will contain all the necessary references.
The list of commits follow, where the "-" character indicates that the
commit was dropped now that we are based on 7.0.0:
-8c46e4 conf: Introduce VIR_DEFINE_AUTOPTR_FUNC for virStorageVolDef
-e8c2ae storage: add support for new rbd_list2 method
-dee98c storage: split off code for calling rbd_list
-956103 Revert "qemu: hotplug: Prepare disk source in..."
-97d02f STX: po make: limit thread creation ability of libgomp
-6e8f91 STX: Revert "vsh: Fix broken build on mingw"
0d92d8 STX: pci-sriov perform limited retry on netlink failures
c49366 STX: Increase timeout for connecting to monitor
dedd07 STX: Stop processing memory stats if balloon info hard fails
-e0f897 STX: Allow vcpu pinning with TCG
d8b544 STX: Adding systemd dependencies against pmon.service
-7bf5a9 STX: Set initial cpu affinity of qemu threads
28b73b STX: Fixed default libvirtd systemd service
e4c5a6 STX: DPDK parms handling
fdf5e7 STX: Drop migration poll times to 10mS
fbc79d STX: System Logging: set group read permission on log files
2721c7 STX: CPU pinning not working over live-migration
[1] https://review.opendev.org/c/starlingx/integ/+/824928
[2] https://packages.debian.org/source/bullseye/libvirt
[3] https://github.com/starlingx-staging/stx-libvirt
[4] https://salsa.debian.org/libvirt-team/libvirt/-/tree/debian/7.0.0-3/debian
Test Plan:
PASS: Build the libvirt packages
PASS: Build Debian ISO with libvirt packages
PASS: Bootstrap Debian ISO on AIO-SX
PASS: Ensure libvirt packages are installed (apt list --installed)
PASS: Lock/Unlock AIO-SX *
* Future tests regarding the libvirt/qemu runtime features will be done
once all the pieces are in place in the ISO.
Depends-On: https://review.opendev.org/c/starlingx/root/+/865021
Story: 2010317
Task: 46391
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
Change-Id: Ib3da0e663336021fa2cfd6b400d1081fc0113348
This change adds the necessary files for the qemu package to
be built for Debian. This review follows the same approach
used on the virt/libvirt [1].
The base version selected comes from the Debian archive [2] since the
salsa-debian [3] version was not fully compatible with stx build tools.
The full upstream build was quite long (time) and big (size) so we
patched the Debian files with debian_patches to drop unnecessary
packages, that is, packages that starlingx does not need.
The patches dir will contain source code patches required for
stx-qemu, that is, the code that was earlier added on top of 3.0.0
qemu release to add StarlingX required functionalities.
The work done on this change is simply porting the code changes,
copying it and doing the minimum required updates when it is needed.
The list of commits follow, where the "-" character indicates that the
commit was dropped now that we are based on 5.2:
d3400d STX: virtio-serial: don't touch virtqueue if vm is stopped
71dc08 STX: Modify live migration auto-converge threshold
9be81b STX: Suspend/Resume for VMs with PCIPT+Virtio
876a3c STX: realtime uses mlock instead of mlockall
007444 STX: qemu dpdk custom config
3f6344 STX: add libdl
dbda73 STX: qemu: add compile define for CONFIG_DPDK
626bfd STX: qemu: add -enable-dpdk runtime flag
79ea26 STX: qemu dpdk changes for openvswitch dpdk
9c83db STX: migration thread affinity and priority qmp
e7fbe5 STX: Add support statement to -help output
-48de9c STX: Changes for running on CentOS
-32b6f0 Upstream: Workaround: make sure vdev->vq[i].inuse never goes
below 0
-246b26 virtio: Return true from virtio_queue_empty if broken
[1] https://review.opendev.org/c/starlingx/integ/+/863561
[2] https://snapshot.debian.org/archive/debian/20221109T211529Z/pool/main/q/qemu/
[3] https://salsa.debian.org/qemu-team/qemu/-/tree/debian-bullseye
Test Plan:
PASS: Build the qemu packages
PASS: Build iso with qemu packages
PASS: Bootstrap Debian ISO on AIO-SX
PASS: Ensure qemu packages are installed (apt list --installed)
PASS: Lock/Unlock AIO-SX *
* Future tests regarding the libvirt/qemu runtime features will be done
once all the pieces are in place in the ISO.
Depends-On: https://review.opendev.org/c/starlingx/root/+/864942
Story: 2010317
Task: 46390
Signed-off-by: Rafael Falcao <rafael.vieirafalcao@windriver.com>
Co-Authored-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
Change-Id: I424debf7eb24c024ba82a490cda746dbd5af0019
Qemu and kubernetes build failed to build under a 3 GB ramdisk.
The 6 GB ramdisk was ok.
Increase the minimum resources for these packages to 6 GB.
Closes-bug: 1964980
Signed-off-by: Scott Little <scott.little@windriver.com>
Change-Id: I6027a4c02c15ef87a405ad300e967499c103b452
This update makes use of the PKG_GITREVCOUNT variable
to auto-version the packages in this repo.
Story: 2007750
Task: 39951
Change-Id: I854419c922b9db4edbbf6f1e987a982ec2ec7b59
Signed-off-by: Dongqi Chen <chen.dq@neusoft.com>
Changes to support removing the RHEL patches include:
- drop systemtap from the spec file for qemu
- leave the man page name as qemu vs. qemu-kvm, man pages are not
installed into containers anyway
Change-Id: I230f7213f9de50fc94b4ddbbb0ebd6581ee1f5a1
Story: 2005212
Task: 29990
Depends-On: https://review.opendev.org/#/c/655235/
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
This update removes pike and master wheel and/or image files,
as these have been replaced with stable/dev.
Change-Id: I02dfdd799c62f0b4028606b04ad6f125865769d9
Story: 2005248
Task: 30321
Signed-off-by: Don Penney <don.penney@windriver.com>
This update supports the migration to stable/dev build streams by
setting up the stable/dev wheels.inc and image build files.
Change-Id: I2330be8a910245d434a9e0a116fa4db65f7212e8
Story: 2005248
Task: 30100
Depends-On: Ib5dc9a7c1d8c37368d073e28d83eeb883766ee3f
Signed-off-by: Don Penney <don.penney@windriver.com>
Just doing some whitespace and variable expansion cleanups in the
bash script that were highlighted while doing a previous review.
Change-Id: I6a5a1e80057fbf6cb292fc0ed5415a26fb780958
Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
The final upstream implementation for emulated TPM support in libvirt
has merged, and as such we no longer need to maintain our own hooks.
Let's clean up this code as it's no longer relevant.
Change-Id: I1c1ee1fa9f53c6c4cdaecc102bb05fe548ba9fb7
Story: 2005213
Task: 29991
Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
Refactor low latency compute per-cpu power management
out of stx-nova into libvirt qemu hook
Story: 2004610
Task: 28508
Change-Id: I80432b36c4e71d957db51f1742ef87fb519acce2
Signed-off-by: Daniel Chavolla <daniel.chavolla@windriver.com>