- my ($vmid, $conf, $drive, $volname, $storeid, $files, $label) = @_;
+ my ($conf, $vmid, $drive, $volname, $storeid, $files, $label) = @_;
my $storecfg = PVE::Storage::config();
my $iso_path = PVE::Storage::path($storecfg, $drive->{file});
my $scfg = PVE::Storage::storage_config($storecfg, $storeid);
my $storecfg = PVE::Storage::config();
my $iso_path = PVE::Storage::path($storecfg, $drive->{file});
my $scfg = PVE::Storage::storage_config($storecfg, $storeid);
my $format = PVE::QemuServer::qemu_img_format($scfg, $volname);
my $size = PVE::Storage::file_size_info($iso_path);
eval {
run_command([['genisoimage', '-R', '-V', $label, $path],
my $format = PVE::QemuServer::qemu_img_format($scfg, $volname);
my $size = PVE::Storage::file_size_info($iso_path);
eval {
run_command([['genisoimage', '-R', '-V', $label, $path],
- ['qemu-img', 'dd', '-f', 'raw', '-O', $format,
+ ['qemu-img', 'dd', '-n', '-f', 'raw', '-O', $format,
+sub split_ip4 {
+ my ($ip) = @_;
+ my ($addr, $mask) = split('/', $ip);
+ die "not a CIDR: $ip\n" if !defined $mask;
+ return ($addr, $PVE::Network::ipv4_reverse_mask->[$mask]);
+}
+
'/openstack/content/0000' => $network_data,
'/openstack/latest/meta_data.json' => $meta_data
};
'/openstack/content/0000' => $network_data,
'/openstack/latest/meta_data.json' => $meta_data
};
- commit_cloudinit_disk($vmid, $conf, $drive, $volname, $storeid, $files, 'config-2');
+ commit_cloudinit_disk($conf, $vmid, $drive, $volname, $storeid, $files, 'config-2');
my $net = PVE::QemuServer::parse_net($conf->{$iface});
my $ipconfig = PVE::QemuServer::parse_ipconfig($conf->{"ipconfig$id"});
my $net = PVE::QemuServer::parse_net($conf->{$iface});
my $ipconfig = PVE::QemuServer::parse_ipconfig($conf->{"ipconfig$id"});
'/network-config' => $network_data,
'/meta-data' => $meta_data
};
'/network-config' => $network_data,
'/meta-data' => $meta_data
};
- commit_cloudinit_disk($vmid, $conf, $drive, $volname, $storeid, $files, 'cidata');
+ commit_cloudinit_disk($conf, $vmid, $drive, $volname, $storeid, $files, 'cidata');