amarao (amarao_san) wrote,
amarao
amarao_san

Categories:

структурированное знание

Всё-таки получение структурированного знания - одно из самых приятных событий в жизни человека.

Когда несколько разрозненных кусков "хер знает как работает и почему" стройно срастаются в единое понимание, простую и ясную модель, из которой естественным образом выводятся самые странные свойства (которые раньше заставляли грызть зубы от нелогичности и неожиданности) - в этот момент ощущаешь реальный кайф (мозг обнаруживает, что больше не нужно помнить 100500 мелочей в виде хаоса и можно построить изящную компактную нейтронную сеть?).

Только что проебался примерно два дня (и это уже третий заход был), пытаясь понять, почему neutron не работает.

Симптомы: трафик из виртуалки выходит, между виртуалками на хосте ходит, за пределы хоста - нет. Глазами видно, что трафик выходит из виртуалки, но gre-трафика не видно. При этом гре-интерфейсы внутри openvswitch создаются, но там нет никакого трафика.

Симптомы второго порядка: ovs-ofctl dump-flows br-tun показывает, что у table 21 только drop, без полагающегося strip_vlan, set_segment, output.

После того, как я раза три все конфиги новы и нейтрона вылизал вдоль и вглубь, после вычитывания сырцов и отладочного лога ovs-agent'а (адское развлечение), я нашёл причину: сеть помечена как local. А должна быть gre.

Это в базе. Видно даже руками:

neutron net-show d1ae41a1-502a-4b30-a9ff-61c00cf51df1
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | d1ae41a1-502a-4b30-a9ff-61c00cf51df1 |
| name                      | internal                             |
| provider:network_type     | local                                |
| provider:physical_network |                                      |
| provider:segmentation_id  |                                      |
| router:external           | False                                |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   | 91a7ec38-bcc0-4ae7-8f83-06cec509718d |
| tenant_id                 | 3458268fc2ea455f84c5ef1eeaeb4849     |
+---------------------------+--------------------------------------+


После пересоздания сети, она начинает работать. Легко понять почему:

neutron net-show 51027d33-af34-43d4-a123-f24edef88b9a
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 51027d33-af34-43d4-a123-f24edef88b9a |
| name                      | internal                             |
| provider:network_type     | gre                                  |
| provider:physical_network |                                      |
| provider:segmentation_id  | 1                                    |
| router:external           | False                                |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | 3458268fc2ea455f84c5ef1eeaeb4849     |
+---------------------------+--------------------------------------+


Почему же получилась local network? Потому что на момент создания сети не был отконфигурирован должным образом (тут надо уточнить что именно надо конфигурировать) neutron-server. А потом конфиг нормализовали, а сеть осталась такой же, и никакие ребуты не помогают.
Tags: neutron, openstack, грабли
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments