How do we add xen server (hypervisor) as openstack compute node?

Asked by ronsnetapp on 2016-11-22

i have installed openstack using devstack script top of xen hypervisor, in this open stack as a virtual machine.
when i create instance in openstack, the instance should create in xen hypervisor. but its not happening.
so How do we add xen server (hypervisor) as openstack compute node?
Some one could you please guide me please

Below is my installation steps and My environement is below.

#1. Installed Xenserver 6.5
#2. Downloaded Devstack folder from github
cd /root
wget --no-check-certificate https://github.com/cloudbuilders/devstack/raw/xen/tools/xen/prepare_dom0.sh
chmod 755 prepare_dom0.sh

#3. Run the below script
./prepare_dom0.sh

#4. Created localrc file as below

XENAPI_PASSWORD=Pass4321

XENAPI_CONNECTION_URL="http://192.168.0.102"
VNCSERVER_PROXYCLIENT_ADDRESS=192.168.0.102

#5. Ran the install_os_domU.sh from the below path.
cd tools/xen
./install_os_domU.sh

#6. After completed the script installation, i have checked my Openstack Dashboard. it was working fine.

Now i can able to login into openstack dashboard, i can able to create new projec, user, network, image, instance and all..

My expectation is when i create a new instance in openstack, this should be created as new VM under my Xennserver,
But my instance was not created under xenserver.

Kindly help me, wheather iam doing anything wrong.

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Last query:
2016-12-26
Last reply:
2017-01-03

This question was reopened

Bob Ball (bob-ball) said : #1

You don't seem to have set VIRT_DRIVER=xenserver?

Some other settings may also be useful - see https://github.com/citrix-openstack/qa/blob/master/install-devstack-xen.sh for a full example.

ronsnetapp (ronsnetapp) said : #2

Thank you again for your help on this. We love your support.

Question Number-1
     Shall i update above parameter (VIRT_DRIVER=xenserver) in my locarc file and run then run the script (./install_os_domU.sh) again?

Question Number-2
      I also run the script which is mentioned below url, but the script was not running successfully, could you please help to run the same script.

https://github.com/citrix-openstack/qa/blob/master/install-devstack-xen.sh

Thanks
Rons

Bob Ball (bob-ball) said : #3

Some details for why the install-devstack-xen script 'was not running successfully' would be helpful.

Sample localrc config is from line 431: https://github.com/citrix-openstack/qa/blob/master/install-devstack-xen.sh#L431
You may need to configure some of those to match your environment but yes, you will need VIRT_DRIVER=xenserver before running stack.sh (which is kicked off by install_os_domU)

ronsnetapp (ronsnetapp) said : #4

Thank you again for your reply, what is the difference run stack.sh and install_os_domU.sh
Could you please explain.

Bob Ball (bob-ball) said : #5

install_os_domU will do everything, including setting up the virtual machine which will run devstack. It will eventually call stack.sh after all the pre-requisties have been set up.

stack.sh assumes you have already created the virtual machine.

ronsnetapp (ronsnetapp) said : #6

Thank you again for your help on this, yes after run install_os_domU.sh we got Virtual Machine login screen, also we could able to access openstack web interface no issues but if we restart the Virtual Machine again install_os_domU.sh automatically running during the boot and again its started to setting up the virtual machine.

Iam new to openstack, could you please guide me and explain what exactly i need to do. Below is our requirement.

we need to use xen hypervisor as our compute node for openstack. Please help me.
Thank you again for your help on this.

Bob Ball (bob-ball) said : #7

I've you're trying to use XenServer, I'd suggest trying Mirantis OpenStack as there is an easy-to-use Fuel plugin available. User-guide and plugin download at http://ca.downloads.xensource.com/OpenStack/Plugins/Fuel-4.0.20/ and videos at https://www.youtube.com/watch?v=2C8FaWoYwVo and https://www.youtube.com/watch?v=n7OJ7Eyj77I&t=35s

If you're not trying to do development then don't use devstack.

ronsnetapp (ronsnetapp) said : #8

Hi Bob,
I have tried as you told in the below url, and created localrc file which is mentioned in the below url, and modified some parameter with my environment. Started installation on top of plain Xenserver 6.5. using (install_os_domU.sh).

After ran the script, the Ubuntu VM was created and started the openstack deployment with the same VM..while installing the openstack environment i got the below error message, here with attached screenshot.

URL - https://github.com/citrix-openstack/qa/blob/master/install-devstack-xen.sh#L431

My localrc file ==> http://pastebin.com/XC7GsMCB

we got error message ===> http://i67.tinypic.com/13yfk9j.jpg

Thanks for your timely help me on this

Bob Ball (bob-ball) said : #9

Curious - it looks like for some reason you don't have a setting for SCREEN_LOGDIR
Set it at the top of your localrc, perhaps to a temporary directory:
SCREEN_LOGDIR=/tmp/devstack_logs

This appears to be a bug in install-devstack-xen as that script is using SCREEN_LOGDIR without giving it an intial value.

The result of that is that it tries to send log files to the root directory, where it does not have permissions.

Bob Ball (bob-ball) said : #10

Correction, this is not a bug in install-devstack-xen; SCREEN_LOGDIR is set at https://github.com/citrix-openstack/qa/blob/master/install-devstack-xen.sh#L75
The problem is you copied the contents of localrc from install-devstack-xen rather than using install-devstack-xen to create the localrc.

In this case, replace any occurances of ${SCREEN_LOGDIR} in your localrc with /opt/stack/devstack_logs

ronsnetapp (ronsnetapp) said : #11

