[libvirt-java PATCH 0/6] Enable GitLab CI and merge requests
by Daniel P. Berrangé
This fixes a bugs from bit-rot and then enables GitLab CI and use of
merge requests for contribution.
Daniel P. Berrangé (6):
Fix test driver connection type
Add workaround for broken screenshot API on Ubuntu 18.04 vintage
Remove reference to test.java file that was deleted
rpm: skip junit tests in RHEL-8 build
gitlab: introduce CI jobs testing git master & distro libvirt
gitlab: add CONTRIBUTING.rst file to indicate use of merge requests
.gitlab-ci.yml | 170 ++++++++++++++++++
.gitpublish | 4 -
CONTRIBUTING.rst | 28 +++
README.in | 16 +-
ci/README.rst | 14 ++
ci/libvirt-centos-7.Dockerfile | 88 +++++++++
ci/libvirt-centos-8.Dockerfile | 55 ++++++
ci/libvirt-debian-10.Dockerfile | 58 ++++++
ci/libvirt-debian-9.Dockerfile | 61 +++++++
ci/libvirt-debian-sid.Dockerfile | 58 ++++++
ci/libvirt-fedora-31.Dockerfile | 55 ++++++
ci/libvirt-fedora-32.Dockerfile | 64 +++++++
ci/libvirt-fedora-rawhide.Dockerfile | 56 ++++++
ci/libvirt-opensuse-151.Dockerfile | 57 ++++++
ci/libvirt-ubuntu-1804.Dockerfile | 61 +++++++
ci/libvirt-ubuntu-2004.Dockerfile | 58 ++++++
ci/refresh | 27 +++
libvirt-java.spec.in | 6 +-
.../java/org/libvirt/TestJavaBindings.java | 13 +-
19 files changed, 927 insertions(+), 22 deletions(-)
delete mode 100644 .gitpublish
create mode 100644 CONTRIBUTING.rst
create mode 100644 ci/README.rst
create mode 100644 ci/libvirt-centos-7.Dockerfile
create mode 100644 ci/libvirt-centos-8.Dockerfile
create mode 100644 ci/libvirt-debian-10.Dockerfile
create mode 100644 ci/libvirt-debian-9.Dockerfile
create mode 100644 ci/libvirt-debian-sid.Dockerfile
create mode 100644 ci/libvirt-fedora-31.Dockerfile
create mode 100644 ci/libvirt-fedora-32.Dockerfile
create mode 100644 ci/libvirt-fedora-rawhide.Dockerfile
create mode 100644 ci/libvirt-opensuse-151.Dockerfile
create mode 100644 ci/libvirt-ubuntu-1804.Dockerfile
create mode 100644 ci/libvirt-ubuntu-2004.Dockerfile
create mode 100755 ci/refresh
--
2.26.2
4 years, 6 months
[libvirt PATCH] xenconfig: Add feature gfx_passthru
by Artur Puzio
gfx_passthru xl.cfg option enables GPU specific quirks required for working
Intel GPU passthru. Qemu (used for device model by xen) will refuse to start
a VM when an IGD is passed, but this option was not set in Xen.
Signed-off-by: Artur Puzio <contact(a)puzio.waw.pl>
---
docs/formatdomain.html.in | 7 +++++++
docs/schemas/domaincommon.rng | 5 +++++
src/conf/domain_conf.c | 4 ++++
src/conf/domain_conf.h | 1 +
src/libxl/libxl_conf.c | 13 +++++++++++++
5 files changed, 30 insertions(+)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 91d6f6c0d3..5307844a23 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -2064,6 +2064,7 @@
<xen>
<e820_host state='on'/>
<passthrough state='on' mode='share_pt'/>
+ <gfx_passthru state='on'/>
</xen>
<pvspinlock state='on'/>
<gic version='2'/>
@@ -2270,6 +2271,12 @@
<td>on, off; mode - optional string sync_pt or share_pt</td>
<td><span class="since">6.3.0</span></td>
</tr>
+ <tr>
+ <td>gfx_passthru</td>
+ <td>Enable Intel GPU specific quirks. Required and allowed only when passing an IGD.</td>
+ <td>on, off</td>
+ <td><span class="since">6.3.0</span></td>
+ </tr>
</table>
</dd>
<dt><code>pmu</code></dt>
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 9d60b090f3..7d8ea879a1 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -6409,6 +6409,11 @@
</optional>
</element>
</optional>
+ <optional>
+ <element name="gfx_passthru">
+ <ref name="featurestate"/>
+ </element>
+ </optional>
</interleave>
</element>
</define>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 8a87586936..75f72ff64c 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -214,6 +214,7 @@ VIR_ENUM_IMPL(virDomainXen,
VIR_DOMAIN_XEN_LAST,
"e820_host",
"passthrough",
+ "gfx_passthru"
);
VIR_ENUM_IMPL(virDomainXenPassthroughMode,
@@ -19649,6 +19650,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
switch ((virDomainXen) feature) {
case VIR_DOMAIN_XEN_E820_HOST:
+ case VIR_DOMAIN_XEN_GFX_PASSTHRU:
break;
case VIR_DOMAIN_XEN_PASSTHROUGH:
@@ -23579,6 +23581,7 @@ virDomainDefFeaturesCheckABIStability(virDomainDefPtr src,
}
switch ((virDomainXen) i) {
case VIR_DOMAIN_XEN_E820_HOST:
+ case VIR_DOMAIN_XEN_GFX_PASSTHRU:
break;
case VIR_DOMAIN_XEN_PASSTHROUGH:
@@ -29235,6 +29238,7 @@ virDomainDefFormatFeatures(virBufferPtr buf,
switch ((virDomainXen) j) {
case VIR_DOMAIN_XEN_E820_HOST:
+ case VIR_DOMAIN_XEN_GFX_PASSTHRU:
virBufferAddLit(&childBuf, "/>\n");
break;
case VIR_DOMAIN_XEN_PASSTHROUGH:
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 4afd8f04bc..f28f0741ac 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1867,6 +1867,7 @@ typedef enum {
typedef enum {
VIR_DOMAIN_XEN_E820_HOST = 0,
VIR_DOMAIN_XEN_PASSTHROUGH,
+ VIR_DOMAIN_XEN_GFX_PASSTHRU,
VIR_DOMAIN_XEN_LAST
} virDomainXen;
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index 458dfc2399..a5605f6200 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -679,6 +679,19 @@ libxlMakeDomBuildInfo(virDomainDefPtr def,
return -1;
}
#endif
+ if (def->features[VIR_DOMAIN_FEATURE_XEN] == VIR_TRISTATE_SWITCH_ON) {
+ switch ((virTristateSwitch) def->xen_features[VIR_DOMAIN_XEN_GFX_PASSTHRU]) {
+ case VIR_TRISTATE_SWITCH_ON:
+ libxl_defbool_set(&b_info->u.hvm.gfx_passthru, true);
+ break;
+ case VIR_TRISTATE_SWITCH_OFF:
+ libxl_defbool_set(&b_info->u.hvm.gfx_passthru, false);
+ break;
+ case VIR_TRISTATE_SWITCH_ABSENT:
+ case VIR_TRISTATE_SWITCH_LAST:
+ break;
+ }
+ }
} else if (pvh) {
b_info->cmdline = g_strdup(def->os.cmdline);
b_info->kernel = g_strdup(def->os.kernel);
--
2.26.2
4 years, 6 months
[PATCH 0/2] qemu: Couple of memleak fixes
by Michal Privoznik
*** BLURB HERE ***
Michal Prívozník (2):
qemuDomainStorageSourcePrivateDispose: Free httpcookie
qemuBlockJobDataDisposeJobdata: Free data.commit.disabledBitmapsBase
src/qemu/qemu_blockjob.c | 5 +++++
src/qemu/qemu_domain.c | 1 +
2 files changed, 6 insertions(+)
--
2.26.2
4 years, 6 months
[libvirt-ci PATCH v2 00/13] Introduce a new global YAML config file for lcitool
by Erik Skultety
This series is trying to consolidate the number of config files we currently
recognize under ~/.config/lcitool to a single global YAML config file. Thanks
to this effort we can expose more seetings than we previously could which will
come handy in terms of generating cloudinit images for OpenStack.
Patches 1-4 (ACKed)
Since RFC:
- replaced TOML with YAML which simplified some aspects of the code, thanks
Andrea
- instead of hardcoding the default values, the config within the repo is used
as a template and overriden with user-selected options
Since v1:
- uncommented the mandatory options in the default template YAML config so that
we know about all the supported keys which is useful for validating the user
config
- removed guests/group_vars/all/install.yaml in patch 11 (which I forgot in v1)
- added checks for value types we get from the config
- use yaml.safe_load instead of yaml.load
- added code snippet to delete keys we don't recognize so as not to introduce a
security issue, because we essentially just take the config and pass it to
ansible, we don't want users to use to re-define some of Ansible's variables
- added the last patch just to demonstrate a number of test cases I used as a
proof for correctness of this revision (feel free to add more cases), but
this is not the right series to add pytest support into lcitool
Erik Skultety (13):
requirements: Introduce a requirements.txt file
lcitool: Decrease the indent when creating a tempdir for initrd
injection
lcitool: Prefer tempfile's native wrappers over low level primitives
lcitool: Use a temporary JSON file to pass extra variables
config: Introduce a new global config.yaml configuration file
lcitool: Introduce methods to load and validate the YAML config
lcitool: Update the config values with internal playbook settings
lcitool: Drop the get_flavor() method
lcitool: Drop the get_root_password_file() method
lcitool: Drop the gitlab-related getter methods
config: Move the virt-install settings from install.yml to the config
guests: README: Document the existence and usage of config.yaml
DO NOT MERGE: Demonstrate functionality with pytest unit tests
guests/README.markdown | 18 +-
guests/config.yaml | 42 +++++
guests/group_vars/all/install.yml | 11 --
guests/{lcitool => lcitool.py} | 209 +++++++++++-----------
guests/playbooks/build/main.yml | 2 +-
guests/playbooks/update/main.yml | 6 +-
guests/playbooks/update/tasks/gitlab.yml | 4 +-
guests/playbooks/update/tasks/kludges.yml | 2 +-
guests/playbooks/update/tasks/users.yml | 42 ++---
guests/requirements.txt | 4 +
guests/test_config.py | 165 +++++++++++++++++
11 files changed, 353 insertions(+), 152 deletions(-)
create mode 100644 guests/config.yaml
delete mode 100644 guests/group_vars/all/install.yml
rename guests/{lcitool => lcitool.py} (88%)
create mode 100644 guests/requirements.txt
create mode 100644 guests/test_config.py
--
2.25.3
4 years, 6 months
[PATCH v2 0/8] Introducing TPM Proxy device support for PPC64
by Daniel Henrique Barboza
Changes in v2:
In this second spin, instead of adding a new Libvirt device,
the pSeries TPM Proxy device is at its core a regular TPM
passthrough device. What makes it different is that it has
its own domain pointer called 'tpmproxy' and it has its own
restriction of 'only one TPM Proxy per domain'. This means
that the combination of TPM Proxy and another TPM model/type
is supported. No changes to the existing non-proxy TPM
support was made. This change of design affected all patches
but patch 02.
Other changes:
- even more unit tests added to make sure we're not messing
with things we shouldn't
- more descriptive commit messages to make it clearer the
intention/use case of the TPM Proxy device and how it interacts with
the existing TPM models.
v1 link: https://www.redhat.com/archives/libvir-list/2020-May/msg00351.html
Daniel Henrique Barboza (8):
docs: documentation and schema for the new TPM Proxy model
qemu: Extend QEMU capabilities with 'spapr-tpm-proxy'
conf, qemu: adding 'tpmproxy' in domain definition
domain_conf.c: XML parsing for VIR_DOMAIN_TPM_MODEL_SPAPR_PROXY
tests: add XML schema tests for the TPM Proxy device
qemu: build command line for the TPM Proxy device
tests/qemuxml2argvtest.c: add TPM Proxy command line tests
docs/news.xml: update for the new TPM Proxy device
docs/formatdomain.html.in | 16 ++++-
docs/news.xml | 15 +++++
docs/schemas/domaincommon.rng | 1 +
src/conf/domain_audit.c | 3 +
src/conf/domain_conf.c | 65 +++++++++++++++++--
src/conf/domain_conf.h | 2 +
src/qemu/qemu_alias.c | 16 +++++
src/qemu/qemu_capabilities.c | 4 ++
src/qemu/qemu_capabilities.h | 3 +
src/qemu/qemu_cgroup.c | 12 +++-
src/qemu/qemu_command.c | 21 ++++++
src/qemu/qemu_domain.c | 9 +--
src/qemu/qemu_validate.c | 12 ++++
src/security/security_dac.c | 14 ++++
src/security/security_selinux.c | 11 ++++
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
tests/qemuxml2argvdata/ppc64-tpm-double.xml | 34 ++++++++++
.../ppc64-tpmproxy-double.xml | 38 +++++++++++
.../ppc64-tpmproxy-single.ppc64-latest.args | 34 ++++++++++
.../ppc64-tpmproxy-single.xml | 33 ++++++++++
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args | 37 +++++++++++
.../ppc64-tpmproxy-with-tpm.xml | 36 ++++++++++
tests/qemuxml2argvtest.c | 15 +++++
.../ppc64-tpmproxy-single.ppc64-latest.xml | 42 ++++++++++++
.../ppc64-tpmproxy-with-tpm.ppc64-latest.xml | 46 +++++++++++++
tests/qemuxml2xmltest.c | 2 +
27 files changed, 511 insertions(+), 12 deletions(-)
create mode 100644 tests/qemuxml2argvdata/ppc64-tpm-double.xml
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-double.xml
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-single.xml
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.xml
create mode 100644 tests/qemuxml2xmloutdata/ppc64-tpmproxy-single.ppc64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/ppc64-tpmproxy-with-tpm.ppc64-latest.xml
--
2.26.2
4 years, 6 months
[PATCH 0/2] qemu: Switch to new -numa memdev=
by Michal Privoznik
In a way, libvirt already uses -numa memdev= in a few cases. In fact, in
as few cases as possible - only configurations which can not be
configured with -numa mem=, because these two ways are incompatible when
it comes to migration.
My approach to solve this is to have a privateData flag which tells
which directs libvirt to generate old or new cmd line. And then this
flag is saved into migration cookie so that the destination is directed
the same way.
Problem with this approach is that, while migration 6.3.0 -> 6.4.0 ->
6.3.0 works, migration where the machine is started on newer libvirt
6.4.0 and then migrated back to 6.3.0 won't work (in fact is explicitly
denied by 2/2) even though there is nothing visible that should prevent
the migration.
I am not sure whether we have a good move here, because even if we
waited until QEMU removes the old way, it won't help us really. We
would be just leaving the problem for future us.
Michal Prívozník (2):
qemu: Switch to new -numa memdev=
qemu: Disallow migration to older -numa if newer is used
src/qemu/qemu_command.c | 20 ++---
src/qemu/qemu_domain.c | 38 +++++++++-
src/qemu/qemu_domain.h | 3 +
src/qemu/qemu_migration.c | 18 ++++-
src/qemu/qemu_migration_cookie.c | 73 +++++++++++++++++++
src/qemu/qemu_migration_cookie.h | 12 +++
src/qemu/qemu_process.c | 25 ++++++-
.../qemustatusxml2xmldata/backup-pull-in.xml | 1 +
.../blockjob-blockdev-in.xml | 1 +
.../blockjob-mirror-in.xml | 1 +
.../disk-secinfo-upgrade-in.xml | 1 +
.../disk-secinfo-upgrade-out.xml | 1 +
.../migration-in-params-in.xml | 1 +
.../migration-out-nbd-in.xml | 1 +
.../migration-out-nbd-out.xml | 1 +
.../migration-out-nbd-tls-in.xml | 1 +
.../migration-out-nbd-tls-out.xml | 1 +
.../migration-out-params-in.xml | 1 +
tests/qemustatusxml2xmldata/modern-in.xml | 1 +
.../qemustatusxml2xmldata/vcpus-multi-in.xml | 1 +
.../hugepages-numa-default-2M.args | 10 ++-
.../hugepages-numa-default-dimm.args | 8 +-
.../hugepages-numa-default.args | 6 +-
.../memory-hotplug-dimm-addr.args | 3 +-
.../qemuxml2argvdata/memory-hotplug-dimm.args | 3 +-
...y-hotplug-nvdimm-access.x86_64-latest.args | 3 +-
...ry-hotplug-nvdimm-align.x86_64-latest.args | 3 +-
...ry-hotplug-nvdimm-label.x86_64-latest.args | 3 +-
...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 3 +-
...ory-hotplug-nvdimm-ppc64.ppc64-latest.args | 3 +-
...hotplug-nvdimm-readonly.x86_64-latest.args | 3 +-
.../memory-hotplug-nvdimm.x86_64-latest.args | 3 +-
.../numatune-auto-prefer.args | 4 +-
.../qemuxml2argvdata/pages-dimm-discard.args | 3 +-
.../pages-discard-hugepages.args | 11 ++-
tests/qemuxml2argvdata/pages-discard.args | 12 ++-
36 files changed, 236 insertions(+), 47 deletions(-)
--
2.26.2
4 years, 6 months
[libvirt PATCH] tools: mention srve-update-tls supports virtproxyd
by Daniel P. Berrangé
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
docs/manpages/virt-admin.rst | 3 ++-
tools/virt-admin.c | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/docs/manpages/virt-admin.rst b/docs/manpages/virt-admin.rst
index 3e0d127790..d5cb23a1c5 100644
--- a/docs/manpages/virt-admin.rst
+++ b/docs/manpages/virt-admin.rst
@@ -455,7 +455,8 @@ Update tls context on *server*.
- *server*
- Available servers on a daemon. Currently only supports 'libvirtd'.
+ Available servers on a daemon. Currently only supports 'libvirtd' or
+ 'virtproxyd'.
CLIENT COMMANDS
diff --git a/tools/virt-admin.c b/tools/virt-admin.c
index a8e5e0a5af..6ff9729f66 100644
--- a/tools/virt-admin.c
+++ b/tools/virt-admin.c
@@ -978,7 +978,7 @@ static const vshCmdOptDef opts_srv_update_tls_file[] = {
.type = VSH_OT_DATA,
.flags = VSH_OFLAG_REQ,
.help = N_("Available servers on a daemon. "
- "Currently only supports 'libvirtd'.")
+ "Currently only supports 'libvirtd' or 'virtproxyd'.")
},
{.name = NULL}
};
--
2.26.2
4 years, 6 months
[libvirt-ci PATCH] containers: add a standard container for running cargo fmt
by Daniel P. Berrangé
The "cargo fmt" code style checking tool is something we wish to run on all
Rust code, so it is useful to have a common container that can be used by
all relevant projects.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
.gitlab-ci.yml | 5 +++++
containers/cargo-fmt/Dockerfile | 11 +++++++++++
containers/cargo-fmt/README.rst | 20 ++++++++++++++++++++
containers/cargo-fmt/cargo-fmt.sh | 22 ++++++++++++++++++++++
4 files changed, 58 insertions(+)
create mode 100644 containers/cargo-fmt/Dockerfile
create mode 100644 containers/cargo-fmt/README.rst
create mode 100755 containers/cargo-fmt/cargo-fmt.sh
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 080c8d1..e5f121f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,6 +27,11 @@ go-fmt-container:
variables:
NAME: go-fmt
+cargo-fmt-container:
+ <<: *build_container_definition
+ variables:
+ NAME: cargo-fmt
+
# Check that all commits are signed-off for the DCO. Skip
# on master branch and -maint branches, since we only need
# to test developer's personal branches.
diff --git a/containers/cargo-fmt/Dockerfile b/containers/cargo-fmt/Dockerfile
new file mode 100644
index 0000000..0ed1c46
--- /dev/null
+++ b/containers/cargo-fmt/Dockerfile
@@ -0,0 +1,11 @@
+FROM rust:1.43
+
+RUN export DEBIAN_FRONTEND=noninteractive && \
+ apt-get update && \
+ apt-get install --no-install-recommends -y \
+ diffstat && \
+ apt-get autoclean -y
+
+RUN rustup component add rustfmt
+
+COPY cargo-fmt.sh /cargo-fmt
diff --git a/containers/cargo-fmt/README.rst b/containers/cargo-fmt/README.rst
new file mode 100644
index 0000000..00f50a2
--- /dev/null
+++ b/containers/cargo-fmt/README.rst
@@ -0,0 +1,20 @@
+================================================
+Container for running cargo fmt code style check
+================================================
+
+This container provides a simple way to invoke ``cargo fmt`` to validate code
+style across a Rust codebase. It should be integrated into CI by adding
+the following snippet to ``.gitlab-ci.yml``
+
+::
+
+ cargo-fmt:
+ stage: prebuild
+ image: registry.gitlab.com/libvirt/libvirt-ci/cargo-fmt:master
+ script:
+ - /cargo-fmt
+ artifacts:
+ paths:
+ - cargo-fmt.patch
+ expire_in: 1 week
+ when: on_failure
diff --git a/containers/cargo-fmt/cargo-fmt.sh b/containers/cargo-fmt/cargo-fmt.sh
new file mode 100755
index 0000000..53fb0df
--- /dev/null
+++ b/containers/cargo-fmt/cargo-fmt.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+cargo fmt -v -- --check > cargo-fmt.patch
+
+if test -s cargo-fmt.patch
+then
+ echo
+ echo "❌ ERROR: some files failed cargo fmt code style check"
+ echo
+ diffstat cargo-fmt.patch
+ echo
+ echo "See the cargo-fmt patch artifact for full details of mistakes."
+ echo
+ echo "For guidance on how to configure Emacs or Vim to automatically"
+ echo "run cargo fmt when saving files read"
+ echo
+ echo " https://github.com/rust-lang/rustfmt"
+ echo
+ exit 1
+fi
+
+echo "✔ OK: all files passed cargo fmt code style check"
--
2.26.2
4 years, 6 months
[libvirt-go-xml PATCH] gitlab: add CONTRIBUTING.rst file to indicate use of merge requests
by Daniel P. Berrangé
With the introduction of automated CI pipelines, we are now ready to switch
to using merge requests for the project. With this switch we longer wish
to have patches sent to the mailing list, and thus the git-publish
config is removed.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
.gitpublish | 4 ----
CONTRIBUTING.rst | 28 ++++++++++++++++++++++++++++
2 files changed, 28 insertions(+), 4 deletions(-)
delete mode 100644 .gitpublish
create mode 100644 CONTRIBUTING.rst
diff --git a/.gitpublish b/.gitpublish
deleted file mode 100644
index 5f10b75..0000000
--- a/.gitpublish
+++ /dev/null
@@ -1,4 +0,0 @@
-[gitpublishprofile "default"]
-base = master
-to = libvir-list(a)redhat.com
-prefix = libvirt-go-xml PATCH
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
new file mode 100644
index 0000000..fb02729
--- /dev/null
+++ b/CONTRIBUTING.rst
@@ -0,0 +1,28 @@
+==============================
+Contributing to libvirt-go-xml
+==============================
+
+The libvirt Go API binding accepts code contributions via merge requests
+on the GitLab project:
+
+https://gitlab.com/libvirt/libvirt-go-xml/-/merge_requests
+
+It is required that automated CI pipelines succeed before a merge request
+will be accepted. The global pipeline status for the ``master`` branch is
+visible at:
+
+https://gitlab.com/libvirt/libvirt-go-xml/pipelines
+
+CI pipeline results for merge requests will be visible via the contributors'
+own private repository fork:
+
+https://gitlab.com/yourusername/libvirt-go-xml/pipelines
+
+Contributions submitted to the project must be in compliance with the
+Developer Certificate of Origin Version 1.1. This is documented at:
+
+https://developercertificate.org/
+
+To indicate compliance, each commit in a series must have a "Signed-off-by"
+tag with the submitter's name and email address. This can be added by passing
+the ``-s`` flag to ``git commit`` when creating the patches.
--
2.26.2
4 years, 6 months
[PATCH 0/5] Couple of trivial improvements to virnetdevopenvswitch.c
by Michal Privoznik
In fact, so trivial I've pushed them directly.
Michal Prívozník (5):
virNetDevOpenvswitchConstructVlans: Use g_auto() for virBuffer
virNetDevOpenvswitchConstructVlans: Bring @i into the block where it's
used
virNetDevOpenvswitchConstructVlans: return void
virNetDevOpenvswitchGetVhostuserIfname: Fix const correctness
virNetDevOpenvswitchGetVhostuserIfname: Drop cleanup label
src/util/virnetdevopenvswitch.c | 41 +++++++++++----------------------
1 file changed, 13 insertions(+), 28 deletions(-)
--
2.26.2
4 years, 6 months