mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-06-24 08:36:10 +00:00
qemu-server: make nodename mock-able for tests
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
cbb39a7e79
commit
38277afcd4
@ -108,7 +108,11 @@ sub cgroups_write {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
my $nodename = PVE::INotify::nodename();
|
my $nodename_cache;
|
||||||
|
sub nodename {
|
||||||
|
$nodename_cache //= PVE::INotify::nodename();
|
||||||
|
return $nodename_cache;
|
||||||
|
}
|
||||||
|
|
||||||
my $cpu_vendor_list = {
|
my $cpu_vendor_list = {
|
||||||
# Intel CPUs
|
# Intel CPUs
|
||||||
@ -2805,6 +2809,7 @@ sub config_list {
|
|||||||
my $res = {};
|
my $res = {};
|
||||||
return $res if !$vmlist || !$vmlist->{ids};
|
return $res if !$vmlist || !$vmlist->{ids};
|
||||||
my $ids = $vmlist->{ids};
|
my $ids = $vmlist->{ids};
|
||||||
|
my $nodename = nodename();
|
||||||
|
|
||||||
foreach my $vmid (keys %$ids) {
|
foreach my $vmid (keys %$ids) {
|
||||||
my $d = $ids->{$vmid};
|
my $d = $ids->{$vmid};
|
||||||
@ -2863,7 +2868,7 @@ sub shared_nodes {
|
|||||||
|
|
||||||
my $nodelist = PVE::Cluster::get_nodelist();
|
my $nodelist = PVE::Cluster::get_nodelist();
|
||||||
my $nodehash = { map { $_ => 1 } @$nodelist };
|
my $nodehash = { map { $_ => 1 } @$nodelist };
|
||||||
my $nodename = PVE::INotify::nodename();
|
my $nodename = nodename();
|
||||||
|
|
||||||
foreach_drive($conf, sub {
|
foreach_drive($conf, sub {
|
||||||
my ($ds, $drive) = @_;
|
my ($ds, $drive) = @_;
|
||||||
@ -3461,6 +3466,7 @@ sub config_to_command {
|
|||||||
my $ostype = $conf->{ostype};
|
my $ostype = $conf->{ostype};
|
||||||
my $winversion = windows_version($ostype);
|
my $winversion = windows_version($ostype);
|
||||||
my $kvm = $conf->{kvm};
|
my $kvm = $conf->{kvm};
|
||||||
|
my $nodename = nodename();
|
||||||
|
|
||||||
my $arch = get_vm_arch($conf);
|
my $arch = get_vm_arch($conf);
|
||||||
my $kvm_binary = get_command_for_arch($arch);
|
my $kvm_binary = get_command_for_arch($arch);
|
||||||
@ -3884,7 +3890,6 @@ sub config_to_command {
|
|||||||
|
|
||||||
my $pciaddr = print_pci_addr("spice", $bridges, $arch, $machine_type);
|
my $pciaddr = print_pci_addr("spice", $bridges, $arch, $machine_type);
|
||||||
|
|
||||||
my $nodename = PVE::INotify::nodename();
|
|
||||||
my $pfamily = PVE::Tools::get_host_address_family($nodename);
|
my $pfamily = PVE::Tools::get_host_address_family($nodename);
|
||||||
my @nodeaddrs = PVE::Tools::getaddrinfo_all('localhost', family => $pfamily);
|
my @nodeaddrs = PVE::Tools::getaddrinfo_all('localhost', family => $pfamily);
|
||||||
die "failed to get an ip address of type $pfamily for 'localhost'\n" if !@nodeaddrs;
|
die "failed to get an ip address of type $pfamily for 'localhost'\n" if !@nodeaddrs;
|
||||||
@ -5318,7 +5323,7 @@ sub vm_start {
|
|||||||
if ($statefile eq 'tcp') {
|
if ($statefile eq 'tcp') {
|
||||||
my $localip = "localhost";
|
my $localip = "localhost";
|
||||||
my $datacenterconf = PVE::Cluster::cfs_read_file('datacenter.cfg');
|
my $datacenterconf = PVE::Cluster::cfs_read_file('datacenter.cfg');
|
||||||
my $nodename = PVE::INotify::nodename();
|
my $nodename = nodename();
|
||||||
|
|
||||||
if (!defined($migration_type)) {
|
if (!defined($migration_type)) {
|
||||||
if (defined($datacenterconf->{migration}->{type})) {
|
if (defined($datacenterconf->{migration}->{type})) {
|
||||||
@ -5458,7 +5463,7 @@ sub vm_start {
|
|||||||
|
|
||||||
#start nbd server for storage migration
|
#start nbd server for storage migration
|
||||||
if ($targetstorage) {
|
if ($targetstorage) {
|
||||||
my $nodename = PVE::INotify::nodename();
|
my $nodename = nodename();
|
||||||
my $localip = $get_migration_ip->($migration_network, $nodename);
|
my $localip = $get_migration_ip->($migration_network, $nodename);
|
||||||
my $pfamily = PVE::Tools::get_host_address_family($nodename);
|
my $pfamily = PVE::Tools::get_host_address_family($nodename);
|
||||||
my $storage_migrate_port = PVE::Tools::next_migrate_port($pfamily);
|
my $storage_migrate_port = PVE::Tools::next_migrate_port($pfamily);
|
||||||
|
@ -7,8 +7,12 @@ use lib qw(..);
|
|||||||
|
|
||||||
use Test::More;
|
use Test::More;
|
||||||
use Test::MockModule;
|
use Test::MockModule;
|
||||||
|
use Socket qw(AF_INET AF_INET6);
|
||||||
|
|
||||||
use PVE::Tools qw(file_get_contents file_set_contents run_command);
|
use PVE::Tools qw(file_get_contents file_set_contents run_command);
|
||||||
|
use PVE::INotify;
|
||||||
|
use PVE::SysFSTools;
|
||||||
|
|
||||||
use PVE::QemuConfig;
|
use PVE::QemuConfig;
|
||||||
use PVE::QemuServer;
|
use PVE::QemuServer;
|
||||||
use PVE::QemuServer::Monitor;
|
use PVE::QemuServer::Monitor;
|
||||||
@ -164,6 +168,26 @@ $pve_common_tools->mock(
|
|||||||
|
|
||||||
return '61000';
|
return '61000';
|
||||||
},
|
},
|
||||||
|
getaddrinfo_all => sub {
|
||||||
|
my ($hostname, @opts) = @_;
|
||||||
|
die "need stable hostname" if $hostname ne 'localhost';
|
||||||
|
return (
|
||||||
|
{
|
||||||
|
addr => Socket::pack_sockaddr_in(0, Socket::INADDR_LOOPBACK),
|
||||||
|
family => AF_INET, # IPv4
|
||||||
|
protocol => 6,
|
||||||
|
socktype => 1,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
my $pve_common_inotify;
|
||||||
|
$pve_common_inotify = Test::MockModule->new('PVE::INotify');
|
||||||
|
$pve_common_inotify->mock(
|
||||||
|
nodename => sub {
|
||||||
|
return 'localhost';
|
||||||
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
my $pve_common_sysfstools;
|
my $pve_common_sysfstools;
|
||||||
|
Loading…
Reference in New Issue
Block a user