OpenStack Boot Volume Пример: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
| Строка 156: | Строка 156: | ||
</PRE> |
</PRE> |
||
}} |
}} |
||
| + | ==workaround== |
||
| − | ==Удаление== |
||
| + | Что бы обойти баг, нужно удалить <code> signature_verified</cpde> |
||
| + | <PRE> |
||
| + | openstack volume show TMP-Vol-mmazur-20250903 -c volume_image_metadata -c id -f yaml |
||
| + | </PRE> |
||
| + | <PRE> |
||
| + | id: 4c587446-fbf0-4895-9c46-85278e24aaae |
||
| + | volume_image_metadata: |
||
| + | checksum: d4e18699850ed28cc79eac3e2ab9a811 |
||
| + | container_format: bare |
||
| + | disk_format: qcow2 |
||
| + | image_id: bfe4e997-ea19-440d-be2b-678ddf60699d |
||
| + | image_name: Ubuntu-2022-vdbench-mmazur-20250902-2 |
||
| + | min_disk: '0' |
||
| + | min_ram: '0' |
||
| + | owner_specified.openstack.md5: '' |
||
| + | owner_specified.openstack.object: images/Ubuntu-22.04 |
||
| + | owner_specified.openstack.sha256: '' |
||
| + | signature_verified: 'False' |
||
| + | size: '1374704640' |
||
| + | </PRE> |
||
| + | |||
| + | <PRE> |
||
| + | openstack volume unset --image-property signature_verified TMP-Vol-mmazur-20250903 |
||
| + | </PRE> |
||
| + | |||
| + | <PRE> |
||
| + | openstack volume show TMP-Vol-mmazur-20250903 -c volume_image_metadata -c id -f yaml |
||
| + | </PRE> |
||
| + | <PRE> |
||
| + | id: 4c587446-fbf0-4895-9c46-85278e24aaae |
||
| + | volume_image_metadata: |
||
| + | checksum: d4e18699850ed28cc79eac3e2ab9a811 |
||
| + | container_format: bare |
||
| + | disk_format: qcow2 |
||
| + | image_id: bfe4e997-ea19-440d-be2b-678ddf60699d |
||
| + | image_name: Ubuntu-2022-vdbench-mmazur-20250902-2 |
||
| + | min_disk: '0' |
||
| + | min_ram: '0' |
||
| + | owner_specified.openstack.md5: '' |
||
| + | owner_specified.openstack.object: images/Ubuntu-22.04 |
||
| + | owner_specified.openstack.sha256: '' |
||
| + | size: '1374704640' |
||
| + | </PRE> |
||
Версия 10:52, 4 сентября 2025
Загрузка с Volume
Задача:
- Создать загрузочный image с пред-установленным софтом
Запустить сервер
Чуть более полное описание, если хочется указать размер загрузочного диска отличного от того что описан в flavor
openstack \
--os-compute-api-version 2.67 \
server create \
--flavor m1.xlarge \
--network fixed-net \
--security-group allow_all \
--key-name mmazur \
--block-device source_type=image,uuid=c84178c9-eeb0-4dc9-915f-2fc5ee83044e,volume_size=20,volume_type=volumes-nvme,boot_index=0,delete_on_termination=true \
mmazur-test
source_type=imageсоздать блочное устройство (volume!) из imageuuid=c84178c9-eeb0-4dc9-915f-2fc5ee83044eid того образа из которого создаватьvolume_size=20размерvolume_type=volumes-nvmeтип (смотреть доступныеopenstack volume type list)boot_index=0delete_on_termination=trueудалить при удалении сервера
Настройка
Тут я не описываю шаги - так как для каждого случая это разные шаги :)
Очистить все лишнее
#!/bin/bash cloud-init clean --logs cloud-init clean rm -rf /var/lib/cloud/* truncate -s0 /etc/machine-id rm -f /var/lib/dbus/machine-id ln -sf /etc/machine-id /var/lib/dbus/machine-id 2>/dev/null || true rm -f /etc/udev/rules.d/70-persistent-net.rules
Создание временного volume
В моем случае мне нужно было найти образ размером 20Gb (рутовый вольюм) это мой частный случай
for ATTACHED_VOLUME_ID in $(openstack server show mmazur-test -f yaml | yq '.volumes[].id' );
do
echo "Volume: ${ATTACHED_VOLUME_ID}";
SIZE=$(openstack volume show ${ATTACHED_VOLUME_ID} -f yaml | yq '.size');
if [ "${SIZE}" == "20" ];
then
break;
fi;
done
Volume: 74cf8a7a-6b18-4ecb-b911-80ebcdaf82d0
Создать временный volume так как напрямую создать image с status: in use volume нельзя (это вероятно баг)
openstack volume create --source 74cf8a7a-6b18-4ecb-b911-80ebcdaf82d0 TMP-Vol-mmazur-20250903
output (1)
Исправление известного бага (workaround)
Описание бага
Это известный баг: the volume property signature_verified propagating to images created from volumes
Характерная ошибка в локах:
cinder.volume.flows.manager.create_volume cinder.exception.GlanceMetadataExists: Glance metadata cannot be updated, key signature_verified exists for volume id ...
В моей инсталляции опенстека еще не исправлена
openstack volume show
Проверить информацию о созданном volume
openstack volume show TMP-Vol-mmazur-20250903 -f yaml
output (2)
workaround
Что бы обойти баг, нужно удалить signature_verified</cpde>
openstack volume show TMP-Vol-mmazur-20250903 -c volume_image_metadata -c id -f yaml
id: 4c587446-fbf0-4895-9c46-85278e24aaae
volume_image_metadata:
checksum: d4e18699850ed28cc79eac3e2ab9a811
container_format: bare
disk_format: qcow2
image_id: bfe4e997-ea19-440d-be2b-678ddf60699d
image_name: Ubuntu-2022-vdbench-mmazur-20250902-2
min_disk: '0'
min_ram: '0'
owner_specified.openstack.md5: ''
owner_specified.openstack.object: images/Ubuntu-22.04
owner_specified.openstack.sha256: ''
signature_verified: 'False'
size: '1374704640'
openstack volume unset --image-property signature_verified TMP-Vol-mmazur-20250903
openstack volume show TMP-Vol-mmazur-20250903 -c volume_image_metadata -c id -f yaml
id: 4c587446-fbf0-4895-9c46-85278e24aaae
volume_image_metadata:
checksum: d4e18699850ed28cc79eac3e2ab9a811
container_format: bare
disk_format: qcow2
image_id: bfe4e997-ea19-440d-be2b-678ddf60699d
image_name: Ubuntu-2022-vdbench-mmazur-20250902-2
min_disk: '0'
min_ram: '0'
owner_specified.openstack.md5: ''
owner_specified.openstack.object: images/Ubuntu-22.04
owner_specified.openstack.sha256: ''
size: '1374704640'