clone_vm: auto generate new uuid

This commit is contained in:
Dietmar Maurer 2014-08-26 09:20:09 +02:00
parent 56d12660b4
commit cd11416f7a
2 changed files with 21 additions and 0 deletions

View File

@ -2279,6 +2279,14 @@ __PACKAGE__->register_method({
}
}
# auto generate a new uuid
my ($uuid, $uuid_str);
UUID::generate($uuid);
UUID::unparse($uuid, $uuid_str);
my $smbios1 = PVE::QemuServer::parse_smbios1($newconf->{smbios1} || '');
$smbios1->{uuid} = $uuid_str;
$newconf->{smbios1} = PVE::QemuServer::print_smbios1($smbios1);
delete $newconf->{template};
if ($param->{name}) {

View File

@ -1407,6 +1407,19 @@ sub parse_smbios1 {
return $res;
}
sub print_smbios1 {
my ($smbios1) = @_;
my $data = '';
foreach my $k (keys %$smbios1) {
next if !defined($smbios1->{$k});
next if !$valid_smbios1_options->{$k};
$data .= ',' if $data;
$data .= "$k=$smbios1->{$k}";
}
return $data;
}
PVE::JSONSchema::register_format('pve-qm-smbios1', \&verify_smbios1);
sub verify_smbios1 {
my ($value, $noerr) = @_;