Hi Bob,
As you told, we have modified the localrc file as below and started the installation.
Modified like below..
LOGFILE=/tmp/devstack/log/stack.log
SCREEN_LOGDIR=/tmp/devstack/log/

We got installed successfully,but we are not able to access the Dashboard.
Getting "Internal Server Error"

Questions 1: After installation completed, wants to do anything inside the "DevStackOSDomU" VM ?

Thank you again for your help on this.

Kioski (kioski) said : #12

Hi Bob,

Now i got an installed Openstack using Devstack successfully, and able to access my Horizon Dashboard.

But if i tried to re-start my DomU(Ubuntu VM), while booting up the script "stack.sh" is running again.

How can i stop this after installed Devstack ?

Thank you again for your help on this.

Bob Ball (bob-ball) said : #13

Devstack is intended for development and does not have persistence across reboots. There is no provision in devstack for running services to connect to a previously initialised database/environment.

If you need an environment that can persist across reboots, look at Mirantis OpenStack as suggested in comment #7

Kioski (kioski) said : #14

Hi Bob,

Thanks for your suggestion.
After install Devstack, i can able to create and run in-build default instances(cirros), i couldn't able to run the instance which is taken backup from my existing xenserver.

While launching image i am getting below error message.

"Error: Failed to perform requested operation on instance "test", the instance has an error status: Please try again later [Error: Build of instance fafd6e3d-7d6a-49bf-8cd4-ea0349aade43 aborted: Block Device Mapping is Invalid.]."

Thank you again for your help on this.

Bob Ball (bob-ball) said : #15

There is likely much more information in the nova compute log file; please search for the above message in the n-cpu log file as that will probably explain what's going on.

ronsnetapp (ronsnetapp) said : #16

Hi Bob,

Shall i use Mirantis Openstack installation with one ethernet card for both master and slave node?

Thank you again for your help on this.

Bob Ball (bob-ball) said : #17

You can deploy with MOS with a single ethernet card, yes. I'd suggest using XenServer to create networks on VLANs (for example the PXE network) so you can be clear about which VM is connected to which virtual network.

Thanks,

Bob

ronsnetapp (ronsnetapp) said : #18

Hi Bob,

As you told, i have created Virtual Network(PXE network) and assigned the same for my slave nodes. But while checking my network connectivity, getting below error messages..

Verification failed.
Repo availability verification using public network failed on following nodes Untitled (65:3e).
Following repos are not available - http://archive.ubuntu.com/ubuntu/, http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/.
Check your public network settings and availability of the repositories from public network. Please examine nailgun and astute logs for additional details.

PFA - http://pasteboard.co/apG9YNA29.jpg

My Environment is below:
Xenserver 7.0 with one eth0 (create two more virtual networks)
Fuel Master Node as VM on Xenserver with three VLAN.
Compute and Controller as VM on Xenserver with three VLAN.

My management network was 10.20.0.1 series

Thank you again for your help on this.

Bob Ball (bob-ball) said : #19

Networking is one of the more confusing aspects of deploying OpenStack.

* PXE network defined with specific VLAN ID on eth0
- You can use XenCenter to create a VLAN network on both hosts; assuming you've defined the VLANs on the switch so they can be routed between the two hosts.

* Storage, Management, Neutron VLANs, available using eth0
- These just need to be defined on the switch so they can be routed between the two hosts
- Suggest a minimum of 2+5 VLANs for these.

* Public VLAN, available using eth0
- This must have an IP range which can access the outside world using a gateway defined outside of OpenStack.

Then you can pass two networks through to each VM: PXE and eth0.
Make sure you configure which of the VM's ethernet devices is which network on the nodes in Fuel, and that you specify the right VLANs, gateway and IP ranges in the network setup page.

You may find https://www.citrix.com/blogs/2015/10/23/deploying-mirantis-openstack-on-a-single-xenserver/ useful too.

Good luck.

ronsnetapp (ronsnetapp) said : #20

Hi Bob,

Is't possible to use RDO Packstack installation through Mirantis Fuel Plugins ?

And both Devstack and Packstack is only for development use? shall i use it for production mode.?

Thank you again for your help on this.

ronsnetapp (ronsnetapp) said : #21

Hi Bob,

I have a Single physical Server with single Ethernet card, and installed Xenserver 7.0 on this server.
I have one DSL modem with internet, network range was 172.16.0.0/24, 255.255.255.0, Gateway-172.16.0.1 .
Now i have create one virtual network adapter in my xenserver using Xencenter.

While installing Fuel Master Node, network setup
eth0 - Static IP - 10.20.0.2, 255.255.255.0, interface was enabled.

eth1 - Static IP - 172.16.0.110, 255.255.255.0, interface was enabled.

PXE setup - i didn't changed anything

External DNS - 8.8.8.8

Kindly confirm my above setup was correct, otherwise anything wants to change on this.

My problem is
While starting installation, the Ubuntu repository url not able to connect, and DNS was not resolving.

Kindly suggest me network setup to my above environment please.

Thank you again for your help on this.

ronsnetapp (ronsnetapp) said : #22

Thanks Bob Ball, that solved my question.

ronsnetapp (ronsnetapp) said : #23

Hi Bob,

I have installed Mirantis Openstack successfully.
I can able to launch new instance with default TestVM(image), how can upload my custom image and launch the same ?

Thank you again for your help on this.

Bob Ball (bob-ball) said : #24

Glad TestVM is working for you! :)
Please see https://www.citrix.com/blogs/2016/09/08/generating-images-for-xenserver-in-openstack/ for recommendations on generating new images.

Can you help with this problem?

Provide an answer of your own, or ask ronsnetapp for more information if necessary.

To post a message you must log in.