[Openstack] Turn a XenServer AllInOne Node into a Compute Node?

Bob Ball bob.ball at citrix.com
Wed Jan 22 09:21:37 UTC 2014


“converting” a devstack VM to a multi-compute setup needs more than just changing the IP addresses.

In particularly, did you change the hostname?  Each compute must have a unique hostname, which the script does for you.  If the hostnames are not unique then I’m not sure what the behaviour will be – but one replacing the other is quite realistic.

I see that when you ran the compute it was from DevStackOSDomU, even though the zip file was for “Compute1” – so something seems to be inconsistent.

The log files again show that you’re trying to use qcow2 images which are not supported by XenServer:
[01;31m2014-01-21 19:57:52.239 TRACE nova.utils [01;35m[instance: 6f608e5d-9880-4380-9b66-f01b8825d845] [00mInvalidDiskFormat: Disk format qcow2 is not acceptable

Thanks,

Bob

From: Sisu Xi [mailto:xisisu at gmail.com]
Sent: 21 January 2014 21:39
To: Bob Ball
Cc: openstack at lists.openstack.org
Subject: Re: [Openstack] Turn a XenServer AllInOne Node into a Compute Node?

Hi, Bob:

Thanks again for your reply!

I reinstalled XenServer on my controller node, same configuration and same devstack-hanava.xva.

In the compute node, DevStackDomU, I set the remote host to the IP of DevStack DomU in the controller node.

I have the following problems.
1. When I first boot the controller as a AllInOne node and connect to it via dashboard, I can see there is one hypervisor (which is the controller.). However, when I modified the localrc on compute node and performed ./run.sh, The hypervisor in dashboard is replaced by the one in compute node. The original controller one is gone.
2. When I try to boot an instance, it immediately fails. Results an error status.

The log file from both controller and compute are included. They are too large, so I put them in dropbox and include a link here.

https://dl.dropboxusercontent.com/u/268069/Log.zip

Can you please take a look at it?

Thanks very much!

Sisu





On Tue, Jan 21, 2014 at 2:05 PM, Bob Ball <bob.ball at citrix.com<mailto:bob.ball at citrix.com>> wrote:
There seem to be several errors now:

When launching an instance, you get:
?[01;31m2014-01-21 17:45:50.133 TRACE nova.utils ?[01;35m[instance: a9934071-06b7-4861-a29e-bfa8350eaca4] ?[00mInvalidDiskFormat: Disk format qcow2 is not acceptable
XenServer only supports RAW and VHD images - see http://docs.openstack.org/grizzly/openstack-compute/admin/content/introduction-to-xen.html.<http://docs.openstack.org/grizzly/openstack-compute/admin/content/introduction-to-xen.html.>
There are also guides to uploading a VHD - e.g. http://blogs.citrix.com/2012/10/17/upload-custom-images-to-a-xenserver-powered-openstack-cloud/ or http://blogs.citrix.com/2012/09/06/vhd-to-openstack-using-a-xapi-host-plugin/

There's also a timeout reported, which could just be a network issue, or it could be that a service died part way through launching an instance:
?[01;31m2014-01-21 17:47:49.079 TRACE nova.openstack.common.rpc.amqp ?[01;35m?[00mTimeout: Timeout while waiting on RPC response - topic: "network", RPC method: "get_instance_nw_info" info: "<unknown>"

When syncing the power states, you get:
?[01;31m2014-01-21 19:31:18.630 TRACE nova.compute.manager ?[01;35m[instance: a9934071-06b7-4861-a29e-bfa8350eaca4] ?[00mIncompatibleObjectVersion_Remote: Version 1.9 of Instance is not supported
This suggests that something is still using the wrong version - not sure what it is though.  Perhaps someone else can suggest?  http://paste.openstack.org/show/61644/

The main issue is clearly the qcow2 issue, however I'm concerned that when you resolve that you'll hit the other two which I don't understand.

Consistent versions can easily be guaranteed by using the same XVA for controller as well as nodes, or by using the Ubuntu packages inside the DomU VM (see the introduction-to-xen page for the changes that are needed from a default KVM install)

Thanks,

Bob

________________________________
From: Sisu Xi [xisisu at gmail.com<mailto:xisisu at gmail.com>]
Sent: 21 January 2014 19:51

To: Bob Ball
Cc: openstack at lists.openstack.org<mailto:openstack at lists.openstack.org>
Subject: Re: [Openstack] Turn a XenServer AllInOne Node into a Compute Node?

Hi, Bob:

Thanks again for the help! I did another fresh install with XenServer 6.2, SP1, and used the above images and plugins.

This time I can see the compute node from the controller. However, when I try to create an image, It results in an Error state.

I am attaching the logs from both compute node and the controller node. Can you please take a look at it?

Thanks very much!

Sisu

On Tue, Jan 21, 2014 at 4:09 AM, Bob Ball <bob.ball at citrix.com<mailto:bob.ball at citrix.com>> wrote:
There is a very big error in screen-n-cpu – claiming that the compute and controller machines are not running compatible versions.

Note that the XVA you have used is not the Havana XVA, yet you are trying to use the Havana controller from Ubuntu.  As a minimum you need to use compatible versions between your controller and compute nodes.  That may be as simple as using the XVA and plugins from:

http://downloads.vmd.citrix.com/OpenStack/devstack-havana.xva
http://downloads.vmd.citrix.com/OpenStack/novaplugins-havana.iso

Bob

From: Sisu Xi [mailto:xisisu at gmail.com<mailto:xisisu at gmail.com>]
Sent: 20 January 2014 23:07
To: Bob Ball
Cc: openstack at lists.openstack.org<mailto:openstack at lists.openstack.org>
Subject: Re: [Openstack] Turn a XenServer AllInOne Node into a Compute Node?

Hi, Bob:

Seems the last email did not go through due to large attachment. I compressed the log and is re-sending them now.

Thanks for your reply and help!

I am using a fresh XenServer 6.2 with SP1, and with the devstack-2013_12_19.xva and novaplugins-2013_12_19.iso found on the website.

I have another machine works as the controller, where I followed the guide to install OpenStack Havana on Ubuntu Server 12.04.

I followed the script and changed my setting in the localrc, it is now:
************
# Passwords
MYSQL_PASSWORD=MYSQL_PASS
SERVICE_TOKEN=citrix
ADMIN_PASSWORD=citrix
SERVICE_PASSWORD=SERVICE_PASS
RABBIT_PASSWORD=RABBIT_PASS
GUEST_PASSWORD=citrix
SWIFT_HASH="66a3d6b56c1f479c8b4e70ab5c2000f5"

DATABASE_TYPE=mysql
connection = mysql://nova:NOVA_DBPASS@172.16.20.128/nova<http://nova:NOVA_DBPASS@172.16.20.128/nova>

SERVICE_HOST=172.16.20.128
MYSQL_HOST=172.16.20.128
RABBIT_HOST=172.16.20.128
KEYSTONE_AUTH_HOST=172.16.20.128
GLANCE_HOSTPORT=172.16.20.128:9292<http://172.16.20.128:9292/>

# Use xvdb for backing cinder volumes
XEN_XVDB_SIZE_GB=20
VOLUME_BACKING_DEVICE=/dev/xvdb

# Nice short names, so we could export an XVA
VM_BRIDGE_OR_NET_NAME="osvmnet"
PUB_BRIDGE_OR_NET_NAME="ospubnet"
XEN_INT_BRIDGE_OR_NET_NAME="osintnet"

# As we have nice names, specify FLAT_NETWORK_BRIDGE
# This requires https://review.openstack.org/48296 to land
# FLAT_NETWORK_BRIDGE="osvmnet"

# Do not use secure delete
CINDER_SECURE_DELETE=False

# Compute settings
EXTRA_OPTS=("xenapi_disable_agent=True")
API_RATE_LIMIT=False
VIRT_DRIVER=xenserver

# Use a XenServer Image and the standard one
# The XenServer image is faster, however tempest requires the uec files
IMAGE_URLS="https://github.com/downloads/citrix-openstack/warehouse/cirros-0.3.0-x86_64-disk.vhd.tgz,http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz<https://github.com/downloads/citrix-openstack/warehouse/cirros-0.3.0-x86_64-disk.vhd.tgz,http:/download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz>"

DEFAULT_IMAGE_NAME="cirros-0.3.0-x86_64-disk"

# OpenStack VM settings
OSDOMU_VDI_GB=40

# Exercise settings
ACTIVE_TIMEOUT=500
TERMINATE_TIMEOUT=500

# Increase boot timeout for neutron tests:
BOOT_TIMEOUT=500

# DevStack settings
LOGFILE=/tmp/devstack/log/stack.log
SCREEN_LOGDIR=/tmp/devstack/log/

# Turn on verbosity (password input does not work otherwise)

# XenAPI specific

MULTI_HOST=1

# Skip boot from volume exercise
SKIP_EXERCISES="boot_from_volume"

ENABLED_SERVICES=n-cpu,n-net,n-api

# XEN_FIREWALL_DRIVER=nova.virt.xenapi.firewall.Dom0IptablesFirewallDriver
XEN_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver

# 9 Gigabyte for object store
SWIFT_LOOPBACK_DISK_SIZE=9000000

# Additional Localrc parameters here
# Set ubuntu mirror and proxy
BM_POSEUR_REPO=https://github.com/citrix-openstack-build/bm_poseur.git
BM_POSEUR_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
CEILOMETERCLIENT_REPO=https://github.com/citrix-openstack-build/python-ceilometerclient.git
CEILOMETERCLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
CEILOMETER_REPO=https://github.com/citrix-openstack-build/ceilometer.git
CEILOMETER_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
CINDERCLIENT_REPO=https://github.com/citrix-openstack-build/python-cinderclient.git
CINDERCLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
CINDER_REPO=https://github.com/citrix-openstack-build/cinder.git
CINDER_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
DEVSTACK_REPO=https://github.com/citrix-openstack-build/devstack.git
DEVSTACK_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
GLANCECLIENT_REPO=https://github.com/citrix-openstack-build/python-glanceclient.git
GLANCECLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
GLANCE_REPO=https://github.com/citrix-openstack-build/glance.git
GLANCE_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
HEATCLIENT_REPO=https://github.com/citrix-openstack-build/python-heatclient.git
HEATCLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
HEAT_REPO=https://github.com/citrix-openstack-build/heat.git
HEAT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
HORIZON_REPO=https://github.com/citrix-openstack-build/horizon.git
HORIZON_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
IRONICCLIENT_REPO=https://github.com/citrix-openstack-build/python-ironicclient.git
IRONICCLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
IRONIC_REPO=https://github.com/citrix-openstack-build/ironic.git
IRONIC_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
KEYSTONECLIENT_REPO=https://github.com/citrix-openstack-build/python-keystoneclient.git
KEYSTONECLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
KEYSTONE_REPO=https://github.com/citrix-openstack-build/keystone.git
KEYSTONE_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
NEUTRONCLIENT_REPO=https://github.com/citrix-openstack-build/python-neutronclient.git
NEUTRONCLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
NEUTRON_REPO=https://github.com/citrix-openstack-build/neutron.git
NEUTRON_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
NOVACLIENT_REPO=https://github.com/citrix-openstack-build/python-novaclient.git
NOVACLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
NOVA_REPO=https://github.com/citrix-openstack-build/nova.git
NOVA_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
NOVNC_REPO=https://github.com/citrix-openstack-build/noVNC.git
NOVNC_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
OPENSTACKCLIENT_REPO=https://github.com/citrix-openstack-build/python-openstackclient.git
OPENSTACKCLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
OSLOCFG_REPO=https://github.com/citrix-openstack-build/oslo.config.git
OSLOCFG_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
OSLOMSG_REPO=https://github.com/citrix-openstack-build/oslo.messaging.git
OSLOMSG_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
PBR_REPO=https://github.com/citrix-openstack-build/pbr.git
PBR_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
PECAN_REPO=https://github.com/citrix-openstack-build/pecan.git
PECAN_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
REQUIREMENTS_REPO=https://github.com/citrix-openstack-build/requirements.git
REQUIREMENTS_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
RYU_REPO=https://github.com/citrix-openstack-build/ryu.git
RYU_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
SPICE_REPO=https://github.com/citrix-openstack-build/spice-html5.git
SPICE_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
SWIFT3_REPO=https://github.com/citrix-openstack-build/swift3.git
SWIFT3_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
SWIFTCLIENT_REPO=https://github.com/citrix-openstack-build/python-swiftclient.git
SWIFTCLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
SWIFT_REPO=https://github.com/citrix-openstack-build/swift.git
SWIFT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
TEMPEST_REPO=https://github.com/citrix-openstack-build/tempest.git
TEMPEST_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
TROVECLIENT_REPO=https://github.com/citrix-openstack-build/python-troveclient.git
TROVECLIENT_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
TROVE_REPO=https://github.com/citrix-openstack-build/trove.git
TROVE_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
WSME_REPO=https://github.com/citrix-openstack-build/wsme.git
WSME_BRANCH=refs/citrix-builds/jenkins-os-ctx-test-1046
NOVA_ZIPBALL_URL="https://github.com/citrix-openstack-build/nova/archive/refs/citrix-builds/jenkins-os-ctx-test-1046.zip"
NEUTRON_ZIPBALL_URL="https://github.com/citrix-openstack-build/neutron/archive/refs/citrix-builds/jenkins-os-ctx-test-1046.zip"
FLAT_NETWORK_BRIDGE=osvmnet
UBUNTU_INST_RELEASE=saucy
UBUNTU_INST_TEMPLATE_NAME=devstack_saucy
INSTALL_TESTONLY_PACKAGES=True

XENAPI_CONNECTION_URL="https://169.254.0.1<https://169.254.0.1/>"
VNCSERVER_PROXYCLIENT_ADDRESS=169.254.0.1

OFFLINE=true
VERBOSE=true
XENAPI_PASSWORD=456789
************

After that, I ran the unstack.sh, and then run.sh under /opt/stack/.

The /tmp/devstack/log/stack.log.summary says:
stack.sh log /tmp/devstack/log/stack.log.2014-01-20-224552
Installing package prerequisites
Installing OpenStack project source
Configuring Nova
Starting Nova API
Starting Nova
WARNING: EXTRA_OPTS is used
stack.sh completed in 22 seconds.

However, I still cannot see the compute node from my controller node.

I am also attaching the log files from stack.

Can you help me with this?

Thanks very much!

On Mon, Jan 20, 2014 at 3:10 AM, Bob Ball <bob.ball at citrix.com<mailto:bob.ball at citrix.com>> wrote:
Hi Sisu,

You can easily convert a VM running all services in devstack to one running just the services needed for compute (nova-compute and nova-network in the case of the stock method for setting up devstack with XenServer).

There is a script at https://github.com/citrix-openstack/qa/blob/master/connect-devstack-local.sh - download this to the devstack instance you want to just run compute services, and run it passing the IP address of the devstack that hosts the rest of the services.
If you’ve got a split of where the other services are, check out the details in the script – it’s actually quite simple to change hosts in the localrcs.

Note that this will not convert an “AllInOne” devstack to a standalone compute node – it will still be using devstack, but just configuring it to run only the compute services.

Thanks,

Bob

From: Sisu Xi [mailto:xisisu at gmail.com<mailto:xisisu at gmail.com>]
Sent: 17 January 2014 17:31
To: openstack at lists.openstack.org<mailto:openstack at lists.openstack.org>
Subject: [Openstack] Turn a XenServer AllInOne Node into a Compute Node?

Hi,

I was having trouble configuring a XenServer Node into an computer Node, the tutorial/devstack are all for using XenServer as a single allinone node.

For example, I found this really nice VM image from citrix at:
http://downloads.vmd.citrix.com/OpenStack/
which includes pre-build XenServer patch and images. I can just import them into XenServer and everything works.

Is there any easy way to turn this AllInOne XenServer Node into just a compute node? Of course I have another machine works as the controller node, installed following the OpenStack installation guide.

Thanks very much!

Sisu


--
Sisu Xi, PhD Candidate

http://www.cse.wustl.edu/~xis/
Department of Computer Science and Engineering
Campus Box 1045
Washington University in St. Louis
One Brookings Drive
St. Louis, MO 63130



--
Sisu Xi, PhD Candidate

http://www.cse.wustl.edu/~xis/
Department of Computer Science and Engineering
Campus Box 1045
Washington University in St. Louis
One Brookings Drive
St. Louis, MO 63130



--
Sisu Xi, PhD Candidate

http://www.cse.wustl.edu/~xis/
Department of Computer Science and Engineering
Campus Box 1045
Washington University in St. Louis
One Brookings Drive
St. Louis, MO 63130



--
Sisu Xi, PhD Candidate

http://www.cse.wustl.edu/~xis/
Department of Computer Science and Engineering
Campus Box 1045
Washington University in St. Louis
One Brookings Drive
St. Louis, MO 63130
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140122/cd973215/attachment.html>


More information about the Openstack mailing list