mhardin / SeleniumGridScaler

Selenium Grid auto scaling plugin utilizing AWS
GNU General Public License v2.0
111 stars 51 forks source link

AWS ec2 instances to be charged by seconds from Oct 2nd #21

Open ambirag opened 7 years ago

ambirag commented 7 years ago

This means the current logic of cost optimized termination has to be changed to immediately terminate nodes ( say 5mins idle time - or make it configurable) Source: https://aws.amazon.com/blogs/aws/new-per-second-billing-for-ec2-instances-and-ebs-volumes/

mhardin commented 7 years ago

@ambirag I did see this announcement. I'm not sure what the best way is going to be, as we're going to want to balance cost vs time to spin up new resources.

ambirag commented 7 years ago

@mhardin also this is applicable only to AWS linux boxes (not other flavours)

lenny1806 commented 7 years ago

@ambirag @mhardin I was thinking about a 5 minute idle time, if no new tests are coming in during that time the instance will terminated. Also the possibility of setting this idle time via the property file would be nice. What do you guys think?

mhardin commented 7 years ago

@lenny1806 a 5 minute / configurable amount would be fine. Only problem is this is likely going to require a large refactor to accomplish this logic.

bloomm09 commented 6 years ago

@mhardin Has this issues been given any more thought? I'm currently reviewing the project to possibly tie it into my test framework. Thanks

mhardin commented 6 years ago

@bloomm09 unfortunately no update on my end

ambirag commented 6 years ago

I have local changes which terminates nodes based on seconds, if you pass -D property name otherwise it will retain old behaviour

ambirag commented 6 years ago

actually you dont need this feature, once your automation execution is completed, you can simply call curl -X "DELETE" http://HUBIP:4444/grid/admin/AutomationTestRunServlet and it will simply terminate all the nodes @bloomm09

mhardin commented 6 years ago

@ambirag calling the delete endpoint only works if you have at most one test run against a hub. If you have multiple test runs against a single hub, I don't think this will work well.