Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
ioncannon
Ruby Erlang
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
.rbenv-version
Gemfile
Gemfile.lock
LICENSE
README.md
config.xml
config.yaml.example
dummy_session_cache.erl
ionstorm.rb
ssl.app
threadpool.rb
tsung_1.4.2-1_all.deb

README.md

ionstorm

  1. Add your keyfile to EC2. If you don't have a key, create one

    bundle exec ./ionstorm.rb -k <key_name> create_key
    
  2. Add your EC2 API Key to config.yaml

  3. Add your ssh key to your ssh authentication agent

    ssh-add <key_file>
    
  4. Add instances to your testing cluster

    ./ionstorm.rb -k <key_name> -i <tsung_group> add 2
    
  5. Run your config, it will provide you with a url to the generated results (tsung sometimes hangs the first time your run it. you may need to stop it and try again)

    ./ionstorm.rb -k <key_name> -i <tsung_group> run config.yaml
    

Stopping ionstorm

    ./ionstorm.rb -k <key_name> -i <tsung_group> stop

Checking status

    ./ionstorm.rb -k <key_name> -i <tsung_group> status

Drop your instances

    ./ionstorm.rb -k <key_name> -i <tsung_group> remove

Reinstall packages

    ./ionstorm.rb -k <key_name> -i <tsung_group> install

Killall erlang processes

    ./ionstorm.rb -k <key_name> -i <tsung_group> killall

NOTES

  • Username for AMIs is ubuntu

ISSUES

  1. We have the concept of a leader instance where we run the tsung master daemon on. At the moment the leader is selected as the instance with the lowest instance id. Unfortunately, this means the leader can change while you are adding instances. So if you add instances while a test is in progress then status/stop commands will no longer work :(

  2. Fingerprint mismatches due to EC2 nodes coming up with the same ip address and different keys

  3. Code says we are using micro instance but we really use small instance. Me silly :(

  4. Look at using userdata or prebuilt AMIs instead of ssh based-install.

Something went wrong with that request. Please try again.