Undead again (bansheezm) wrote,
Undead again
bansheezm

  • Mood:

Invalid argument

Виртуальный networking в OpenStack, а именно проект Neutron, построен на такой фиче Linux ядра, как network namespaces. Все созданные namespaces можно посмотреть командой ip netns, выглядит примерно так:

qrouter-........-f70e-4334-b909-21253127b5dd
qrouter-........-c56d-46ce-968c-6168d4fb08ec
qdhcp-........-07a2-4d70-ab01-7a2c45ea7941
qrouter-........-928f-4b5e-a457-935f9bcbee58


qdhcp- и qrouter- namespace'ы создаются dhcp и l3 агентами соответственно. Наткнулась на проблему, если network namespace'ы не трогать где-то трое суток, они умирают, хотя в /var/run/netns/ остаются записи о них.

Попытка выполнить команду внутри namespace'а, например

:~# ip netns exec qdhcp-c9901b99-07a2-4d70-ab01-7a2c45ea7941 ifconfig

выдаёт ошибку

seting the network namespace failed: Invalid argument


Проблема лечится остановкой всех neutron сервисов, например

:~# for i in `ls /etc/init.d/neutron-*`; do $i stop; done
:~# neutron-ovs-cleanup
Kill all neutron-ns-metadata-proxy processes
:~# rm /var/run/netns/q*
:~# for i in `ls /etc/init.d/neutron-*`; do $i start; done

Neutron создаёт все эти namespace'ы заново и всё работает. Однако, проблема довольно серьёзная, в продакшне останавливать network service будет нельзя.

Ubuntu LTS 12.04, kernel 3.11.0, OpenStack Havana

UPD. Проблема была вызвана LXC контейнерами.
Tags: havana, how-to, linux, neutron, openstack, ubuntu
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 1 comment