-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Jenkins ver. 2.150.1, EC2 plugin 1.43
Observed after upgrade from EC2 plugin 1.42 to 1.43.
When changing the "Description" of an EC2 node template in the Jenkins config, the "Stop/Disconnect on Idle Timeout" feature does not work anymore for any nodes created before the change.
The nodes stay stopped and new nodes are created instead of the old ones re-used.
This also happens for any nodes that were created on Jenkins with an EC2 plugin version <1.43. Because in 1.43 the node names are updated with more information to the instance name (PR-334 [1]).
This exception happens with that affect nodes, may be related:
May 10, 2019 9:55:53 AM hudson.model.AbstractCIBase updateComputer WARNING: Error updating node EC2 (Mobility RD EU-West-1) - android-m52xlarge-eu-west-1 (i-009cd08cab2a1f2b2), continuing java.lang.NullPointerException at hudson.plugins.ec2.EC2RetentionStrategy.internalCheck(EC2RetentionStrategy.java:140) at hudson.plugins.ec2.EC2RetentionStrategy.check(EC2RetentionStrategy.java:92) at hudson.plugins.ec2.EC2RetentionStrategy.check(EC2RetentionStrategy.java:50) at hudson.slaves.SlaveComputer$4.run(SlaveComputer.java:843) at hudson.model.Queue._withLock(Queue.java:1381) at hudson.model.Queue.withLock(Queue.java:1258) at hudson.slaves.SlaveComputer.setNode(SlaveComputer.java:840) at hudson.model.AbstractCIBase.updateComputer(AbstractCIBase.java:121) at hudson.model.AbstractCIBase.access$000(AbstractCIBase.java:46) at hudson.model.AbstractCIBase$2.run(AbstractCIBase.java:207) at hudson.model.Queue._withLock(Queue.java:1381) at hudson.model.Queue.withLock(Queue.java:1258) at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:190) at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1566) at jenkins.model.Nodes$2.run(Nodes.java:138) at hudson.model.Queue._withLock(Queue.java:1381) at hudson.model.Queue.withLock(Queue.java:1258) at jenkins.model.Nodes.addNode(Nodes.java:134) at jenkins.model.Jenkins.addNode(Jenkins.java:2074) at hudson.slaves.NodeProvisioner$2.run(NodeProvisioner.java:241) at hudson.model.Queue._withLock(Queue.java:1381) at hudson.model.Queue.withLock(Queue.java:1258) at hudson.slaves.NodeProvisioner.update(NodeProvisioner.java:207) at hudson.slaves.NodeProvisioner.access$000(NodeProvisioner.java:61) at hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:809) at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:72) at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:58) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
Hi Stefan, the Description is one of the element that is used to identify the Slaves.
Change the description with instance running or in stop state, break the counting subsystem. We have to change the way how the plugin use the tags