[PATCH] libxl: Normalize MAC address in device conf when hotplugging a netdev
by Jim Fehlig
Similar to commit 6c17606b7cc, normalize the MAC addresses in persistent
and live device config to avoid a different MAC address for the device
once the VM is rebooted and persistent config takes affect.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
src/libxl/libxl_driver.c | 56 +++++++++++++++++++++++++++++++++-------
1 file changed, 46 insertions(+), 10 deletions(-)
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 63ec0a2188..a80bc3fe3a 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -4096,6 +4096,31 @@ libxlDomainUpdateDeviceConfig(virDomainDefPtr vmdef, virDomainDeviceDefPtr dev)
}
+static void
+libxlDomainAttachDeviceNormalize(const virDomainDeviceDef *devConf,
+ virDomainDeviceDefPtr devLive)
+{
+ /*
+ * Fixup anything that needs to be identical in the live and
+ * config versions of DeviceDef, but might not be. Do this by
+ * changing the contents of devLive. This is done after all
+ * post-parse tweaks and validation, so be very careful about what
+ * changes are made.
+ */
+
+ /* MAC address should be identical in both DeviceDefs, but if it
+ * wasn't specified in the XML, and was instead autogenerated, it
+ * will be different for the two since they are each the result of
+ * a separate parser call. If it *was* specified, it will already
+ * be the same, so copying does no harm.
+ */
+
+ if (devConf->type == VIR_DOMAIN_DEVICE_NET)
+ virMacAddrSet(&devLive->data.net->mac, &devConf->data.net->mac);
+
+}
+
+
static int
libxlDomainAttachDeviceFlags(virDomainPtr dom, const char *xml,
unsigned int flags)
@@ -4104,7 +4129,9 @@ libxlDomainAttachDeviceFlags(virDomainPtr dom, const char *xml,
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
virDomainObjPtr vm = NULL;
virDomainDefPtr vmdef = NULL;
- virDomainDeviceDefPtr dev = NULL;
+ virDomainDeviceDefPtr devConf = NULL;
+ virDomainDeviceDef devConfSave = { 0 };
+ virDomainDeviceDefPtr devLive = NULL;
int ret = -1;
virCheckFlags(VIR_DOMAIN_DEVICE_MODIFY_LIVE |
@@ -4123,28 +4150,36 @@ libxlDomainAttachDeviceFlags(virDomainPtr dom, const char *xml,
goto endjob;
if (flags & VIR_DOMAIN_DEVICE_MODIFY_CONFIG) {
- if (!(dev = virDomainDeviceDefParse(xml, vm->def,
- driver->xmlopt, NULL,
- VIR_DOMAIN_DEF_PARSE_INACTIVE)))
+ if (!(devConf = virDomainDeviceDefParse(xml, vm->def,
+ driver->xmlopt, NULL,
+ VIR_DOMAIN_DEF_PARSE_INACTIVE)))
goto endjob;
/* Make a copy for updated domain. */
if (!(vmdef = virDomainObjCopyPersistentDef(vm, driver->xmlopt, NULL)))
goto endjob;
- if (libxlDomainAttachDeviceConfig(vmdef, dev) < 0)
+ /*
+ * devConf will be NULLed out by
+ * libxlDomainAttachDeviceConfig(), so save it for later use by
+ * libxlDomainAttachDeviceNormalize()
+ */
+ devConfSave = *devConf;
+
+ if (libxlDomainAttachDeviceConfig(vmdef, devConf) < 0)
goto endjob;
}
if (flags & VIR_DOMAIN_DEVICE_MODIFY_LIVE) {
- /* If dev exists it was created to modify the domain config. Free it. */
- virDomainDeviceDefFree(dev);
- if (!(dev = virDomainDeviceDefParse(xml, vm->def,
+ if (!(devLive = virDomainDeviceDefParse(xml, vm->def,
driver->xmlopt, NULL,
VIR_DOMAIN_DEF_PARSE_INACTIVE)))
goto endjob;
- if (libxlDomainAttachDeviceLive(driver, vm, dev) < 0)
+ if (flags & VIR_DOMAIN_AFFECT_CONFIG)
+ libxlDomainAttachDeviceNormalize(&devConfSave, devLive);
+
+ if (libxlDomainAttachDeviceLive(driver, vm, devLive) < 0)
goto endjob;
/*
@@ -4171,7 +4206,8 @@ libxlDomainAttachDeviceFlags(virDomainPtr dom, const char *xml,
cleanup:
virDomainDefFree(vmdef);
- virDomainDeviceDefFree(dev);
+ virDomainDeviceDefFree(devConf);
+ virDomainDeviceDefFree(devLive);
virDomainObjEndAPI(&vm);
virObjectUnref(cfg);
return ret;
--
2.26.0
4 years, 5 months
[libvirt PATCH 0/5] news: Convert to reStructuredText
by Andrea Bolognani
Rationale in patch 4/5, in case that diffstat is not enough of a
selling point for you ;)
Some of the patches in this series are __heavily__ snipped.
browse: https://gitlab.com/abologna/libvirt/-/tree/news-convert-cleanup
git fetch: https://gitlab.com/abologna/libvirt.git news-convert-cleanup
Andrea Bolognani (5):
docs: Fix dot_rst_html_in definition
news: Point to GitLab for full git log
news: Output reStructuredText for the ASCII version
news: Convert to reStructuredText
news: Add information about old releases
Makefile.am | 22 +-
NEWS.rst | 4077 ++++++++++++++++++++++++++++
docs/Makefile.am | 27 +-
docs/libvirt.css | 15 -
docs/news-2005.html.in | 28 -
docs/news-2006.html.in | 354 ---
docs/news-2007.html.in | 534 ----
docs/news-2008.html.in | 580 ----
docs/news-2009.html.in | 1603 -----------
docs/news-2010.html.in | 2218 ---------------
docs/news-2011.html.in | 3314 -----------------------
docs/news-2012.html.in | 3012 ---------------------
docs/news-2013.html.in | 3675 -------------------------
docs/news-2014.html.in | 3418 ------------------------
docs/news-2015.html.in | 2864 --------------------
docs/news-2016.html.in | 3740 --------------------------
docs/news-ascii.xsl | 69 -
docs/news-html.xsl | 106 -
docs/news.rng | 72 -
docs/news.xml | 5473 --------------------------------------
scripts/reformat-news.py | 102 -
tests/virschematest.c | 2 -
22 files changed, 4089 insertions(+), 31216 deletions(-)
create mode 100644 NEWS.rst
delete mode 100644 docs/news-2005.html.in
delete mode 100644 docs/news-2006.html.in
delete mode 100644 docs/news-2007.html.in
delete mode 100644 docs/news-2008.html.in
delete mode 100644 docs/news-2009.html.in
delete mode 100644 docs/news-2010.html.in
delete mode 100644 docs/news-2011.html.in
delete mode 100644 docs/news-2012.html.in
delete mode 100644 docs/news-2013.html.in
delete mode 100644 docs/news-2014.html.in
delete mode 100644 docs/news-2015.html.in
delete mode 100644 docs/news-2016.html.in
delete mode 100644 docs/news-ascii.xsl
delete mode 100644 docs/news-html.xsl
delete mode 100644 docs/news.rng
delete mode 100644 docs/news.xml
delete mode 100755 scripts/reformat-news.py
--
2.25.4
4 years, 5 months
[PATCH 0/2] Use more of VIR_XPATH_NODE_AUTORESTORE
by Michal Privoznik
I've been playing with cocci again.
Michal Prívozník (2):
virxml: Don't overwrite ctxt->node
Use more of VIR_XPATH_NODE_AUTORESTORE
src/conf/cpu_conf.c | 3 +-
src/conf/domain_conf.c | 7 +--
src/conf/interface_conf.c | 16 ++-----
src/conf/netdev_vlan_conf.c | 3 +-
src/conf/network_conf.c | 25 +++-------
src/conf/networkcommon_conf.c | 4 +-
src/conf/node_device_conf.c | 84 +++++++++------------------------
src/conf/numa_conf.c | 3 +-
src/conf/snapshot_conf.c | 3 +-
src/conf/storage_adapter_conf.c | 3 +-
src/conf/storage_conf.c | 4 +-
src/conf/virsavecookie.c | 3 +-
src/cpu/cpu_map.c | 12 +----
src/cpu/cpu_x86.c | 3 +-
src/lxc/lxc_domain.c | 4 +-
src/util/virstorageencryption.c | 8 +---
src/util/virstoragefile.c | 3 +-
src/util/virxml.c | 27 -----------
tools/virsh-domain.c | 6 +--
19 files changed, 52 insertions(+), 169 deletions(-)
--
2.26.2
4 years, 5 months
[libvirt PATCH 0/7] po: updates to switch over to use of Weblate
by Daniel P. Berrangé
The Fedora translation team has stopped using Zanata because the
software itself is dead upstream. In its place is the Weblate
platform. In theory we should have been able to work with Weblate in the
same way as we did for Zanata, pushing a pot file periodically, and
pulling .po files periodically. In practice this fails for libvirt.git
because Weblates RPC API doesn't scale sufficiently well. It will
frequently throw errors with the large libvirt.pot file and it gets
slower at an exponential rate as you add more languages.
Weblate has another mode of operating though which is way more common,
whereby it directly pulls a .pot from your git repo, and then directly
pushes .po files back, either using a trusted SSH key, or by opening a
merge request for GitLab/GitHub/etc. This is the mode we're going to
have to use in libvirt projects.
Compared to what we're currently doing with Zanata the downsides are:
- We have to store libvirt.pot in git and refresh it periodically
- The .po files are only partially minimized, as while they have
locations stripped, they still contain non-translated msgids
The plussides are
- We don't have to interact with Weblate at all, only the libvirt
git repo
- We'll be able to use the normal meson i18n integration, merely
by calling
i18n.gettext(meson.project_name(),
args: ['--sort-output'],
preset: 'glib')
I'm intending to open discussion with weblate maintainers to see if
either of those two downsides can be eliminated via feature enhancements
to Weblate. In the meanwhile we just have to accept them, as otherwise
we're not going to get any translations since Zanata is dead.
Daniel P. Berrangé (7):
po: switch to using LINGUAS file for list of languages
po: delete empty translations
po: refresh to drop unused translations
po: rename the .mini.po files to have just a .po suffix
po: generate .pot file with strings in alphabetical order
po: stop stripping non-translated strings from po files
po: go back to storing the .pot file in git
Makefile.am | 1 -
po/LINGUAS | 42 +
po/Makefile.am | 50 +-
po/af.mini.po | 19 -
po/am.mini.po | 19 -
po/anp.mini.po | 19 -
po/ar.mini.po | 23 -
po/{as.mini.po => as.po} | 402 +-
po/ast.mini.po | 19 -
po/bal.mini.po | 19 -
po/be.mini.po | 20 -
po/{bg.mini.po => bg.po} | 5 +-
po/bn.mini.po | 21 -
po/{bn_IN.mini.po => bn_IN.po} | 126 +-
po/bo.mini.po | 19 -
po/br.mini.po | 19 -
po/brx.mini.po | 19 -
po/{bs.mini.po => bs.po} | 5 +-
po/{ca.mini.po => ca.po} | 15 +-
po/{cs.mini.po => cs.po} | 523 +-
po/cy.mini.po | 23 -
po/{da.mini.po => da.po} | 5 +-
po/{de.mini.po => de.po} | 408 +-
po/de_CH.mini.po | 19 -
po/{el.mini.po => el.po} | 2 +-
po/{en_GB.mini.po => en_GB.po} | 402 +-
po/eo.mini.po | 19 -
po/{es.mini.po => es.po} | 409 +-
po/et.mini.po | 21 -
po/eu.mini.po | 21 -
po/fa.mini.po | 19 -
po/{fi.mini.po => fi.po} | 26 +-
po/fil.mini.po | 19 -
po/{fr.mini.po => fr.po} | 75 +-
po/fur.mini.po | 19 -
po/ga.mini.po | 20 -
po/gl.mini.po | 21 -
po/{gu.mini.po => gu.po} | 408 +-
po/he.mini.po | 21 -
po/{hi.mini.po => hi.po} | 300 +-
po/hr.mini.po | 20 -
po/{hu.mini.po => hu.po} | 5 +-
po/ia.mini.po | 19 -
po/{id.mini.po => id.po} | 2 +-
po/ilo.mini.po | 19 -
po/is.mini.po | 21 -
po/{it.mini.po => it.po} | 175 +-
po/{ja.mini.po => ja.po} | 407 +-
po/ka.mini.po | 21 -
po/kk.mini.po | 19 -
po/km.mini.po | 19 -
po/{kn.mini.po => kn.po} | 407 +-
po/{ko.mini.po => ko.po} | 240 +-
po/kw.mini.po | 20 -
po/kw(a)kkcor.mini.po | 20 -
po/kw(a)uccor.mini.po | 20 -
po/kw_GB.mini.po | 20 -
po/ky.mini.po | 19 -
po/libvirt.pot | 48582 +++++++++++++++++++++++++
po/lt.mini.po | 22 -
po/lv.mini.po | 22 -
po/mai.mini.po | 19 -
po/{mk.mini.po => mk.po} | 5 +-
po/{ml.mini.po => ml.po} | 402 +-
po/mn.mini.po | 19 -
po/{mr.mini.po => mr.po} | 434 +-
po/{ms.mini.po => ms.po} | 2 +-
po/my.mini.po | 19 -
po/{nb.mini.po => nb.po} | 5 +-
po/nds.mini.po | 19 -
po/ne.mini.po | 19 -
po/{nl.mini.po => nl.po} | 215 +-
po/nn.mini.po | 21 -
po/nso.mini.po | 21 -
po/{or.mini.po => or.po} | 375 +-
po/{pa.mini.po => pa.po} | 402 +-
po/{pl.mini.po => pl.po} | 239 +-
po/{pt.mini.po => pt.po} | 5 +-
po/{pt_BR.mini.po => pt_BR.po} | 407 +-
po/ro.mini.po | 22 -
po/{ru.mini.po => ru.po} | 376 +-
po/si.mini.po | 21 -
po/sk.mini.po | 21 -
po/sl.mini.po | 22 -
po/sq.mini.po | 23 -
po/{sr.mini.po => sr.po} | 16 +-
po/{sr(a)latin.mini.po => sr(a)latin.po} | 16 +-
po/{sv.mini.po => sv.po} | 105 +-
po/{ta.mini.po => ta.po} | 407 +-
po/{te.mini.po => te.po} | 402 +-
po/tg.mini.po | 19 -
po/th.mini.po | 21 -
po/tr.mini.po | 21 -
po/tw.mini.po | 19 -
po/{uk.mini.po => uk.po} | 534 +-
po/ur.mini.po | 21 -
po/{vi.mini.po => vi.po} | 193 +-
po/wba.mini.po | 19 -
po/yo.mini.po | 19 -
po/{zh_CN.mini.po => zh_CN.po} | 421 +-
po/zh_HK.mini.po | 19 -
po/{zh_TW.mini.po => zh_TW.po} | 9 +-
po/zu.mini.po | 21 -
scripts/minimize-po.py | 54 -
104 files changed, 48678 insertions(+), 10512 deletions(-)
create mode 100644 po/LINGUAS
delete mode 100644 po/af.mini.po
delete mode 100644 po/am.mini.po
delete mode 100644 po/anp.mini.po
delete mode 100644 po/ar.mini.po
rename po/{as.mini.po => as.po} (98%)
delete mode 100644 po/ast.mini.po
delete mode 100644 po/bal.mini.po
delete mode 100644 po/be.mini.po
rename po/{bg.mini.po => bg.po} (99%)
delete mode 100644 po/bn.mini.po
rename po/{bn_IN.mini.po => bn_IN.po} (98%)
delete mode 100644 po/bo.mini.po
delete mode 100644 po/br.mini.po
delete mode 100644 po/brx.mini.po
rename po/{bs.mini.po => bs.po} (99%)
rename po/{ca.mini.po => ca.po} (99%)
rename po/{cs.mini.po => cs.po} (98%)
delete mode 100644 po/cy.mini.po
rename po/{da.mini.po => da.po} (99%)
rename po/{de.mini.po => de.po} (97%)
delete mode 100644 po/de_CH.mini.po
rename po/{el.mini.po => el.po} (99%)
rename po/{en_GB.mini.po => en_GB.po} (97%)
delete mode 100644 po/eo.mini.po
rename po/{es.mini.po => es.po} (97%)
delete mode 100644 po/et.mini.po
delete mode 100644 po/eu.mini.po
delete mode 100644 po/fa.mini.po
rename po/{fi.mini.po => fi.po} (98%)
delete mode 100644 po/fil.mini.po
rename po/{fr.mini.po => fr.po} (98%)
delete mode 100644 po/fur.mini.po
delete mode 100644 po/ga.mini.po
delete mode 100644 po/gl.mini.po
rename po/{gu.mini.po => gu.po} (97%)
delete mode 100644 po/he.mini.po
rename po/{hi.mini.po => hi.po} (97%)
delete mode 100644 po/hr.mini.po
rename po/{hu.mini.po => hu.po} (99%)
delete mode 100644 po/ia.mini.po
rename po/{id.mini.po => id.po} (99%)
delete mode 100644 po/ilo.mini.po
delete mode 100644 po/is.mini.po
rename po/{it.mini.po => it.po} (96%)
rename po/{ja.mini.po => ja.po} (97%)
delete mode 100644 po/ka.mini.po
delete mode 100644 po/kk.mini.po
delete mode 100644 po/km.mini.po
rename po/{kn.mini.po => kn.po} (97%)
rename po/{ko.mini.po => ko.po} (97%)
delete mode 100644 po/kw.mini.po
delete mode 100644 po/kw(a)kkcor.mini.po
delete mode 100644 po/kw(a)uccor.mini.po
delete mode 100644 po/kw_GB.mini.po
delete mode 100644 po/ky.mini.po
create mode 100644 po/libvirt.pot
delete mode 100644 po/lt.mini.po
delete mode 100644 po/lv.mini.po
delete mode 100644 po/mai.mini.po
rename po/{mk.mini.po => mk.po} (99%)
rename po/{ml.mini.po => ml.po} (97%)
delete mode 100644 po/mn.mini.po
rename po/{mr.mini.po => mr.po} (98%)
rename po/{ms.mini.po => ms.po} (98%)
delete mode 100644 po/my.mini.po
rename po/{nb.mini.po => nb.po} (98%)
delete mode 100644 po/nds.mini.po
delete mode 100644 po/ne.mini.po
rename po/{nl.mini.po => nl.po} (97%)
delete mode 100644 po/nn.mini.po
delete mode 100644 po/nso.mini.po
rename po/{or.mini.po => or.po} (97%)
rename po/{pa.mini.po => pa.po} (97%)
rename po/{pl.mini.po => pl.po} (97%)
rename po/{pt.mini.po => pt.po} (99%)
rename po/{pt_BR.mini.po => pt_BR.po} (97%)
delete mode 100644 po/ro.mini.po
rename po/{ru.mini.po => ru.po} (98%)
delete mode 100644 po/si.mini.po
delete mode 100644 po/sk.mini.po
delete mode 100644 po/sl.mini.po
delete mode 100644 po/sq.mini.po
rename po/{sr.mini.po => sr.po} (99%)
rename po/{sr(a)latin.mini.po => sr(a)latin.po} (99%)
rename po/{sv.mini.po => sv.po} (95%)
rename po/{ta.mini.po => ta.po} (98%)
rename po/{te.mini.po => te.po} (97%)
delete mode 100644 po/tg.mini.po
delete mode 100644 po/th.mini.po
delete mode 100644 po/tr.mini.po
delete mode 100644 po/tw.mini.po
rename po/{uk.mini.po => uk.po} (98%)
delete mode 100644 po/ur.mini.po
rename po/{vi.mini.po => vi.po} (97%)
delete mode 100644 po/wba.mini.po
delete mode 100644 po/yo.mini.po
rename po/{zh_CN.mini.po => zh_CN.po} (98%)
delete mode 100644 po/zh_HK.mini.po
rename po/{zh_TW.mini.po => zh_TW.po} (99%)
delete mode 100644 po/zu.mini.po
delete mode 100755 scripts/minimize-po.py
--
2.26.2
4 years, 5 months
[libvirt PATCH] tools: libvirt-guests: correctly check shutdown value
by Ján Tomko
The variable cleanup introduced a typo.
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
Fixes: 08071ec0f113bb1fe8dcc263cb6bf87529e8b76b
Reported-by: Bronek Kozicki
Closes: https://gitlab.com/libvirt/libvirt/-/issues/27
---
Pushed as trivial.
tools/libvirt-guests.sh.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in
index 7af24dab3b..534c4d5e0f 100644
--- a/tools/libvirt-guests.sh.in
+++ b/tools/libvirt-guests.sh.in
@@ -444,7 +444,7 @@ stop() {
# last stop was not followed by start
[ -f "$LISTFILE" ] && return 0
- if [ "/x$ON_SHUTDOWN" = xshutdown ]; then
+ if [ "x$ON_SHUTDOWN" = xshutdown ]; then
suspending=false
if [ $SHUTDOWN_TIMEOUT -lt 0 ]; then
gettext "SHUTDOWN_TIMEOUT must be equal or greater than 0"
--
2.25.4
4 years, 5 months
[PATCH] virsysinfo: Parse OEM strings
by Michal Privoznik
Setting OEM strings for a domain was introduced in
v4.1.0-rc1~315. However, any application that wanted to use them
(e.g. to point to an URL where a config file is stored) had to
'dmidecode -u --oem-string N' (where N is index of the string).
Well, we can expose them under our <sysinfo/> XML and if the
domain is running Libvirt inside it can be obtained using
virConnectGetSysinfo() API.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/util/virsysinfo.c | 60 ++++++++++++++++++++++++++++-
tests/sysinfodata/x86sysinfo.data | 10 +++++
tests/sysinfodata/x86sysinfo.expect | 10 +++++
3 files changed, 79 insertions(+), 1 deletion(-)
diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c
index 41f4d1cff9..94f7ca8811 100644
--- a/src/util/virsysinfo.c
+++ b/src/util/virsysinfo.c
@@ -919,6 +919,61 @@ virSysinfoParseX86Chassis(const char *base,
}
+static int
+virSysinfoParseOEMStrings(const char *base,
+ virSysinfoOEMStringsDefPtr *stringsRet)
+{
+ virSysinfoOEMStringsDefPtr strings = NULL;
+ int ret = -1;
+ const char *cur;
+
+ if (!(cur = strstr(base, "OEM Strings")))
+ return 0;
+
+ if (VIR_ALLOC(strings) < 0)
+ return -1;
+
+ while ((cur = strstr(cur, "String "))) {
+ char *eol;
+
+ cur += 7;
+
+ if (!(eol = strchr(cur, '\n'))) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Malformed output of dmidecode"));
+ goto cleanup;
+ }
+
+ while (g_ascii_isdigit(*cur))
+ cur++;
+
+ if (*cur != ':') {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Malformed output of dmidecode"));
+ goto cleanup;
+ }
+
+ cur += 2;
+
+ virSkipSpacesBackwards(cur, &eol);
+ if (!eol)
+ continue;
+
+ if (VIR_EXPAND_N(strings->values, strings->nvalues, 1) < 0)
+ goto cleanup;
+
+ strings->values[strings->nvalues - 1] = g_strndup(cur, eol - cur);
+ }
+
+ *stringsRet = g_steal_pointer(&strings);
+ ret = 0;
+
+ cleanup:
+ virSysinfoOEMStringsDefFree(strings);
+ return ret;
+}
+
+
static int
virSysinfoParseX86Processor(const char *base, virSysinfoDefPtr ret)
{
@@ -1132,7 +1187,7 @@ virSysinfoReadDMI(void)
return NULL;
}
- cmd = virCommandNewArgList(path, "-q", "-t", "0,1,2,3,4,17", NULL);
+ cmd = virCommandNewArgList(path, "-q", "-t", "0,1,2,3,4,11,17", NULL);
VIR_FREE(path);
virCommandSetOutputBuffer(cmd, &outbuf);
if (virCommandRun(cmd, NULL) < 0)
@@ -1155,6 +1210,9 @@ virSysinfoReadDMI(void)
if (virSysinfoParseX86Chassis(outbuf, &ret->chassis) < 0)
goto error;
+ if (virSysinfoParseOEMStrings(outbuf, &ret->oemStrings) < 0)
+ goto error;
+
ret->nprocessor = 0;
ret->processor = NULL;
if (virSysinfoParseX86Processor(outbuf, ret) < 0)
diff --git a/tests/sysinfodata/x86sysinfo.data b/tests/sysinfodata/x86sysinfo.data
index 426261041d..5615e144fb 100644
--- a/tests/sysinfodata/x86sysinfo.data
+++ b/tests/sysinfodata/x86sysinfo.data
@@ -81,3 +81,13 @@ Memory Device
Serial Number: 29057112
Asset Tag: 0839
Part Number: IMSH2GS13A1F1C-10F
+
+OEM Strings
+ String 1: Default string
+ String 2: Default string
+ String 3: MIAMI
+ String 4: Default string
+ String 5: FFFFFFFFFFFFF
+ String 6: FFFFFFFFFFFFF
+ String 7: FFFFFFFFFFFFF
+ String 8: Default string
diff --git a/tests/sysinfodata/x86sysinfo.expect b/tests/sysinfodata/x86sysinfo.expect
index fcdd790cbd..118cc4277e 100644
--- a/tests/sysinfodata/x86sysinfo.expect
+++ b/tests/sysinfodata/x86sysinfo.expect
@@ -50,4 +50,14 @@
<entry name='serial_number'>29057112</entry>
<entry name='part_number'>IMSH2GS13A1F1C-10F</entry>
</memory_device>
+ <oemStrings>
+ <entry>Default string</entry>
+ <entry>Default string</entry>
+ <entry>MIAMI</entry>
+ <entry>Default string</entry>
+ <entry>FFFFFFFFFFFFF</entry>
+ <entry>FFFFFFFFFFFFF</entry>
+ <entry>FFFFFFFFFFFFF</entry>
+ <entry>Default string</entry>
+ </oemStrings>
</sysinfo>
--
2.26.2
4 years, 5 months
[libvirt PATCH 0/3] Point to our gitlab.com repos more
by Ján Tomko
Ján Tomko (3):
docs: csharp: remove outdated comment
docs: virshcmdref: change repo URL to GitLab
docs: point to GitLab as the primary git hosting
ChangeLog | 4 ++--
docs/aclpolkit.html.in | 2 +-
docs/bindings.html.in | 2 +-
docs/csharp.html.in | 25 ++-----------------------
docs/dbus.html.in | 12 ++----------
docs/hacking.rst | 4 ++--
docs/java.html.in | 12 ++----------
docs/php.html.in | 10 ++--------
docs/securityprocess.html.in | 2 +-
docs/testapi.html.in | 2 +-
docs/testsuites.html.in | 4 ++--
docs/testtck.html.in | 2 +-
docs/virshcmdref.html.in | 16 ++--------------
13 files changed, 21 insertions(+), 76 deletions(-)
--
2.25.4
4 years, 5 months
[libvirt PATCH 0/2] lxc: remove most use of libvirt allocation APIs
by Daniel P. Berrangé
This removes VIR_ALLOC / VIR_FREE and friends, but not
the VIR_*_ELEMENT API usage.
Daniel P. Berrangé (2):
lxc: replace VIR_FREE with g_autofree / g_free
lxc: replace VIR_ALLOC/REALLOC with g_new0/renew
src/lxc/lxc_cgroup.c | 15 +--
src/lxc/lxc_conf.c | 19 ++-
src/lxc/lxc_container.c | 262 ++++++++++++++-------------------------
src/lxc/lxc_controller.c | 148 ++++++++--------------
src/lxc/lxc_domain.c | 40 +++---
src/lxc/lxc_driver.c | 89 ++++++-------
src/lxc/lxc_fuse.c | 14 +--
src/lxc/lxc_fuse.h | 1 +
src/lxc/lxc_hostdev.c | 1 -
src/lxc/lxc_monitor.c | 9 +-
src/lxc/lxc_native.c | 81 ++++++------
src/lxc/lxc_process.c | 135 ++++++++------------
12 files changed, 306 insertions(+), 508 deletions(-)
--
2.24.1
4 years, 5 months
[PATCH] qemucapabilitiestest: Bump qemu-5.1 capabilities for x86_64
by Peter Krempa
QEMU added the machine types for the 5.1 release so let's update them.
Other notable changes are 'cpu-throttle-tailslow' migration property,
'zlib' compression for qcow2 images and absrtact socket support.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
As usual, I'll be refreshing this until the release so that we always
have fresh capabilities to prevent any surprises with deprecation and
big updates.
.../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 2 +-
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 2 +-
tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 2 +-
.../caps_5.1.0.x86_64.replies | 357 +++++++++++-------
.../caps_5.1.0.x86_64.xml | 14 +-
5 files changed, 237 insertions(+), 140 deletions(-)
diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
index e152f7dec5..996461fb0f 100644
--- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
@@ -1,7 +1,7 @@
<domainCapabilities>
<path>/usr/bin/qemu-system-x86_64</path>
<domain>kvm</domain>
- <machine>pc-q35-5.0</machine>
+ <machine>pc-q35-5.1</machine>
<arch>x86_64</arch>
<vcpu max='288'/>
<iothreads supported='yes'/>
diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
index a0eeed7c2d..e4801b2750 100644
--- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
@@ -1,7 +1,7 @@
<domainCapabilities>
<path>/usr/bin/qemu-system-x86_64</path>
<domain>qemu</domain>
- <machine>pc-i440fx-5.0</machine>
+ <machine>pc-i440fx-5.1</machine>
<arch>x86_64</arch>
<vcpu max='255'/>
<iothreads supported='yes'/>
diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
index bc842730a0..e95fcec8bc 100644
--- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
@@ -1,7 +1,7 @@
<domainCapabilities>
<path>/usr/bin/qemu-system-x86_64</path>
<domain>kvm</domain>
- <machine>pc-i440fx-5.0</machine>
+ <machine>pc-i440fx-5.1</machine>
<arch>x86_64</arch>
<vcpu max='255'/>
<iothreads supported='yes'/>
diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies
index e26a74921f..c44cff7e50 100644
--- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies
@@ -21,7 +21,7 @@
"minor": 0,
"major": 5
},
- "package": "v5.0.0-34-g648db19685"
+ "package": "v5.0.0-870-g5cc7a54c2e"
},
"id": "libvirt-2"
}
@@ -618,10 +618,6 @@
{
"return": [
- {
- "name": "ich9-usb-uhci5",
- "parent": "pci-uhci-usb"
- },
{
"name": "pcie-pci-bridge",
"parent": "base-pci-bridge"
@@ -662,6 +658,10 @@
"name": "Denverton-x86_64-cpu",
"parent": "x86_64-cpu"
},
+ {
+ "name": "virtio-rng-device",
+ "parent": "virtio-device"
+ },
{
"name": "filter-buffer",
"parent": "netfilter"
@@ -671,8 +671,8 @@
"parent": "usb-device"
},
{
- "name": "pci-bridge",
- "parent": "base-pci-bridge"
+ "name": "ich9-usb-uhci5",
+ "parent": "pci-uhci-usb"
},
{
"name": "pci-ipmi-bt",
@@ -691,8 +691,8 @@
"parent": "pci-vga"
},
{
- "name": "virtio-rng-device",
- "parent": "virtio-device"
+ "name": "pcm3680_pci",
+ "parent": "pci-device"
},
{
"name": "Haswell-v1-x86_64-cpu",
@@ -703,8 +703,8 @@
"parent": "pci-device"
},
{
- "name": "core2duo-x86_64-cpu",
- "parent": "x86_64-cpu"
+ "name": "pci-bridge",
+ "parent": "base-pci-bridge"
},
{
"name": "kvm-pit",
@@ -723,8 +723,8 @@
"parent": "virtio-device"
},
{
- "name": "pcm3680_pci",
- "parent": "pci-device"
+ "name": "core2duo-x86_64-cpu",
+ "parent": "x86_64-cpu"
},
{
"name": "virtio-blk-pci-transitional",
@@ -1086,14 +1086,14 @@
"name": "pxb-pcie",
"parent": "pci-device"
},
- {
- "name": "Haswell-IBRS-x86_64-cpu",
- "parent": "x86_64-cpu"
- },
{
"name": "virtio-scsi-device",
"parent": "virtio-scsi-common"
},
+ {
+ "name": "Haswell-IBRS-x86_64-cpu",
+ "parent": "x86_64-cpu"
+ },
{
"name": "input-barrier",
"parent": "object"
@@ -1690,6 +1690,10 @@
"name": "Dhyana-v1-x86_64-cpu",
"parent": "x86_64-cpu"
},
+ {
+ "name": "pc-i440fx-5.1-machine",
+ "parent": "generic-pc-machine"
+ },
{
"name": "sysbus-fdc",
"parent": "base-sysbus-fdc"
@@ -1859,8 +1863,8 @@
"parent": "megasas-base"
},
{
- "name": "vmcoreinfo",
- "parent": "device"
+ "name": "chardev-braille",
+ "parent": "chardev"
},
{
"name": "virtio-iommu-pci",
@@ -1871,12 +1875,12 @@
"parent": "x86_64-cpu"
},
{
- "name": "tpci200",
- "parent": "pci-device"
+ "name": "vmcoreinfo",
+ "parent": "device"
},
{
- "name": "chardev-braille",
- "parent": "chardev"
+ "name": "tpci200",
+ "parent": "pci-device"
},
{
"name": "rocker",
@@ -1914,6 +1918,10 @@
"name": "qemu-console",
"parent": "object"
},
+ {
+ "name": "chardev-socket",
+ "parent": "chardev"
+ },
{
"name": "input-linux",
"parent": "object"
@@ -1962,14 +1970,14 @@
"name": "cs4231a",
"parent": "isa-device"
},
- {
- "name": "chardev-socket",
- "parent": "chardev"
- },
{
"name": "scsi-hd",
"parent": "scsi-disk-base"
},
+ {
+ "name": "clock",
+ "parent": "object"
+ },
{
"name": "usb-kbd",
"parent": "usb-hid"
@@ -1998,6 +2006,10 @@
"name": "virtio-net-device",
"parent": "virtio-device"
},
+ {
+ "name": "ccid-card-emulated",
+ "parent": "ccid-card"
+ },
{
"name": "pc-q35-2.9-machine",
"parent": "generic-pc-machine"
@@ -2027,15 +2039,15 @@
"parent": "virtio-iommu-device-base"
},
{
- "name": "ccid-card-emulated",
- "parent": "ccid-card"
+ "name": "pc-i440fx-1.7-machine",
+ "parent": "generic-pc-machine"
},
{
"name": "Westmere-v2-x86_64-cpu",
"parent": "x86_64-cpu"
},
{
- "name": "pc-i440fx-1.7-machine",
+ "name": "pc-q35-5.1-machine",
"parent": "generic-pc-machine"
},
{
@@ -2138,14 +2150,14 @@
"name": "pc-dimm",
"parent": "device"
},
- {
- "name": "virtio-balloon-pci-non-transitional",
- "parent": "virtio-balloon-pci-base"
- },
{
"name": "virtio-net-pci-transitional",
"parent": "virtio-net-pci-base"
},
+ {
+ "name": "virtio-balloon-pci-non-transitional",
+ "parent": "virtio-balloon-pci-base"
+ },
{
"name": "ipmi-bmc-sim",
"parent": "ipmi-bmc"
@@ -8013,6 +8025,15 @@
"cpu-max": 288,
"deprecated": false
},
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "alias": "q35"
+ },
{
"hotpluggable-cpus": true,
"name": "pc-i440fx-1.7",
@@ -8077,6 +8098,16 @@
"cpu-max": 255,
"deprecated": false
},
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "is-default": true,
+ "cpu-max": 255,
+ "deprecated": false,
+ "alias": "pc"
+ },
{
"hotpluggable-cpus": true,
"name": "pc-i440fx-2.9",
@@ -8171,8 +8202,7 @@
"numa-mem-supported": true,
"default-cpu-type": "qemu64-x86_64-cpu",
"cpu-max": 288,
- "deprecated": false,
- "alias": "q35"
+ "deprecated": false
},
{
"hotpluggable-cpus": true,
@@ -8243,10 +8273,8 @@
"name": "pc-i440fx-5.0",
"numa-mem-supported": true,
"default-cpu-type": "qemu64-x86_64-cpu",
- "is-default": true,
"cpu-max": 255,
- "deprecated": false,
- "alias": "pc"
+ "deprecated": false
},
{
"hotpluggable-cpus": true,
@@ -10852,6 +10880,15 @@
},
{
"parameters": [
+ {
+ "name": "abstract",
+ "type": "boolean"
+ },
+ {
+ "name": "tight",
+ "default": "on",
+ "type": "boolean"
+ },
{
"name": "logappend",
"type": "boolean"
@@ -16185,6 +16222,11 @@
"default": null,
"type": "int"
},
+ {
+ "name": "cpu-throttle-tailslow",
+ "default": null,
+ "type": "bool"
+ },
{
"name": "tls-creds",
"default": null,
@@ -16316,6 +16358,11 @@
"default": null,
"type": "int"
},
+ {
+ "name": "cpu-throttle-tailslow",
+ "default": null,
+ "type": "bool"
+ },
{
"name": "tls-creds",
"default": null,
@@ -21208,6 +21255,10 @@
"name": "cache-miss-rate",
"type": "number"
},
+ {
+ "name": "encoding-rate",
+ "type": "number"
+ },
{
"name": "overflow",
"type": "int"
@@ -22789,6 +22840,11 @@
"name": "refcount-bits",
"default": null,
"type": "int"
+ },
+ {
+ "name": "compression-type",
+ "default": null,
+ "type": "499"
}
],
"meta-type": "object"
@@ -22870,7 +22926,7 @@
{
"name": "redundancy",
"default": null,
- "type": "499"
+ "type": "500"
},
{
"name": "object-size",
@@ -22937,7 +22993,7 @@
{
"name": "subformat",
"default": null,
- "type": "500"
+ "type": "501"
},
{
"name": "block-state-zero",
@@ -22966,7 +23022,7 @@
{
"name": "subformat",
"default": null,
- "type": "501"
+ "type": "502"
},
{
"name": "backing-file",
@@ -22976,7 +23032,7 @@
{
"name": "adapter-type",
"default": null,
- "type": "502"
+ "type": "503"
},
{
"name": "hwversion",
@@ -23005,7 +23061,7 @@
{
"name": "subformat",
"default": null,
- "type": "503"
+ "type": "504"
},
{
"name": "force-size",
@@ -23101,7 +23157,7 @@
"members": [
{
"name": "data",
- "type": "504"
+ "type": "505"
}
],
"meta-type": "object"
@@ -23111,7 +23167,7 @@
"members": [
{
"name": "data",
- "type": "505"
+ "type": "506"
}
],
"meta-type": "object"
@@ -23121,7 +23177,7 @@
"members": [
{
"name": "data",
- "type": "506"
+ "type": "507"
}
],
"meta-type": "object"
@@ -23131,7 +23187,7 @@
"members": [
{
"name": "data",
- "type": "507"
+ "type": "508"
}
],
"meta-type": "object"
@@ -23141,7 +23197,7 @@
"members": [
{
"name": "data",
- "type": "508"
+ "type": "509"
}
],
"meta-type": "object"
@@ -23151,7 +23207,7 @@
"members": [
{
"name": "data",
- "type": "509"
+ "type": "510"
}
],
"meta-type": "object"
@@ -23161,7 +23217,7 @@
"members": [
{
"name": "data",
- "type": "510"
+ "type": "511"
}
],
"meta-type": "object"
@@ -23171,7 +23227,7 @@
"members": [
{
"name": "data",
- "type": "511"
+ "type": "512"
}
],
"meta-type": "object"
@@ -23181,7 +23237,7 @@
"members": [
{
"name": "data",
- "type": "512"
+ "type": "513"
}
],
"meta-type": "object"
@@ -23191,7 +23247,7 @@
"members": [
{
"name": "data",
- "type": "513"
+ "type": "514"
}
],
"meta-type": "object"
@@ -23201,7 +23257,7 @@
"members": [
{
"name": "data",
- "type": "514"
+ "type": "515"
}
],
"meta-type": "object"
@@ -23234,7 +23290,7 @@
"members": [
{
"name": "data",
- "type": "515"
+ "type": "516"
}
],
"meta-type": "object"
@@ -23244,7 +23300,7 @@
"members": [
{
"name": "data",
- "type": "516"
+ "type": "517"
}
],
"meta-type": "object"
@@ -23272,7 +23328,7 @@
"members": [
{
"name": "data",
- "type": "517"
+ "type": "518"
}
],
"meta-type": "object"
@@ -23292,7 +23348,7 @@
"members": [
{
"name": "data",
- "type": "518"
+ "type": "519"
}
],
"meta-type": "object"
@@ -23302,7 +23358,7 @@
"members": [
{
"name": "data",
- "type": "519"
+ "type": "520"
}
],
"meta-type": "object"
@@ -23312,7 +23368,7 @@
"members": [
{
"name": "data",
- "type": "520"
+ "type": "521"
}
],
"meta-type": "object"
@@ -23333,6 +23389,16 @@
{
"name": "path",
"type": "str"
+ },
+ {
+ "name": "tight",
+ "default": null,
+ "type": "bool"
+ },
+ {
+ "name": "abstract",
+ "default": null,
+ "type": "bool"
}
],
"meta-type": "object"
@@ -23374,7 +23440,7 @@
"members": [
{
"name": "data",
- "type": "521"
+ "type": "522"
}
],
"meta-type": "object"
@@ -23639,7 +23705,7 @@
"members": [
{
"name": "bus",
- "type": "522"
+ "type": "523"
},
{
"name": "devices",
@@ -23783,7 +23849,7 @@
"members": [
{
"name": "data",
- "type": "523"
+ "type": "524"
}
],
"meta-type": "object"
@@ -23793,7 +23859,7 @@
"members": [
{
"name": "data",
- "type": "524"
+ "type": "525"
}
],
"meta-type": "object"
@@ -23803,7 +23869,7 @@
"members": [
{
"name": "data",
- "type": "525"
+ "type": "526"
}
],
"meta-type": "object"
@@ -23998,7 +24064,7 @@
"members": [
{
"name": "type",
- "type": "526"
+ "type": "527"
},
{
"name": "hash",
@@ -24077,13 +24143,13 @@
},
{
"case": "luks",
- "type": "528"
+ "type": "529"
}
],
"members": [
{
"name": "format",
- "type": "527"
+ "type": "528"
}
],
"meta-type": "object"
@@ -24098,27 +24164,34 @@
},
{
"name": "499",
+ "meta-type": "enum",
+ "values": [
+ "zlib"
+ ]
+ },
+ {
+ "name": "500",
"tag": "type",
"variants": [
{
"case": "full",
- "type": "530"
+ "type": "531"
},
{
"case": "erasure-coded",
- "type": "531"
+ "type": "532"
}
],
"members": [
{
"name": "type",
- "type": "529"
+ "type": "530"
}
],
"meta-type": "object"
},
{
- "name": "500",
+ "name": "501",
"meta-type": "enum",
"values": [
"dynamic",
@@ -24126,7 +24199,7 @@
]
},
{
- "name": "501",
+ "name": "502",
"meta-type": "enum",
"values": [
"monolithicSparse",
@@ -24137,7 +24210,7 @@
]
},
{
- "name": "502",
+ "name": "503",
"meta-type": "enum",
"values": [
"ide",
@@ -24147,7 +24220,7 @@
]
},
{
- "name": "503",
+ "name": "504",
"meta-type": "enum",
"values": [
"dynamic",
@@ -24155,7 +24228,7 @@
]
},
{
- "name": "504",
+ "name": "505",
"members": [
{
"name": "logfile",
@@ -24185,7 +24258,7 @@
"meta-type": "object"
},
{
- "name": "505",
+ "name": "506",
"members": [
{
"name": "logfile",
@@ -24205,7 +24278,7 @@
"meta-type": "object"
},
{
- "name": "506",
+ "name": "507",
"members": [
{
"name": "logfile",
@@ -24270,7 +24343,7 @@
"meta-type": "object"
},
{
- "name": "507",
+ "name": "508",
"members": [
{
"name": "logfile",
@@ -24295,7 +24368,7 @@
"meta-type": "object"
},
{
- "name": "508",
+ "name": "509",
"members": [
{
"name": "logfile",
@@ -24311,7 +24384,7 @@
"meta-type": "object"
},
{
- "name": "509",
+ "name": "510",
"members": [
{
"name": "logfile",
@@ -24331,7 +24404,7 @@
"meta-type": "object"
},
{
- "name": "510",
+ "name": "511",
"members": [
{
"name": "logfile",
@@ -24352,7 +24425,7 @@
"meta-type": "object"
},
{
- "name": "511",
+ "name": "512",
"members": [
{
"name": "logfile",
@@ -24372,7 +24445,7 @@
"meta-type": "object"
},
{
- "name": "512",
+ "name": "513",
"members": [
{
"name": "logfile",
@@ -24392,7 +24465,7 @@
"meta-type": "object"
},
{
- "name": "513",
+ "name": "514",
"members": [
{
"name": "logfile",
@@ -24428,7 +24501,7 @@
"meta-type": "object"
},
{
- "name": "514",
+ "name": "515",
"members": [
{
"name": "logfile",
@@ -24449,7 +24522,7 @@
"meta-type": "object"
},
{
- "name": "515",
+ "name": "516",
"members": [
{
"name": "path",
@@ -24465,7 +24538,7 @@
"meta-type": "object"
},
{
- "name": "516",
+ "name": "517",
"members": [
{
"name": "chardev",
@@ -24475,7 +24548,7 @@
"meta-type": "object"
},
{
- "name": "517",
+ "name": "518",
"meta-type": "enum",
"values": [
"unmapped",
@@ -24629,7 +24702,7 @@
]
},
{
- "name": "518",
+ "name": "519",
"members": [
{
"name": "key",
@@ -24643,11 +24716,11 @@
"meta-type": "object"
},
{
- "name": "519",
+ "name": "520",
"members": [
{
"name": "button",
- "type": "532"
+ "type": "533"
},
{
"name": "down",
@@ -24657,11 +24730,11 @@
"meta-type": "object"
},
{
- "name": "520",
+ "name": "521",
"members": [
{
"name": "axis",
- "type": "533"
+ "type": "534"
},
{
"name": "value",
@@ -24671,13 +24744,13 @@
"meta-type": "object"
},
{
- "name": "521",
+ "name": "522",
"members": [
],
"meta-type": "object"
},
{
- "name": "522",
+ "name": "523",
"members": [
{
"name": "number",
@@ -24693,21 +24766,21 @@
},
{
"name": "io_range",
- "type": "534"
+ "type": "535"
},
{
"name": "memory_range",
- "type": "534"
+ "type": "535"
},
{
"name": "prefetchable_range",
- "type": "534"
+ "type": "535"
}
],
"meta-type": "object"
},
{
- "name": "523",
+ "name": "524",
"members": [
{
"name": "compat",
@@ -24740,18 +24813,22 @@
{
"name": "encrypt",
"default": null,
- "type": "535"
+ "type": "536"
},
{
"name": "bitmaps",
"default": null,
- "type": "[536]"
+ "type": "[537]"
+ },
+ {
+ "name": "compression-type",
+ "type": "499"
}
],
"meta-type": "object"
},
{
- "name": "524",
+ "name": "525",
"members": [
{
"name": "create-type",
@@ -24773,7 +24850,7 @@
"meta-type": "object"
},
{
- "name": "525",
+ "name": "526",
"members": [
{
"name": "cipher-alg",
@@ -24810,13 +24887,13 @@
},
{
"name": "slots",
- "type": "[537]"
+ "type": "[538]"
}
],
"meta-type": "object"
},
{
- "name": "526",
+ "name": "527",
"meta-type": "enum",
"values": [
"md5",
@@ -24824,7 +24901,7 @@
]
},
{
- "name": "527",
+ "name": "528",
"meta-type": "enum",
"values": [
"qcow",
@@ -24832,7 +24909,7 @@
]
},
{
- "name": "528",
+ "name": "529",
"members": [
{
"name": "key-secret",
@@ -24873,7 +24950,7 @@
"meta-type": "object"
},
{
- "name": "529",
+ "name": "530",
"meta-type": "enum",
"values": [
"full",
@@ -24881,7 +24958,7 @@
]
},
{
- "name": "530",
+ "name": "531",
"members": [
{
"name": "copies",
@@ -24891,7 +24968,7 @@
"meta-type": "object"
},
{
- "name": "531",
+ "name": "532",
"members": [
{
"name": "data-strips",
@@ -24905,7 +24982,7 @@
"meta-type": "object"
},
{
- "name": "532",
+ "name": "533",
"meta-type": "enum",
"values": [
"left",
@@ -24918,7 +24995,7 @@
]
},
{
- "name": "533",
+ "name": "534",
"meta-type": "enum",
"values": [
"x",
@@ -24926,7 +25003,7 @@
]
},
{
- "name": "534",
+ "name": "535",
"members": [
{
"name": "base",
@@ -24940,12 +25017,12 @@
"meta-type": "object"
},
{
- "name": "535",
+ "name": "536",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "525"
+ "type": "526"
},
{
"case": "aes",
@@ -24961,12 +25038,12 @@
"meta-type": "object"
},
{
- "name": "[536]",
- "element-type": "536",
+ "name": "[537]",
+ "element-type": "537",
"meta-type": "array"
},
{
- "name": "536",
+ "name": "537",
"members": [
{
"name": "name",
@@ -24978,7 +25055,7 @@
},
{
"name": "flags",
- "type": "[538]"
+ "type": "[539]"
}
],
"meta-type": "object"
@@ -24989,12 +25066,12 @@
"meta-type": "array"
},
{
- "name": "[537]",
- "element-type": "537",
+ "name": "[538]",
+ "element-type": "538",
"meta-type": "array"
},
{
- "name": "537",
+ "name": "538",
"members": [
{
"name": "active",
@@ -25018,12 +25095,12 @@
"meta-type": "object"
},
{
- "name": "[538]",
- "element-type": "538",
+ "name": "[539]",
+ "element-type": "539",
"meta-type": "array"
},
{
- "name": "538",
+ "name": "539",
"meta-type": "enum",
"values": [
"in-use",
@@ -28558,6 +28635,15 @@
"cpu-max": 288,
"deprecated": false
},
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-q35-5.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "cpu-max": 288,
+ "deprecated": false,
+ "alias": "q35"
+ },
{
"hotpluggable-cpus": true,
"name": "pc-i440fx-1.7",
@@ -28622,6 +28708,16 @@
"cpu-max": 255,
"deprecated": false
},
+ {
+ "hotpluggable-cpus": true,
+ "name": "pc-i440fx-5.1",
+ "numa-mem-supported": true,
+ "default-cpu-type": "qemu64-x86_64-cpu",
+ "is-default": true,
+ "cpu-max": 255,
+ "deprecated": false,
+ "alias": "pc"
+ },
{
"hotpluggable-cpus": true,
"name": "pc-i440fx-2.9",
@@ -28716,8 +28812,7 @@
"numa-mem-supported": true,
"default-cpu-type": "qemu64-x86_64-cpu",
"cpu-max": 288,
- "deprecated": false,
- "alias": "q35"
+ "deprecated": false
},
{
"hotpluggable-cpus": true,
@@ -28788,10 +28883,8 @@
"name": "pc-i440fx-5.0",
"numa-mem-supported": true,
"default-cpu-type": "qemu64-x86_64-cpu",
- "is-default": true,
"cpu-max": 255,
- "deprecated": false,
- "alias": "pc"
+ "deprecated": false
},
{
"hotpluggable-cpus": true,
diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
index c2bc121f73..3f538628b3 100644
--- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
@@ -237,7 +237,7 @@
<version>5000050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>
- <package>v5.0.0-34-g648db19685</package>
+ <package>v5.0.0-870-g5cc7a54c2e</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>
<property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/>
@@ -1328,7 +1328,7 @@
</cpu>
<cpu type='kvm' name='486-v1' typename='486-v1-x86_64-cpu' usable='yes'/>
<cpu type='kvm' name='486' typename='486-x86_64-cpu' usable='yes'/>
- <machine type='kvm' name='pc-i440fx-5.0' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
+ <machine type='kvm' name='pc-i440fx-5.1' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-i440fx-2.12' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-i440fx-2.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-q35-4.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
@@ -1341,6 +1341,7 @@
<machine type='kvm' name='pc-i440fx-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-q35-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-q35-2.10' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
+ <machine type='kvm' name='pc-q35-5.1' alias='q35' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-i440fx-1.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-q35-2.9' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-i440fx-2.11' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
@@ -1360,7 +1361,7 @@
<machine type='kvm' name='pc-i440fx-2.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-q35-4.0.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-i440fx-1.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
- <machine type='kvm' name='pc-q35-5.0' alias='q35' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
+ <machine type='kvm' name='pc-q35-5.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-q35-2.8' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-i440fx-2.10' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
@@ -1369,6 +1370,7 @@
<machine type='kvm' name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-1.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-i440fx-4.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
+ <machine type='kvm' name='pc-i440fx-5.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-i440fx-2.8' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-q35-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='kvm' name='pc-i440fx-3.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
@@ -2970,7 +2972,7 @@
</cpu>
<cpu type='tcg' name='486-v1' typename='486-v1-x86_64-cpu' usable='yes'/>
<cpu type='tcg' name='486' typename='486-x86_64-cpu' usable='yes'/>
- <machine type='tcg' name='pc-i440fx-5.0' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
+ <machine type='tcg' name='pc-i440fx-5.1' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-i440fx-2.12' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-i440fx-2.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-q35-4.2' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
@@ -2983,6 +2985,7 @@
<machine type='tcg' name='pc-i440fx-2.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-q35-2.4' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-q35-2.10' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
+ <machine type='tcg' name='pc-q35-5.1' alias='q35' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-i440fx-1.7' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-q35-2.9' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-i440fx-2.11' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
@@ -3002,7 +3005,7 @@
<machine type='tcg' name='pc-i440fx-2.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-q35-4.0.1' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-i440fx-1.6' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
- <machine type='tcg' name='pc-q35-5.0' alias='q35' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
+ <machine type='tcg' name='pc-q35-5.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-q35-2.8' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-i440fx-2.10' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
@@ -3011,6 +3014,7 @@
<machine type='tcg' name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-1.2' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-i440fx-4.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
+ <machine type='tcg' name='pc-i440fx-5.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-i440fx-2.8' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-q35-2.5' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
<machine type='tcg' name='pc-i440fx-3.0' hotplugCpus='yes' maxCpus='255' defaultCPU='qemu64-x86_64-cpu' numaMemSupported='yes'/>
--
2.26.2
4 years, 5 months
[libvirt PATCH 0/5] ci: Use GitLab container registry
by Andrea Bolognani
Branch: https://gitlab.com/abologna/libvirt/-/tree/ci-full-gitlab-registry
Pipeline: https://gitlab.com/abologna/libvirt/pipelines/150891361
This is what we're already doing with the subprojects we've migrated
to GitLab CI and, as of earlier today, all projects under the
libosinfo umbrella.
Once this is merged, we can stop publishing container images on Quay
and archive the libvirt-dockerfiles repository.
Patch 3/5 has been trimmed in order to comply with the size limits
of the mailing list. You can grab the unabridged version with
$ git fetch https://gitlab.com/abologna/libvirt ci-full-gitlab-registry
Andrea Bolognani (5):
ci: Use variables to build image names
ci: Add 'other' stage
ci: Use GitLab container registry
ci: Update build system integration
ci: Improve CI_IMAGE_TAG handling
.gitlab-ci.yml | 314 ++++++++++++++++--
ci/Makefile | 23 +-
ci/containers/README.rst | 14 +
ci/containers/ci-centos-7.Dockerfile | 137 ++++++++
ci/containers/ci-centos-8.Dockerfile | 108 ++++++
.../ci-debian-10-cross-aarch64.Dockerfile | 122 +++++++
.../ci-debian-10-cross-armv6l.Dockerfile | 120 +++++++
.../ci-debian-10-cross-armv7l.Dockerfile | 121 +++++++
.../ci-debian-10-cross-i686.Dockerfile | 121 +++++++
.../ci-debian-10-cross-mips.Dockerfile | 121 +++++++
.../ci-debian-10-cross-mips64el.Dockerfile | 121 +++++++
.../ci-debian-10-cross-mipsel.Dockerfile | 121 +++++++
.../ci-debian-10-cross-ppc64le.Dockerfile | 121 +++++++
.../ci-debian-10-cross-s390x.Dockerfile | 121 +++++++
ci/containers/ci-debian-10.Dockerfile | 112 +++++++
.../ci-debian-9-cross-aarch64.Dockerfile | 126 +++++++
.../ci-debian-9-cross-armv6l.Dockerfile | 124 +++++++
.../ci-debian-9-cross-armv7l.Dockerfile | 125 +++++++
.../ci-debian-9-cross-mips.Dockerfile | 125 +++++++
.../ci-debian-9-cross-mips64el.Dockerfile | 125 +++++++
.../ci-debian-9-cross-mipsel.Dockerfile | 125 +++++++
.../ci-debian-9-cross-ppc64le.Dockerfile | 125 +++++++
.../ci-debian-9-cross-s390x.Dockerfile | 125 +++++++
ci/containers/ci-debian-9.Dockerfile | 116 +++++++
.../ci-debian-sid-cross-aarch64.Dockerfile | 122 +++++++
.../ci-debian-sid-cross-armv6l.Dockerfile | 120 +++++++
.../ci-debian-sid-cross-armv7l.Dockerfile | 121 +++++++
.../ci-debian-sid-cross-i686.Dockerfile | 121 +++++++
.../ci-debian-sid-cross-mips.Dockerfile | 121 +++++++
.../ci-debian-sid-cross-mips64el.Dockerfile | 121 +++++++
.../ci-debian-sid-cross-mipsel.Dockerfile | 120 +++++++
.../ci-debian-sid-cross-ppc64le.Dockerfile | 121 +++++++
.../ci-debian-sid-cross-s390x.Dockerfile | 121 +++++++
ci/containers/ci-debian-sid.Dockerfile | 112 +++++++
ci/containers/ci-fedora-31.Dockerfile | 109 ++++++
ci/containers/ci-fedora-32.Dockerfile | 109 ++++++
...ci-fedora-rawhide-cross-mingw32.Dockerfile | 129 +++++++
...ci-fedora-rawhide-cross-mingw64.Dockerfile | 129 +++++++
ci/containers/ci-fedora-rawhide.Dockerfile | 110 ++++++
ci/containers/ci-opensuse-151.Dockerfile | 109 ++++++
ci/containers/ci-ubuntu-1804.Dockerfile | 117 +++++++
ci/containers/ci-ubuntu-2004.Dockerfile | 113 +++++++
ci/containers/refresh | 43 +++
ci/list-images.sh | 24 +-
44 files changed, 5054 insertions(+), 51 deletions(-)
create mode 100644 ci/containers/README.rst
create mode 100644 ci/containers/ci-centos-7.Dockerfile
create mode 100644 ci/containers/ci-centos-8.Dockerfile
create mode 100644 ci/containers/ci-debian-10-cross-aarch64.Dockerfile
create mode 100644 ci/containers/ci-debian-10-cross-armv6l.Dockerfile
create mode 100644 ci/containers/ci-debian-10-cross-armv7l.Dockerfile
create mode 100644 ci/containers/ci-debian-10-cross-i686.Dockerfile
create mode 100644 ci/containers/ci-debian-10-cross-mips.Dockerfile
create mode 100644 ci/containers/ci-debian-10-cross-mips64el.Dockerfile
create mode 100644 ci/containers/ci-debian-10-cross-mipsel.Dockerfile
create mode 100644 ci/containers/ci-debian-10-cross-ppc64le.Dockerfile
create mode 100644 ci/containers/ci-debian-10-cross-s390x.Dockerfile
create mode 100644 ci/containers/ci-debian-10.Dockerfile
create mode 100644 ci/containers/ci-debian-9-cross-aarch64.Dockerfile
create mode 100644 ci/containers/ci-debian-9-cross-armv6l.Dockerfile
create mode 100644 ci/containers/ci-debian-9-cross-armv7l.Dockerfile
create mode 100644 ci/containers/ci-debian-9-cross-mips.Dockerfile
create mode 100644 ci/containers/ci-debian-9-cross-mips64el.Dockerfile
create mode 100644 ci/containers/ci-debian-9-cross-mipsel.Dockerfile
create mode 100644 ci/containers/ci-debian-9-cross-ppc64le.Dockerfile
create mode 100644 ci/containers/ci-debian-9-cross-s390x.Dockerfile
create mode 100644 ci/containers/ci-debian-9.Dockerfile
create mode 100644 ci/containers/ci-debian-sid-cross-aarch64.Dockerfile
create mode 100644 ci/containers/ci-debian-sid-cross-armv6l.Dockerfile
create mode 100644 ci/containers/ci-debian-sid-cross-armv7l.Dockerfile
create mode 100644 ci/containers/ci-debian-sid-cross-i686.Dockerfile
create mode 100644 ci/containers/ci-debian-sid-cross-mips.Dockerfile
create mode 100644 ci/containers/ci-debian-sid-cross-mips64el.Dockerfile
create mode 100644 ci/containers/ci-debian-sid-cross-mipsel.Dockerfile
create mode 100644 ci/containers/ci-debian-sid-cross-ppc64le.Dockerfile
create mode 100644 ci/containers/ci-debian-sid-cross-s390x.Dockerfile
create mode 100644 ci/containers/ci-debian-sid.Dockerfile
create mode 100644 ci/containers/ci-fedora-31.Dockerfile
create mode 100644 ci/containers/ci-fedora-32.Dockerfile
create mode 100644 ci/containers/ci-fedora-rawhide-cross-mingw32.Dockerfile
create mode 100644 ci/containers/ci-fedora-rawhide-cross-mingw64.Dockerfile
create mode 100644 ci/containers/ci-fedora-rawhide.Dockerfile
create mode 100644 ci/containers/ci-opensuse-151.Dockerfile
create mode 100644 ci/containers/ci-ubuntu-1804.Dockerfile
create mode 100644 ci/containers/ci-ubuntu-2004.Dockerfile
create mode 100755 ci/containers/refresh
--
2.25.4
4 years, 5 months