Nikolay
https://docs.openstack.org/ironic/latest/admin/multitenancy.html#multitenancy-physnets
Nikolay
на хосте есть привзяка к физнету, ты тупо не воткнешь его в другйю провайдер сеть
Nikolay
хотя у меня вот странное говно происходит
Nikolay
ок, пусть будет neutron
Nikolay
какие ему звезды нужны
Nikolay
сеть может и плоская, а аттрибуты должны быть
Nikolay
еще раз
Nikolay
If any port in a port group has a physical network, then all ports in that port group must have the same physical network.
Nikolay
можно выкинуть порт групп
Nikolay
и что то тут намекает, что у порта должен быть --physical-network physnet2
Nikolay
или это опять трудности перевода
Nikolay
из default нейтрон создает порт как для вм
Nikolay
может быть это нормально, и когда нода станет актив ей айроник в нейтроне порт заапдейтит
J
на хосте есть привзяка к физнету, ты тупо не воткнешь его в другйю провайдер сеть
А для чего тебе нейтрон тогда?
Не важно мултитенанси или нет, но для ml2 плагина нужен вроде как baremetal механизм какой-нибудь.
Тогда нейтрон и айроник сами там будут мутить прописывание physical_network и будет у тебя корректное отображение baremetal портов в нейтрон порты.
Эт значит что надо либо networking-baremetal либо networking-generic-switch механизм использовать.
Nikolay
Включен baremetal в ml2
J
В ml2_conf.ini ты в mechanism_drivers прописал, наверное,
mechanism_drivers = ...., baremetal.
Nikolay
Ага
J
Ну и дальше, видимо, чтоб работало, тебе надо networking-baremetal настроить.
Добавить конфиг со свитчами которыми он должен рулить и все такое. А без этого, вероятно, чо-то будет ломаться.
С networking-baremetal проблема в том что он умеет пока, вроде, только netconf. А netconf на стареньких свитчах нету.
J
С твоих слов получается что тебе нейтрон нужен только чтобы конфиги бондов генерить и адреса раздавать?
Nikolay
да, но я думал и в flat должно работать
Nikolay
хорошо, как это работает в случае neutron
Nikolay
переключил на neutron
Nikolay
при запуске инстанса идет сразу networking, потом spawn
J
переключил на neutron
Порты которые тебе щас нейтрон создает с каким binding_vnic_type получаются? Есть ли там в binding_host_id uuid ironic ноды?
Nikolay
а в коде апдейт порта когда она станет active
Nikolay
VNIC Type
Normal
J
VNIC Type
Normal
А должен быть baremetal.
Стало быть, интеграция и не работает.
Nikolay
так я по маку вижу что не работает
Nikolay
/etc/kolla/neutron-server/ml2_conf.ini:mechanism_drivers = openvswitch,baremetal,l2population
Nikolay
вот похоже оно не ходит в baremetal
J
А не работает она потому что нейтрон считает что не надо порт настраивать. Он ваще не понимает что это baremetal порт.
Потому что ему нужен local_link_connection, я думаю.
Nikolay
а что в нем должно быть
Nikolay
ну а что туда рисовать
Nikolay
https://docs.openstack.org/ironic/latest/admin/multitenancy.html#multitenancy-physnets
Nikolay
вот по мурзилке там от свича заполняют, тут что затычку ставить?
J
Обязательные два поля. switch_id и port_id.
switch_id эт мак свитча.
https://docs.openstack.org/ironic/latest/admin/multitenancy.html
Но как только туда впишешь свитч, нейтрон начнет пытаться настроить порт, дергая ironic-neutron-agent. А он у тебя небось даже не установлен)
Nikolay
вот именно
Nikolay
а не стоит
Nikolay
только в логах у него пустовато
J
затычка не прокатит, смотри выше.
Я тебе предлагаю взять networking-generic-switch вместо networking-baremetal.
Но и с ним придется повозиться слегка)
Если не хочешь трогать реальные свитчи, надо будет править класс GenericSwitchDevice и ставить затычки на методы в NGS.
J
Ну или искать еще какую-то реализацию baremetal механизма-фальшивки.
J
Но проще звучит альтернатива вручную создавать в нейтроне порты для ironic нод.
Nikolay
т.е. тупо задеплоить ноду на сети flat/vlan на интерфейсе physnetX нет?
Nikolay
а как порт должен выглядеть?
J
Вот, в принципе, в этом древнем багрепорте рассказывается чо происходит.
https://bugs.launchpad.net/nova/+bug/1599836
Nikolay
присадил на ноду network neutron
Nikolay
стало ломатся на этапе network - Failure prepping block device
Nikolay
пойду почитаю этот анекдот
Nikolay
в создаваемый порт кроме type baremetal еще что набивать?
Nikolay
провижен и клин прописал с id целевой сети
Nikolay
вы прям про меня плохо думаете
Nikolay
но спасибо, лучше перебдеть
J
Наверное, хватит.
Nikolay
Vif type не baremetal?
Nikolay
Не я не помню
Nikolay
Надо писать в конфлюенс
Nikolay
Unable to attach VIF 016c2ede-9d28-40f1-9ae6-a71d91ae7695, not enough free physical ports
Nikolay
выше взрыв трейса ironic
Nikolay
уже хоть чтото
J
Nikolay
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| address | b4:96:91:a3:52:10 |
| created_at | 2023-08-15T16:09:56+00:00 |
| extra | {} |
| internal_info | {} |
| is_smartnic | False |
| local_link_connection | {} |
| node_uuid | af42cbf6-257e-47c0-9400-3059ce2344ba |
| physical_network | physnet2 |
| portgroup_uuid | 7de5ea3e-c707-4d40-9315-06598d82ed46 |
| pxe_enabled | False |
| updated_at | 2023-08-15T16:14:08+00:00 |
| uuid | 7e7ea89d-fc44-42a0-b18c-b5697c38499b |
+-----------------------+--------------------------------------+
Nikolay
ironic clinet api не смог
Nikolay
пойду рядлм логи посмотрю
J
Ты для начала без портгруппы попробуй хотя б)
Nikolay
ну кстати да
Nikolay
тоже самое
Konstantin
тоже самое
Место проклято, попробуй в другом ЦОДе развернуть :)
Nikolay
да я уже сидром заливаю, обычно помогает, а тут нет
J
А теперь попробуй с network_interface == flat чтоль)
Nikolay
подхватило
Nikolay
я на один из интерфейсов pxe еще накинул
Nikolay
таки надо port group
Nikolay
Завелось вроде с бондом
Nikolay
Осталось понять как я сложил пазл