fix: LXC clone doesn't accept hostname parameter - set via config instead
This commit is contained in:
@@ -485,21 +485,28 @@ class Proxmox extends ClassServer
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create the VM/CT - use template's vmType for source path
|
// Create the VM/CT - use template's vmType for source path
|
||||||
$cloneResult = $this->requestAndWait('/nodes/' . $server->node->name . '/' . $templateVmType . '/' . $server->os->vm_id . '/clone', 'post', [
|
// Clone parameters differ between KVM and LXC
|
||||||
|
$cloneParams = [
|
||||||
'newid' => $server->vm_id,
|
'newid' => $server->vm_id,
|
||||||
'hostname' => $server->hostname,
|
|
||||||
'target' => $server->node->name,
|
'target' => $server->node->name,
|
||||||
'full' => 1,
|
'full' => 1,
|
||||||
'storage' => $server->node->storage_location,
|
'storage' => $server->node->storage_location,
|
||||||
'pool' => $settings['pool'] ?? null,
|
'pool' => $settings['pool'] ?? null,
|
||||||
], $server->node->name);
|
];
|
||||||
|
|
||||||
|
// KVM accepts 'name' for hostname during clone, LXC sets hostname via config after clone
|
||||||
|
if ($templateVmType === 'qemu') {
|
||||||
|
$cloneParams['name'] = $server->hostname;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cloneResult = $this->requestAndWait('/nodes/' . $server->node->name . '/' . $templateVmType . '/' . $server->os->vm_id . '/clone', 'post', $cloneParams, $server->node->name);
|
||||||
|
|
||||||
if ($cloneResult !== 'stopped' && $cloneResult !== 'OK') {
|
if ($cloneResult !== 'stopped' && $cloneResult !== 'OK') {
|
||||||
\Log::error('Proxmox VM/CT clone failed for server ' . $server->id, [
|
\Log::error('Proxmox VM/CT clone failed for server ' . $server->id, [
|
||||||
'result' => $cloneResult,
|
'result' => $cloneResult,
|
||||||
'vm_id' => $server->vm_id,
|
'vm_id' => $server->vm_id,
|
||||||
'node' => $server->node->name,
|
'node' => $server->node->name,
|
||||||
'type' => $vmType,
|
'type' => $templateVmType,
|
||||||
]);
|
]);
|
||||||
$server->status = 'error';
|
$server->status = 'error';
|
||||||
$server->save();
|
$server->save();
|
||||||
|
|||||||
Reference in New Issue
Block a user