【问题标题】:How is the virt-install --extra-args parameter implemented in source codevirt-install --extra-args 参数在源码中是如何实现的
【发布时间】:2021-11-10 10:11:14
【问题描述】:

virt-install 如何实现--extra-args 参数? 我查看了Python源代码,没有发现任何信息。

virt-install \
   --connect qemu+ssh://root@192.168.xx.xx:22/system \
   --name centos7 \
   --ram 1024 \
   --disk path=/data/kvm/centos7.qcow2,size=8 \ 
   --vcpus 1 \
   --os-type linux \
   --os-variant centos7 \
   --network bridge=virbr0 \
   --nographics --noautoconsole \
   --location 'nfs://192.168.xx.xx/usr/share/nginx/html/Centos7' \ 
   --extra-args 'console=ttyS0 --device=ens33 ip=192.168.xx.xx netmask=255.255.255.0 gateway=192.168.xx.xx ks=http://192.168.xx.xx/ks.cfg'

【问题讨论】:

标签: python kvm


【解决方案1】:

源代码在 GitHub 上,命令行参数添加到argparse.ArgumentParserhere

我使用以下代码找出--extra-args 中的连字符发生了什么:

>>> import argparse
>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument("-x", "--extra-args")
>>> parser.parse_args([])
Namespace(extra_args=None)

如您所见,- 被替换为 _,因此使用 extra_args 检索参数。

然后我用 GitHub 搜索了整个仓库:https://github.com/virt-manager/virt-manager/search?q=extra_args 如果本地有代码,也可以使用自己喜欢的IDE的“Search Everywhere”功能。

现在祝你好运,分析参数在源代码中的实际作用!

【讨论】:

  • '--extra-args'中的'ks'如何与'ip netmask gateway'交互?
猜你喜欢
  • 2011-09-02
  • 2016-11-17
  • 2020-08-11
  • 2018-06-20
  • 2016-11-05
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多