nova 通过 qemu-guest-agent 修改用户密码

背景:

    Openstack 的命令行工具中有 修改用户密码的命令。但是如果不做任何修改(配置)的话,无法正常工作。为了让其能够正常工作。我们需要做如下步骤。

大前提 libvirt >=1.2.6在nova can_set_password 函数判断了支持该功能的版本号。

 

 

  1. 首先添加镜像(以ubuntu16.04LTS 为例)。并且给镜像添加两个属性:

#  openstackimage create --file ubuntu-16.04-server-cloudimg-amd64-disk1.img  --disk-format qcow2 --propertyhw_qemu_guest_agent=yes --public Ubuntu-amd64-16.04LTS

# openstack image set --propertyos_admin_user=ubuntu Ubuntu-amd64-16.04LTS

Note: 其中,hw_qemu_guest_agent=yes 表明 image支持qemu guest agent,即可以支持该agent对应的相应操作。下文会提到如何修改ubuntu原生的qcow2 image安装qemu guest agent。 另外一个参数: 是指定 镜像的admin用户名:比如ubunt默认的是ubuntu,CentOS默认的是centos。如果不在镜像中配置该属性,linux会用root、win会有adminxxx.这个在nova的代码中有体现,回头会写一篇相关的源码分析文章。

当image中添加了hw_qemu_guest_agent=yes.之后,nova在创建使用该image的vm的时候就会在xml文件中多出一个设备,如下:

  <devices>

    <disk type="file"device="disk">

      <driver name="qemu"type="qcow2" cache="none"/>

      <sourcefile="/opt/stack/data/nova/instances/be0a2055-3212-421f-b911-59d9d6dd76f8/disk"/>

      <target bus="virtio"dev="vda"/>

    </disk>

    <interfa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值