Hey Kevin. Thanks for your help. The following script prints out the EC2 
slaves and computers (it does not provide an actual description)

jenkins = Jenkins.instance;

for (slave in jenkins.slaves.findAll({s -> s instanceof 
hudson.plugins.ec2.EC2OndemandSlave})) {
  println slave
  computer = slave.computer
  println computer
}

The result on my Jenkins server.

hudson.plugins.ec2.EC2OndemandSlave@f39f2278
hudson.plugins.ec2.EC2Computer@1532744
hudson.plugins.ec2.EC2OndemandSlave@d935070e
hudson.plugins.ec2.EC2Computer@13bae09


On Tuesday, January 21, 2014 12:51:09 PM UTC-6, Kevin Fleming wrote:
>
> Ahh... well that makes sense, but I'm fairly certain that the EC2 plugin 
> doesn't currently offer any way to initiate the 'timeout' process that 
> results in an instance being stopped (as opposed to terminated). It's 
> possible that the existing function that handles timeouts could be called 
> from a Groovy script, but this would require some experimentation.
>
> If you start by building a testing a script that can enumerate the Jenkins 
> nodes that are EC2 slaves, I can help you try to find the next steps.
>
> ----- Original Message -----
> From: [email protected] <javascript:>
> To: [email protected] <javascript:>
> Cc: Kevin Fleming (BLOOMBERG/ 731 LEXIN) <javascript:>
> At: Jan 21 2014 13:17:48
>
> Presently, they have been idle when the shutdown occurs. I'm working on 
> updating the shutdown process to try to ensure that it waits until all jobs 
> are complete to enforce this.
>
> On Tuesday, January 21, 2014 12:13:31 PM UTC-6, Kevin Fleming wrote:
>>
>> Are these slaves running active jobs, or are they idle (from Jenkins 
>> point of view)?
>>
>> ----- Original Message -----
>> From: [email protected]
>> To: [email protected]
>> Cc: Kevin Fleming (BLOOMBERG/ 731 LEXIN)
>> At: Jan 21 2014 13:12:43
>>
>> I would like to stop them, not terminate them. Is there a proper way to 
>> stop the instance from a Groovy script?
>>
>> On Tuesday, January 21, 2014 11:51:00 AM UTC-6, Kevin Fleming wrote:
>>>
>>> Yes, a Groovy script could iterate over the current list of Jenkins 
>>> nodes, determine which ones are EC2 slaves, and then delete them. This 
>>> would terminate the EC2 instances for those slaves.
>>>
>>> ----- Original Message -----
>>> From: [email protected]
>>> To: [email protected]
>>> At: Jan 21 2014 12:24:52
>>>
>>> Our Jenkins master server runs on an EC2 instance and we stop it twice a 
>>> day to switch between a small and medium instance to reduce our bills 
>>> during off hours. Our build slaves are EC2 instances using the Jenkins EC2 
>>> plugin. To keep the builds fast we have it configured to only stop the 
>>> slaves rather than terminate them.
>>>
>>> We are finding that when the master machine stops and restarts when an 
>>> EC2 slave is running, the EC2 instance stays running and the master slave 
>>> is never able to re-establish a connection with it. It still has the 
>>> instance ID correct. But, it is unable to connect. This requires manual 
>>> intervention of terminating the old instances and starting new ones.
>>>
>>> Is there some way we can properly stop the EC2 instances using a Jenkins 
>>> Groovy script before shutting down the Jenkins instance? Hopefully this way 
>>> the EC2 plugin will correctly re-establish the connection on start-up. We 
>>> have a Jenkins job which controls the timing of the shutdown process.
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Jenkins Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>> -- 
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to