[PATCH] qemu: Avoid memory leak in virQEMUCapsCPUDefsToModels
by Michal Privoznik
The @vendor variable inside virQEMUCapsCPUDefsToModels() is
allocated, but never freed. But there is actually no need for it
to be allocated, because it merely passes a retval of
virCPUGetVendorForModel() (which returns a const string) to
virDomainCapsCPUModelsAdd() (which ten accepts the argument as
const string). Therefore, drop the g_strdup() call and fix the
type of the variable.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 6f3ff7f43f..04b2eef215 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2189,7 +2189,7 @@ virQEMUCapsCPUDefsToModels(virArch arch,
for (i = 0; i < defs->ncpus; i++) {
qemuMonitorCPUDefInfo *cpu = defs->cpus + i;
- char *vendor = NULL;
+ const char *vendor = NULL;
if (modelAllowed && !g_strv_contains(modelAllowed, cpu->name))
continue;
@@ -2198,7 +2198,7 @@ virQEMUCapsCPUDefsToModels(virArch arch,
continue;
if (vendors)
- vendor = g_strdup(virCPUGetVendorForModel(arch, cpu->name));
+ vendor = virCPUGetVendorForModel(arch, cpu->name);
virDomainCapsCPUModelsAdd(cpuModels, cpu->name, cpu->usable,
cpu->blockers, cpu->deprecated, vendor);
--
2.35.1
2 years, 6 months
[PATCH 0/5] meson: Bump minimal required version
by Michal Privoznik
*** BLURB HERE ***
Michal Prívozník (5):
meson: Replace meson.build_root() with meson.project_build_root()
meson: Replace meson.source_root() with meson.project_source_root()
meson: Replace external_program.path() with
external_program.full_path()
Replace dep.get_pkgconfig_variable() with dep.get_variable(pkgconfig:)
meson: Bump minimal required meson version
build-aux/meson.build | 14 +++---
docs/go/meson.build | 2 +-
docs/html/meson.build | 4 +-
docs/kbase/internals/meson.build | 2 +-
docs/kbase/meson.build | 2 +-
docs/manpages/meson.build | 2 +-
docs/meson.build | 18 +++----
libvirt.spec.in | 2 +-
meson.build | 64 ++++++++++++-------------
po/meson.build | 4 +-
src/access/meson.build | 4 +-
src/esx/meson.build | 8 ++--
src/hyperv/meson.build | 4 +-
src/meson.build | 30 ++++++------
src/network/meson.build | 2 +-
src/util/meson.build | 4 +-
tests/meson.build | 10 ++--
tools/wireshark/src/libvirt/meson.build | 8 ++--
18 files changed, 92 insertions(+), 92 deletions(-)
--
2.35.1
2 years, 6 months
[libvirt PATCH v2 00/14] Improve CPU model reporting in domain capabilities
by Jiri Denemark
See individual patches for details.
Patches 4 and 6 were truncated as they include a lot of boring changes
in tests, complete patches are available in my gitlab repo:
git fetch git@gitlab.com:jirkade/libvirt.git domaincaps
Version 2:
- original patch 10/11 was replaced by several new patches going in a
bit different way of getting usability blockers
Jiri Denemark (14):
conf: virDomainCapsCPUModelsAdd never fails
cpu_ppc64: Avoid repeated loading of CPU map
qemu: Do not pass qemuCaps to virQEMUCapsCPUFeature{To,From}QEMU
domain_capabilities: Add vendor attribute for CPU models
Introduce virCPUGetVendorForModel and use it in QEMU driver
cpu_x86: Implement virCPUGetVendorForModel
cpu_ppc64: Implement virCPUGetVendorForModel
cpu_arm: Don't implement virCPUGetVendorForModel
docs: Enhance documentation of CPU models in domain caps
Document specifics of virConnectBaselineHypervisorCPU
qemu_capabilities: Translate CPU blockers
virsh: Add --model option for hypervisor-cpu-baseline
virsh: Add completer for hypervisor-cpu-baseline --model
NEWS: Document CPU reporting improvements
NEWS.rst | 22 +++
docs/formatdomaincaps.rst | 30 +++-
docs/manpages/virsh.rst | 14 +-
src/conf/domain_capabilities.c | 35 +++--
src/conf/domain_capabilities.h | 13 +-
src/conf/schemas/domaincaps.rng | 3 +
src/cpu/cpu.c | 25 +++
src/cpu/cpu.h | 8 +
src/cpu/cpu_arm.c | 1 +
src/cpu/cpu_ppc64.c | 67 ++++++--
src/cpu/cpu_x86.c | 19 +++
src/libvirt-host.c | 9 ++
src/libvirt_private.syms | 1 +
src/qemu/qemu_capabilities.c | 85 +++++++---
src/qemu/qemu_capabilities.h | 8 +-
src/qemu/qemu_command.c | 2 +-
src/qemu/qemu_monitor.c | 7 +-
src/qemu/qemu_monitor.h | 5 +-
src/qemu/qemu_monitor_json.c | 11 +-
src/qemu/qemu_monitor_json.h | 1 -
src/qemu/qemu_process.c | 12 +-
tests/cputest.c | 15 +-
.../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 104 ++++++------
.../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 104 ++++++------
.../qemu_4.2.0-virt.aarch64.xml | 72 ++++-----
tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 72 ++++-----
tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 6 +-
tests/domaincapsdata/qemu_4.2.0.s390x.xml | 148 +++++++++---------
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 104 ++++++------
.../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 108 ++++++-------
.../qemu_5.0.0-virt.aarch64.xml | 74 ++++-----
tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 74 ++++-----
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 8 +-
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 108 ++++++-------
tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 108 ++++++-------
.../qemu_5.2.0-virt.aarch64.xml | 74 ++++-----
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 74 ++++-----
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 8 +-
tests/domaincapsdata/qemu_5.2.0.s390x.xml | 148 +++++++++---------
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 110 ++++++-------
.../qemu_6.0.0-virt.aarch64.xml | 76 ++++-----
tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 76 ++++-----
tests/domaincapsdata/qemu_6.0.0.s390x.xml | 148 +++++++++---------
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 110 ++++++-------
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 110 ++++++-------
.../qemu_6.2.0-virt.aarch64.xml | 78 ++++-----
tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 78 ++++-----
tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 8 +-
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 110 ++++++-------
.../qemu_7.0.0-virt.aarch64.xml | 78 ++++-----
tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 78 ++++-----
tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 8 +-
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 106 ++++++-------
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 106 ++++++-------
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 106 ++++++-------
tools/virsh-completer-host.c | 50 ++++++
tools/virsh-completer-host.h | 5 +
tools/virsh-host.c | 24 ++-
tools/virsh.h | 7 +-
tools/vsh.h | 27 ++++
74 files changed, 2549 insertions(+), 2265 deletions(-)
--
2.38.0
2 years, 6 months
[libvirt][PATCH v16 0/9] Support query and use SGX
by Lin Yang
The previous v15 version can be found here:
https://listman.redhat.com/archives/libvir-list/2022-August/234030.html
v14 version:
https://listman.redhat.com/archives/libvir-list/2022-July/233257.html
Diff to v15:
- Updated libvirt target verion to latest 8.9.0 in formatdomain.rst
- Sum up all sgx section size when parse QEMU QMP command
"query-sgx-capabilities" response. Use it instead of "section-size"
if it does not exist
- Resolved conflict to master branch
- Fixed inconsistent EPC size in formatdomaincaps.rst
Diff v15 to v14:
- Dropped SGX support for QEMU 6.2.0, only focus on QEMU 7.0.0 (BTW, I
noticed the default QEMU version in RHEL9 is still 6.2.0, so those
user cannot access this feature unless manually upgrade QEMU)
- Removed total EPC size from domain capability, since the corresponding
attribute is marked as deprecated in QMP command
"query-sgx-capabilities"
- Some cleanups to address comments (pin test to 7.0.0, more validations
on qemu_validate.c, name issue, use built-in functions, ...)
Haibin Huang (4):
domain_capabilities: Define SGX capabilities structs
qemu: Get SGX capabilities form QMP
Convert QMP capabilities to domain capabilities
conf: expose SGX feature in domain capabilities
Lin Yang (2):
conf: Introduce SGX EPC element into device memory xml
qemu: Add command-line to generate SGX EPC memory backend
Michal Prívozník (3):
qemu_cgroup: Allow SGX in devices controller
qemu_namespace: Create SGX related nodes in domain's namespace
security_dac: Set DAC label on SGX /dev nodes
docs/formatdomain.rst | 25 +-
docs/formatdomaincaps.rst | 40 ++++
src/conf/domain_capabilities.c | 47 ++++
src/conf/domain_capabilities.h | 22 ++
src/conf/domain_conf.c | 30 +++
src/conf/domain_conf.h | 1 +
src/conf/domain_postparse.c | 1 +
src/conf/domain_validate.c | 9 +
src/conf/schemas/domaincaps.rng | 43 ++++
src/conf/schemas/domaincommon.rng | 1 +
src/libvirt_private.syms | 1 +
src/qemu/qemu_alias.c | 6 +-
src/qemu/qemu_capabilities.c | 220 ++++++++++++++++++
src/qemu/qemu_capabilities.h | 4 +
src/qemu/qemu_cgroup.c | 78 ++++++-
src/qemu/qemu_command.c | 66 +++++-
src/qemu/qemu_domain.c | 48 ++--
src/qemu/qemu_domain.h | 2 +
src/qemu/qemu_domain_address.c | 6 +
src/qemu/qemu_driver.c | 1 +
src/qemu/qemu_monitor.c | 10 +
src/qemu/qemu_monitor.h | 3 +
src/qemu/qemu_monitor_json.c | 154 +++++++++++-
src/qemu/qemu_monitor_json.h | 4 +
src/qemu/qemu_namespace.c | 20 +-
src/qemu/qemu_process.c | 2 +
src/qemu/qemu_validate.c | 40 ++++
src/security/security_apparmor.c | 1 +
src/security/security_dac.c | 46 ++--
src/security/security_selinux.c | 2 +
tests/domaincapsdata/bhyve_basic.x86_64.xml | 1 +
tests/domaincapsdata/bhyve_fbuf.x86_64.xml | 1 +
tests/domaincapsdata/bhyve_uefi.x86_64.xml | 1 +
tests/domaincapsdata/empty.xml | 1 +
tests/domaincapsdata/libxl-xenfv.xml | 1 +
tests/domaincapsdata/libxl-xenpv.xml | 1 +
.../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 +
.../qemu_4.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 +
.../qemu_5.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.1.0.sparc.xml | 1 +
tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 +
.../qemu_5.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 +
.../qemu_6.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 +
.../qemu_6.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 10 +
.../qemu_7.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 +
.../caps_6.2.0.x86_64.replies | 21 +-
.../caps_7.0.0.x86_64.replies | 34 ++-
.../caps_7.0.0.x86_64.xml | 11 +
.../caps_7.1.0.x86_64.replies | 21 +-
.../sgx-epc.x86_64-7.0.0.args | 40 ++++
tests/qemuxml2argvdata/sgx-epc.xml | 64 +++++
tests/qemuxml2argvtest.c | 2 +
.../sgx-epc.x86_64-7.0.0.xml | 1 +
tests/qemuxml2xmltest.c | 2 +
93 files changed, 1134 insertions(+), 76 deletions(-)
create mode 100644 tests/qemuxml2argvdata/sgx-epc.x86_64-7.0.0.args
create mode 100644 tests/qemuxml2argvdata/sgx-epc.xml
create mode 120000 tests/qemuxml2xmloutdata/sgx-epc.x86_64-7.0.0.xml
--
2.25.1
2 years, 6 months
[PATCH] virNetServerProgramDispatchCall: Avoid calling xdr_free(_, NULL)
by Michal Privoznik
In recent commit of v8.8.0-41-g41eb0f446c I've suggested during
review to put both xdr_free() calls under error label, assuming
that xdr_free() accepts NULL and thus is a NOP when the control
jumps onto the label even before either of @arg or @ret was
allocated. Well, turns out, xdr_free() does no accept NULL and
thus we have to guard its call. But since @dispatcher is already
set by the time either of the variables is allocated, we can
replace the condition from 'if (dispatche)' to 'if (arg)' and 'if
(ret)'.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/rpc/virnetserverprogram.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/rpc/virnetserverprogram.c b/src/rpc/virnetserverprogram.c
index 212e0d5ab5..58b6a278ca 100644
--- a/src/rpc/virnetserverprogram.c
+++ b/src/rpc/virnetserverprogram.c
@@ -475,10 +475,10 @@ virNetServerProgramDispatchCall(virNetServerProgram *prog,
return virNetServerClientSendMessage(client, msg);
error:
- if (dispatcher) {
+ if (arg)
xdr_free(dispatcher->arg_filter, arg);
+ if (ret)
xdr_free(dispatcher->ret_filter, ret);
- }
/* Bad stuff (de-)serializing message, but we have an
* RPC error message we can send back to the client */
--
2.35.1
2 years, 6 months
[libvirt PATCH v2] src: warn if client hits the max requests limit
by Daniel P. Berrangé
Since they are simply normal RPC messages, the keep alive packets are
subject to the "max_client_requests" limit just like any API calls.
Thus, if a client hits the 'max_client_requests' limit and all the
pending API calls take a long time to complete, it may result in
keep-alives firing and dropping the client connection.
This has been seen by a number of users with the default value of
max_client_requests=5, by issuing 5 concurrent live migration
operations.
By printing a warning message when this happens, admins will be alerted
to the fact that their active clients are exceeding the default client
requests limit.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
In v2:
- now only warn once per client to avoid log spam
src/rpc/virnetserverclient.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c
index 30f6af7be5..c9a4eb521e 100644
--- a/src/rpc/virnetserverclient.c
+++ b/src/rpc/virnetserverclient.c
@@ -93,6 +93,9 @@ struct _virNetServerClient
* throttling calculations */
size_t nrequests;
size_t nrequests_max;
+ /* True if we've warned about nrequests hittin
+ * the server limit already */
+ bool nrequests_warning;
/* Zero or one messages being received. Zero if
* nrequests >= max_clients and throttling */
virNetMessage *rx;
@@ -1261,6 +1264,11 @@ static virNetMessage *virNetServerClientDispatchRead(virNetServerClient *client)
client->rx->buffer = g_new0(char, client->rx->bufferLength);
client->nrequests++;
}
+ } else if (!client->nrequests_warning) {
+ client->nrequests_warning = true;
+ VIR_WARN("Client hit max requests limit %zd. This may result "
+ "in keep-alive timeouts. Consider tuning the "
+ "max_client_requests server parameter", client->nrequests);
}
virNetServerClientUpdateEvent(client);
--
2.37.3
2 years, 6 months
[libvirt PATCH 0/2] ci: stop triggering CI jobs on branch push by default
by Daniel P. Berrangé
This series refreshes the CI config with lcitool, which
brings in a very significant architectural and operational
change.
* Contributor forks will never create container images
anymore, only the master upstream. If a user makes a
CI change, it will test the changes in a throwaway
container based on latest distro base images.
This stops users consuming 100's of GB of storage
in gitlab, which is good given their intention to
apply a 5 GB storage limit as soon as they fix
their broken storage quota accounting code !
* CI pipelines are not created on pushes to branches
in forks by default. You must opt in by setting
"RUN_PIPELINE=1' env variable eg
git push <remote> -o ci.variable=RUN_PIPELINE=1
This avoids burning CI quota when you're just
pushing to branches for preserving code.
You can still get a pipeline by triggering it
from the web UI, and merge requests will also
trigger pipelines.
More detail is in the 2nd patch commit message
After this is pushed, you can delete any container images
in your gitlab forks. Likewise for all other libvirt-XXX
projects already.
Daniel P. Berrangé (2):
ci: adapt integration test dependencies for job rename
ci: refresh with latest lcitool manifest
.gitlab-ci.yml | 107 +++-
ci/buildenv/almalinux-8.sh | 98 ++++
ci/buildenv/alpine-315.sh | 80 +++
ci/buildenv/alpine-edge.sh | 81 +++
ci/buildenv/centos-stream-8.sh | 99 ++++
ci/buildenv/centos-stream-9.sh | 98 ++++
ci/buildenv/debian-11-cross-aarch64.sh | 115 ++++
ci/buildenv/debian-11-cross-armv6l.sh | 114 ++++
ci/buildenv/debian-11-cross-armv7l.sh | 115 ++++
ci/buildenv/debian-11-cross-i686.sh | 114 ++++
ci/buildenv/debian-11-cross-mips64el.sh | 114 ++++
ci/buildenv/debian-11-cross-mipsel.sh | 114 ++++
ci/buildenv/debian-11-cross-ppc64le.sh | 114 ++++
ci/buildenv/debian-11-cross-s390x.sh | 114 ++++
ci/buildenv/debian-11.sh | 98 ++++
ci/buildenv/debian-sid-cross-aarch64.sh | 115 ++++
ci/buildenv/debian-sid-cross-armv6l.sh | 114 ++++
ci/buildenv/debian-sid-cross-armv7l.sh | 115 ++++
ci/buildenv/debian-sid-cross-i686.sh | 114 ++++
ci/buildenv/debian-sid-cross-mips64el.sh | 114 ++++
ci/buildenv/debian-sid-cross-mipsel.sh | 114 ++++
ci/buildenv/debian-sid-cross-ppc64le.sh | 114 ++++
ci/buildenv/debian-sid-cross-s390x.sh | 114 ++++
ci/buildenv/debian-sid.sh | 97 ++++
ci/buildenv/fedora-35.sh | 97 ++++
ci/buildenv/fedora-36-cross-mingw32.sh | 74 +++
ci/buildenv/fedora-36-cross-mingw64.sh | 74 +++
ci/buildenv/fedora-36.sh | 96 ++++
ci/buildenv/fedora-rawhide-cross-mingw32.sh | 75 +++
ci/buildenv/fedora-rawhide-cross-mingw64.sh | 75 +++
ci/buildenv/fedora-rawhide.sh | 97 ++++
ci/buildenv/opensuse-leap-153.sh | 99 ++++
ci/buildenv/opensuse-tumbleweed.sh | 96 ++++
ci/buildenv/ubuntu-2004.sh | 102 ++++
ci/buildenv/ubuntu-2204.sh | 98 ++++
ci/containers/almalinux-8.Dockerfile | 2 +-
ci/containers/alpine-315.Dockerfile | 2 +-
ci/containers/alpine-edge.Dockerfile | 2 +-
ci/containers/centos-stream-8.Dockerfile | 2 +-
ci/containers/centos-stream-9.Dockerfile | 2 +-
.../debian-11-cross-aarch64.Dockerfile | 142 ++---
.../debian-11-cross-armv6l.Dockerfile | 140 ++---
.../debian-11-cross-armv7l.Dockerfile | 142 ++---
ci/containers/debian-11-cross-i686.Dockerfile | 140 ++---
.../debian-11-cross-mips64el.Dockerfile | 140 ++---
.../debian-11-cross-mipsel.Dockerfile | 140 ++---
.../debian-11-cross-ppc64le.Dockerfile | 140 ++---
.../debian-11-cross-s390x.Dockerfile | 140 ++---
ci/containers/debian-11.Dockerfile | 148 ++---
.../debian-sid-cross-aarch64.Dockerfile | 142 ++---
.../debian-sid-cross-armv6l.Dockerfile | 140 ++---
.../debian-sid-cross-armv7l.Dockerfile | 142 ++---
.../debian-sid-cross-i686.Dockerfile | 140 ++---
.../debian-sid-cross-mips64el.Dockerfile | 140 ++---
.../debian-sid-cross-mipsel.Dockerfile | 140 ++---
.../debian-sid-cross-ppc64le.Dockerfile | 140 ++---
.../debian-sid-cross-s390x.Dockerfile | 140 ++---
ci/containers/debian-sid.Dockerfile | 146 ++---
ci/containers/fedora-35.Dockerfile | 154 ++---
.../fedora-36-cross-mingw32.Dockerfile | 102 ++--
.../fedora-36-cross-mingw64.Dockerfile | 102 ++--
ci/containers/fedora-36.Dockerfile | 152 ++---
.../fedora-rawhide-cross-mingw32.Dockerfile | 102 ++--
.../fedora-rawhide-cross-mingw64.Dockerfile | 102 ++--
ci/containers/fedora-rawhide.Dockerfile | 152 ++---
ci/containers/opensuse-leap-153.Dockerfile | 2 +-
ci/containers/opensuse-tumbleweed.Dockerfile | 4 +-
ci/containers/ubuntu-2004.Dockerfile | 154 ++---
ci/containers/ubuntu-2204.Dockerfile | 148 ++---
ci/gitlab.yml | 58 +-
ci/gitlab/build-templates.yml | 245 +++++++-
ci/gitlab/builds.yml | 524 +++++++++++++++---
ci/gitlab/container-templates.yml | 45 +-
ci/gitlab/sanity-checks.yml | 16 +-
ci/integration-template.yml | 27 +-
ci/integration.yml | 127 ++++-
76 files changed, 6292 insertions(+), 2045 deletions(-)
create mode 100644 ci/buildenv/almalinux-8.sh
create mode 100644 ci/buildenv/alpine-315.sh
create mode 100644 ci/buildenv/alpine-edge.sh
create mode 100644 ci/buildenv/centos-stream-8.sh
create mode 100644 ci/buildenv/centos-stream-9.sh
create mode 100644 ci/buildenv/debian-11-cross-aarch64.sh
create mode 100644 ci/buildenv/debian-11-cross-armv6l.sh
create mode 100644 ci/buildenv/debian-11-cross-armv7l.sh
create mode 100644 ci/buildenv/debian-11-cross-i686.sh
create mode 100644 ci/buildenv/debian-11-cross-mips64el.sh
create mode 100644 ci/buildenv/debian-11-cross-mipsel.sh
create mode 100644 ci/buildenv/debian-11-cross-ppc64le.sh
create mode 100644 ci/buildenv/debian-11-cross-s390x.sh
create mode 100644 ci/buildenv/debian-11.sh
create mode 100644 ci/buildenv/debian-sid-cross-aarch64.sh
create mode 100644 ci/buildenv/debian-sid-cross-armv6l.sh
create mode 100644 ci/buildenv/debian-sid-cross-armv7l.sh
create mode 100644 ci/buildenv/debian-sid-cross-i686.sh
create mode 100644 ci/buildenv/debian-sid-cross-mips64el.sh
create mode 100644 ci/buildenv/debian-sid-cross-mipsel.sh
create mode 100644 ci/buildenv/debian-sid-cross-ppc64le.sh
create mode 100644 ci/buildenv/debian-sid-cross-s390x.sh
create mode 100644 ci/buildenv/debian-sid.sh
create mode 100644 ci/buildenv/fedora-35.sh
create mode 100644 ci/buildenv/fedora-36-cross-mingw32.sh
create mode 100644 ci/buildenv/fedora-36-cross-mingw64.sh
create mode 100644 ci/buildenv/fedora-36.sh
create mode 100644 ci/buildenv/fedora-rawhide-cross-mingw32.sh
create mode 100644 ci/buildenv/fedora-rawhide-cross-mingw64.sh
create mode 100644 ci/buildenv/fedora-rawhide.sh
create mode 100644 ci/buildenv/opensuse-leap-153.sh
create mode 100644 ci/buildenv/opensuse-tumbleweed.sh
create mode 100644 ci/buildenv/ubuntu-2004.sh
create mode 100644 ci/buildenv/ubuntu-2204.sh
--
2.37.2
2 years, 6 months
[libvirt PATCH] ci: integration: Update the perl CI job names
by Erik Skultety
libvirt-derived repos recently changed the way how and when CI
containers are built and for that a different naming scheme was adopted
to differentiate between the 2. Update the integration pipeline config
to reflect this change.
Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
---
ci/integration.yml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/ci/integration.yml b/ci/integration.yml
index 43f22813c9..0a349bc9b3 100644
--- a/ci/integration.yml
+++ b/ci/integration.yml
@@ -6,7 +6,7 @@ centos-stream-8-tests:
needs:
- x86_64-centos-stream-8
- project: libvirt/libvirt-perl
- job: x86_64-centos-stream-8
+ job: x86_64-centos-stream-8-prebuilt-env
ref: master
artifacts: true
variables:
@@ -22,7 +22,7 @@ centos-stream-9-tests:
needs:
- x86_64-centos-stream-9
- project: libvirt/libvirt-perl
- job: x86_64-centos-stream-9
+ job: x86_64-centos-stream-9-prebuilt-env
ref: master
artifacts: true
variables:
@@ -38,7 +38,7 @@ fedora-35-tests:
needs:
- x86_64-fedora-35
- project: libvirt/libvirt-perl
- job: x86_64-fedora-35
+ job: x86_64-fedora-35-prebuilt-env
ref: master
artifacts: true
variables:
@@ -54,7 +54,7 @@ fedora-36-tests:
needs:
- x86_64-fedora-36
- project: libvirt/libvirt-perl
- job: x86_64-fedora-36
+ job: x86_64-fedora-36-prebuilt-env
ref: master
artifacts: true
variables:
@@ -70,7 +70,7 @@ fedora-36-upstream-qemu-tests:
needs:
- x86_64-fedora-36
- project: libvirt/libvirt-perl
- job: x86_64-fedora-36
+ job: x86_64-fedora-36-prebuilt-env
ref: master
artifacts: true
variables:
--
2.37.3
2 years, 6 months
[libvirt PATCH 00/11] Improve CPU model reporting in domain capabilities
by Jiri Denemark
See patches 04/11 and 10/11 for details.
Patches 4, 6, and 10 were truncated as they include a lot of boring
changes in tests, complete patches are available in my gitlab repo:
git fetch git@gitlab.com:jirkade/libvirt.git domaincaps
Jiri Denemark (11):
conf: virDomainCapsCPUModelsAdd never fails
cpu_ppc64: Avoid repeated loading of CPU map
qemu: Do not pass qemuCaps to virQEMUCapsCPUFeature{To,From}QEMU
domain_capabilities: Add vendor attribute for CPU models
Introduce virCPUGetVendorForModel and use it in QEMU driver
cpu_x86: Implement virCPUGetVendorForModel
cpu_ppc64: Implement virCPUGetVendorForModel
cpu_arm: Don't implement virCPUGetVendorForModel
qemu_capabilities: Translate CPU blockers
domain_capabilities: Add blockers attribute for CPU models
NEWS: Document domain capabilities improvements
NEWS.rst | 11 ++
docs/formatdomaincaps.rst | 20 ++-
src/conf/domain_capabilities.c | 42 +++--
src/conf/domain_capabilities.h | 13 +-
src/conf/schemas/domaincaps.rng | 8 +
src/cpu/cpu.c | 25 +++
src/cpu/cpu.h | 8 +
src/cpu/cpu_arm.c | 1 +
src/cpu/cpu_ppc64.c | 67 ++++++--
src/cpu/cpu_x86.c | 19 +++
src/libvirt_private.syms | 1 +
src/qemu/qemu_capabilities.c | 65 +++++---
src/qemu/qemu_capabilities.h | 4 +-
src/qemu/qemu_command.c | 2 +-
src/qemu/qemu_monitor.c | 7 +-
src/qemu/qemu_monitor.h | 5 +-
src/qemu/qemu_monitor_json.c | 11 +-
src/qemu/qemu_monitor_json.h | 1 -
src/qemu/qemu_process.c | 12 +-
tests/cputest.c | 15 +-
.../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 104 ++++++------
.../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 104 ++++++------
.../qemu_4.2.0-virt.aarch64.xml | 72 ++++-----
tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 72 ++++-----
tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 6 +-
tests/domaincapsdata/qemu_4.2.0.s390x.xml | 148 +++++++++---------
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 104 ++++++------
.../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 108 ++++++-------
.../qemu_5.0.0-virt.aarch64.xml | 74 ++++-----
tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 74 ++++-----
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 8 +-
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 108 ++++++-------
tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 108 ++++++-------
.../qemu_5.2.0-virt.aarch64.xml | 74 ++++-----
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 74 ++++-----
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 8 +-
tests/domaincapsdata/qemu_5.2.0.s390x.xml | 148 +++++++++---------
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 108 ++++++-------
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 110 ++++++-------
.../qemu_6.0.0-virt.aarch64.xml | 76 ++++-----
tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 76 ++++-----
tests/domaincapsdata/qemu_6.0.0.s390x.xml | 148 +++++++++---------
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 110 ++++++-------
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 110 ++++++-------
.../qemu_6.2.0-virt.aarch64.xml | 78 ++++-----
tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 78 ++++-----
tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 8 +-
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 110 ++++++-------
.../qemu_7.0.0-virt.aarch64.xml | 78 ++++-----
tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 78 ++++-----
tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 8 +-
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 110 ++++++-------
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 106 ++++++-------
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 106 ++++++-------
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 106 ++++++-------
67 files changed, 2389 insertions(+), 2256 deletions(-)
--
2.37.3
2 years, 6 months
[PATCH v2 0/2] qemu: tpm: Improve TPM state files management
by Stefan Berger
This series of patches adds the --keep-tpm and --tpm flags to virsh for
keeping and removing the TPM state directory structure when a VM is
undefined. It also fixes the removal of state when a VM is migrated so
that the state files are removed on the source upon successful
migration and deleted on the destination after migration failure.
Regards,
Stefan
v2:
- addressed Michal's comments on v1
Stefan Berger (2):
qemu: Add UNDEFINE_TPM and UNDEFINE_KEEP_TPM flags
qemu: tpm: Remove TPM state after successful migration
docs/manpages/virsh.rst | 6 ++++++
include/libvirt/libvirt-domain.h | 4 ++++
src/qemu/qemu_domain.c | 12 +++++++-----
src/qemu/qemu_domain.h | 3 ++-
src/qemu/qemu_driver.c | 31 ++++++++++++++++++++-----------
src/qemu/qemu_extdevice.c | 5 +++--
src/qemu/qemu_extdevice.h | 3 ++-
src/qemu/qemu_migration.c | 13 +++++++------
src/qemu/qemu_process.c | 4 ++--
src/qemu/qemu_snapshot.c | 4 ++--
src/qemu/qemu_tpm.c | 18 ++++++++++++++----
src/qemu/qemu_tpm.h | 3 ++-
tools/virsh-domain.c | 15 +++++++++++++++
13 files changed, 86 insertions(+), 35 deletions(-)
--
2.37.3
2 years, 6 months