All of lore.kernel.org
 help / color / mirror / Atom feed
* patches for migration from xm (4.0.1) to xl (4.3) acceptable?
@ 2014-04-28 16:02 Vasiliy Tolstov
  2014-04-28 16:13 ` Ian Campbell
  0 siblings, 1 reply; 7+ messages in thread
From: Vasiliy Tolstov @ 2014-04-28 16:02 UTC (permalink / raw)
  To: xen-devel

Hi all. If i send patches for migration from xm to xl toolstack, does
it acceptable for upstream xen?
Nothing serious only minor fixes to provide correct qemu (upstream) args.

-- 
Vasiliy Tolstov,
e-mail: v.tolstov@selfip.ru
jabber: vase@selfip.ru

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: patches for migration from xm (4.0.1) to xl (4.3) acceptable?
  2014-04-28 16:02 patches for migration from xm (4.0.1) to xl (4.3) acceptable? Vasiliy Tolstov
@ 2014-04-28 16:13 ` Ian Campbell
  2014-04-29 16:57   ` [PATCH] allow xm2xl migration for xen-4.3 v.tolstov
  0 siblings, 1 reply; 7+ messages in thread
From: Ian Campbell @ 2014-04-28 16:13 UTC (permalink / raw)
  To: Vasiliy Tolstov; +Cc: xen-devel

On Mon, 2014-04-28 at 20:02 +0400, Vasiliy Tolstov wrote:
> Hi all. If i send patches for migration from xm to xl toolstack, does
> it acceptable for upstream xen?
> Nothing serious only minor fixes to provide correct qemu (upstream) args.

Are these against 4.3 or 4.1? In either case the usual route for patches
in those trees would be via xen-unstable, it's not clear how that would
work in this case.

But in general it would probably be easier evaluate specific patches
rather than doing it in the abstract. 

Ian.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] allow xm2xl migration for xen-4.3
  2014-04-28 16:13 ` Ian Campbell
@ 2014-04-29 16:57   ` v.tolstov
  2014-04-30  8:26     ` Ian Campbell
  0 siblings, 1 reply; 7+ messages in thread
From: v.tolstov @ 2014-04-29 16:57 UTC (permalink / raw)
  To: Ian.Campbell; +Cc: xen-devel, Vasiliy Tolstov

From: Vasiliy Tolstov <v.tolstov@selfip.ru>

Fixed some python stuff for path detection
Provide right qemu args (videoram size not passed not, but default
works fine - only forward version migration possible)

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
---
 tools/python/xen/xend/XendCheckpoint.py |  4 ++--
 tools/python/xen/xend/XendConfig.py     | 12 ++++++------
 tools/python/xen/xend/XendDomainInfo.py |  2 +-
 tools/python/xen/xend/image.py          | 13 +++----------
 tools/python/xen/xm/create.py           |  2 +-
 5 files changed, 13 insertions(+), 20 deletions(-)

diff --git a/tools/python/xen/xend/XendCheckpoint.py b/tools/python/xen/xend/XendCheckpoint.py
index a433ffa..940c9bf 100644
--- a/tools/python/xen/xend/XendCheckpoint.py
+++ b/tools/python/xen/xend/XendCheckpoint.py
@@ -118,7 +118,7 @@ def save(fd, dominfo, network, live, dst, checkpoint=False, node=-1,sock=None):
         # enabled. Passing "0" simply uses the defaults compiled into
         # libxenguest; see the comments and/or code in xc_linux_save() for
         # more information.
