我正在使用openstack通过'nova boot‘命令创建一个VM。我的镜像启用了cloud-init。我传递了一个--user-data脚本,它是一种bash shell格式,供cloud-init在VM启动时运行。所有这些都成功地实现了。现在,我的用例是重新运行cloud-init来执行相同的用户数据脚本,而无需重启VM。我看到了/usr/bin/cloud-init选项,它们确实谈到了运行特定模块,但没有什么能够让它执行相同的用户数据脚本。如何才能做到这一点?任何帮助都将不胜感激。
发布于 2014-04-28 03:42:15
为了让cloud-init重置,您需要执行rm -rf /var/lib/cloud/instances。
然后重新运行cloud-init start,它将再次运行完整的引导脚本过程。
发布于 2018-06-18 22:09:25
命令已更新,因此要重新运行,您需要clean出现有配置:
sudo cloud-init clean然后使用init指令重新运行它:
sudo cloud-init init注意:像ssh主机密钥这样的东西可能会重新生成。
发布于 2017-02-02 12:51:22
因为这会在搜索结果中不断出现,所以对我有效的方法是:
/var/lib/cloud/instances/i-xxxxxxx/sem中的信号量。如果这些文件存在,Cloud-init将不会重新运行。/var/lib/cloud/instances/i-xxxxxxxx/scripts/part-001。这是您的用户数据脚本。sudo /usr/bin/cloud-init single -n cc_scripts_user
https://stackoverflow.com/questions/23065673
复制相似问题