我使用vSphere CLI 6.5.0从Perl脚本重置VM。这是一个用于Pacemaker的(专有的) STONITH插件。
在STONITH之后,journalctl -u pacemaker会立即在属于vSphere CLI的vmcontrol.pl中报告警告。该警告是由fence_legacy报告的,该公司属于起搏器。
Use of uninitialized value $hostname in concatenation (.) or string at
/opt/vmware-vsphere-cli-distrib/apps/vm/vmcontrol.pl line 168.在此上下文中对UTIL::trace的调用中出现错误:
sub reset_vm {
foreach (@$vm_views) {
my $mor_host = $_->runtime->host;
my $hostname = Vim::get_view(mo_ref => $mor_host)->name;
eval {
$_->ResetVM();
Util::trace(0, "\nvirtual machine '" . $_->name . "' under host".
" $hostname reset successfully ");
};我想知道这是一个特性还是一个bug。是否会因为虚拟机正在重新启动而导致无法报告主机名(因此无法初始化$hostname )时,Vim::get_view才会与VMware通信?
这听起来不太可能(例如,因为对ResetVM的调用发生在对$hostname的赋值之后),但我怀疑发生了类似这样的事情,在这种情况下,可以忽略警告。我还怀疑这个问题与起搏器CLI本身有关(即不是由在起搏器堆栈中使用vSphere引起的)。
https://stackoverflow.com/questions/47593644
复制相似问题