Size: a a a

OpenStack — русскоговорящее сообщество

2020 March 05

DT

Dmitry Tantsur in OpenStack — русскоговорящее сообщество
Мы с ней через эти самые capabilities общаемся. То, что в properties, идёт от ironic к нове. То, что в instance_info, идёт от новы к ironic.
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
secure_boot нужен обязательно. иначе  deploy запустится в legacy а /sys/firmware/efi не будет и дальнейшие дествия с efimanger будут пропущены
источник

DT

Dmitry Tantsur in OpenStack — русскоговорящее сообщество
Pavel Kolobaev
secure_boot нужен обязательно. иначе  deploy запустится в legacy а /sys/firmware/efi не будет и дальнейшие дествия с efimanger будут пропущены
Это не из-за secure_boot, это из-за того, что capability не там.
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
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)
источник

DT

Dmitry Tantsur in OpenStack — русскоговорящее сообщество
Просто secure_boot подразумевает uefi.
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
Dmitry Tantsur
Просто secure_boot подразумевает uefi.
источник

DT

Dmitry Tantsur in OpenStack — русскоговорящее сообщество
Да, но тебе нужно идти по одному из этих путей: https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/boot_mode_utils.py#L238-L240
источник

DT

Dmitry Tantsur in OpenStack — русскоговорящее сообщество
Просто secure_boot форсирует uefi в обход остальных проверок: https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/boot_mode_utils.py#L212
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
я запустил тест
openstack baremetal node set --instance-info image_source=http://10.220.36.25:8080/centos7.qcow2 \
   --boot-interface ipxe \
   --instance-info image_checksum=$MD5SUM \
   --instance-info capabilities='{"boot_option": "local", "boot_mode":"uefi", "secure_boot": "true"}' \
   --property capabilities='boot_mode:uefi' \
   3535be75-da4b-4201-bf00-aeeb34f236a5
openstack baremetal node deploy 3535be75-da4b-4201-bf00-aeeb34f236a5 --config-drive '{"meta_data": {"hostname": "server1.cluster"}}'
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
property capabilities  это же json?
источник

DT

Dmitry Tantsur in OpenStack — русскоговорящее сообщество
это обычно старый формат key1:value1,key2:value2
источник

DT

Dmitry Tantsur in OpenStack — русскоговорящее сообщество
вроде, JSON тоже поддерживается
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
тогда не поканало. не загрузился. пошел логи смотреть
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
И json там ironic не пережовывает. 500 начинает отдавать
источник

DT

Dmitry Tantsur in OpenStack — русскоговорящее сообщество
Да, наверное, только старый формат.
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
не все равно не вызывает image.py
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
только ironic_python_agent.extensions.standby  есть
источник

DT

Dmitry Tantsur in OpenStack — русскоговорящее сообщество
в логах ironic-conductor есть что-то типа 'Deploy boot mode is uefi for ...'?
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
2020-03-05 10:08:20.285 67767 DEBUG ironic.drivers.modules.boot_mode_utils [req-904fc9e6-61c5-4af7-a073-e470e9814e49 - - - - -] Deploy boot mode is uefi for 3535be75-da4b-4201-bf00-aeeb34f236a5. get_boot_mode_for_deploy /usr/lib/python2.7/site-packages/ironic/drivers/modules/boot_mode_utils.py:213
источник

PK

Pavel Kolobaev in OpenStack — русскоговорящее сообщество
да есть
источник