Ask Your Question
2

Why my vm is not responding to ARP request

asked 2017-01-04 05:39:03 -0500

Charles gravatar image

updated 2017-01-09 06:48:50 -0500

Hi guys,

Here is a quick descritpion of my setup.

A CentOS7 VM and liberty distro, I used packstack and my config is "all-in-one". I've created a router, an external network and an internal network.

I've created a cirros image, and a test vm.

I've added the security rules for ping and ssh.

When I ping my vm with it's internal adress ( provided dynamically at creation ), I've got no answer either from my default namespace or from the router namespace.

With tcpdump, I monitored the tap interface and I see arp request, but the vm doesn't answer.

> nova list tells me the instance is ACTIVE and running.

And if I use virsh screenshot I have:

SeaBIOS (versio xxxxxxx)
Machine UUID xxxxxxxxxx
iPXE (http://ipxe.org) 00.03.0 C980 PCI2.10 PnP PMM

console.log is empty and my vm seems to be stuck in the boot step, but nova list and logs tell me that everything is fine.

I found a post on the net describing the same problem and the guy said that its image wasn't created correcly.

But I followed basic steps:

> wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
> glance image-create --name "cirros-0.3.4-x86_64" --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public --progress
> nova boot --flavor m1.tiny --image cirros-0.3.4-x86_64 --key-name tapaas-key --nic net-id=cc615845-dc51-41e7-b470-10e00c4b5518 vm-cirros-0.3.4-x86_64

I tried we other version of cirros and other images. But it's the same. At first I've created a floating ip and if I ping this address, it is correctly translated in the internal address, because I see the ARP request.

I'm running out of ideas.

So If someone could help me, I'd be thankful.

Charles.


Edit1:

Hi,

I am editing my post because I cannot add comments or an answer for this thread, I send an email two days ago to AskOpestack team but so far no answer.

First thank you for your help and here my answer to your comments.

Yes I agree with you this is more a boot instance problem than a network problem. I tried to load the image with VirtualBox, but it failed at boot it was not recognize as a valid image I used this command:

VBoxManage convertfromraw --format VDI vdisk_raw.img vdisk.vdi

I tried glance image-download and diff ... same image. I tried other versions of cirros images, but with the same result. I have access to VNC console and I've got the same message as in the screenshoot ( stuck with the iPxe message ).


Edit2:

I've tested all the images I've downloaded, all checksums are ok.

As for the file format, I downloaded qcow2 because of the following comment on this page get image

"If your deployment uses QEMU or KVM, we recommend using the images in qcow2 format. The most recent 64-bit qcow2 image as of this writing is cirros-0.3.4-x86_64-disk.img."

I have ... (more)

edit retag flag offensive close merge delete

Comments

Yor problem seems to be that the instance doesn't boot, therefore no ARP response. Suggestions: Check the image by booting it without OpenStack. Download the image from glance and compare it with the original cirros file. Wget it again and upload the 2nd copy to Glance. Try another cloud image.

Bernd Bausch gravatar imageBernd Bausch ( 2017-01-04 08:03:04 -0500 )edit

As far as Nova and the hypervisor are concerned, they see that the image has started and are happy.

Bernd Bausch gravatar imageBernd Bausch ( 2017-01-04 08:03:58 -0500 )edit

Can you access VM through VNC console? Cirros image has hardcoded "cirros" and "cubswin:)" username and password (without quotes) and you'll be able to check interface status from inside of VM.

doka.ua gravatar imagedoka.ua ( 2017-01-04 14:18:29 -0500 )edit

I continue to wonder if the image is corrupted. Did you verify the checksum? What does the qemu-img info command say? By the way, if the cirros image is in raw format, the glance image-create command is incorrect. If it is qcow2, the vboxmanage conversion might be wrong.

Bernd Bausch gravatar imageBernd Bausch ( 2017-01-06 03:44:07 -0500 )edit

Default behaviour of Neutron is to put Security Group, which include rules that prevents ARP spoofing etc. It means that if your VM use IP address which differs from one allocated by DHCP, you will get nothing in responce. Try console access to check what's inside VM with networking.

doka.ua gravatar imagedoka.ua ( 2017-01-09 00:37:16 -0500 )edit

3 answers

Sort by ยป oldest newest most voted
1

answered 2017-01-11 07:26:08 -0500

Charles gravatar image

Hi Guys,

I didn't really found the solution, I went deep down, at kvm/qemu level, checked the logs, compare kvm-qemu process with a working plateform, nothing ! It's not my field, maybe I didn't see the obvious.

By despair, I ran a 'rpm -qa | grep openstack', and realized that I was using an old version of openstack (liberty) with a brand new version of packstack.

So instead of liberty I installed newton and everything went smoothly.

Like Luis I have already installed liberty some month ago on the same type of vm, and by default I had a cirros image created and no difficulty to create a cirros vm.

By chance I saw this message in my console:

[ xxxx] microcode: CPU0 update to revision 0x38 failed
[ xxxx] microcode: CPU1 update to revision 0x38 failed
[ xxxx] microcode: CPU2 update to revision 0x38 failed
[ xxxx] microcode: CPU3 update to revision 0x38 failed

Coincidence ? Maybe ... I have no other clue, I'm running out of time so I will simply switch to newton.

Thanks for you help. Charles.

edit flag offensive delete link more
2

answered 2017-01-10 11:06:54 -0500

luis.rosa gravatar image

I'm having the exact same problem. I deployed another all in one config one month ago the same way and it works. It looks like someone have changed something last December

edit flag offensive delete link more

Comments

Hello,

To solve this problem it's necesary to upgrade the Qemu version to 2.6.0: [root@acuntiastack ~]# virsh version QEMU 1.5.3 [root@acuntiastack ~]# yum install centos-release-qemu [root@acuntiastack ~]# yum install qemu-kvm root@acuntiastack ~]# virsh version QEMU 2.6.0

luis.rosa gravatar imageluis.rosa ( 2017-01-12 08:19:32 -0500 )edit

this is the output of qemu version but cannot access to instances that i have launched. It keep saying that booting from hardisk

Compiled against library: libvirt 2.0.0 Using library: libvirt 2.0.0 Using API: QEMU 2.0.0 Running hypervisor: QEMU 2.6.0

mkhan gravatar imagemkhan ( 2017-01-17 10:39:06 -0500 )edit
0

answered 2017-02-01 16:11:34 -0500

TimSerewicz gravatar image

An edit to /etc/nova/nova.conf and a reboot worked for me. Something with the newer version of qemu-kvm-ev is unhappy if the flags in /proc/cpuinfo don't support KVM.

[root@rdo-cc ~]#  vim /etc/nova/nova.conf 
....
virt_type=qemu 
.... 
cpu_mode=none 
...

[root@rdo-cc ~]# reboot

After the sytem comes up a newly deployed instance boots. It's slow, but it works. Good luck!

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2017-01-04 05:39:03 -0500

Seen: 332 times

Last updated: Feb 01