feat(lxc): передаём пользовательский пароль в create_lxc + валидация
This commit is contained in:
@@ -69,17 +69,20 @@ def _provision(instance_id: int, template_id: int, node: str) -> None:
|
|||||||
# Создание из существующего LXC по VMID не поддерживается.
|
# Создание из существующего LXC по VMID не поддерживается.
|
||||||
if not template.source_template:
|
if not template.source_template:
|
||||||
raise ValueError("У LXC-шаблона не указан source_template")
|
raise ValueError("У LXC-шаблона не указан source_template")
|
||||||
# create_lxc делает всё сам: ostemplate → passwd → resize → start.
|
if not instance.root_password:
|
||||||
password = pve.create_lxc(
|
raise ValueError("Для LXC необходимо задать пароль")
|
||||||
|
# Пароль задаёт сам пользователь в форме — приходит через cipassword
|
||||||
|
# и сохраняется в instance.root_password. Передаём его в create_lxc.
|
||||||
|
pve.create_lxc(
|
||||||
new_vmid=instance.vmid,
|
new_vmid=instance.vmid,
|
||||||
name=clean_name,
|
name=clean_name,
|
||||||
template_volid=template.source_template,
|
template_volid=template.source_template,
|
||||||
|
password=instance.root_password,
|
||||||
cores=template.cores,
|
cores=template.cores,
|
||||||
memory_mb=template.memory_mb,
|
memory_mb=template.memory_mb,
|
||||||
disk_gb=template.disk_gb,
|
disk_gb=template.disk_gb,
|
||||||
node=node,
|
node=node,
|
||||||
)
|
)
|
||||||
instance.root_password = password
|
|
||||||
|
|
||||||
instance.status = models.InstanceStatus.running
|
instance.status = models.InstanceStatus.running
|
||||||
logger.info("Инстанс %s (vmid=%s) создан и запущен", instance.id, instance.vmid)
|
logger.info("Инстанс %s (vmid=%s) создан и запущен", instance.id, instance.vmid)
|
||||||
|
|||||||
Reference in New Issue
Block a user