OpenStack 密码注入

现状 实例可以创建,可以使用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这个默认密码。

原文地址:https://www.cnblogs.com/CLTANG/p/4332607.html