[libvirt] [PATCH] qemu: Fix qemuMonitorCreateObjectProps
by John Ferlan
Commit id f0a23c0c3 introduced qemuMonitorCreateObjectProps
to manage wrapping the object name and alias; however, calling
virJSONValueObjectCreateVArgs and checking a unary ! return
status meant when the CreateVAArgs function returned zero, then
rather than generating a @propsret, the jump to cleanup would
result in an unexpected failure and cause virsh to issue the
"error: An error occurred, but the cause is unknown" error
message for something like "virsh iothreadadd $DOM 10" (assuming
that IOThread 10 didn't already exist).
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/qemu/qemu_monitor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index b29672d4f1..d6771c1d52 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -3051,7 +3051,7 @@ qemuMonitorCreateObjectProps(virJSONValuePtr *propsret,
va_start(args, alias);
- if (!(virJSONValueObjectCreateVArgs(&props, args)))
+ if (virJSONValueObjectCreateVArgs(&props, args) < 0)
goto cleanup;
if (!(*propsret = qemuMonitorCreateObjectPropsWrap(type, alias, &props)))
--
2.14.4
6 years, 5 months
[libvirt] [libvirt-go-xml PATCH v2 0/2] Add support for domain launch security
by Erik Skultety
since v1:
- added a launch security subtype for SEV to avoid having a 'type' XML
attribute
Erik Skultety (2):
Add support for domain launch security
Add support for SEV in domain capabilities XML
domain.go | 162 ++++++++++++++++++++++++++++++++++++++++++++++++-
domain_capabilities.go | 7 +++
2 files changed, 168 insertions(+), 1 deletion(-)
--
2.14.4
6 years, 5 months
[libvirt] [dockerfiles PATCH] README: Provide information about the images
by Andrea Bolognani
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Note that this document will be displayed both for the
repository containing the Dockerfiles
https://github.com/libvirt/libvirt-dockerfiles
and for the images produced by said Dockerfiles, eg.
https://hub.docker.com/r/libvirt/buildenv-centos-7/
so the language is intentionally vague at times. I believe
I've achieved a decent balance between the needs of the two
scenarios, but I'm of course totally open to feedback :)
README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/README.md b/README.md
index a84caf3..ccd7ad1 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,52 @@
Docker-based build environments for libvirt
===========================================
+
+These images come with all libvirt build dependencies, including
+optional ones, already installed: this makes it possible to run
+something like
+
+ $ docker run \
+ -v $(pwd):/libvirt \
+ -w /libvirt \
+ -it \
+ buildenv-centos-7
+
+from a git clone and start building libvirt right away.
+
+Image availability is influenced by libvirt's
+[platform support policy](https://libvirt.org/platforms.html),
+with the obvious caveat that non-Linux operating systems can't
+be run on top of a Linux kernel and as such are not included.
+
+
+Intended use
+------------
+
+The images are primarily intended for use on
+[Travis CI](https://travis-ci.org/libvirt/libvirt).
+
+The primary CI environment for the libvirt project is hosted on
+[CentOS CI](https://ci.centos.org/view/libvirt/); however, since
+that environment feeds off the `master` branch of the various
+projects, it can only detect issues after the code causing them
+has already been merged.
+
+While testing on Travis CI doesn't cover as many platforms or the
+interactions between as many components, it can be very useful as
+a smoke test of sorts that allows developers to catch mistakes
+before posting patches to the mailing list.
+
+As an alternative, images can be used locally without relying on
+third-party services; in this scenario, the number of platforms
+patches are tested against is only limited by image availability
+and hardware resources.
+
+
+Information about build dependencies
+------------------------------------
+
+The list of build dependencies for libvirt (as well as many
+other virtualization-related projects) is taken from the
+[libvirt-jenkins-ci](https://libvirt.org/git/?p=libvirt-jenkins-ci.git)
+repository, which also contains the tooling used to generate
+Dockerfiles.
--
2.17.1
6 years, 5 months
[libvirt] [PATCH v2 0/3] qemu: Allow concurrent access to monitor and guest agent
by Michal Privoznik
v2 of:
https://www.redhat.com/archives/libvir-list/2018-June/msg00700.html
diff to v1:
- extended THREADS.txt documentation
- added more comments
- merged 3/4 to 1/4 in original patch set
(I think that's everything that was pointed out in John's review)
Michal Privoznik (3):
qemu: Introduce qemuDomainAgentJob
qemu: Introduce APIs for manipulating qemuDomainAgentJob
qemu: Switch code to use new agent job APIs
src/qemu/THREADS.txt | 112 ++++++++++++++++++++++++++---
src/qemu/qemu_domain.c | 191 ++++++++++++++++++++++++++++++++++++++++---------
src/qemu/qemu_domain.h | 30 ++++++++
src/qemu/qemu_driver.c | 91 ++++++++++++++---------
4 files changed, 345 insertions(+), 79 deletions(-)
--
2.16.4
6 years, 5 months
[libvirt] [PATCH] events: Remove ATTRIBUTE_NONNULL for virObjectEventStateQueue[Remote]
by John Ferlan
Commit aad3a0b5f altered virObjectEventStateQueueRemote to move
the "if (!event) return" call added in the previous commit 031eb8f6
to virObjectEventStateQueue. Neither commit altered the function
prototype which used ATTRIBUTE_NONNULL(2).
This caused Coverity build problems. Since @event is now checked,
just remove the ATTRIBUTE_NONNULL check from both prototypes.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/conf/object_event.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Although a Coverity build breaker, that doesn't affect everyone so
I'll wait for R-By or ACK for push.
diff --git a/src/conf/object_event.h b/src/conf/object_event.h
index 133f7ed914..70e9579e81 100644
--- a/src/conf/object_event.h
+++ b/src/conf/object_event.h
@@ -62,13 +62,13 @@ typedef void (*virConnectObjectEventGenericCallback)(virConnectPtr conn,
void
virObjectEventStateQueue(virObjectEventStatePtr state,
virObjectEventPtr event)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+ ATTRIBUTE_NONNULL(1);
void
virObjectEventStateQueueRemote(virObjectEventStatePtr state,
virObjectEventPtr event,
int remoteID)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+ ATTRIBUTE_NONNULL(1);
int
virObjectEventStateDeregisterID(virConnectPtr conn,
--
2.14.4
6 years, 5 months
[libvirt] [libvirt-go PATCH 0/2] Add bindings for recent libvirt SEV APIs
by Erik Skultety
*** BLURB HERE ***
Erik Skultety (2):
Add support for AMD SEV launch security info
Add support for AMD SEV platform info
connect.go | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
connect_compat.go | 12 +++++++++++
connect_compat.h | 7 +++++++
domain.go | 41 ++++++++++++++++++++++++++++++++++++++
domain_compat.go | 13 ++++++++++++
domain_compat.h | 6 ++++++
6 files changed, 138 insertions(+)
--
2.14.4
6 years, 5 months
[libvirt] [PATCH] qemuDomainDetachDeviceConfig: Don't free device from @dev
by Michal Privoznik
https://bugzilla.redhat.com/show_bug.cgi?id=1591561
For reasons I don't understand my original patch of 75f0fd51124
freed not only the chardev from domain but also the one from
passed virDomainDeviceDefPtr. This caused no troubles until now,
because those two pointers were separate, but after I've
introduced virDomainDetachDeviceAlias() they became the same
resulting in double free on detach.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_driver.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 42069ee617..7fe86d4d2e 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -8241,8 +8241,6 @@ qemuDomainDetachDeviceConfig(virDomainDefPtr vmdef,
return -1;
virDomainChrDefFree(chr);
- virDomainChrDefFree(dev->data.chr);
- dev->data.chr = NULL;
break;
case VIR_DOMAIN_DEVICE_FS:
--
2.16.4
6 years, 5 months
[libvirt] [PATCH v2 0/3] cmdDomblkinfo: introduce --all to show all block devices info
by Chen Hanxiao
This series introduce --all to cmdDomblkinfo to show
all block devices info in one cmd.
Likes a combination of domblklist and domblkinfo.
v2:
add support --human for --all
v1.1
fix a self test
Chen Hanxiao (3):
cmdDomblkinfo: introduce helper cmdDomblkinfoPrint
cmdDomblkinfo: add --all to show all block devices info
news: add cmdDomblkinfo --all option
docs/news.xml | 8 +++
tools/virsh-domain-monitor.c | 125 +++++++++++++++++++++++++++++------
tools/virsh.pod | 5 +-
3 files changed, 118 insertions(+), 20 deletions(-)
--
2.17.1
6 years, 5 months
[libvirt] [PATCH v2 0/5] travis: Use pre-built Docker images
by Andrea Bolognani
Changes from [v1]:
* store Dockerfiles in git so that we can have automated builds
on Docker Hub;
* add MinGW builds;
* change image naming convention, from eg. libvirt/build:fedora-28
to libvirt/buildenv-fedora-28.
[v1] https://www.redhat.com/archives/libvir-list/2018-June/msg00920.html
Andrea Bolognani (5):
docker: Commit initial Dockerfiles
travis: Drop Ubuntu 16.04 build
travis: Use pre-built Docker images
travis: Add CentOS 7 build
travis: Add MinGW builds
.docker/buildenv-centos-7.Dockerfile | 70 ++++++++++++++
.docker/buildenv-debian-8.Dockerfile | 76 +++++++++++++++
.docker/buildenv-debian-9.Dockerfile | 78 ++++++++++++++++
.docker/buildenv-debian-sid.Dockerfile | 78 ++++++++++++++++
.docker/buildenv-fedora-27.Dockerfile | 78 ++++++++++++++++
.docker/buildenv-fedora-28.Dockerfile | 78 ++++++++++++++++
.docker/buildenv-fedora-rawhide.Dockerfile | 102 +++++++++++++++++++++
.docker/buildenv-ubuntu-16.Dockerfile | 79 ++++++++++++++++
.docker/buildenv-ubuntu-18.Dockerfile | 79 ++++++++++++++++
.travis.yml | 101 ++++++--------------
10 files changed, 745 insertions(+), 74 deletions(-)
create mode 100644 .docker/buildenv-centos-7.Dockerfile
create mode 100644 .docker/buildenv-debian-8.Dockerfile
create mode 100644 .docker/buildenv-debian-9.Dockerfile
create mode 100644 .docker/buildenv-debian-sid.Dockerfile
create mode 100644 .docker/buildenv-fedora-27.Dockerfile
create mode 100644 .docker/buildenv-fedora-28.Dockerfile
create mode 100644 .docker/buildenv-fedora-rawhide.Dockerfile
create mode 100644 .docker/buildenv-ubuntu-16.Dockerfile
create mode 100644 .docker/buildenv-ubuntu-18.Dockerfile
--
2.17.1
6 years, 5 months
[libvirt] [jenkins-ci POC 0/2] guests: Add Dockerfile generator
by Andrea Bolognani
See 2/2 for details.
Andrea Bolognani (2):
guests: Remove OS detection
guests: Add Dockerfile generator
guests/dockerfile-generator | 72 +++++++++++++++++++
guests/host_vars/libvirt-centos-7/docker.yml | 2 +
guests/host_vars/libvirt-centos-7/main.yml | 4 ++
guests/host_vars/libvirt-debian-8/docker.yml | 2 +
guests/host_vars/libvirt-debian-8/main.yml | 4 ++
guests/host_vars/libvirt-debian-9/docker.yml | 2 +
guests/host_vars/libvirt-debian-9/main.yml | 4 ++
.../host_vars/libvirt-debian-sid/docker.yml | 2 +
guests/host_vars/libvirt-debian-sid/main.yml | 4 ++
guests/host_vars/libvirt-fedora-27/docker.yml | 2 +
guests/host_vars/libvirt-fedora-27/main.yml | 4 ++
guests/host_vars/libvirt-fedora-28/docker.yml | 2 +
guests/host_vars/libvirt-fedora-28/main.yml | 4 ++
.../libvirt-fedora-rawhide/docker.yml | 2 +
.../host_vars/libvirt-fedora-rawhide/main.yml | 4 ++
guests/host_vars/libvirt-freebsd-10/main.yml | 4 ++
guests/host_vars/libvirt-freebsd-11/main.yml | 4 ++
.../libvirt-freebsd-current/main.yml | 4 ++
guests/host_vars/libvirt-ubuntu-16/docker.yml | 2 +
guests/host_vars/libvirt-ubuntu-16/main.yml | 4 ++
guests/host_vars/libvirt-ubuntu-18/docker.yml | 2 +
guests/host_vars/libvirt-ubuntu-18/main.yml | 4 ++
guests/tasks/base.yml | 51 -------------
23 files changed, 138 insertions(+), 51 deletions(-)
create mode 100755 guests/dockerfile-generator
create mode 100644 guests/host_vars/libvirt-centos-7/docker.yml
create mode 100644 guests/host_vars/libvirt-debian-8/docker.yml
create mode 100644 guests/host_vars/libvirt-debian-9/docker.yml
create mode 100644 guests/host_vars/libvirt-debian-sid/docker.yml
create mode 100644 guests/host_vars/libvirt-fedora-27/docker.yml
create mode 100644 guests/host_vars/libvirt-fedora-28/docker.yml
create mode 100644 guests/host_vars/libvirt-fedora-rawhide/docker.yml
create mode 100644 guests/host_vars/libvirt-ubuntu-16/docker.yml
create mode 100644 guests/host_vars/libvirt-ubuntu-18/docker.yml
--
2.17.1
6 years, 5 months