我使用 bosh 在 azure 机器上部署了 Cloud Foundry。为了向集群添加另一个节点,我在 cloud Foundry 部署清单文件中进行了更改,并使用bosh deploy
.
中间部署失败,但 bosh 部署锁没有被释放。当我这样做时,bosh locks
我看到锁是通过部署获得的,并且到期时间比当前时间略长,并且它不断增加。
bosh locks
Acting as user 'admin' on 'bosh'
+------------+-----------------------+-------------------------+
| Type | Resource | Expires at |
+------------+-----------------------+-------------------------+
| deployment | single-vm-cf-on-azure | 2017-05-23 10:27:59 UTC |
+------------+-----------------------+-------------------------+
我尝试取消部署任务(bosh 取消任务#task-number)。部署任务的状态更改为,cancelling
但没有被取消。
bosh tasks
Acting as user 'admin' on 'bosh'
+----+------------+-------------------------+-------+-------------------+--------+
| # | State | Timestamp | User | Description | Result |
+----+------------+-------------------------+-------+-------------------+--------+
| 38 | cancelling | 2017-05-23 08:40:12 UTC | admin | create deployment | |
+----+------------+-------------------------+-------+-------------------+--------+
我面临的问题是 bosh 已获得部署锁定,每次我尝试再次开始部署或尝试删除部署时,我都会收到一条错误消息:
Error 100: Unable to get deployment lock, maybe a deployment is in progress. Try again later.
1、是否可以删除获取的部署锁信息来释放锁?如果是,信息存储在哪里以及如何删除?
2. 如果一个任务(例如,bosh deploy
)失败了,它会无限期地持有 bosh 锁吗?有没有优雅地处理任务失败的方法?
3. 如何处理bosh deploy
部署清单文件的更改以避免陷入无限部署锁获取的情况?
提前致谢