newsapps / beeswithmachineguns

A utility for arming (creating) many bees (micro EC2 instances) to attack (load test) targets (web applications).
http://apps.chicagotribune.com/
MIT License
6.45k stars 633 forks source link

bees up, crash and instances are not considered bees for bees down #102

Open radzhome opened 9 years ago

radzhome commented 9 years ago

I launched bees via this command. Later I was able to launch bees successfully but in this case 5 zombie instances were created:

$ bees up -k union
New bees will use the "default" EC2 security group. Please note that port 22 (SSH) is not normally open on this group. You will need to use to the EC2 tools to open it before you will be able to attack.
Connecting to the hive.
Attempting to call up 5 bees.
Waiting for bees to load their machine guns...
.
Traceback (most recent call last):
  File "/bin/bees", line 5, in <module>
    main.main()
  File "/usr/local/lib/python2.7/site-packages/beeswithmachineguns/main.py", line 127, in main
    parse_options()
  File "/usr/local/lib/python2.7/site-packages/beeswithmachineguns/main.py", line 111, in parse_options
    bees.up(options.servers, options.group, options.zone, options.instance, options.login, options.key)
  File "/usr/local/lib/python2.7/site-packages/beeswithmachineguns/bees.py", line 114, in up
    instance.update()
  File "/usr/local/lib/python2.7/site-packages/boto/ec2/instance.py", line 221, in update
    rs = self.connection.get_all_instances([self.id])
  File "/usr/local/lib/python2.7/site-packages/boto/ec2/connection.py", line 456, in get_all_instances
    [('item', Reservation)], verb='POST')
  File "/usr/local/lib/python2.7/site-packages/boto/connection.py", line 680, in get_list
    raise self.ResponseError(response.status, response.reason, body)
boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>InvalidInstanceID.NotFound</Code><Message>The instance ID 'i-5ab0b3a4' does not exist</Message></Error></Errors><RequestID>8199a688-9a1d-46d8-9e3d-a32df77692d1</RequestID></Response>

The instances don't get the "a bee!" name as a tag and I guess later on when you execute bees down, those bees stay up and are not accounted for. Can more testing be done on the 'default' security group to ensure its good to go before even launching the bees?

k$ bees down
Read 4 bees from the roster.
Connecting to the hive.
Calling off the swarm.
Stood down 4 bees.
dericeira commented 6 years ago

Same problem here.