-        cmd = [xen.util.auxbin.pathTo(XC_SAVE), str(fd),
+        cmd = [xen.util.auxbin.path_bin(XC_SAVE), str(fd),
                str(dominfo.getDomid()), "0", "0", 
                str(int(live) | (int(hvm) << 2)) ]
         log.debug("[xc_save]: %s", string.join(cmd))
@@ -299,7 +299,7 @@ def restore(xd, fd, dominfo = None, paused = False, relocating = False):
 
         superpages = restore_image.superpages
 
-        cmd = map(str, [xen.util.auxbin.pathTo(XC_RESTORE),
+        cmd = map(str, [xen.util.auxbin.path_bin(XC_RESTORE),
                         fd, dominfo.getDomid(),
                         store_port, console_port, int(is_hvm), pae, apic, superpages, 1])
         log.debug("[xc_restore]: %s", string.join(cmd))
diff --git a/tools/python/xen/xend/XendConfig.py b/tools/python/xen/xend/XendConfig.py
index 4a226a7..b205db1 100644
--- a/tools/python/xen/xend/XendConfig.py
+++ b/tools/python/xen/xend/XendConfig.py
@@ -493,11 +493,11 @@ class XendConfig(dict):
 
         if self.is_hvm() or self.has_rfb():
             if 'device_model' not in self['platform']:
-                self['platform']['device_model'] = auxbin.pathTo("qemu-dm")
+                self['platform']['device_model'] = auxbin.path_bin("qemu-dm")
             # device_model may be set to 'qemu-dm' or 'stubdom-dm' w/o a path
             if os.path.dirname(self['platform']['device_model']) == "":
                 self['platform']['device_model'] = \
-                    auxbin.pathTo(self['platform']['device_model'])
+                    auxbin.path_bin(self['platform']['device_model'])
             # If the device_model is not set the os.path.exists() would raise
             # an exception so we return our error message instead if applicable
             if not self['platform']['device_model']:
@@ -528,14 +528,14 @@ class XendConfig(dict):
                 # Old configs may have hvmloader set as PV_kernel param
                 if self.has_key('PV_kernel') and self['PV_kernel'] != '':
                     if self['PV_kernel'] == 'hvmloader':
-                        self['PV_kernel'] = auxbin.pathTo("hvmloader")
+                        self['PV_kernel'] = auxbin.path_bin("hvmloader")
                     self['platform']['loader'] = self['PV_kernel']
                     self['PV_kernel'] = ''
                 else:
-                    self['platform']['loader'] = auxbin.pathTo("hvmloader")
+                    self['platform']['loader'] = auxbin.path_bin("hvmloader")
                 log.debug("Loader is %s" % str(self['platform']['loader']))
             elif self['platform']['loader'] == 'hvmloader':
-                self['platform']['loader'] = auxbin.pathTo("hvmloader")
+                self['platform']['loader'] = auxbin.path_bin("hvmloader")
             if not os.path.exists(self['platform']['loader']):
                 raise VmError("kernel '%s' not found" % str(self['platform']['loader']))
 
@@ -1653,7 +1653,7 @@ class XendConfig(dict):
                     # is invoked for pvfb services
                     if 'device_model' not in target['platform']:
                         target['platform']['device_model'] = \
-                            auxbin.pathTo("qemu-dm")
+                            auxbin.path_bin("qemu-dm")
 
                     # Finally, if we are a pvfb, we need to make a vkbd
                     # as well that is not really exposed to Xen API
diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py
index e9d3e7e..5b0f8b3 100644
--- a/tools/python/xen/xend/XendDomainInfo.py
+++ b/tools/python/xen/xend/XendDomainInfo.py
@@ -3239,7 +3239,7 @@ class XendDomainInfo:
         else:
             # Boot using bootloader
             if not blexec or blexec == 'pygrub':
-                blexec = auxbin.pathTo('pygrub')
+                blexec = auxbin.path_boot('pygrub')
 
             blcfg = None
             disks = [x for x in self.info['vbd_refs']
diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py
index 832c168..7acd9aa 100644
--- a/tools/python/xen/xend/image.py
+++ b/tools/python/xen/xend/image.py
@@ -264,7 +264,7 @@ class ImageHandler:
     # Return a list of cmd line args to the device models based on the
     # xm config file
     def parseDeviceModelArgs(self, vmConfig):
-        ret = ["-domain-name", str(self.vm.info['name_label'])]
+        ret = ["-xen-domid", "%d" % self.vm.getDomid(), "-xen-attach", "-name", "%s" % str(self.vm.info['name_label']), "-m", "%d" % (self.getRequiredInitialReservation() / 1024)]
 
         xen_extended_power_mgmt = int(vmConfig['platform'].get(
             'xen_extended_power_mgmt', 0))
@@ -281,10 +281,6 @@ class ImageHandler:
             ret.append('-nographic')
             return ret
 
-        vram = str(vmConfig['platform'].get('videoram',4))
-        ret.append('-videoram')
-        ret.append(vram)
-
         vnc_config = {}
         has_vnc = int(vmConfig['platform'].get('vnc', 0)) != 0
         has_sdl = int(vmConfig['platform'].get('sdl', 0)) != 0
@@ -353,13 +349,10 @@ class ImageHandler:
 
             vnclisten = vnc_config.get('vnclisten',
                                        XendOptions.instance().get_vnclisten_address())
-            vncdisplay = int(vnc_config.get('vncdisplay', 0))
+            vncdisplay = int(vnc_config.get('vncdisplay', self.vm.getDomid() + 5900))
             ret.append('-vnc')
             ret.append("%s:%s%s" % (vnclisten, vncdisplay, vncopts))
 
-            if int(vnc_config.get('vncunused', 1)) != 0:
-                ret.append('-vncunused')
-
         if has_sdl:
             ret.append('-sdl')
             if int(vmConfig['platform'].get('opengl', opengl)) != 1 :
@@ -381,7 +374,7 @@ class ImageHandler:
 
     def getDeviceModelArgs(self, restore = False):
         args = [self.device_model]
-        args = args + ([ "-d",  "%d" % self.vm.getDomid() ])
+        args = args + ([ "-xen-domid",  "%d" % self.vm.getDomid() ])
         args = args + self.dmargs
         return args
 
diff --git a/tools/python/xen/xm/create.py b/tools/python/xen/xm/create.py
index 22841aa..592b44f 100644
--- a/tools/python/xen/xm/create.py
+++ b/tools/python/xen/xm/create.py
@@ -1121,7 +1121,7 @@ def make_config(vals):
     config_image = configure_image(vals)
     if vals.bootloader:
         if vals.bootloader == "pygrub":
-            vals.bootloader = auxbin.pathTo(vals.bootloader)
+            vals.bootloader = auxbin.path_boot(vals.bootloader)
 
         config.append(['bootloader', vals.bootloader])
         if vals.bootargs:
-- 
1.9.2

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] allow xm2xl migration for xen-4.3
  2014-04-29 16:57   ` [PATCH] allow xm2xl migration for xen-4.3 v.tolstov
@ 2014-04-30  8:26     ` Ian Campbell
  2014-04-30  8:41       ` Olaf Hering
  2014-04-30  8:44       ` Fabio Fantoni
  0 siblings, 2 replies; 7+ messages in thread
From: Ian Campbell @ 2014-04-30  8:26 UTC (permalink / raw)
  To: v.tolstov; +Cc: xen-devel

On Tue, 2014-04-29 at 20:57 +0400, v.tolstov@selfip.ru wrote:
> From: Vasiliy Tolstov <v.tolstov@selfip.ru>

Thanks. Which tree does this apply to and how would I go about using it?

I think it applies to xen 4.3 and is supposed to allow a guest started
by xm to be migrated with xl, to create an xl compatible vm, is that
correct? If not can you give the method for using it please.

> Fixed some python stuff for path detection

This is all the s/pathTo/path_(bin|boot)/ stuff? I'm not sure where e.g.
path_bin comes from, even Xen 4.4 seems to still use pathTo AFAICT and I
can't find any of this path_bin stuff in the tree.

> Provide right qemu args (videoram size not passed not, but default
> works fine - only forward version migration possible)

Can you expand on this, what does "right qemu args" mean? Since qemu is
restarted from scratch by the toolstack I'm not sure why this would
matter. I think this might become clearer once you explain how one is
supposed to make use of this.

Cheers,
Ian.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] allow xm2xl migration for xen-4.3
  2014-04-30  8:26     ` Ian Campbell
@ 2014-04-30  8:41       ` Olaf Hering
  2014-04-30  8:53         ` Ian Campbell
  2014-04-30  8:44       ` Fabio Fantoni
  1 sibling, 1 reply; 7+ messages in thread
From: Olaf Hering @ 2014-04-30  8:41 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-devel, v.tolstov

On Wed, Apr 30, Ian Campbell wrote:

> On Tue, 2014-04-29 at 20:57 +0400, v.tolstov@selfip.ru wrote:
> > From: Vasiliy Tolstov <v.tolstov@selfip.ru>
> 
> Thanks. Which tree does this apply to and how would I go about using it?
> 
> I think it applies to xen 4.3 and is supposed to allow a guest started
> by xm to be migrated with xl, to create an xl compatible vm, is that
> correct? If not can you give the method for using it please.

Does that migrate from qemu-xen-traditional to qemu-xen? And if so, is
that supposed to work anyway? I think the right approach would be to
start the remote side with device_model=qemu-xen-traditional.

Olaf

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] allow xm2xl migration for xen-4.3
  2014-04-30  8:26     ` Ian Campbell
  2014-04-30  8:41       ` Olaf Hering
@ 2014-04-30  8:44       ` Fabio Fantoni
  1 sibling, 0 replies; 7+ messages in thread
From: Fabio Fantoni @ 2014-04-30  8:44 UTC (permalink / raw)
  To: Ian Campbell, v.tolstov; +Cc: xen-devel

Il 30/04/2014 10:26, Ian Campbell ha scritto:
> On Tue, 2014-04-29 at 20:57 +0400, v.tolstov@selfip.ru wrote:
>> From: Vasiliy Tolstov <v.tolstov@selfip.ru>
> Thanks. Which tree does this apply to and how would I go about using it?
>
> I think it applies to xen 4.3 and is supposed to allow a guest started
> by xm to be migrated with xl, to create an xl compatible vm, is that
> correct? If not can you give the method for using it please.
>
>> Fixed some python stuff for path detection
> This is all the s/pathTo/path_(bin|boot)/ stuff? I'm not sure where e.g.
> path_bin comes from, even Xen 4.4 seems to still use pathTo AFAICT and I
> can't find any of this path_bin stuff in the tree.
>
>> Provide right qemu args (videoram size not passed not, but default
>> works fine - only forward version migration possible)

I not use qemu traditional for a year, but FWIK thevideoram setting is 
correctalso with xl like xm.
About upstream qemu you can have videoram setting working with these 2 
patches tested (with xen 4.4 and 4.5) and that FWIK are working:
fix cirrus vga videoram: 
http://lists.xen.org/archives/html/xen-devel/2014-04/msg02607.html
add stdvga videoram: 
http://lists.xen.org/archives/html/xen-devel/2014-04/msg03300.html

> Can you expand on this, what does "right qemu args" mean? Since qemu is
> restarted from scratch by the toolstack I'm not sure why this would
> matter. I think this might become clearer once you explain how one is
> supposed to make use of this.
>
> Cheers,
> Ian.
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] allow xm2xl migration for xen-4.3
  2014-04-30  8:41       ` Olaf Hering
@ 2014-04-30  8:53         ` Ian Campbell
  0 siblings, 0 replies; 7+ messages in thread
From: Ian Campbell @ 2014-04-30  8:53 UTC (permalink / raw)
  To: Olaf Hering; +Cc: xen-devel, v.tolstov

On Wed, 2014-04-30 at 10:41 +0200, Olaf Hering wrote:
> On Wed, Apr 30, Ian Campbell wrote:
> 
> > On Tue, 2014-04-29 at 20:57 +0400, v.tolstov@selfip.ru wrote:
> > > From: Vasiliy Tolstov <v.tolstov@selfip.ru>
> > 
> > Thanks. Which tree does this apply to and how would I go about using it?
> > 
> > I think it applies to xen 4.3 and is supposed to allow a guest started
> > by xm to be migrated with xl, to create an xl compatible vm, is that
> > correct? If not can you give the method for using it please.
> 
> Does that migrate from qemu-xen-traditional to qemu-xen?

Oh, I hadn't even considered that as a possibility!

> And if so, is that supposed to work anyway?

No

> I think the right approach would be to
> start the remote side with device_model=qemu-xen-traditional.

Yes.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-04-30  8:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-28 16:02 patches for migration from xm (4.0.1) to xl (4.3) acceptable? Vasiliy Tolstov
2014-04-28 16:13 ` Ian Campbell
2014-04-29 16:57   ` [PATCH] allow xm2xl migration for xen-4.3 v.tolstov
2014-04-30  8:26     ` Ian Campbell
2014-04-30  8:41       ` Olaf Hering
2014-04-30  8:53         ` Ian Campbell
2014-04-30  8:44       ` Fabio Fantoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.