Nobody replied to this query but it appears based on other
googling I did, that it is due to a mismatch in tool versions.
i.e. I was running some combination of the xen 3.0.3 userspace tools
(as distributed by RHEL5 and clones)
on a xensource 3.1 kernel, or vice versa.
Once I wiped my OS clear of all redhat-ized xen tools and kernels
and installed only the Xen 3.1 tools and kernel from xensource I
did not have this problem anymore.
Steve Timm
On Fri, 20 Jul 2007, Steven Timm wrote:
Configuration:
Dom0:
Xen 3.1 tarball from xensource.com on top of RHEL5 (x86_64).
First DomU:
Native xen 3.0.3 32-bit pve kernel as shipped with RHEL5 (i386).
Dom0 is up and OK. I am trying to start the first domu.
config file is below:
I try to do
xm create xen1.cfg
and get error message:
[root@fermigrid5 ~]# xm create xen1.cfg
Using config file "/etc/xen/xen1.cfg".
Error: (22, 'Invalid argument')
[root@fermigrid5 ~]#
xm log shows the following.
2007-07-20 12:11:06 xend 3204] ERROR (xmlrpclib2:184) (22, \047Invalid
argument\047)
Traceback (most recent call last):
File "/usr/lib64/python2.4/site-packages/xen/util/xmlrpclib2.py", line 162,
in _marshaled_dispatch
response = self._dispatch(method, params)
File "/usr/lib64/python2.4/SimpleXMLRPCServer.py", line 406, in _dispatch
return func(*params)
File "/usr/lib64/python2.4/site-packages/xen/xend/server/XMLRPCServer.py",
line 64, in domain_create
info = XendDomain.instance().domain_create(config)
File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomain.py", line 228,
in domain_create
dominfo = XendDomainInfo.create(config)
File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line
194, in create
vm.construct()
File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line
1268, in construct
handle = uuid.fromString(self.info[\047uuid\047]))
Error: (22, \047Invalid argument\047)
Here's the config file xen1.cfg which works fine on a xen 3.0.2 instance.
It appears from the log file that it is having some problem with the uuid
which I do not have in this config file.
Steve Timm
# -*- mode: python; -*-
#============================================================================
# Python configuration setup for 'xm create'.
# This script sets the parameters used when a domain is created using 'xm
create'.
# You use a separate script for each domain you want to create, or # you can
set the parameters for the domain on the xm command line.
#============================================================================
#----------------------------------------------------------------------------
# Kernel image file.
kernel = "/boot/vmlinuz-2.6.18-8.1.3.el5"
# Optional ramdisk.
ramdisk = "/boot/initrd-2.6.18-8.1.3.el5.img"
# The domain build function. Default is 'linux'.
#builder='linux'
# Initial memory allocation (in megabytes) for the new domain.
#memory = 64
memory = 500
# A name for your domain. All domains must have different names.
#name = "ExampleDomain"
name = "fg5x1"
# List of which CPUS this domain is allowed to use, default Xen picks
#cpus = "" # leave to Xen to pick
#cpus = "0" # all vcpus run on CPU0
#cpus = "0-3,5,^1" # run on cpus 0,2,3,5
# Number of Virtual CPUS to use, default is 1
#vcpus = 1
vcpus = 1
#----------------------------------------------------------------------------
# Define network interfaces.
# By default, no network interfaces are configured. You may have one created
# with sensible defaults using an empty vif clause:
#
# vif = [ '' ]
#
# or optionally override backend, bridge, ip, mac, script, type, or vifname:
#
# vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0' ]
#
# or more than one interface may be configured:
#
# vif = [ '', 'bridge=xenbr1' ]
#vif = [ '' ]
vif = [ 'mac=00:16:3e:05:05:01, bridge=xenbr0', 'mac=00:16:3e:05:05:09,
bridge=xenbr1' ]
#----------------------------------------------------------------------------
# Define the disk devices you want the domain to have access to, and
# what you want them accessible as.
# Each disk entry is of the form phy:UNAME,DEV,MODE
# where UNAME is the device, DEV is the device name the domain will see,
# and MODE is r for read-only, w for read-write.
#disk = [ 'phy:hda1,hda1,w' ]
# ( / , /usr/local, swap respectively)
disk = [ 'phy:LG0/LV2,sda1,w', 'phy:LG1/LV0,sda2,w','phy:LG0/LV3,sda3,w' ]
#----------------------------------------------------------------------------
# Define to which TPM instance the user domain should communicate.
# The vtpm entry is of the form 'instance=INSTANCE,backend=DOM'
# where INSTANCE indicates the instance number of the TPM the VM
# should be talking to and DOM provides the domain where the backend
# is located.
# Note that no two virtual machines should try to connect to the same
# TPM instance. The handling of all TPM instances does require
# some management effort in so far that VM configration files (and thus
# a VM) should be associated with a TPM instance throughout the lifetime
# of the VM / VM configuration file. The instance number must be
# greater or equal to 1.
#vtpm = [ 'instance=1,backend=0' ]
#----------------------------------------------------------------------------
# Set the kernel command line for the new domain.
# You only need to define the IP parameters and hostname if the domain's
# IP config doesn't, e.g. in ifcfg-eth0 or via DHCP.
# You can use 'extra' to set the runlevel and custom environment
# variables used by custom rc scripts (e.g. VMID=, usr= ).
# Set if you want dhcp to allocate the IP address.
#dhcp="dhcp"
ip= "131.225.107.102"
# Set netmask.
#netmask=
netmask= "255.255.255.0"
# Set default gateway.
#gateway=
gateway= "131.225.107.200"
# Set the hostname.
#hostname= "vm%d" % vmid
hostname= "fg5x1.fnal.gov"
# Set root device.
root = "/dev/sda1 ro"
# Root device for nfs.
#root = "/dev/nfs"
# The nfs server.
#nfs_server = '169.254.1.0' # Root directory on the nfs server.
#nfs_root = '/full/path/to/root/directory'
# Sets runlevel 4.
extra = "4"
#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits. There are three 'reasons'
# for a domain to stop: poweroff, reboot, and crash. For each of these you
# may specify:
#
# "destroy", meaning that the domain is cleaned up as normal;
# "restart", meaning that a new domain is started in place of the
old
# one;
# "preserve", meaning that no clean-up is done until the domain is
# manually destroyed (using xm destroy, for example); or
# "rename-restart", meaning that the old domain is not cleaned up, but is
# renamed and a new domain started in its place.
#
# The default is
#
# on_poweroff = 'destroy'
# on_reboot = 'restart'
# on_crash = 'restart'
#
# For backwards compatibility we also support the deprecated option restart
#
# restart = 'onreboot' means on_poweroff = 'destroy'
# on_reboot = 'restart'
# on_crash = 'destroy'
#
# restart = 'always' means on_poweroff = 'restart'
# on_reboot = 'restart'
# on_crash = 'restart'
#
# restart = 'never' means on_poweroff = 'destroy'
# on_reboot = 'destroy'
# on_crash = 'destroy'
#on_poweroff = 'destroy'
#on_reboot = 'restart'
#on_crash = 'restart'
#============================================================================
--
------------------------------------------------------------------
Steven C. Timm, Ph.D (630) 840-8525
timm@xxxxxxxx http://home.fnal.gov/~timm/
Fermilab Computing Division, Scientific Computing Facilities,
Grid Facilities Department, FermiGrid Services Group, Assistant Group Leader.
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|