On 4/17/19 1:19 PM, Daniel P. Berrangé wrote:
The virNetDevBandwidthParse method uses the interface type to decide
whether to allow use of the "floor" parameter. Using the interface
type is not convenient as callers may not have that available, but
still wish to allow use of "floor".
Also, thi
On 4/15/19 5:59 PM, Collin Walling wrote:
This is a preview of the CPU comparison (and soon baseline)
patches. Comments are welcome on all aspects, as they will
help guide the development of the baseline implementation.
The first couple of patches simply refactor code. The first
introduces an
On 4/15/19 5:59 PM, Collin Walling wrote:
Interfaces with QEMU to compare CPU models. The command takes two
CPU models, A and B, that are given a model name and an optional list
of CPU features. Through the query-cpu-model-comparison command issued
via QMP, a result is produced that contains t
On 4/11/19 8:43 AM, Peter Krempa wrote:
On Thu, Apr 11, 2019 at 13:37:49 +0200, Michal Privoznik wrote:
On 4/11/19 12:12 PM, Daniel Henrique Barboza wrote:
All that said, I think a good solution would be (2). dompmsuspend isn't a
performance sensitive command, thus the extra time to execut
On 4/17/19 1:19 PM, Daniel P. Berrangé wrote:
Reword error messages to make it clear that the combined floor settings
of all NICs are exceeding the network inbound peak/average
settings. Including the actual values being checked helps to diagnose
what is actually wrong.
Signed-off-by: Daniel P.
On 4/17/19 1:19 PM, Daniel P. Berrangé wrote:
In extreme cases libvirt can get mixed up about what VMs are running and
attached to a network leading to the cached floor sum value being
outdated. When this happens the only option is to destroy the network
and then restart libvirtd. If we set floor
Change the domain conf so invoke the new network port public APIs instead
of the network callbacks.
Signed-off-by: Daniel P. Berrangé
---
src/conf/domain_conf.c | 231 +---
src/conf/domain_conf.h | 26
src/libvirt_private.syms| 1 -
src/netwo
This initial implementation just wires up the APIs and does tracking of
the port XML definitions. It is not yet integrated into the resource
allocation logic.
Signed-off-by: Daniel P. Berrangé
---
src/network/bridge_driver.c | 400
1 file changed, 400 inserti
The various steps involved in reconnecting to a domain may cause updates
to the virDomainObj struct that need to be reflected in the saved status
file.
Signed-off-by: Daniel P. Berrangé
---
src/libxl/libxl_driver.c | 3 +++
src/lxc/lxc_process.c| 5 +
2 files changed, 8 insertions(+)
di
When starting up it is important to notify the network driver of any
NICs which are used by running guests so that it can account for any
resources they are using.
Signed-off-by: Daniel P. Berrangé
---
src/libxl/libxl_driver.c | 30 ++
src/lxc/lxc_process.c| 30 ++
The virNetworkObjPtr state will need to maintain a record of all
virNetworkPortDefPtr objects associated with the network. Record these
in a hash and add APIs for manipulating them.
Signed-off-by: Daniel P. Berrangé
---
src/conf/virnetworkobj.c | 303 +++
src/
The portid will be the UUID of the virNetworkPort object associated
with the network interface when a guest is running.
Signed-off-by: Daniel P. Berrangé
---
docs/formatdomain.html.in | 8 +++
docs/schemas/domaincommon.rng | 5 +
src/conf/domain_conf
Signed-off-by: Daniel P. Berrangé
---
tools/virsh-completer.c | 50 +
tools/virsh-completer.h | 4 +
tools/virsh-network.c | 399 +++-
tools/virsh-network.h | 5 +
4 files changed, 457 insertions(+), 1 deletion(-)
diff --git a/tools/virsh-complete
Define the wire protocol for the virNetworkPort APIs and enable the
client/server RPC dispatch.
Signed-off-by: Daniel P. Berrangé
---
src/remote/remote_daemon_dispatch.c | 73
src/remote/remote_driver.c | 69
src/remote/remote_protocol.x| 124
In extreme cases libvirt can get mixed up about what VMs are running and
attached to a network leading to the cached floor sum value being
outdated. When this happens the only option is to destroy the network
and then restart libvirtd. If we set floor sum back to zero when
starting the network, we
Helper APIs are needed to
- Populate basic virNetworkPortDef from virDomainNetDef
- Set a virDomainActualNetDef from virNetworkPortDef
- Populate a full virNetworkPortDef from virDomainActualNetDef
Signed-off-by: Daniel P. Berrangé
---
src/conf/domain_conf.c | 275 +
Ports allocated on virtual networks with type=nat|route|open all get
given an actual type of 'network'.
Only ports in networks with type=bridge use an actual type of 'bridge'.
This distinction makes little sense since the virtualization drivers
will treat both actual types in exactly the same way
The current qemu driver code for changing bandwidth on a NIC first asks
the network driver if the change is supported, then changes the
bandwidth on the VIF, and then tells the network driver to update the
bandwidth on the bridge.
This is potentially racing if a parallel API call causes the networ
The call to resolve the actual network type will turn any NICs with
type=network into one of the other types. Thus there should be no need
to handle type=network in later switch() statements jumping off the
actual type.
Reviewed-by: Cole Robinson
Signed-off-by: Daniel P. Berrangé
---
src/libxl/
Convert the virDomainNetDef object into a virNetworkPortDef object
at the start of networkReleaseActualDevice. This largely decouples
the method impl from the domain object type.
Reviewed-by: Laine Stump
Signed-off-by: Daniel P. Berrangé
---
src/network/bridge_driver.c | 139 +++
Stop passing a virDomainNetDefPtr parameter to networkLogAllocation,
instead just pass in the MAC address. The actual device type is also not
required, since virNetworkForwardIfDefPtr has a type field that can be
used instead.
Reviewed-by: Laine Stump
Signed-off-by: Daniel P. Berrangé
---
src/n
Separate network port notification code from the domain driver network
callback implementation.
Reviewed-by: Laine Stump
Signed-off-by: Daniel P. Berrangé
---
src/network/bridge_driver.c | 106 +---
1 file changed, 63 insertions(+), 43 deletions(-)
diff --git a/
Introduce a virNetworkPortDefPtr struct to represent the data associated
with a virtual network port. Add APIs for parsing/formatting XML docs
with the data.
Signed-off-by: Daniel P. Berrangé
---
src/conf/Makefile.inc.am | 2 +
src/conf/virnetworkportdef.c
During initial NIC setup the hypervisor drivers are responsible for
attaching the TAP device to the bridge device. Any fixup after libvirtd
restarts should thus also be their responsibility.
Reviewed-by: Laine Stump
Signed-off-by: Daniel P. Berrangé
---
src/conf/domain_conf.c | 20
The hypervisor drivers are soon going to communicate with the network
driver via public APIs only. As such the network driver will not ever
see the domain actual network def. Thus the backwards compatibility
fixup logic must be moved out of the network driver.
Reviewed-by: Laine Stump
Signed-off-
Introduce a new virNetworPort object that will present an attachment to
a virtual network from a VM.
Signed-off-by: Daniel P. Berrangé
---
include/libvirt/libvirt-network.h | 122
include/libvirt/virterror.h | 3 +
src/datatypes.c | 60
src/datatypes.h
Signed-off-by: Daniel P. Berrangé
---
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 +
Separate network port bandwidth update code from the domain driver
network callback implementation.
Reviewed-by: Laine Stump
Signed-off-by: Daniel P. Berrangé
---
src/network/bridge_driver.c | 115
1 file changed, 65 insertions(+), 50 deletions(-)
diff --gi
Separate network port allocation code from the domain driver network
callback implementation.
Reviewed-by: Laine Stump
Signed-off-by: Daniel P. Berrangé
---
src/network/bridge_driver.c | 143 +++-
1 file changed, 77 insertions(+), 66 deletions(-)
diff --git a/sr
Convert the virDomainNetDef object into a virNetworkPortDef object
at the start of networkNotifyActualDevice. This largely decouples
the method impl from the domain object type.
Reviewed-by: Laine Stump
Signed-off-by: Daniel P. Berrangé
---
src/network/bridge_driver.c | 91 ++---
Separate network port deletion code from the domain driver network
callback implementation.
Reivewed-by: Laine Stump
Signed-off-by: Daniel P. Berrangé
---
src/network/bridge_driver.c | 90 -
1 file changed, 59 insertions(+), 31 deletions(-)
diff --git a/src/
When (un)plugging an interface into a network, the 'plugged'
and 'unplugged' operations are invoked in the hook script.
The data provided to the script contains the network XML, the
domain XML and the domain interface XML. When we strictly split the
drivers up this will no longer be possible and t
Convert the virDomainNetDef object into a virNetworkPortDef object
at the start of networkAllocateActualDevice. This largely decouples
the method impl from the domain object type.
Reviewed-by: Laine Stump
Signed-off-by: Daniel P. Berrangé
---
src/network/bridge_driver.c | 222 +++---
The virNetDevBandwidthParse method uses the interface type to decide
whether to allow use of the "floor" parameter. Using the interface
type is not convenient as callers may not have that available, but
still wish to allow use of "floor". Switch to an explicit boolean
to control its usage.
Reviewe
An update to
v1: https://www.redhat.com/archives/libvir-list/2018-December/msg00681.html
v2: https://www.redhat.com/archives/libvir-list/2019-February/msg01581.html
v3: https://www.redhat.com/archives/libvir-list/2019-March/msg01259.html
Currently the network driver registers a set of callb
Reword error messages to make it clear that the combined floor settings
of all NICs are exceeding the network inbound peak/average
settings. Including the actual values being checked helps to diagnose
what is actually wrong.
Signed-off-by: Daniel P. Berrangé
---
src/network/bridge_driver.c | 14
On 4/17/19 10:56 AM, Cole Robinson wrote:
>
> So broadly I think the options are
>
> - Flip the switch. Double error reporting until we remove now redundant
> calls. Worse error reporting in some cases like tristate and
> virstoragetype without special consideration. No or less issues with
> hav
On 4/17/19 3:33 AM, Michal Privoznik wrote:
> On 4/16/19 7:40 PM, Cole Robinson wrote:
>> On 4/16/19 11:27 AM, Michal Privoznik wrote:
>>> On 3/13/19 4:51 PM, Cole Robinson wrote:
This adds a network model enum. The virDomainNetDef property
is named 'model' like most other devices.
>
On 4/17/19 3:29 AM, Peter Krempa wrote:
> On Tue, Apr 16, 2019 at 12:02:41 -0400, Cole Robinson wrote:
>> On 4/16/19 5:11 AM, Michal Privoznik wrote:
>>> On 4/16/19 8:32 AM, Peter Krempa wrote:
On Mon, Apr 15, 2019 at 17:26:41 -0400, Cole Robinson wrote:
> Allow passing in a 'label' string
Match the XML feature usage of the qemu driver, so the test driver
doesn't reject things like .
Particularly VIR_DOMAIN_DEF_FEATURE_NET_MODEL_STRING is needed to
prevent regressions for test suite users with net model strings that
aren't in the virDomainNetModel enum yet
Signed-off-by: Cole Robin
After the net model enum patches, the test driver started rejecting
non-enum model strings. It should continue to accept unknown models
and generally act closer to the qemu driver. So let's add all of
qemu's DEF_FEATURE bits to match while we are at it (virt-manager will
want this for os firmware X
The check shouldn't be dependent on whether os->loader is set. Fix it,
and add the XML feature to vmx.c which would start failing
Signed-off-by: Cole Robinson
---
src/conf/domain_conf.c | 6 ++
src/vmx/vmx.c | 3 ++-
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/src
On 4/17/19 7:28 AM, Daniel P. Berrangé wrote:
> On Tue, Apr 16, 2019 at 12:59:23PM -0400, Cole Robinson wrote:
>> On 4/16/19 11:26 AM, Michal Privoznik wrote:
>>> On 3/13/19 4:51 PM, Cole Robinson wrote:
This requires drivers to opt in to handle the raw modelstr
network model, all others
Complete wiring up incremental backup, by adding in support for
creating a checkpoint at the same time as a backup (make the
transaction have a few more steps) as well as exposing the dirty
bitmap for a prior backup over NBD (requires creating a temporary
bitmap, merging all appropriate bitmaps in,
Introduce a few more new virsh commands for performing backup jobs, as
well as creating a checkpoint atomically with a snapshot.
At this time, I did not opt for a convenience command
'backup-begin-as' that cobbles together appropriate XML from the
user's command line arguments, but that may be a v
Time to actually issue the QMP transactions that create and
delete persistent checkpoints. For create, we only need one
transaction: inside, we visit all disks affected by the
checkpoint, and create a new enabled bitmap, as well as
disabling the bitmap of the parent checkpoint (if any). For
delet
Update the code to support push backups; for now, the destination file
still has to be local, although the XML could be extended into
supporting remote destinations (where we will have to use the full
power of blockdev-add). This also touches up the event handling to
inform the user when the job is
Accept XML describing a generic block job, and output it again as
needed. This may still need a few tweaks to match the documented XML
and RNG schema.
Signed-off-by: Eric Blake
---
src/conf/backup_conf.h | 97 +++
src/conf/virconftypes.h | 3 +
src/conf/Makefile.inc.am | 2 +
src/con
Still needs to actually kick off the right QMP commands, but at
least allows validation of backup XML, including the fact that
a backup job can survive a libvirtd restart. Atomically creating
a checkpoint alongside the backup still needs implementing.
Signed-off-by: Eric Blake
---
src/qemu/qemu_
Add a new file checkpoint_conf.c that performs the translation to and
from new XML describing a checkpoint. The code shares a common base
class with snapshots, since a checkpoint similarly represents the
domain state at a moment in time. Add some basic testing of round trip
XML handling through the
A lot of this work heavily copies from the existing snapshot
APIs. The interaction with qemu during create/delete still
needs to be implemented, but this takes care of all the libvirt
metadata (saving and restoring XML, and tracking the relations
between multiple checkpoints).
Signed-off-by: Eric
Introduce a bunch of new public APIs related to backup checkpoints.
Checkpoints are modeled heavily after virDomainSnapshotPtr (both
represent a point in time of the guest), although a snapshot exists
with the intent of rolling back to that state, while a checkpoint
exists to make it possible to cr
Now that various new API have been added, it is worth a landing page
that gives an overview of capturing various pieces of guest state, and
which APIs are best suited to which tasks.
Signed-off-by: Eric Blake
Reviewed-by: John Ferlan
Reviewed-by: Daniel P. Berrangé
---
docs/docs.html.in
The remote code generator had to be taught about the new
virDomainCheckpointPtr type, and about the capitalization of
virDomainSnapshotCreateXML2(), at which point the remote driver code
for backups can be generated.
Note that virDomainSnapshotCreateXML2 has an unconditional ACL check
on domain:ch
Introduce a bunch of new virsh commands for managing checkpoints
in isolation. More commands are needed for performing incremental
backups, but these commands were easy to implement by modeling
heavily after virsh-snapshot.c (no need for checkpoint-revert,
and checkpoint-list was a lot easier since
Time to actually issue the QMP transactions that start and
stop backup commands (for now, just pull mode, not push).
Starting a job has to kick off several pre-req steps, then
a transaction, and additionally spawn an NBD server for pull
mode; ending a job as well as failing partway through
beginnin
Commits 4bc42986 and 218c81ea removed virDomainStorageSourceFormat on
the grounds that there were no external callers; however, the upcoming
backup code wants to output a (push mode) or (pull
mode) element that is in all other respects identical to a domain's
element, where the previous virDomai
Create a new file for managing a list of checkpoint objects, borrowing
heavily from existing virDomainSnapshotObjList paradigms.
Note that while checkpoints definitely have a use case for multiple
children to a single parent (create a base snapshot, create a child
snapshot, revert to the base, the
Add some monitor commands to be used during backup/checkpoint
operations:
- another facet to query-block for learning bitmap size
- new export and bitmap parameters to nbd-server-add
- new block-dirty-bitmap-{add,enable,disable,merge} functions
Also add two capabilities for testing that they are s
Introduce a few new public APIs related to incremental backups. This
builds on the previous notion of a checkpoint (without an existing
checkpoint, the new API is a full backup, differing from
virDomainBlockCopy in the point of time chosen and in operation on
multiple disks at once); and also allo
Migration always uses a TCP socket for NBD servers, because we don't
support same-host migration. But upcoming pull-mode incremental backup
needs to also support a Unix socket, for retrieving the backup from
the same host. Support this by plumbing virStorageNetHostDef through
the monitor calls, sin
Prepare for new backup APIs by describing the XML that will represent
a backup. The XML resembles snapshots and checkpoints in being able
to select actions for a set of disks, but has other differences. It
can support both push model (the hypervisor does the backup directly
into the destination f
Prepare for new checkpoint APIs by describing the XML that will
represent a checkpoint. The checkpoint XML is modeled heavily after
virDomainSnapshotPtr. (See the docs for more details).
Add testsuite coverage for some minimal uses of the XML (bare minimum,
the sample from html, and a full dumpxm
The API is fairly stable, but there are still probably code cleanups
worth adding to the qemu driver implementation. I've also seen a
desire on the list to support all APIs in the test driver, so I'll
try and whip that together for my next round of patches.
If we are confident that the API is wort
Creating a checkpoint does not modify guest-visible state,
but does modify host resources. Rather than reuse existing
domain:write, domain:block_write, or domain:snapshot access
controls, it seems better to introduce a new access control
specific to tasks related to checkpoints and incremental
bac
On Tue, Apr 16, 2019 at 05:07:30PM -0400, Cole Robinson wrote:
> On 4/16/19 12:50 PM, Kashyap Chamarthy wrote:
[...]
> > There is the /usr/share/edk2/ovmf/OVMF_VARS.secboot.fd file (which comes
> > with the default UEFI keys enrolled).
> >
> > So, the mapping of OVMF binary to VARS file in the e
On Tue, Apr 16, 2019 at 12:59:23PM -0400, Cole Robinson wrote:
> On 4/16/19 11:26 AM, Michal Privoznik wrote:
> > On 3/13/19 4:51 PM, Cole Robinson wrote:
> >> This requires drivers to opt in to handle the raw modelstr
> >> network model, all others will error if a passed in XML value
> >> is not i
On Wed, Apr 17, 2019 at 10:27 AM wrote:
> My Ubuntu16.04.5 server is installed qemo-kvm and libvirt-manager but
> virt-manager is not starting. consequently when I install vncserver the
> keyboard does not work on the virtual machine.
>
> But in ubuntu 14.04 it works perfectly.
>
> can my help ??
On Wed, Apr 17, 2019 at 10:18:50AM +0200, Michal Privoznik wrote:
Firstly, VIR_STRDUP() accepts NULL, so there is no need to check
if the string we want to duplicate is not-NULL. Secondly,
virDomainNetSetModelString() also accepts NULL. Thirdly, we have
VIR_AUTOFREE().
Signed-off-by: Michal Priv
My Ubuntu16.04.5 server is installed qemo-kvm and libvirt-manager but
virt-manager is not starting. consequently when I install vncserver the
keyboard does not work on the virtual machine.
But in ubuntu 14.04 it works perfectly.
can my help ??
ERRO when try run : virt-manager
Could no
My Ubuntu16.04.5 server is installed qemo-kvm and libvirt-manager but
virt-manager is not starting. consequently when I install vncserver the
keyboard does not work on the virtual machine.
But in ubuntu 14.04 it works perfectly.
can my help ??
ERRO when try run : virt-manager
Could not conne
Hi,
Could you tell me if the following is some known issue?
While performing the following simple test, I see my JVM crashing
(consistently):
1. Open a connection to an ESXi driver/host (passing ConnectAuthDefault
instance).
2. Close the connection.
3. Invoke GC
When GC is triggered, at some poi
Firstly, VIR_STRDUP() accepts NULL, so there is no need to check
if the string we want to duplicate is not-NULL. Secondly,
virDomainNetSetModelString() also accepts NULL. Thirdly, we have
VIR_AUTOFREE().
Signed-off-by: Michal Privoznik
---
src/qemu/qemu_driver.c | 10 +++---
1 file changed,
On Tue, Apr 16, 2019 at 01:55:42PM -0400, Cole Robinson wrote:
> On 4/15/19 10:28 PM, Han Han wrote:
> > Because the page of QEMU and KVM use the same doc drvqemu.html, merge the
> > into
> > one and name it as QEMU/KVM.
> >
> > Signed-off-by: Han Han
> > ---
> > docs/index.html.in | 4 ++--
> >
On 4/16/19 7:40 PM, Cole Robinson wrote:
On 4/16/19 11:27 AM, Michal Privoznik wrote:
On 3/13/19 4:51 PM, Cole Robinson wrote:
This adds a network model enum. The virDomainNetDef property
is named 'model' like most other devices.
When the XML parser or a driver calls NetSetModelString, if
the
It has made Clang very unhappy ever since 6bf7c6769925.
Signed-off-by: Andrea Bolognani
---
Pushed under the build breaker rule.
src/qemu/qemu_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index aac50475ee..0fb90c404
On Tue, Apr 16, 2019 at 12:02:41 -0400, Cole Robinson wrote:
> On 4/16/19 5:11 AM, Michal Privoznik wrote:
> > On 4/16/19 8:32 AM, Peter Krempa wrote:
> >> On Mon, Apr 15, 2019 at 17:26:41 -0400, Cole Robinson wrote:
> >>> Allow passing in a 'label' string for raising errors from
> >>> ToString/Fro
ping
On 15.02.2019 17:10, Nikolay Shirokovskiy wrote:
> Nikolay Shirokovskiy (2):
> rpc: client: fix race on stream error and stream creation
> rpc: client: stream: notify streams of closing connection
>
> src/rpc/virnetclient.c | 13 ++---
> src/rpc/virnetclientstream.c | 30 +
On Tue, 2019-04-16 at 12:51 -0400, Cole Robinson wrote:
> On 4/16/19 4:58 AM, Andrea Bolognani wrote:
> > On Mon, 2019-04-15 at 19:09 -0400, Cole Robinson wrote:
> > [...]
> > > +DO_TEST_CAPS_LATEST("virtio-transitional");
> > > +DO_TEST_CAPS_LATEST("virtio-non-transitional");
> >
> > We s
79 matches
Mail list logo