This patch allows to config block device for container.
the disk node is used to point out source device and target device
source device is the device path in host,
and target device is the device name in container.
such as
disk type='block' device='disk'
driver name=lxc/
source
2012/4/6 Daniel Veillard veill...@redhat.com:
On Thu, Apr 05, 2012 at 06:44:35PM +0200, Stefan Bader wrote:
This causes an implicit vkbd device to be added which takes
6min to finally fail being initialized in the guest.
http://lists.xen.org/archives/html/xen-devel/2012-04/msg00409.html
Il 06/04/2012 06:36, Eric Blake ha scritto:
If only qemu could get 'drive-reopen' inside 'transaction'...
Just a quick answer to this: if qemu could get 'drive-reopen' inside
'transaction', the standalone command could be made safe just as easily.
In fact, in QEMU 1.1 the blockdev-snapshot-sync
On Fri, Apr 06, 2012 at 08:33:28AM +0200, Stefan Bader wrote:
2012/4/6 Daniel Veillard veill...@redhat.com:
On Thu, Apr 05, 2012 at 06:44:35PM +0200, Stefan Bader wrote:
This causes an implicit vkbd device to be added which takes
6min to finally fail being initialized in the guest.
Il 06/04/2012 06:36, Eric Blake ha scritto:
+int
+qemuMonitorJSONDriveMirror(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
+ virJSONValuePtr actions,
+ const char *device, const char *file,
+ const char *format, int mode)
2012/4/6 Daniel Veillard veill...@redhat.com:
On Fri, Apr 06, 2012 at 08:33:28AM +0200, Stefan Bader wrote:
2012/4/6 Daniel Veillard veill...@redhat.com:
On Thu, Apr 05, 2012 at 06:44:35PM +0200, Stefan Bader wrote:
This causes an implicit vkbd device to be added which takes
6min to
On 04/05/2012 01:58 PM, Peter Krempa wrote:
This test case checks if the console connection code works in a safe way
that the connection don't get messed up.
---
Diff to v1:
-- removed semicolons at the end of statements (the C language left some
habits :D)
-- added call to usage function
These two patch is to create a shared module in the root of test-API
The framework will create connection object for shared use in testcases
based on environment checking results.
sharedmod.py
# This is a module for variable sharing across testcases during
# running. You have to import it in
sharedmod.py: in root directory
---
sharedmod.py | 13 +
1 files changed, 13 insertions(+), 0 deletions(-)
create mode 100644 sharedmod.py
diff --git a/sharedmod.py b/sharedmod.py
new file mode 100644
index 000..f3de5a6
--- /dev/null
+++ b/sharedmod.py
@@ -0,0 +1,13 @@
+#
dist/redhat/env_inspect.py: initialize shared conn obj for
use in all testcases
generator.py: make use of sharedmod
---
dist/redhat/env_inspect.py | 173 +++-
generator.py | 15 +---
2 files changed,
An example:
#sharedvar.cfg
domain:testa
domain:testb
#testa.py
import sharedmod
def testa(params):
conn = sharedmod.conn
logger = params['logger']
logger.info(conn.listNetworks())
sharedmod.defined_var1 = I am from testa
return 0
#testb.py
import sharedmod
def
On Fri, Apr 06, 2012 at 02:31:54PM +0800, Gao feng wrote:
This patch allows to config block device for container.
the disk node is used to point out source device and target device
source device is the device path in host,
and target device is the device name in container.
such as
disk
We can tell qemuDomainSnapshotFSThaw if we want it to report errors or
not. However, if we don't want to and an error has been already set by
previous qemuReportError() we must keep copy of that error not just a
pointer to it. Otherwise, it get overwritten if FSThaw reports an error.
---
On Fri, Apr 06, 2012 at 12:58:02 +0200, Michal Privoznik wrote:
We can tell qemuDomainSnapshotFSThaw if we want it to report errors or
not. However, if we don't want to and an error has been already set by
previous qemuReportError() we must keep copy of that error not just a
pointer to it.
On 06.04.2012 13:38, Jiri Denemark wrote:
On Fri, Apr 06, 2012 at 12:58:02 +0200, Michal Privoznik wrote:
We can tell qemuDomainSnapshotFSThaw if we want it to report errors or
not. However, if we don't want to and an error has been already set by
previous qemuReportError() we must keep copy
It already has the needed setters.
---
libvirt-gconfig/Makefile.am|2 +
.../libvirt-gconfig-domain-address-pci.c | 124
.../libvirt-gconfig-domain-address-pci.h | 78
libvirt-gconfig/libvirt-gconfig.h
---
.../libvirt-gconfig-domain-controller.c| 10 ++
.../libvirt-gconfig-domain-controller.h|2 ++
libvirt-gconfig/libvirt-gconfig.sym|1 +
3 files changed, 13 insertions(+)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-controller.c
Hey,
This patch series adds the needed classes for apps to be able to
use USB redirection. I've followed
http://hansdegoede.livejournal.com/11084.html and added all the API needed
to be able to get the same XML. However, I'm not 100% sure all these
attributes are required, in particular the
---
libvirt-gconfig/Makefile.am|2 +
.../libvirt-gconfig-domain-controller.c| 50
.../libvirt-gconfig-domain-controller.h| 63
libvirt-gconfig/libvirt-gconfig.h |1 +
This is an abstract type which will be the base class for device
addresses.
---
libvirt-gconfig/Makefile.am |2 +
libvirt-gconfig/libvirt-gconfig-domain-address.c | 50 +
libvirt-gconfig/libvirt-gconfig-domain-address.h | 63 ++
---
.../libvirt-gconfig-domain-controller.c| 29
.../libvirt-gconfig-domain-controller.h|4 +++
libvirt-gconfig/libvirt-gconfig.sym|2 ++
3 files changed, 35 insertions(+)
diff --git
---
.../libvirt-gconfig-domain-controller-usb.c| 21
.../libvirt-gconfig-domain-controller-usb.h|3 +++
libvirt-gconfig/libvirt-gconfig.sym|1 +
3 files changed, 25 insertions(+)
diff --git
---
.../libvirt-gconfig-domain-controller-usb.c| 13 +
.../libvirt-gconfig-domain-controller-usb.h| 15 +++
libvirt-gconfig/libvirt-gconfig.sym|2 ++
3 files changed, 30 insertions(+)
diff --git
---
libvirt-gconfig/Makefile.am|2 +
.../libvirt-gconfig-domain-address-usb.c | 94
.../libvirt-gconfig-domain-address-usb.h | 71 +++
libvirt-gconfig/libvirt-gconfig.h |1 +
---
libvirt-gconfig/tests/test-domain-create.c | 25 +
1 file changed, 25 insertions(+)
diff --git a/libvirt-gconfig/tests/test-domain-create.c
b/libvirt-gconfig/tests/test-domain-create.c
index 4ee33aa..7be9fc2 100644
--- a/libvirt-gconfig/tests/test-domain-create.c
---
libvirt-gconfig/tests/test-domain-create.c | 53 +++-
1 file changed, 37 insertions(+), 16 deletions(-)
diff --git a/libvirt-gconfig/tests/test-domain-create.c
b/libvirt-gconfig/tests/test-domain-create.c
index 7be9fc2..0c1aad5 100644
---
---
libvirt-gconfig/libvirt-gconfig-domain-redirdev.c | 10 ++
libvirt-gconfig/libvirt-gconfig-domain-redirdev.h |2 ++
libvirt-gconfig/libvirt-gconfig.sym |1 +
3 files changed, 13 insertions(+)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-redirdev.c
---
libvirt-gconfig/tests/test-domain-create.c | 43 ++--
1 file changed, 35 insertions(+), 8 deletions(-)
diff --git a/libvirt-gconfig/tests/test-domain-create.c
b/libvirt-gconfig/tests/test-domain-create.c
index 0c1aad5..2b2f734 100644
---
---
libvirt-gconfig/Makefile.am|2 +
.../libvirt-gconfig-domain-controller-usb.c| 72
.../libvirt-gconfig-domain-controller-usb.h| 66 ++
libvirt-gconfig/libvirt-gconfig.h |3 +-
On Thu, Apr 05, 2012 at 10:36:48PM -0600, Eric Blake wrote:
From: Adam Litke a...@us.ibm.com
Without the VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC flag, libvirt will internally
poll
using qemu's query-block-jobs API and will not return until the operation
has
been completed. API users are
On Thu, Apr 05, 2012 at 10:36:47PM -0600, Eric Blake wrote:
From: Adam Litke a...@us.ibm.com
Qemu has changed the semantics of the block_job_cancel API. The original
qed implementation (pretty much only backported to RHEL 6.2 qemu) was
synchronous (ie. upon command completion, the operation
On Fri, Apr 6, 2012 at 2:51 PM, Christophe Fergeau cferg...@redhat.com wrote:
This patch series adds the needed classes for apps to be able to
use USB redirection. I've followed
http://hansdegoede.livejournal.com/11084.html and added all the API needed
to be able to get the same XML. However,
On 04/05/2012 10:36 PM, Eric Blake wrote:
v1 was here:
https://www.redhat.com/archives/libvir-list/2012-April/msg00068.html
changes from v1: Paolo has updated the qemu side of things, and built
a scratch image for RHEL that I was able to test with for the new
semantics. I was actually able
On 04/05/2012 10:56 PM, Daniel Veillard wrote:
On Thu, Apr 05, 2012 at 10:24:49PM -0600, Eric Blake wrote:
Leak introduced in commit 0436d32. If we allocate an actions array,
but fail early enough to never consume it with the qemu monitor
transaction call, we leaked memory.
But our
On 04/06/2012 01:08 AM, Paolo Bonzini wrote:
Il 06/04/2012 06:36, Eric Blake ha scritto:
If only qemu could get 'drive-reopen' inside 'transaction'...
Just a quick answer to this: if qemu could get 'drive-reopen' inside
'transaction', the standalone command could be made safe just as easily.
On 04/06/2012 01:13 AM, Paolo Bonzini wrote:
Il 06/04/2012 06:36, Eric Blake ha scritto:
+int
+qemuMonitorJSONDriveMirror(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
+ virJSONValuePtr actions,
+ const char *device, const char *file,
+
Il 06/04/2012 06:36, Eric Blake ha scritto:
if
'block_job_cancel' were made part of 'transaction', you could
copy multiple disks at the same point in time without pausing
the domain.
This is doable.
The transactioned command would do a qemu_aio_flush() in the prepare
phase, and a normal
On 04/06/2012 09:19 AM, Paolo Bonzini wrote:
Il 06/04/2012 06:36, Eric Blake ha scritto:
if
'block_job_cancel' were made part of 'transaction', you could
copy multiple disks at the same point in time without pausing
the domain.
This is doable.
The transactioned command would do a
On 04/05/2012 10:36 PM, Eric Blake wrote:
Minimal patch to wire up all the pieces in the previous patches
to actually enable a block copy job. By minimal, I mean that
qemu creates the file, SELinux must be disabled, a lock manager
is not informed, and the audit logs aren't updated. But those
On 04/05/2012 10:36 PM, Eric Blake wrote:
The new block copy storage migration sequence requires both the
'drive-mirror' action in 'transaction' (present if the 'drive-mirror'
standalone monitor command also exists) and the 'drive-reopen' monitor
command (it would be nice if that were also
- Original Message -
From: Eric Blake ebl...@redhat.com
To: libvir-list@redhat.com
Cc: pbonz...@redhat.com, fsimo...@redhat.com
Sent: Friday, April 6, 2012 6:36:54 AM
Subject: [PATCHv2 08/15] blockjob: expose qemu commands for mirrored storage
migration
The new block copy storage
Il 06/04/2012 17:28, Eric Blake ha scritto:
I'm talking about the guest agent. It may make a difference, but cannot
be the default, because you cannot trust the guest agent to be present.
I'm thinking this will be like the --quiesce operation of
snapshot-create, as another situation where
On 04/06/2012 10:04 AM, Federico Simoncelli wrote:
- Original Message -
From: Eric Blake ebl...@redhat.com
To: libvir-list@redhat.com
Cc: pbonz...@redhat.com, fsimo...@redhat.com
Sent: Friday, April 6, 2012 6:36:54 AM
Subject: [PATCHv2 08/15] blockjob: expose qemu commands for
On 04/06/2012 09:36 AM, Eric Blake wrote:
On 04/05/2012 10:36 PM, Eric Blake wrote:
Minimal patch to wire up all the pieces in the previous patches
to actually enable a block copy job. By minimal, I mean that
qemu creates the file, SELinux must be disabled, a lock manager
is not informed,
On 04/04/2012 08:07 AM, Daniel P. Berrange wrote:
From: Daniel P. Berrange berra...@redhat.com
To enable creation of unit tests, split the libvirtd config file
loading code out into separate files.
* daemon/libvirtd.c: Delete config loading code / structs
* daemon/libvirtd-config.c,
On 04/04/2012 08:07 AM, Daniel P. Berrange wrote:
From: Daniel P. Berrange berra...@redhat.com
---
Sparse on the commit message; even mentioning the name of the new API
will help a later 'git log' search for the introduction of the new name.
daemon/libvirtd-config.c | 67
On 04/04/2012 08:07 AM, Daniel P. Berrange wrote:
From: Daniel P. Berrange berra...@redhat.com
Using VIR_ERROR means the test suite can't catch error messages
easily. Use the proper error reporting APIs instead
---
daemon/libvirtd-config.c | 56
On 04/04/2012 08:07 AM, Daniel P. Berrange wrote:
From: Daniel P. Berrange berra...@redhat.com
The daemon-conf test script continues to be very fragile to
changes in libvirt. It currently fails 1 time in 3/4 due
to race conditions in startup/shutdown of the test script.
Replace it with a
From: Adam Litke a...@us.ibm.com
Qemu has changed the semantics of the block_job_cancel API. The original
qed implementation (pretty much only backported to RHEL 6.2 qemu) was
synchronous (ie. upon command completion, the operation was guaranteed to
be completely stopped). With the new
This is the bare minimum to end a copy job (of course, until a
later patch adds the ability to start a copy job, this patch
doesn't do much in isolation; I've just split the patches to
ease the review).
This patch intentionally avoids SELinux, lock manager, and audit
actions, saving that for a
v1 was here:
https://www.redhat.com/archives/libvir-list/2012-April/msg00068.html
v2 was here:
https://www.redhat.com/archives/libvir-list/2012-April/msg00222.html
changes from v2: added patch 12/16, addressed some review comments
and made minor changes from more of my own testing
CAVEAT: Paolo
In my testing, I was able to provoke an odd block pull failure:
$ virsh blockpull dom vda --bandwidth 1
error: Requested operation is not valid: No active operation on device:
drive-virtio-disk0
merely by using gdb to artifically wait to do the block job set speed
until after the pull had
This patch introduces a new block job, useful for live storage
migration using pre-copy streaming.
Using a live VM with the backing chain:
base - snap1 - snap2
as the starting point, we have:
- virDomainBlockRebase(dom, disk, /path/to/copy, 0,
VIR_DOMAIN_BLOCK_REBASE_COPY)
creates
For now, disk migration via block copy job is not implemented. But
when we do implement it, we have to deal with the fact that qemu does
not provide an easy way to re-start a qemu process with mirroring
still intact (it _might_ be possible by using qemu -S then an
initial 'drive-mirror' with disk
The new block copy storage migration sequence requires both the
'drive-mirror' action in 'transaction' (present if the 'drive-mirror'
standalone monitor command also exists) and the 'drive-reopen' monitor
command (it would be nice if that were also part of a 'transaction',
but the initial qemu
RHEL-only
drive-mirror and drive-reopen are still under upstream qemu
discussion; as a result, RHEL decided to backport things under
a downstream name. Accommodate this alternate spelling. I
don't think it's worth trying to support both spellings at once:
if you build upstream libvirt on RHEL,
Minimal patch to wire up all the pieces in the previous patches
to actually enable a block copy job. By minimal, I mean that
qemu creates the file (that is, no REUSE_EXT flag support yet),
SELinux must be disabled, a lock manager is not informed, and
the audit logs aren't updated. But those will
QUESTION: should we parse and ignore mirror on input, rather than
rejecting it? By rejecting it, I can't add a unit test, since the
unit test framework currently doesn't expose a way to trigger
internal parsing.
In order to track a block copy job across libvirtd restarts, we
need to save
This copies some of the checks from snapshots regarding testing
when a file already exists. In the process, I noticed a missing
sanity check in snapshots: REUSE_EXT should require the destination
to already be present.
* src/qemu/qemu_driver.c (qemuDomainBlockRebase): Allow REUSE_EXT
flag.
This new API provides additional flexibility over what can be
crammed on top of virDomainBlockRebase (namely, the ability to
specify an arbitrary destination format, for things like copying
qcow2 into qed without having to pre-create the destination), at
the expense that it cannot be backported
On 04/06/2012 08:24 AM, Eric Blake wrote:
On 04/05/2012 10:36 PM, Eric Blake wrote:
v1 was here:
https://www.redhat.com/archives/libvir-list/2012-April/msg00068.html
changes from v1: Paolo has updated the qemu side of things, and built
a scratch image for RHEL that I was able to test with
From: Adam Litke a...@us.ibm.com
Without the VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC flag, libvirt will internally poll
using qemu's query-block-jobs API and will not return until the operation has
been completed. API users are advised that this operation is unbounded and
further interaction with the
Almost trivial; the trick was dealing with the fact that we're
stuck with 'unsigned long bandwidth' due to earlier design
decisions. Also, prefer the correct flag names (although we
intentionally chose the _SHALLOW and _REUSE_EXT values to be
equal, to allow for loose handling in our code).
*
Expose the full abilities of virDomainBlockCopy.
* tools/virsh.c (blockJobImpl): Add --format option for block copy.
* tools/virsh.pod (blockcopy): Document this.
---
tools/virsh.c | 25 -
tools/virsh.pod | 10 +-
2 files changed, 25 insertions(+), 10
Rather than further overloading 'blockpull', I decided to create a
new virsh command to expose the new flags of virDomainBlockRebase.
Someday, I'd also like to make blockpull and blockcopy have a
synchronous mode, which blocks until the event happens or Ctrl-C
is pressed, as well as a --verbose
Handle the new type of block copy event and info. Of course,
this patch does nothing until a later patch actually allows the
creation/abort of a block copy job.
* src/qemu/qemu_monitor_json.c (qemuMonitorJSONHandleBlockJobImpl)
(qemuMonitorJSONGetBlockJobInfoOne): Translate new job type.
*
On Wed, Dec 07, 2011 at 18:20:16 +, Daniel P. Berrange wrote:
On Wed, Dec 07, 2011 at 03:45:10PM +0100, Jiri Denemark wrote:
On Wed, Dec 07, 2011 at 14:30:10 +, Daniel P. Berrange wrote:
While investigating the RPC problems I've noticed that we have had a
huge performance
Below code failed to compile on a 32 bit machine with error
typewrappers.c: In function 'libvirt_intUnwrap':
typewrappers.c:135:5: error: logical 'and' of mutually exclusive tests
is always false [-Werror=logical-op]
cc1: all warnings being treated as errors
The patch fixes this error.
This works with newer qemu that doesn't allow escaping spaces.
It's backwards compatible as well.
Signed-off-by: Josh Durgin josh.dur...@dreamhost.com
---
Changes since v1:
* update test as well
src/qemu/qemu_command.c|2 +-
69 matches
Mail list logo