Add start of the EC2/S3 API testing to tempest

Continues the effort of the https://review.openstack.org/#/c/3064/

* add EC2 keypair and volume tests
* add EC2 snapshot from volume test
* add EC2 floating ip disasscioation
* add EC2 operation on security group
* add EC2/S3 image registration
* add EC2 instance run test
* add Integration test with ssh, console, volume
* add S3 object and bucket tests

Change-Id: I0dff9b05f215b56456272f22aa1c014cd53b4f4b
diff --git a/tempest/exceptions.py b/tempest/exceptions.py
index 7154b80..016de69 100644
--- a/tempest/exceptions.py
+++ b/tempest/exceptions.py
@@ -1,3 +1,21 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2012 OpenStack, LLC
+# All Rights Reserved.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+
 class TempestException(Exception):
     """
     Base Tempest Exception
@@ -51,6 +69,11 @@
     message = "Image %(image_id) failed to become ACTIVE in the allotted time"
 
 
+class EC2RegisterImageException(TempestException):
+    message = ("Image %(image_id) failed to become 'available' "
+               "in the allotted time")
+
+
 class VolumeBuildErrorException(TempestException):
     message = "Volume %(volume_id)s failed to build and is in ERROR status"
 
@@ -106,3 +129,7 @@
 
 class SQLException(TempestException):
     message = "SQL error: %(message)s"
+
+
+class TearDownException(TempestException):
+    message = "%(num)d cleanUp operation failed"