Pavel
как ининму если юзиьт grub2 при disk-image-create оно на убунте валится потому что нет uefi
Pavel
у меня пока тестовый полигон
Dmitry
Вместо capabilities='{"boot_option": "local"}' можно в ironic.conf поставить default_boot_option=local
Dmitry
Ну и в последних версиях root_gb=70 не нужен для полных образов (раньше было нужно из-за бага).
Pavel
ещебы теперь uefi победить и каким то образом говорить какие конфги менять (например сети, бонд собрать, ip статический назначить)
Pavel
хм попробую убрать root_gb
Dmitry
Я пробовал UEFI только на CentOS/RHEL, там было достаточно прямолинейно, кажется
Dmitry
Наверное, надо DIB сказать, чтобы создал UEFI partition
Dmitry
Ну и GPT, конечно
Pavel
последнее что я виде лв логах при попытках запуститься на uerfi это было что ipa не может с ним работать. Но это было до того как я все завел. буду пробовать дальше
Dmitry
У нас в CI работает UEFI, при желании можно посмотреть, что мы там делаем
Dmitry
Там как раз убунта
Pavel
то что gpt это понятно. Тут сразу куча всего начина от запуска PXE c ueif и дальше в ipa смотреть.
буду признателен за хотя бы что-то по uefi
Dmitry
В доках есть по настройке iPXE для UEFI. Вот этот job использует UEFI, посмотри любой успешный прогон: https://zuul.opendev.org/t/openstack/builds?job_name=ironic-tempest-ipa-partition-uefi-pxe_ipmitool-tinyipa
Dmitry
А вот, что мы в metal3 делаем с dnsmasq: https://github.com/metal3-io/ironic-image/blob/master/dnsmasq.conf.j2
Dmitry
UEFI, IPv6, все дела
Dmitry
из настроек только https://github.com/metal3-io/ironic-image/blob/master/ironic.conf#L52 вроде
Dmitry
В принципе, в доках это всё должно быть
J
В образах которые whole disk тоже ничего хитрого, просто создавать esp и собирать нужно тогда тоже на системе которая загружена в uefi режиме.
J
А для partition образов ironic сам все сделает.
J
Кстати, повторю свой давний вопрос.
Никто не видел проблем с тем что ubuntu временами затупливает и не шлет будто бы dhcp request dnsmasq?
Pavel
Я пока такого не видел. В убунте неплан или классический ifup?
Roman
А никто не знает, как построена сеть в облаке хецнера?
Pavel
@creepy_owlet можно ли выполнять хуки после того как раскатался whole_disk_image?
Pavel
то искать в ironic-python-agent или ironic
Pavel
я почти добил uefi но мне нужно переустановить grub чтобы он добавитл запись в NVRAM уже пщсле того как раскатает образ
J
J
You are in a world of shit)
Pavel
"какой-то у вас чатик токсичный" :)
J
"какой-то у вас чатик токсичный" :)
До токсичности есть дело только всяким левым субкультурам и психически неустойчивым)
Не, я о том что у меня такая ж проблема была когда hw manager для софтового рейда делал и там пришлось допиливать image extension в ipa.
Насколько знаю, хуков никаких так и нету, поэтому тебе придется ровно то же самое делать.
J
А раз все равно ipa допиливать, можно сделать уж сразу и нормальный hw manager для lvm чтоб не возиться с whole disk.
Pavel
:( билятъ. "Йобиний жизън" (с) прапор
Dmitry
Мы работаем надо возможностью хуков
J
Dmitry
Если меня не отвлекут и я не сойду с ума, закончим в Ussuri
Dmitry
Dmitry
Не это ли тебе нужно: https://opendev.org/openstack/ironic-python-agent/commit/b6210be196fea271b2c49f89d3e1638517c1198c
Pavel
очень похоже на то что нужно
Dmitry
Этот патч есть в Ussuri и Train, добавили сравнительно недавно.
Dmitry
В Stein тоже, вроде.
Dmitry
А вообще, если хочется хардкора, есть вот эта штука ещё https://docs.openstack.org/ironic/latest/admin/drivers/ansible.html
J
Такой уж сегодня день у меня. Извините)
>Ansible is a mature
:-\
Aleksey
@creepy_owlet я же говорил что мы будем топтаться по этим же граблям :)
Dmitry
Святое дело!
Aleksey
Setplus
Подскажите, пожалуйста, может, кто сталкивался:
хочу посмотреть типы поддерживаемых дистрибутивов в virt-install:
virt-install --os-variant list
Однако на выходе получаю:
ERROR
--name is required
--memory amount in MiB is required
И т.д. То есть, почему прога переключает меня в режим создания инстанса и не хочет показывать список
Эта возможность уже отключена?
Dmitry
Можно посмотреть в логах IPA, почему этого не происходит.
Pavel
grep 'Looking for all efi files' journal - пусто
pxe_append_params = systemd.journald.forward_to_console=yes ipa-debug=1 nofb nomodeset vga=normal
hbox2
Dmitry
Pavel
Pavel
та вообще нет ничего из фунткции install_bootloader
Dmitry
Эмм, странно. boot_option=local?
Pavel
Dmitry
Не уверен, что это отвечает на мой вопрос..
Pavel
--instance-info capabilities='{"boot_option": "local"}
Dmitry
Pavel
--instance-info capabilities='{"boot_option": "local", "boot_mode":"uefi", "secure_boot": "true"}' \
Pavel
secure_boot - без нее не будет все в uefi. Мне и деплой нужен в uefi иначе граб не увидит uefi и не поставит все что нужно
Dmitry
это правильно, хотя secure_boot не должен быть нужен..
Dmitry
возможно, дело в том, что capability boot_mode идёт в properties:
Dmitry
openstack baremetal node set <node-uuid> --property capabilities='boot_mode:uefi'
Dmitry
(из https://docs.openstack.org/ironic/latest/install/advanced.html#boot-mode-support )
Dmitry
А в instance_info это отдельное поле, называющееся deploy_boot_mode, и я в упор не помню, почему мы так сделали...
Dmitry
Я ща в исходники смотрю, boot_mode берётся из properties, остальное - из instance_info. That's why we can't have nice things.
Dmitry
*идёт править доки*
J
Pavel
че в двух места uefi?
Dmitry
Если очень вкратце, потому что nova :)
Dmitry
Мы с ней через эти самые capabilities общаемся. То, что в properties, идёт от ironic к нове. То, что в instance_info, идёт от новы к ironic.
Pavel
secure_boot нужен обязательно. иначе deploy запустится в legacy а /sys/firmware/efi не будет и дальнейшие дествия с efimanger будут пропущены
Dmitry
Pavel
def get_boot_info(self):
boot_mode = 'uefi' if os.path.isdir('/sys/firmware/efi') else 'bios'
LOG.debug('The current boot mode is %s', boot_mode)
pxe_interface = utils.get_agent_params().get('BOOTIF')
return BootInfo(current_boot_mode=boot_mode,
pxe_interface=pxe_interface)