On 11/21/19 12:58 PM, Thomas Lamprecht wrote:
On 11/21/19 11:04 AM, Mira Limbeck wrote:
With the noerr flag set in parse_volume_id we have to check if
$volname is defined before comparing it to 'cloudinit'.

Signed-off-by: Mira Limbeck <m.limb...@proxmox.com>
---
  PVE/API2/Qemu.pm | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 4dd329a..ed4e522 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -70,7 +70,7 @@ my $check_storage_access = sub {
        my $volid = $drive->{file};
        my ($storeid, $volname) = PVE::Storage::parse_volume_id($volid, 1);
- if (!$volid || ($volid eq 'none' || $volid eq 'cloudinit' || $volname eq 'cloudinit')) {
+       if (!$volid || ($volid eq 'none' || $volid eq 'cloudinit' || (defined($volname) 
&& $volname eq 'cloudinit'))) {
            # nothing to check
        } elsif ($isCDROM && ($volid eq 'cdrom')) {
            $rpcenv->check($authuser, "/", ['Sys.Console']);
@@ -148,7 +148,7 @@ my $create_disks = sub {
        if (!$volid || $volid eq 'none' || $volid eq 'cdrom') {
            delete $disk->{size};
            $res->{$ds} = PVE::QemuServer::print_drive($vmid, $disk);
-       } elsif ($volname eq 'cloudinit') {
+       } elsif (defined($volname) && $volname eq 'cloudinit') {
            $storeid = $storeid // $default_storage;
            die "no storage ID specified (and no default storage)\n" if 
!$storeid;
            my $scfg = PVE::Storage::storage_config($storecfg, $storeid);

applied, thanks!

As we had quite some issues, fixes, then regression with those fixes
for the cloudinit stuff, could you please add some tests?

My first idea was to add them to cfg2cmd, mocking the commit_cloudinit_disk
method which save it locally to the test dir as .cloudinit which can then
be compared to an expected file one.. So that we have at least some basic
coverage there..
Ok, will do that.

_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to