我使用 XenServer 作为一次性 QA 机器的主机,用于我们的应用程序开发。我想编写一个脚本,自动从模板创建一个新的虚拟机,启动它,登录它,获取最新的应用程序构建并部署它。
我希望我的脚本使用“xe vm-install”安装虚拟机,使用“xe vm-start”启动它,等到它完成启动,通过 SSH 连接到它,然后执行应用程序安装过程。
问题是,“xe vm-start”命令不会阻止 shell。意思是,命令在机器完全加载之前返回。
任何人都知道我是否以及如何查询 Xen 的机器启动状态?
谢谢
无法判断您的机器是否已完成从外部启动操作系统...但是有两种方法可以解决此问题:
假设您的系统在完成加载服务时已启动并运行(例如 sshd。探测系统直到该服务启动并运行)。
将安装脚本添加到客户端完成启动后运行的客户端。让脚本从外部服务器拉下一个 shellscript 并执行它。
值得研究使用 xen-tools 并创建了一个用于获取/安装包的自定义角色