[libvirt] [PATCH 0/2] numa: deprecate -numa node, mem and default memory distribution
by Igor Mammedov
1) "I'm considering to deprecating -mem-path/prealloc CLI options and replacing
them with a single memdev Machine property to allow interested users to pick
used backend for initial RAM (fixes mixed -mem-path+hostmem backends issues)
and as a transition step to modeling initial as a Device instead of (ab)using
MemoryRegion APIs."
(for more details see: https://www.mail-archive.com/qemu-devel@nongnu.org/msg596314.html)
However there is a couple of roadblocks on the way (s390x and numa memory handling).
I think I finally thought out a way to hack s390x in migration compatible manner,
but I don't see a way to do it for -numa node,mem and default RAM assignement to
nodes. Considering both numa usecases aren't meaningfully using NUMA (aside guest
side testing), and could be replaced with explicitly used memdev parameter, I'd
like to propose removing these fake NUMA friends, hence this deprecation.
As result of removing deprecated options and replacing initial RAM allocation
with 'memdev's (1), QEMU will allocate guest RAM in consistent way, fixing mixed
use-case and allowing boards to move towards modelling initial RAM as Device(s).
Which in its own turn should allow to cleanup NUMA/HMP/memory accounting code
more by dropping ad-hoc node_mem tracking and reusing device enumeration instead.
Igor Mammedov (2):
numa: deprecate 'mem' parameter of '-numa node' option
numa: deprecate implict memory distribution between nodes
numa.c | 5 +++++
qemu-deprecated.texi | 21 +++++++++++++++++++++
2 files changed, 26 insertions(+)
--
2.7.4
5 years, 9 months
[libvirt] [PATCH v2 0/3] rbd: improvements to actual disk-usage calculation
by jdillama@redhat.com
From: Jason Dillaman <dillaman(a)redhat.com>
The RBD fast-diff feature can vastly reduce the amount of time needed
to calculate actual disk usage of volumes, but it might still be a
slow operation for large RBD pools or pools with large RBD images.
Therefore, this feature should be able to be optionally disabled if
needed.
Additionally, the fast-diff feature can only be used if the fast-diff
map isn't flagged as invalid. Otherwise, librbd will silently perform
a costly block-by-block scan to calculate the disk usage.
since v1:
- Moved RBD-unique refresh volume allocation override to shared storage
pool attribute
Jason Dillaman (3):
rbd: do not attempt to use fast-diff if it's marked invalid
storage: optional 'refresh_volume_allocation' attribute on pool
rbd: optionally compute volume allocation from capacity
docs/formatstorage.html.in | 15 +++++--
docs/schemas/storagecommon.rng | 7 ++++
docs/schemas/storagepool.rng | 5 +++
src/conf/storage_conf.c | 23 ++++++++++
src/conf/storage_conf.h | 9 ++++
src/storage/storage_backend_rbd.c | 42 +++++++++++++++++--
.../pool-rbd-refresh-volume-allocation.xml | 12 ++++++
.../pool-rbd-refresh-volume-allocation.xml | 15 +++++++
tests/storagepoolxml2xmltest.c | 1 +
9 files changed, 122 insertions(+), 7 deletions(-)
create mode 100644 tests/storagepoolxml2xmlin/pool-rbd-refresh-volume-allocation.xml
create mode 100644 tests/storagepoolxml2xmlout/pool-rbd-refresh-volume-allocation.xml
--
2.20.1
5 years, 9 months
[libvirt] [PATCH] network: avoid trying to create global firewall rules if unprivileged
by Daniel P. Berrangé
The unprivileged libvirtd does not have permission to create firewall
rules, or bridge devices, or do anything to the host network in
general. Historically we still activate the network driver though and
let the network start API call fail.
The startup code path which reloads firewall rules on active networks
would thus effectively be a no-op when unprivileged as it is impossible
for there to be any active networks
With the change to use a global set of firewall chains, however, we now
have code that is run unconditionally.
Ideally we would not register the network driver at all when
unprivileged, but the entanglement with the virt drivers currently makes
that impractical. As a temporary hack, we just make the firewall reload
into a no-op.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/network/bridge_driver.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index c3e1381124..7d95675623 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -2095,6 +2095,10 @@ static void
networkReloadFirewallRules(virNetworkDriverStatePtr driver, bool startup)
{
VIR_INFO("Reloading iptables rules");
+ /* Ideally we'd not even register the driver when unprivilegd
+ * but until we untangle the virt driver that's not viable */
+ if (!driver->privileged)
+ return;
if (networkPreReloadFirewallRules(startup) < 0)
return;
virNetworkObjListForEach(driver->networks,
--
2.20.1
5 years, 9 months
[libvirt] [PATCH 0/2] network: improve firewall rule creation error handling
by Daniel P. Berrangé
This is a different approach to solving the problem describd in:
https://www.redhat.com/archives/libvir-list/2019-March/msg00584.html
That patch would treat each chain creation attempt as non-fatal. This
means ipv4 chains still get created if ipv6 is missing, or if a subset
of ip[6]tables modules are missing (eg "mangle" chain).
This series takes a different approach of splitting IPv4 and IPv6
chain creation. Setup for either address family can succeed/fail
independently, however, within an address family everything must
still succeed. Improved error reporting means that users will see
the root cause error when trying to start an error.
So with this series, 'mangle' support is still compulsory for
any address family, but if IPv6 lacks mangle support, this won't
break IPv4 support. This is good for the default network which
only does IPv4 out of the box.
Daniel P. Berrangé (2):
network: improve error report when firewall chain creation fails
network: split setup of ipv4 and ipv6 top level chains
src/network/bridge_driver.c | 3 +-
src/network/bridge_driver_linux.c | 51 ++++++++++++++++++++++++----
src/network/bridge_driver_nop.c | 3 +-
src/network/bridge_driver_platform.h | 2 +-
src/util/viriptables.c | 14 +++-----
src/util/viriptables.h | 2 +-
6 files changed, 53 insertions(+), 22 deletions(-)
--
2.20.1
5 years, 9 months
[libvirt] [PATCH] spec: Remove libvirt < 0.9.4 upgrade compat
by Cole Robinson
These blocks are only triggered when updating from a libvirt version
less than 0.9.4, which was released in august 2011. I think it's been
long enough that we can say this upgrade path is unsupported without
an intermediate step
Signed-off-by: Cole Robinson <crobinso(a)redhat.com>
---
libvirt.spec.in | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 1497cad3d2..dd725baf24 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1444,16 +1444,6 @@ fi
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
-%triggerun -- libvirt < 0.9.4
-%{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||:
-
-# If the package is allowed to autostart:
-/bin/systemctl --no-reload enable libvirtd.service >/dev/null 2>&1 ||:
-
-# Run these because the SysV package being removed won't do them
-/sbin/chkconfig --del libvirtd >/dev/null 2>&1 || :
-/bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
-
%if %{with_qemu}
%pre daemon-driver-qemu
# We want soft static allocation of well-known ids, as disk images
@@ -1485,15 +1475,6 @@ exit 0
/sbin/ldconfig
%systemd_postun libvirt-guests.service
-%triggerun client -- libvirt < 0.9.4
-%{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||:
-
-# If the package is allowed to autostart:
-/bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||:
-
-# Run this because the SysV package being removed won't do them
-/sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || :
-
%if %{with_sanlock}
%post lock-sanlock
if getent group sanlock > /dev/null ; then
--
2.21.0
5 years, 9 months
[libvirt] [PATCH v2 00/36] network: refactor to decouple virt drivers from network driver
by Daniel P. Berrangé
An update to
v1: https://www.redhat.com/archives/libvir-list/2018-December/msg00681.html
Currently the network driver registers a set of callbacks with the virt
driver in order to handle allocating/releasing network ports associated
with guest NICs.
This series introduces a virNetworkPortPtr object and associated XML
that describes a network port. The virt drivers now call public APIs
associated with this new object to create/delete ports for guest NICs.
Changed in v2:
- Fix many bugs related to upgrades with running VMs
- Convert over bandwidth controls to the new APIs
- Handle reconnecting VIFs to bridges during startup
- Much much more that I can't remember
Daniel P. Berrangé (36):
network: restrict usage of port management APIs
network: pass a virNetworkPtr to port management APIs
conf: simplify link from hostdev back to network device
network: add missing bandwidth limits for bridge forward type
network: use 'bridge' as actual type instead of 'network'
util: add helper method for re-attaching a tap device to a bridge
network: use virNetDevTapReattachBridge API
virt drivers: don't handle type=network after resolving actual network
type
network: move re-attach of bridge device out of network driver
network: move fixup for domain actual net def out of network driver
network: unconditionally merge port profiles
conf: don't pass interface type into virNetDevBandwidthParse
conf: introduce virNetworkPortDefPtr struct and XML support
network: stop passing virDomainNetDefPtr into bandwidth functions
network: make networkLogAllocation independent of domain conf
util: add API for copying virtual port profile data
conf: add APIs to convert virDomainNetDef to virNetworkPortDef
network: convert networkAllocateActualDevice to virNetworkPortDef
network: convert networkNotifyActualDevice to virNetworkPortDef
network: convert networkReleaseActualDevice to virNetworkPortDef
network: convert hook script to take a network port XML
network: remove the virDomainNetBandwidthChangeAllowed callback
network: introduce networkAllocatePort
network: introduce networkNotifyPort
network: introduce networkReleasePort
network: introduce networkUpdatePortBandwidth
network: add public APIs for network port object
access: add permissions for network port objects
remote: add support for new network port APIs
virsh: add support for network port APIs
conf: support recording ports against virNetworkObjPtr
network: add implementation of network port APIs
lxc, libxl: notify network driver of NICs during reconnect
lxc, libxl: save domain status after reconnect
conf: record a portid against the domain conf
conf: switch over to use network port APIs for virt drivers
docs/formatdomain.html.in | 8 +
docs/hooks.html.in | 24 +-
docs/schemas/domaincommon.rng | 5 +
include/libvirt/libvirt-network.h | 122 ++
include/libvirt/virterror.h | 3 +
src/access/genpolkit.pl | 2 +-
src/access/viraccessdriver.h | 6 +
src/access/viraccessdrivernop.c | 11 +
src/access/viraccessdriverpolkit.c | 26 +
src/access/viraccessdriverstack.c | 25 +
src/access/viraccessmanager.c | 16 +
src/access/viraccessmanager.h | 6 +
src/access/viraccessperm.c | 6 +
src/access/viraccessperm.h | 44 +
src/conf/Makefile.inc.am | 2 +
src/conf/domain_conf.c | 558 ++++++-
src/conf/domain_conf.h | 63 +-
src/conf/netdev_bandwidth_conf.c | 22 +-
src/conf/netdev_bandwidth_conf.h | 2 +-
src/conf/network_conf.c | 4 +-
src/conf/virnetworkobj.c | 303 ++++
src/conf/virnetworkobj.h | 34 +
src/conf/virnetworkportdef.c | 514 +++++++
src/conf/virnetworkportdef.h | 112 ++
src/datatypes.c | 60 +
src/datatypes.h | 41 +
src/driver-network.h | 41 +
src/libvirt-network.c | 444 ++++++
src/libvirt_private.syms | 24 +-
src/libvirt_public.syms | 16 +
src/libxl/libxl_conf.c | 21 +-
src/libxl/libxl_domain.c | 28 +-
src/libxl/libxl_driver.c | 60 +-
src/lxc/lxc_driver.c | 37 +-
src/lxc/lxc_process.c | 56 +-
src/network/bridge_driver.c | 1364 +++++++++--------
src/qemu/qemu_command.c | 11 +-
src/qemu/qemu_domain_address.c | 4 +-
src/qemu/qemu_driver.c | 10 +-
src/qemu/qemu_hotplug.c | 84 +-
src/qemu/qemu_hotplug.h | 2 +-
src/qemu/qemu_interface.c | 12 +-
src/qemu/qemu_process.c | 32 +-
src/remote/remote_daemon_dispatch.c | 73 +
src/remote/remote_driver.c | 69 +
src/remote/remote_protocol.x | 124 +-
src/remote_protocol-structs | 69 +
src/rpc/gendispatch.pl | 18 +-
src/util/virerror.c | 9 +
src/util/virhook.c | 4 +-
src/util/virhook.h | 4 +-
src/util/virhostdev.c | 17 +-
src/util/virnetdevtap.c | 69 +
src/util/virnetdevtap.h | 12 +
src/util/virnetdevvportprofile.c | 16 +
src/util/virnetdevvportprofile.h | 2 +
tests/Makefile.am | 7 +
.../net-virtio-network-portgroup.xml | 6 +-
tests/virnetdevbandwidthtest.c | 2 +-
.../plug-bridge-mactbl.xml | 9 +
.../virnetworkportxml2xmldata/plug-bridge.xml | 12 +
.../virnetworkportxml2xmldata/plug-direct.xml | 12 +
.../plug-hostdev-pci.xml | 12 +
tests/virnetworkportxml2xmldata/plug-none.xml | 8 +
tests/virnetworkportxml2xmltest.c | 104 ++
tools/virsh-completer.c | 51 +
tools/virsh-completer.h | 4 +
tools/virsh-network.c | 399 ++++-
tools/virsh-network.h | 5 +
69 files changed, 4532 insertions(+), 850 deletions(-)
create mode 100644 src/conf/virnetworkportdef.c
create mode 100644 src/conf/virnetworkportdef.h
create mode 100644 tests/virnetworkportxml2xmldata/plug-bridge-mactbl.xml
create mode 100644 tests/virnetworkportxml2xmldata/plug-bridge.xml
create mode 100644 tests/virnetworkportxml2xmldata/plug-direct.xml
create mode 100644 tests/virnetworkportxml2xmldata/plug-hostdev-pci.xml
create mode 100644 tests/virnetworkportxml2xmldata/plug-none.xml
create mode 100644 tests/virnetworkportxml2xmltest.c
--
2.20.1
5 years, 9 months
[libvirt] [PATCH v5] openvswitch: Add new port VLAN mode "802.1ad"
by ZhiPeng LU
This patch adds functionality to allow libvirt to configure the '802.1ad'
modes(802.1ad double-tagged) on openvswitch networks.
For example:
<interface type='bridge'>
<mac address='2c:da:41:1d:05:42'/>
<source bridge='ovs0'/>
<vlan>
<tag id='41' nativeMode='dot1q-tunnel'/>
</vlan>
<virtualport type='openvswitch'>
<parameters interfaceid='6401a152-0b99-40b5-92be-858810aa6d37'/>
</virtualport>
<model type='virtio'/>
<driver name='vhost'/>
<alias name='net0'/>
</interface>
Signed-off-by: ZhiPeng Lu <luzhipeng(a)uniudc.com>
---
v1->v2:
1. Fix "make syntax-check" failure
v2->v3:
1. remove other_config when updating vlan
v3->v4:
1. add commit message that has a brief description of the new
feature
2. add tests for 'dot1q-tunnel' vlan mode
v4->v5:
1. modify some description and format
v4-resend:
https://www.redhat.com/archives/libvir-list/2019-February/msg00988.html
docs/formatdomain.html.in | 33 +++++++++++++++-------
docs/formatnetwork.html.in | 26 ++++++++++-------
docs/schemas/networkcommon.rng | 1 +
src/conf/netdev_vlan_conf.c | 2 +-
src/util/virnetdevopenvswitch.c | 7 +++++
src/util/virnetdevvlan.h | 1 +
tests/networkxml2xmlin/openvswitch-net.xml | 9 ++++++
tests/networkxml2xmlout/openvswitch-net.xml | 9 ++++++
.../openvswitch-net-modified.xml | 9 ++++++
.../openvswitch-net-more-portgroups.xml | 9 ++++++
.../openvswitch-net-without-alice.xml | 9 ++++++
11 files changed, 94 insertions(+), 21 deletions(-)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index b848e53..253f329 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -6097,6 +6097,13 @@ qemu-kvm -net nic,model=? /dev/null
<b></vlan></b>
...
</interface>
+ <interface type='bridge'>
+ <b><vlan trunk='yes'></b>
+ <b><tag id='42'/></b>
+ <b><tag id='555' nativeMode='802.1ad'/></b>
+ <b></vlan></b>
+ ...
+ </interface>
</devices>
...</pre>
@@ -6132,16 +6139,22 @@ qemu-kvm -net nic,model=? /dev/null
</p>
<p>
For network connections using Open vSwitch it is also possible
- to configure 'native-tagged' and 'native-untagged' VLAN modes
- <span class="since">Since 1.1.0.</span> This is done with the
- optional <code>nativeMode</code> attribute on
- the <code><tag></code> subelement: <code>nativeMode</code>
- may be set to 'tagged' or 'untagged'. The <code>id</code>
- attribute of the <code><tag></code> subelement
- containing <code>nativeMode</code> sets which VLAN is considered
- to be the "native" VLAN for this interface, and
- the <code>nativeMode</code> attribute determines whether or not
- traffic for that VLAN will be tagged.
+ to configure the following VLAN modes:
+ </p>
+ <ul>
+ <li>'tagged' <span class="since">Since 1.1.0.</span></li>
+ <li>'untagged' <span class="since">Since 1.1.0.</span></li>
+ <li>'802.1ad' <span class="since">Since 5.1.0.</span></li>
+ </ul>
+ <p>
+ This is done with the optional <code>nativeMode</code> attribute
+ on the <code><tag></code> subelement. The attribute may be
+ set to a string from the above list. The <code>id</code> attribute
+ of the <code><tag></code> subelement containing
+ <code>nativeMode</code> sets which VLAN is considered to be the
+ "native" VLAN for this interface and the <code>nativeMode</code>
+ attribute determines whether or not traffic for that VLAN will be
+ tagged or 802.1ad double tagged.
</p>
<h5><a id="elementLink">Modifying virtual link state</a></h5>
diff --git a/docs/formatnetwork.html.in b/docs/formatnetwork.html.in
index 509cca9..eea86f4 100644
--- a/docs/formatnetwork.html.in
+++ b/docs/formatnetwork.html.in
@@ -705,16 +705,22 @@
</p>
<p>
For network connections using Open vSwitch it is also possible
- to configure 'native-tagged' and 'native-untagged' VLAN modes
- <span class="since">Since 1.1.0.</span> This is done with the
- optional <code>nativeMode</code> attribute on
- the <code><tag></code> subelement: <code>nativeMode</code>
- may be set to 'tagged' or 'untagged'. The <code>id</code>
- attribute of the <code><tag></code> subelement
- containing <code>nativeMode</code> sets which VLAN is considered
- to be the "native" VLAN for this interface, and
- the <code>nativeMode</code> attribute determines whether or not
- traffic for that VLAN will be tagged.
+ to configure the following VLAN modes:
+ </p>
+ <ul>
+ <li>'tagged' <span class="since">Since 1.1.0.</span></li>
+ <li>'untagged' <span class="since">Since 1.1.0.</span></li>
+ <li>'802.1ad' <span class="since">Since 5.1.0.</span></li>
+ </ul>
+ <p>
+ This is done with the optional <code>nativeMode</code> attribute
+ on the <code><tag></code> subelement. The attribute may be
+ set to a string from the above list. The <code>id</code> attribute
+ of the <code><tag></code> subelement containing
+ <code>nativeMode</code> sets which VLAN is considered to be the
+ "native" VLAN for this interface and the <code>nativeMode</code>
+ attribute determines whether or not traffic for that VLAN will be
+ tagged or 802.1ad double tagged.
</p>
<p>
<code><vlan></code> elements can also be specified in
diff --git a/docs/schemas/networkcommon.rng b/docs/schemas/networkcommon.rng
index 2699555..7262783 100644
--- a/docs/schemas/networkcommon.rng
+++ b/docs/schemas/networkcommon.rng
@@ -223,6 +223,7 @@
<choice>
<value>tagged</value>
<value>untagged</value>
+ <value>802.1ad</value>
</choice>
</attribute>
</optional>
diff --git a/src/conf/netdev_vlan_conf.c b/src/conf/netdev_vlan_conf.c
index 57d73ed..54e2b02 100644
--- a/src/conf/netdev_vlan_conf.c
+++ b/src/conf/netdev_vlan_conf.c
@@ -25,7 +25,7 @@
#define VIR_FROM_THIS VIR_FROM_NONE
VIR_ENUM_IMPL(virNativeVlanMode, VIR_NATIVE_VLAN_MODE_LAST,
- "default", "tagged", "untagged",
+ "default", "tagged", "untagged", "802.1ad",
);
int
diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c
index 4fa3a57..d8268bc 100644
--- a/src/util/virnetdevopenvswitch.c
+++ b/src/util/virnetdevopenvswitch.c
@@ -85,6 +85,11 @@ virNetDevOpenvswitchConstructVlans(virCommandPtr cmd, virNetDevVlanPtr virtVlan)
virCommandAddArg(cmd, "vlan_mode=native-untagged");
virCommandAddArgFormat(cmd, "tag=%d", virtVlan->nativeTag);
break;
+ case VIR_NATIVE_VLAN_MODE_8021AD:
+ virCommandAddArg(cmd, "vlan_mode=dot1q-tunnel");
+ virCommandAddArg(cmd, "other_config:qinq-ethtype=802.1q");
+ virCommandAddArgFormat(cmd, "tag=%d", virtVlan->nativeTag);
+ break;
case VIR_NATIVE_VLAN_MODE_DEFAULT:
default:
break;
@@ -498,6 +503,8 @@ int virNetDevOpenvswitchUpdateVlan(const char *ifname,
"--", "--if-exists", "clear", "Port", ifname, "tag",
"--", "--if-exists", "clear", "Port", ifname, "trunk",
"--", "--if-exists", "clear", "Port", ifname, "vlan_mode",
+ "--", "--if-exists", "remove", "Port", ifname,
+ "other_config", "qinq-ethtype",
"--", "--if-exists", "set", "Port", ifname, NULL);
if (virNetDevOpenvswitchConstructVlans(cmd, virtVlan) < 0)
diff --git a/src/util/virnetdevvlan.h b/src/util/virnetdevvlan.h
index 2a13759..54109c6 100644
--- a/src/util/virnetdevvlan.h
+++ b/src/util/virnetdevvlan.h
@@ -27,6 +27,7 @@ typedef enum {
VIR_NATIVE_VLAN_MODE_DEFAULT = 0,
VIR_NATIVE_VLAN_MODE_TAGGED,
VIR_NATIVE_VLAN_MODE_UNTAGGED,
+ VIR_NATIVE_VLAN_MODE_8021AD,
VIR_NATIVE_VLAN_MODE_LAST
} virNativeVlanMode;
diff --git a/tests/networkxml2xmlin/openvswitch-net.xml b/tests/networkxml2xmlin/openvswitch-net.xml
index 2f6084d..5734d36 100644
--- a/tests/networkxml2xmlin/openvswitch-net.xml
+++ b/tests/networkxml2xmlin/openvswitch-net.xml
@@ -30,4 +30,13 @@
<parameters profileid='native-profile'/>
</virtualport>
</portgroup>
+ <portgroup name='8021ad'>
+ <vlan trunk='yes'>
+ <tag id='555' nativeMode='802.1ad'/>
+ <tag id='666'/>
+ </vlan>
+ <virtualport>
+ <parameters profileid='8021ad-profile'/>
+ </virtualport>
+ </portgroup>
</network>
diff --git a/tests/networkxml2xmlout/openvswitch-net.xml b/tests/networkxml2xmlout/openvswitch-net.xml
index 2f6084d..5734d36 100644
--- a/tests/networkxml2xmlout/openvswitch-net.xml
+++ b/tests/networkxml2xmlout/openvswitch-net.xml
@@ -30,4 +30,13 @@
<parameters profileid='native-profile'/>
</virtualport>
</portgroup>
+ <portgroup name='8021ad'>
+ <vlan trunk='yes'>
+ <tag id='555' nativeMode='802.1ad'/>
+ <tag id='666'/>
+ </vlan>
+ <virtualport>
+ <parameters profileid='8021ad-profile'/>
+ </virtualport>
+ </portgroup>
</network>
diff --git a/tests/networkxml2xmlupdateout/openvswitch-net-modified.xml b/tests/networkxml2xmlupdateout/openvswitch-net-modified.xml
index cc0c344..ed605bf 100644
--- a/tests/networkxml2xmlupdateout/openvswitch-net-modified.xml
+++ b/tests/networkxml2xmlupdateout/openvswitch-net-modified.xml
@@ -30,4 +30,13 @@
<parameters profileid='native-profile'/>
</virtualport>
</portgroup>
+ <portgroup name='8021ad'>
+ <vlan trunk='yes'>
+ <tag id='555' nativeMode='802.1ad'/>
+ <tag id='666'/>
+ </vlan>
+ <virtualport>
+ <parameters profileid='8021ad-profile'/>
+ </virtualport>
+ </portgroup>
</network>
diff --git a/tests/networkxml2xmlupdateout/openvswitch-net-more-portgroups.xml b/tests/networkxml2xmlupdateout/openvswitch-net-more-portgroups.xml
index 7c19ad9..0237e42 100644
--- a/tests/networkxml2xmlupdateout/openvswitch-net-more-portgroups.xml
+++ b/tests/networkxml2xmlupdateout/openvswitch-net-more-portgroups.xml
@@ -41,4 +41,13 @@
<parameters profileid='native-profile'/>
</virtualport>
</portgroup>
+ <portgroup name='8021ad'>
+ <vlan trunk='yes'>
+ <tag id='555' nativeMode='802.1ad'/>
+ <tag id='666'/>
+ </vlan>
+ <virtualport>
+ <parameters profileid='8021ad-profile'/>
+ </virtualport>
+ </portgroup>
</network>
diff --git a/tests/networkxml2xmlupdateout/openvswitch-net-without-alice.xml b/tests/networkxml2xmlupdateout/openvswitch-net-without-alice.xml
index 4104424..cb9d12d 100644
--- a/tests/networkxml2xmlupdateout/openvswitch-net-without-alice.xml
+++ b/tests/networkxml2xmlupdateout/openvswitch-net-without-alice.xml
@@ -20,4 +20,13 @@
<parameters profileid='native-profile'/>
</virtualport>
</portgroup>
+ <portgroup name='8021ad'>
+ <vlan trunk='yes'>
+ <tag id='555' nativeMode='802.1ad'/>
+ <tag id='666'/>
+ </vlan>
+ <virtualport>
+ <parameters profileid='8021ad-profile'/>
+ </virtualport>
+ </portgroup>
</network>
--
1.8.3.1
5 years, 9 months
[libvirt] [PATCH] vz: build fix for virStorageBackendVzPoolStart
by Nikolay Shirokovskiy
Remove unused variable. Fix for [1]
[1] 821dd6d8: storage: Use VIR_AUTOFREE for storage backends
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy(a)virtuozzo.com>
---
Pushed as trivial build fix.
src/storage/storage_backend_vstorage.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/storage/storage_backend_vstorage.c b/src/storage/storage_backend_vstorage.c
index df157a4..d446aa2 100644
--- a/src/storage/storage_backend_vstorage.c
+++ b/src/storage/storage_backend_vstorage.c
@@ -37,7 +37,6 @@ virStorageBackendVzPoolBuild(virStoragePoolObjPtr pool,
static int
virStorageBackendVzPoolStart(virStoragePoolObjPtr pool)
{
- int ret = -1;
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
VIR_AUTOFREE(char *) grp_name = NULL;
VIR_AUTOFREE(char *) usr_name = NULL;
--
1.8.3.1
5 years, 9 months
[libvirt] [PATCH v2 0/2] Facilitate running libvirt builds via docker containers
by Daniel P. Berrangé
For a while QEMU has provided simple make rules for building QEMU inside
standard docker container environments. This provides an equivalent
mechanism for libvirt inspired by QEMU's.
QEMU actually builds the container images on developer's machines
locally. Libvirt already hosts pre-built images on quay.io, so that is
used directly as it is quicker to download them than to build them
locally. This also ensures the container contents match what the live
CI system is using, as opposed to building an image with newer packages.
Changed in v2:
- Drop cross-compilation patches temporarily. The cross-compiler
images are not yet built on quay.io and rather than creating and
bulding many more images manually, I'm working on script to
automate setup of quay.io images
- Many changes to the make rules to make it possible to use them
from Travis CI to match its currently testing setup
- Modify Travis CI config to use the new make rules for consistency
Daniel P. Berrangé (2):
tests: add targets for building libvirt inside docker containers
travis: convert ubuntu, centos & mingw builds to use new make rules
.gitignore | 1 +
.travis.yml | 48 +++---------
Makefile.am | 2 +
tests/Makefile.ci.inc | 174 ++++++++++++++++++++++++++++++++++++++++++
4 files changed, 187 insertions(+), 38 deletions(-)
create mode 100644 tests/Makefile.ci.inc
--
2.20.1
5 years, 9 months
[libvirt] [PATCH] tests: domaincapstest: Fix build on mingw
by Cole Robinson
fillStringValues is only used if WITH_QEMU || WITH_BHYVE
Signed-off-by: Cole Robinson <crobinso(a)redhat.com>
---
Pushed under build break rule
tests/domaincapstest.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c
index 1aa8c023a2..2cccfbc8e2 100644
--- a/tests/domaincapstest.c
+++ b/tests/domaincapstest.c
@@ -24,6 +24,7 @@
#define VIR_FROM_THIS VIR_FROM_NONE
+#if WITH_QEMU || WITH_BHYVE
static int ATTRIBUTE_SENTINEL
fillStringValues(virDomainCapsStringValuesPtr values, ...)
{
@@ -44,6 +45,7 @@ fillStringValues(virDomainCapsStringValuesPtr values, ...)
return ret;
}
+#endif /* WITH_QEMU || WITH_BHYVE */
#if WITH_QEMU
# include "testutilsqemu.h"
--
2.21.0
5 years, 9 months