A instalação do OpenStack do Landscape falha devido a contêineres incapazes de obter um IP

2

Eu segui estas instruções e a instalação falhou ao implantar o Landscape.

Eu pesquisei um pouco e descobri que os contêineres do juju não conseguem obter o endereço IP:

Apr 28 16:20:50 juju-machine-0-lxc-1 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 17 (xid=0x4e269150)
Apr 28 16:21:07 juju-machine-0-lxc-1 dhclient: DHCPDISCOVER on eth0 to     255.255.255.255 port 67 interval 10 (xid=0x4e269150)
Apr 28 16:21:17 juju-machine-0-lxc-1 dhclient: DHCPDISCOVER on eth0 to    255.255.255.255 port 67 interval 12 (xid=0x4e269150)

Parece que as interfaces são ligadas a eth0:

# brctl show
bridge name     bridge id               STP enabled     interfaces
juju-br0        8000.005056880a1b       no              eth0
                                                        veth770EL2
                                                        vethOULXGG
                                                        vethQ7I7K9
                                                        vethR8J2R4
                                                        vethTQOU5J
                                                        vethVID53L
lxcbr0          8000.000000000000       no

Enquanto o dhcpd no host está prestes a fornecer endereços em lxcbr0:

dnsmasq -u lxc-dnsmasq --strict-order --bind-interfaces --pid-file=/run/lxc/dnsmasq.pid --conf-file= --listen-address 10.0.3.1 --dhcp-range 10.0.3.2,10.0.3.254 --dhcp-lease-max=253 --dhcp-no-override --except-interface=lo --interface=lxcbr0 --dhcp-leasefile=/var/lib/misc/dnsmasq.lxcbr0.leases --dhcp-authoritative

Alguma sugestão sobre como resolvê-lo?

    
por Emsi 28.04.2015 / 18:26

1 resposta

2

Eu encontrei uma solução alternativa.

O núcleo do problema é que eu estava usando máquinas virtuais no ESXi. Eu habilitei a virtualização aninhada e gerenciei-os via virsh. Para que a rede funcione, eu tive que habilitar o chamado modo promíscuo no portgroup do ESXi e, portanto, transformá-lo em um hub (é uma pena que o vSwitch não suporte o aprendizado de MAC).

Como o comutador virtual foi conectado usando duas NICs para fazer o switch de uplink, o modo promíscuo de alguma forma fazia com que os pacotes fossem duplicados (apesar do fato de que toda a comunicação estava acontecendo dentro de um único host ESXi!). A ponte Linux detectou essas duplicatas e, portanto, recusou-se a fazer a ponte entre os pacotes.

A remoção de um NIC físico do switch VMware resolveu o problema (desativar um NIC ou definir como Standby ou Unused não). Como remover o NIC do switch não foi uma boa solução para mim, criei um comutador virtual sem quaisquer NICs anexadas e criei uma caixa do Linux que direcionasse o tráfego para ele. Depois disso, a instalação foi feita sem mais problemas.

Não consegui resolvê-lo apenas no nível de ponte do Linux.

    
por Emsi 04.05.2015 / 13:34