Added instance naming and EC2 tag feature

cloud.boot_instances() takes name as an argument and names the
instance accordingly.

Updated ec2 provider to name instances by tagging them.

Signed-off-by: Shashank Sahni <shredder12@gmail.com>
Couple of updates to cloud.boot_instances()

* db.get_node_objects() was responsible for creating node objects.
  Its implementation was very EC2 specific. Hence, now
  boot_instances() will associate IPs and create node objects

* cloud.boot_instances() now associates IPs to create updated node
  objects.

get_node_objects() has been removed.

Signed-off-by: Shashank Sahni <shredder12@gmail.com>
Added 'keypair' argument to cloud.delete_keypair

To make the provider classes generic, added a new argument to
cloud.delete_keypair to specify the keypair name.

Updated affected files - ec2.py and clusters.py

Signed-off-by: Shashank Sahni <shredder12@gmail.com>
removed deprecated get_node_object() import

Signed-off-by: Shashank Sahni <shredder12@gmail.com>
Removed ec2 specifics from config.py

The auth section was being retrieved with hardcoded ec2 variables.
This commit makes the auth section read generic.

Signed-off-by: Shashank Sahni <shredder12@gmail.com>
Added cloud.get_all_addresses() to base and ec2

Created a new generic function for cloud providers,
get_all_addresses(). This will be called in cluster.delete()
to list, match and delete public IPs associated with the cluster.

Signed-off-by: Shashank Sahni <shredder12@gmail.com>
Releasing Public IPs via cloud.terminate_instances

cloud.terminate_instances() now releases the public_ip associated
with the instance, if any.

Signed-off-by: Shashank Sahni <shredder12@gmail.com>
removed public_ip release from cluster.delete

Signed-off-by: Shashank Sahni <shredder12@gmail.com>
Releasing Public IPs via cloud.terminate_instances

cloud.terminate_instances() now releases the public_ip associated
with the instance, if any
.
Signed-off-by: Shashank Sahni <shredder12@gmail.com>
Added OpenStack Provider in MultiStack

OpenStack provider has been added using native OpenStack libraries.
This provides better integration with respective clouds.

Signed-off-by: Shashank Sahni <shredder12@gmail.com>
added python-novaclient as requirement

Signed-off-by: Shashank Sahni <shredder12@gmail.com>
Merge pull request #8 from shredder12/master

OpenStack Provider and Bug Fixes