5

I have cloud system based on Openstack Icehouse-version. Now I want to test newer version of Openstack (Juno) inside my existing cloud. All hosts and guests use Ubuntu 14.04 as their OS. KVM is hypervisor I am using.

So I created virtual machines on my cloud and installed components of Openstack Juno on them. But I have problems with network connectivity on these virtual machines.

Openstack installation guide says:

If you are building your OpenStack nodes as virtual machines, you must configure the hypervisor to permit promiscuous mode on the external network.

But it does not tell how this is done. Neither was I able to find this information by Googling. I have tried many things such as enabling promiscuous mode on various interfaces with command: ifconfig eth0 promisc but nothing has worked. So how can I enable promiscuous mode on my hypervisor?

EDIT: When using ifconfig I see that my interfaces are in state UP BROADCAST RUNNING PROMISC. Also I have used similar installation before installed on physical hosts and it had no problems.

2
  • I didn't find solution. Eventyally I installed network node and compute node on physical machines. Jun 9, 2015 at 12:49
  • Openstack networking isn't so trivial, and this is NOT a KVM question at all, really. You're trying to build controller and compute nodes in a VM, you need to create a separate project, assign it some separate networks, and probably use qemu as the hypervisor on the computes, unless you enabled nesting. Really, if you have already installed and have been using openstack, you should not be asking questions about "promisc mode", but planning how to do this in the confines of a tenant/project instead.
    – dyasny
    Aug 12, 2016 at 17:14

3 Answers 3

1

ifconfig eth0 promisc is the correct command to enable promiscuous mode for an interface. If that didn't work try adding this line to /etc/rc.local and reboot.

ifconfig eth0 up

ifconfig eth0 promisc
4
  • After using that my interfaces are now in state UP BROADCAST RUNNING PROMISC as they were with using that command on terminal. But it not change anything. The guide speaks about hypervisor. I wonder if I need to do something to it as well? Jan 20, 2015 at 8:07
  • @MadocComadrin You were supposed to do this on the hypervisor! Jan 28, 2016 at 2:04
  • How is that done with KVM as hypervisor? I failed to find such configuration. Jan 28, 2016 at 11:51
  • It is not done to the hypervisor, but to the host running the hypervisor. That's what 'external network' means.
    – Jeter-work
    Aug 12, 2016 at 17:36
0

External network means the network that connects to the Internet (typically with a public IP pool or similar), other resources outside of the cloud, etc. Are you using Neutron or Nova-networking? That's mildly important, but you should be making the bridge or whatever network abstraction you're using promiscuous, rather than the NIC connected to it. The nic should then follow suit.

The reason being that we need to perform packet inspection at the virtual switch level in order to determine where those packets should go. This should be done at the hypervisor level. It sounds like you're nesting hypervisors, and that may present its own issues that need to be dealt with. Is that the case?

0

Ben Pfaff on 2013 replied (check it out):

VMware made a terrible, confusing mistake in naming here. "Promiscuous mode" has a specific meaning.

[…]

What the VMware vSwitch calls "promiscuous mode" is quite different. When you configure promiscuous mode on a VMware vNIC, the vSwitch sends a copy of every packet received by the vSwitch to that vNIC. That has a much bigger effect: rather than getting a few stray packets for which the switch does not yet know the correct destination, the vNIC gets every packet.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .