问题描述
我有一个带有3个节点的堆栈模板,每个节点都有一个附加的卷!现在,我用附加节点和该节点的附加卷更新了我的模板!这将导致模板中节点的user_data更新!并且当我执行堆栈更新功能时,它给我错误:无效的卷:卷01e40c6e-4467-42fe-ba9d-ce7012db8978状态必须可用或正在下载以保留,但是当前状态正在使用中。
这显示节点(更改了user_data的节点),是的,它当前正在使用中!那么如何使用带有卷的openstack的堆栈更新功能来更新堆栈?
以下是我在该节点上创建的文件user_data,因此添加节点也会更新此user_data:
cat << 'EOF' > mydata.json
{
"hosts":{
"nodes":{
"node-1":{
"my_lan":{
"hostname":"node-1","ip":"~node-1-my_lan-ip~","interface": "eth0"
}
},"node-2":{
"my_lan":{
"hostname":"node-2","ip":"~node-2-my_lan-ip~","interface": "eth0"
}
}
}
解决方法
我们有一个类似的用例,我们创建两个单独的堆栈,一个用于vm,另一个用于cinder卷。
首先创建cinder卷堆栈,然后将cinder卷ID与vm堆栈关联。
这个用例可以很好地控制维护煤渣的体积和vm。
显然,VM用户数据中的任何更改都将重新创建vm,而不是重新生成操作,而这正是您正在运行的。