1
2
3 from starcluster.logger import log
4
5 from completers import VolumeCompleter
6
7
9 """
10 removevolume [options] <volume_id>
11
12 Delete one or more EBS volumes
13
14 WARNING: This command will *PERMANENTLY* remove an EBS volume.
15 Please use caution!
16
17 Example:
18
19 $ starcluster removevolume vol-999999
20 """
21 names = ['removevolume', 'rv']
22
24 parser.add_option("-c", "--confirm", dest="confirm",
25 action="store_true", default=False,
26 help="do not prompt for confirmation, just " + \
27 "remove the volume")
28
30 if not args:
31 self.parser.error("no volumes specified. exiting...")
32 for arg in args:
33 volid = arg
34 vol = self.ec2.get_volume(volid)
35 if vol.status in ['attaching', 'in-use']:
36 log.error("volume is currently in use. aborting...")
37 return
38 if vol.status == 'detaching':
39 log.error("volume is currently detaching. " + \
40 "please wait a few moments and try again...")
41 return
42 if not self.opts.confirm:
43 resp = raw_input("**PERMANENTLY** delete %s (y/n)? " % volid)
44 if resp not in ['y', 'Y', 'yes']:
45 log.info("Aborting...")
46 return
47 if vol.delete():
48 log.info("Volume %s deleted successfully" % vol.id)
49 else:
50 log.error("Error deleting volume %s" % vol.id)
51