現狀 例項可以建立,可以使用vnc,可以ssh,但是就是密碼要使用預設tima123,要修改密碼必須進入虛擬機器。實際場景中如果使用者將密碼修改後忘記,需要重置密碼則我們作為管理員也沒有辦法。這在實際需求中是不可以接受的。
目標 在建立的時候有密碼修改功能,並且例項建立後能重置密碼。
辦法 1.在openstack叢集的計算節點的/etc/nova/nova.conf配置檔案中,有配置:
#libvirt_inject_password=false libvirt_inject_password=true
將原來的false改為true,記住,所有的計算節點都需要修改.
2. 重啟所有計算節點的nova-compute,重新建立一臺虛擬機器,並且做修改密碼操作,檢視日誌:
<0>Oct 14 08:05:23 node-12 驢<182>nova-nova.virt.libvirt.driver INFO: Injecting key into image 36306baa-8ca4-4b8f-adfd-917c570b0c53 <0>Oct 14 08:05:23 node-12 驢<180>nova-nova.virt.disk.api WARNING: Ignoring error injecting data into image (Error mounting /var/lib/nova/instances/8e100dca-1e70-4012-8cb1-f175d7ff6291/disk with libguesfs (command failed: LC_ALL=C '/usr/libexec/qemu-kvm' -nographic -help errno: File exists If qemu is located on a non-standard path, try setting the LIBGUESTFS_QEMU environment variable. There may also be errors printed above.))
可以看到這裡提示相關LC_ALL=C '/usr/libexec/qemu-kvm'執行出錯。 實際上我們的計算節點的qemu-kvm是在/usr/bin/qemu-kvm這個路徑,設定LIBGUESTFS_QEMU
export LIBGUESTFS_QEMU='/usr/bin/qemu-kvm'
在次重啟nova-compute,在次重新建立例項。 可以看到新建立的例項已經能使用我們設定的密碼的登入了,而不用使用tima123這個預設密碼。