【发布时间】:2018-05-28 08:54:18
【问题描述】:
在我重新启动从属 Azure VM(维护)后,我的 Windows 从属被挂起,当从属重新启动并运行并成功连接到 Jenkins 时,挂起状态没有被删除。
p>我已经复制了 3 次 - 对于每个 VM,我一直在手动安装额外的软件,这需要重新启动,但在重新启动后,我安排的任何构建作业都会挂起并显示消息“等待 Windows 上的下一个可用执行程序” ,从节点在 Jenkins 中显示为在线,但旁边有“(暂停)”,然后 Azure VM 代理插件最终会创建一个新 VM 并在其上运行构建。
从日志中提取:
2018 年 5 月 25 日下午 3:47:29 hudson.remoting.SynchronousCommandTransport$ReaderThread 运行严重: 通道 slavew823810 java.io.IOException 中的 I/O 错误:意外 通道终止于 hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:77) 引起:java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2679) 在 java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3154) 在 java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:862) 在 java.io.ObjectInputStream.(ObjectInputStream.java:358) 在 hudson.remoting.ObjectInputStreamEx.(ObjectInputStreamEx.java:48) 在 hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35) 在 hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63)
2018 年 5 月 25 日下午 3:47:34 hudson.model.AsyncPeriodicWork$1 运行信息: 已启动 Azure VM 代理清理任务 2018 年 5 月 25 日下午 3:47:34 com.microsoft.azure.vmagent.AzureVMAgentCleanUpTask 执行信息: AzureVMAgentCleanUpTask:执行:2018 年 5 月 25 日下午 3:47:34 开始 com.microsoft.azure.vmagent.AzureVMAgentCleanUpTask 执行信息: AzureVMAgentCleanUpTask:执行:以 5 分钟超时运行 clean 2018 年 5 月 25 日下午 3:47:34 com.microsoft.azure.vmagent.AzureVMAgentCleanUpTask cleanVMs 信息: AzureVMAgentCleanUpTask:cleanVMs:节点 slavew56f680 被阻止 清理 2018 年 5 月 25 日下午 3:47:34 com.microsoft.azure.vmagent.AzureVMManagementServiceDelegate virtualMachineExists 信息:AzureVMManagementServiceDelegate: virtualMachineExists:检查 slavew823810 2018 年 5 月 25 日下午 3:47:34 com.microsoft.rest.interceptors.LoggingInterceptor 日志信息:
从日志中可以看出,我在 3:47 手动重启了从节点“slavew56f680”。
到 3:54,从节点已备份并运行,因此我单击启动代理,该代理已成功连接(但在 UI 中仍显示已暂停)。
在 3:57 时,我点击构建作业,期望移除挂起状态并在此从站上运行作业。
在 3:59,它移动到另一个从属设备(“slavew823810”)上,将其联机并在其上运行作业。
在这个特定的示例中,slavew823810 是之前发生过这种情况的 Windows 从站,我只是从未删除过它,而是将其重新启动。如果我删除了它,它就会创建一个新的 Windows 从属 VM。
有人见过这个吗?知道如何阻止这种情况发生或删除暂停状态吗?
Jenkins 版本是 2.107.3 我的主 (Linux) 和从 (Windows) 都在 Azure 上。
提前致谢,斯蒂芬。
更新
在周末让我的奴隶断电后,我在 Azure 中启动它们,然后在 Jenkins 中连接(但说已暂停)我开始构建作业 - 结果是,经过长时间的延迟,它创建了另一台 Windows 从属机器来运行该作业在。我现在有 3 个 Windows 从站。我希望它会使用前两台机器中的一台,这样我就不会被阻止,因为它们已经更新了我需要的额外软件和补丁。
【问题讨论】:
标签: azure jenkins jenkins-plugins jenkins-pipeline