From 728c08b2f0055d4887c1ca50d9bb00921f1ff1ed Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Fri, 8 Mar 2024 10:43:16 +0100 Subject: [PATCH] esxi: separate disks and network Signed-off-by: Wolfgang Bumiller --- src/PVE/Storage/ESXiPlugin.pm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/PVE/Storage/ESXiPlugin.pm b/src/PVE/Storage/ESXiPlugin.pm index 2ce3ce4..badb34e 100644 --- a/src/PVE/Storage/ESXiPlugin.pm +++ b/src/PVE/Storage/ESXiPlugin.pm @@ -890,14 +890,14 @@ sub smbios1_uuid { # This builds arguments for the `create` api call for this config. sub get_create_args { - my ($self, $default_storage) = @_; - - $default_storage //= 'local'; + my ($self) = @_; my $storeid = $self->storeid; my $manifest = $self->manifest; my $create_args = {}; + my $create_disks = {}; + my $create_net = {}; my $ignored_volumes = {}; my ($cores, $sockets) = $self->cpu_info(); @@ -907,7 +907,7 @@ sub get_create_args { my $firmware = $self->firmware; if ($firmware eq 'efi') { $create_args->{bios} = 'ovmf'; - $create_args->{efidisk0} = "$default_storage:1"; + $create_disks->{efidisk0} = 1; } else { $create_args->{bios} = 'seabios'; } @@ -936,10 +936,9 @@ sub get_create_args { $mac //= ''; my $model = $dev->{virtualDev} // 'vmxnet3'; - my $param = "model=$model"; - $param .= ",macaddr=$mac" if length($mac); - $param .= ",firewall=1"; - $create_args->{"net$id"} = $param; + my $param = { model => $model }; + $param->{macaddr} = $mac if length($mac); + $create_net->{"net$id"} = $param; }); my %counts = ( scsi => 0, sata => 0, ide => 0 ); @@ -980,7 +979,7 @@ sub get_create_args { $create_args->{"${bus}${count}"} = "none,media=cdrom"; $ignored_volumes->{"${bus}${count}"} = "$storeid:$path"; } else { - $create_args->{"${bus}${count}"} = "$default_storage:0,import-from=$storeid:$path"; + $create_disks->{"${bus}${count}"} = "$storeid:$path"; } $boot_order .= ';' if length($boot_order); @@ -1020,6 +1019,8 @@ sub get_create_args { return { type => 'vm', 'create-args' => $create_args, + disks => $create_disks, + net => $create_net, 'ignored-volumes' => $ignored_volumes, }; }