Opened 9 years ago

Closed 9 years ago

#1931 closed defect (fixed)

EC2LatentBuildSlave does not terminate EBS-backed instances

Reported by: mback2k Owned by:
Priority: major Milestone: 0.8.5
Version: 0.8.3p1 Keywords: virtualization
Cc:

Description

As you can read here EBS-backed instances need to be terminated, because stopping them does not free the EBS volume and instance.

This can be fixed by simply replacing:

instance.stop()

with:

instance.terminate()

in EC2LatentBuildSlave (ec2buildslave.py).

Change History (4)

comment:1 Changed 9 years ago by dustin

Can you make this into a user-configurable option? Or is there some way for the code to automatically determine which is correct?

comment:2 Changed 9 years ago by mback2k

I think .terminate() works on EBS and S3 backed instances. And because reusing the same instance by starting it again is also not implemented yet, it would make no sense to add a configurable option.

In the long run it should be possible to create and launch an instance from an AMI if there is no instance yet and then let the user setup for example the following:

  • Start on demand.
  • Stop after 5 minutes.
  • Terminate after 30 minutes.

That would allow for quicker restarts while the instance has not been terminated.

But to fix this bug first, I suppose to just replace .stop() with .instance() for now.

comment:3 Changed 9 years ago by dustin

  • Keywords virtualization added
  • Milestone changed from undecided to 0.8.5

comment:4 Changed 9 years ago by dustin

  • Resolution set to fixed
  • Status changed from new to closed
commit d6870db981da78a55f5cae204a835cba5af88ff5
Author: Dustin J. Mitchell <dustin@mozilla.com>
Date:   Thu Jul 21 14:55:44 2011 -0700

    Terminate EC2 instances instead of stopping them.
    
    This will correctly delete the instance and associated storage, rather
    than leaving that storage allocated but unused as previous versions did.
    
    Fixes #1931.
Note: See TracTickets for help on using tickets.