Nikolay
кандактор тоже не помог
Petr
а там этот косяк с самого добавления
https://opendev.org/openstack/ironic/commit/653d4e4ef55bf5acb315339eb79018c0e432c210
Slava
Slava
надо условия найти
Nikolay
нашел, sed по var/lib/docker
Petr
надо условия найти
Вот как раз на функции def validate_network_data(network_data): и валится
def validate_network_data(network_data):
"""Validates node network_data field.
This method validates network data configuration against JSON
schema.
:param network_data: a network_data field to validate
:raises: Invalid if network data is not schema-compliant
"""
with open(NETWORK_DATA_SCHEMA, 'rb') as fl:
network_data_schema = json.load(fl)
try:
jsonschema.validate(network_data, network_data_schema)
except json_schema_exc.ValidationError as e:
# NOTE: Even though e.message is deprecated in general, it is
# said in jsonschema documentation to use this still.
msg = _("Invalid network_data: %s ") % e.message
raise exception.Invalid(msg)
Nikolay
Ну а кто использует этот метод
Petr
Я использовал, но там не было bond, поэтому не попал на этот баг :)))
Nikolay
не, эти файлы в контенере кандактор и api я пропатчил - не помогло
Slava
for network_data in network_data_fields:
validate_network_data(network_data)
Slava
в node.py
Nikolay
блин, да сервис опенстка какой
Slava
вызов [path] /
надо endpoint найти
Slava
# NOTE(lucasagomes): For future reference. If we happen
# to need to add another sub-controller in this class let's
# try to make it a parameter instead of an endpoint due
# https://bugs.launchpad.net/ironic/+bug/1572651, e.g, instead of
# v1/nodes/(ident)/detail we could have v1/nodes/(ident)?detail=True
Nikolay
(ironic-api)# find / -name network-data-schema.json | grep 802.1ad 2>/dev/null
Nikolay
чисто, по логике оно должно идти в ironic API
Slava
типа
curl -X PACTH 1.1.1.1/v1/nodes/(ident)/detail
делается вызов списка сетей и происходит валидация
Nikolay
ну это baremetal
Nikolay
оно не по другому пути разве
Slava
а доку смотрели?
https://docs.openstack.org/api-ref/baremetal/
Slava
Slava
прастити
Nikolay
Можно кусок network_data.json, где обьявляется bond
У меня это выглядит так
"links": [
{
"ethernet_mac_address": "MAC1",
"id": "eth0",
"type": "phy",
"mtu": "9000"
},
{
"ethernet_mac_address": "MAC2",
"id": "eth1",
"type": "phy",
"mtu": "9000"
},
{
"id": "bond0",
"type": "bond",
"mtu": "9000",
"bond_mode": "802.3ad",
"bond_xmit_hash_policy": "layer3+4",
"bond_links": [
"eth0",
"eth1"
]
},
скормил, нифига
Petr
У меня в контейнере код от йоги с такой же багой, попробую воспроизвети....
Slava
Petr
Это да, но менять код внутри контейнера - это не всегда хорошо :)))
Я думаю подложить через конфиг с вой файлик и посмотреть.
Nikolay
да ладно контенеров с таким файлом всего 4
Nikolay
kolla не дает совать в контенер все подряд
Nikolay
борь перечитай сначала, а то ты как обычно галопом
Nikolay
ironic-pxe
ironic-tftp
ironic-api
ironic-conductor
Nikolay
превые два нет, посление я патчил
Nikolay
так надо увидеть что там сломалось, сейчас почищу, но там на вскидку не видно
Nikolay
на кандакторе стоит, щаз api лапки зомну
Nikolay
ну уходит запрос в endpoint ironic
Nikolay
толко в wsgi нашел ошметок
Nikolay
2023-08-10 17:47:13.229 24 DEBUG ironic.api.method [req-c2456b76-d775-4779-8b84-76f49bcb1c75 b0e3561b735f42a48d160355ad96a1f2 6c7f33efc4224f0f95bf230508b8fdea - default default] Client-side error: Invalid network_data: 'bond' is not one of ['bridge', 'dvs', 'hw_veb', 'hyperv', 'ovs', 'tap', 'vhostuser', 'vif', 'phy'] format_exception /var/lib/kolla/venv/lib/python3.6/site-packages/ironic/api/method.py:124
Nikolay
Нет повода не выпить короче
Nikolay
"l2_bond": {
"$id": "#/definitions/l2_bond",
"type": "object",
"title": "L2 bonding interface configuration settings",
"required": [
"ethernet_mac_address",
"id",
"type",
"bond_mode",
"bond_links"
],
Nikolay
к вопросу о mac
Nikolay
с ним прокатило
Nikolay
Какая прелесть, мой любимый клудинит, думал я ему все переломал, но нет
Nikolay
Эта скотина еще нормально не может в netplan конвертнуть
Nikolay
На самом деле v1 Нетворк заброшен давно
Nikolay
А другой формат через хероник протянуть есть варианты?
Nikolay
Ну 5 лет назад я изобрёл один способ
Nikolay
Userdata:
File : /etc/cloud/..
Runcmd:
Echo nocloud
Cloud-init clean
Cloud-init init
Nikolay
Ну грязненько а что делать
Nikolay
Это вообще не про то
Nikolay
Утречка
Nikolay
baremenal node options и instance options немного разные
Nikolay
Отлично
Oleg
Коллеги добрый день. Развернул колу, пытаюсь разбираться с watcher. Аудит на базе workload_balancing/workload_stabilization возвращает пустой акшенплан. Посмотрел стратегия работает на метриках instance_cpu_usage instance_ram_usage а с инстансов собираются только метрики cpu disk.ephemeral.size disk.root.size memory.usage memory vcpus. Подскажите пожалуйста как добиться балансировки нагрузки на кластере?
Oleg
вообще вотчер это живой проект им кто-нибудь пользуется?
Oleg
а вы чем пользуетесь?
Oleg
а есть ченибудь почитать как это делается? мож инструкция какая?
Oleg
Oleg
при превышении этих значении nova будет инстансы на другие хосты мигрировать?
Oleg
просто тут какаято гибкость присутствует. допустим чтобы виртульные машинки ровным слоем по хостам размазывались
Oleg
вот.... а для балансировки никаких решений нет?
Oleg
ну типа как на варе дрс
Oleg
мне непонятно, вот если машинка уже создана и находится на конкретном хосте, пользователь берет и увеличивает ей ресурсы в потолок хоста -> хост становится раком. Мне кажется здесь нова оверкомит непоможет, нужна именно балансировка....
J
J
И машина пихается на наиболее подходящий гипервизор.
J
Короче, без лишних многословных рассуждений, "как в вмваре" нельзя.
Oleg
да, я про квм и имел ввиду что налету увеличить до максимума, ну раз она в этот момент примет решение о миграции то все хорошо. Попробую поиграться с этими параметрами... Спасибо
J
А в nova работает разве онлайн ресайз?
Nikolay
Я может что упустил, откуда ресайз в опенстеке
J
Nikolay
Ну мне не надо было
Nikolay
Я же его как клиент не пользую
Nikolay
Кстати да немеций
Nikolay
Кстати да, преподовательпо специальности математика
Nikolay
что еще свангуете?
Oleg
если правильно нагуглил то надо секцию дефаулт поправить в nova-compute/nova.conf
cpu_allocation_ratio = 4.0
ram_allocation_ratio = 0.9
Oleg
так примерно?
J
J
Ядра будут у тебя выделяться с арсчетом 4 к одному.
То есть, можно впихнуть в 4 раза больше чем есть на хосте.
J
Памяти можно под виртуалки 0.9 от общего объема.
Но это бессмысленно. Ставь тогда уж единицу и резервируй через предназначенные для этого параметры.
[DEFAULT]
reserved_host_memory_mb
reserved_host_cpus
reserved_host_disk_mb
Oleg