Back to top
 
 
 

Cent OS / RHEL 5.1

This distribution seems to have Xen 3.1 but some of the API are not available.

Note : This is fixed in 1.0 release. But may be useful for some one trying older release.

To work around this,

  • use the xen 3.0.3 scripts for preparing server for remote management instead of 3.1
  • Once prepared as above, you get the following error while discovering the server using Add Node.
    <Fault 1: 'method "xend.domains_with_state" is not supported'>
  • To fix this :
    • Shutdown ConVirt.
    • ssh into the Managed Server, open /etc/convirt.conf and add use_3_0_api=True under the default section. If the default section is not there, add it. After the changes it should look like
 [DEFAULT]
  default_computed_options = ['arch', 'arch_libdir', 'device_model']
  use_3_0_api=True
    • Restart ConVirt

Step by Step instructions for CenOS and ConVirt 0.9 by bigdady92

Created a wiki for our internal testing. Followed it all the way through and was able to install it fairly quickly. Let me know if you catch any bugs or missing lines. I tried to get all the 'issues' with the problems I found on the 'forums' here.


Problem

Setup Virtual Management Monitor for Xen on CentOS5? with Convirt

Solution

Download Convirt from here:

http://xenman.sourceforge.net/downloads.html

Install or Update the following additional RPMS:

  1. python-crypto
  2. python-paramiko
  3. pygtk2
  4. pygtk2-libglade

Patching Paramiko

After installation of all software packages goto the convirt install dir (default is /usr/share/convirt):

# cd <convirt install>/install/common/patches 
# ./patch_paramiko 

From there determine what version of Xen is running:

rpm -qa | grep -i xen 

Perform the following for the respective version:

Run the script as 'root' user to configure the managed node. These scripts can be found under config-scripts directory. This directory is a top level directory for the tarball users and resides under /usr/share/convirt for rpm users.

For Xen 3.0 there is a script configure-xend.sh under xen-3.0 directory

# cd xen-3.0 
# ./configure-xend.sh <xen_version> 
xen_version can be 3.0.3 or 3.0.4 

For Xen 3.1 there is a script configure-xend.sh under xen-3.1 directory

# cd xen-3.1 
# ./configure-xend.sh 3.1 

As Xen 3.1 supports SSL, one can set it up with a test certificate as follows.

# ./configure-xend.sh 3.1 SSL 

NOTE : For modifying parameters used to generate the test certificate, modify the script before executing it.

For Xen 3.2 there is a script configure-xend.sh under xen-3.2 directory 

# cd xen-3.2 
# ./configure-xend.sh 3.2 

As Xen 3.2 supports SSL, one can set it up with a test certificate as follows.

# ./configure-xend.sh 3.2 SSL 

NOTE : For modifying parameters used to generate the test certificate, modify the script before executing it.

Start convirt by typing in:

# convirt 
 

CentOS5?.x problems

1. This distribution seems to have Xen 3.1 but some of the API are not available.

To work around this,

a. use the xen 3.0.3 scripts for preparing server for remote management.

b. Once prepared as above, you get the following error while discovering the server using Add Node.

<Fault 1: 'method "xend.domains_with_state" is not supported'>

To fix this :

1. Shutdown ConVirt?. 2. ssh into the Managed Server, open /etc/convirt.conf and add use_3_0_api=True under the default section. If the default section is not there, add it. After the changes it should look like

[DEFAULT] default_computed_options = ['arch', 'arch_libdir', 'device_model'] use_3_0_api=True

2. Unable to connect to the remote client server?

  • Make sure the server has the full install of convirt and it is running
  • Edit the file XMLRPCServer.py located in /usr/lib/python2.4/site-packages/xen/xend/server
  • Change the following so the server will listen on port 8006 for anything instead of only localhost on 8005:

Old

self.server = TCPXMLRPCServer(("localhost", 8005), logRequests=False)

New

self.server = TCPXMLRPCServer(("", 8006), logRequests=False)

3. Recieving the error: "Exception: unknown type (null)"

The fix for this is you must update your pygtk package to 2.10.1-9 or higher.

It has not been backported to base CentOS? 5.2 at this time (6/30/2008) and you can check the details on this RH Errata: https://bugzilla.redhat.com/show_bug.cgi?id=237077 - details for the updated pygtk are in comment 7.

 

Comments