我有一个脚本,需要在配置我的实例并附加卷后运行:
jButton4.doClick();
当前该脚本使环境无法正常运行,因为该卷在运行时尚未连接。
是否可以仅在连接卷后运行remote-exec脚本?
答案 0 :(得分:1)
您可以考虑在remote-exec中添加触发选项。其他粗略选择是增加睡眠几秒钟,或者脚本可以重试自身,或者检查磁盘的状态/存在然后尝试。
答案 1 :(得分:1)
您可以在任何资源上运行预配器(考虑使用null_resource
pattern作为其极端版本),因此最好的做法是在aws_volume_attachment
资源上运行预配器:
# ...
resource "aws_volume_attachment" "controller-volume-attachment-sdb" {
device_name = "/dev/sdb"
volume_id = "${aws_ebs_volume.controller-ebs-sdb.id}"
instance_id = "${aws_instance.controller.id}"
provisioner "remote-exec" {
connection {
host = "${aws_instance.controller.public_ip}"
type = "ssh"
user = "centos"
}
inline = [
"download and run script to verify environment"
]
}
}