cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vogel, Sven" <>
Subject Re: 4.9 / 4.10 KVM + openvswitch + vpc + static nat / secondary ip on eth2?
Date Tue, 31 Oct 2017 23:14:29 GMT
Hi Frank,

Great analysis, but what can we do now? Is there a workaround or who can fix this?



Am 31.10.2017 um 22:41 schrieb Frank Maximus <<>>:

That seems to be a bug in the lookup of the device number, in case of
The config clearly sets device to eth2, while it should be eth1.

More specifically:
in LibvirtComputingResource.prepareNetworkElementCommand()
The broadcastUriToNicNum map is filled depending on the VR nics.
In openvswitch the guest bridge is used as is, so it overwrites the mapping
of public.
This was not an issue until 4.6 as then VR was using the macaddress to do
while now it is using the device number.

Kind Regards,

On Tue, Oct 31, 2017 at 8:35 PM Frank Maximus <<>> wrote:

I think that the bug you mentioned might not be related.
Could you please send the content of the file /etc/cloudstack/ips.json on
the VR.

That might provide useful information.

Kind regards,

On Tue, 31 Oct 2017 15:23 Vogel, Sven, <<>>

Hi Devs,

i have the following problem.

When I look this jira ticket I see no solution.  but I think the
problem is not solved correctly.

   1. KVM
   2. Bridges
   bond with two interfaces and trunk (0,129,180,100-1500) to cloudbr0
   Cloudbr0 (0 - guest network)
   Fakebridge pub129 (public network)
   Fakebridge sto180 (secondary storage network)
   Fakebridge  mgmt0 (management)

   If I have a vpc all things work until I add a secondary ip and add a
static nat.

   The following will happen, first address will be on the the correct
interface but static nat will be on the false network.
Its on the eth2…

   root@r-29-VM:~# ip a
   1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
       link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
       inet scope host lo
   2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP qlen 1000
       link/ether 0e:00:a9:fe:03:81 brd ff:ff:ff:ff:ff:ff
       inet brd scope global eth0
   3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP qlen 1000
       link/ether 1e:00:2c:00:00:68 brd ff:ff:ff:ff:ff:ff
       inet brd scope global eth1
   4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP qlen 1000
       link/ether 02:00:57:07:00:0c brd ff:ff:ff:ff:ff:ff
       inet brd scope global eth2
       inet brd scope global eth2

Normally I think the secondary ip should be on signed to eth1 not eth2!
It sets my ip on the guest network vlan range on my cloudbr0 but it should
be pub129. vnet6 has 1353 guest tag and not the public tag.

[root@kvm01 ~]# ovs-vsctl list-br

[root@kvm01 ~]# virsh domiflist r-29-VM
Interface  Type       Source     Model       MAC
vnet4      bridge     cloud0     virtio      0e:00:a9:fe:03:81
vnet5      bridge     pub129     virtio      1e:00:2c:00:00:68
vnet6      bridge     cloudbr0   virtio      02:00:57:07:00:0c

   Bridge "cloud0"
       Port "vnet4"
           Interface "vnet4"

       Port "vnet5"
           tag: 129
           Interface "vnet5"
       Port "vnet6"
           tag: 1353
           Interface "vnet6"

Whats wrong or what can I do to fix this? I hope anybody has an idea.

Sven Vogel
Head of Cloud Solutions / Consultants
Kupper Computer GmbH
Prager Str. 15
04103 Leipzig

View raw message