Merge "Add additional checks for attributes"
diff --git a/tempest/api_schema/response/compute/parameter_types.py b/tempest/api_schema/response/compute/parameter_types.py
index 4a1dfdd..90d4c8f 100644
--- a/tempest/api_schema/response/compute/parameter_types.py
+++ b/tempest/api_schema/response/compute/parameter_types.py
@@ -65,3 +65,17 @@
         }
     }
 }
+
+response_header = {
+    'connection': {'type': 'string'},
+    'content-length': {'type': 'string'},
+    'content-type': {'type': 'string'},
+    'status': {'type': 'string'},
+    'x-compute-request-id': {'type': 'string'},
+    'vary': {'type': 'string'},
+    'x-openstack-nova-api-version': {'type': 'string'},
+    'date': {
+        'type': 'string',
+        'format': 'data-time'
+    }
+}
diff --git a/tempest/api_schema/response/compute/v2/images.py b/tempest/api_schema/response/compute/v2/images.py
index 21dc9ab..3c0b80e 100644
--- a/tempest/api_schema/response/compute/v2/images.py
+++ b/tempest/api_schema/response/compute/v2/images.py
@@ -91,15 +91,16 @@
     'status_code': [202],
     'response_header': {
         'type': 'object',
-        'properties': {
-            'location': {
-                'type': 'string',
-                'format': 'uri'
-            }
-        },
-        'required': ['location']
+        'properties': parameter_types.response_header
     }
 }
+create_image['response_header']['properties'].update(
+    {'location': {
+        'type': 'string',
+        'format': 'uri'}
+     }
+)
+create_image['response_header']['required'] = ['location']
 
 delete = {
     'status_code': [204]
diff --git a/tempest/cmd/javelin.py b/tempest/cmd/javelin.py
index 8f238a5..e970249 100755
--- a/tempest/cmd/javelin.py
+++ b/tempest/cmd/javelin.py
@@ -870,32 +870,14 @@
     for server in servers:
         client = client_for_user(server['owner'])
 
-        res = _get_server_by_name(client, server['name'])
-        if not res:
+        response = _get_server_by_name(client, server['name'])
+        if not response:
             LOG.info("Server '%s' does not exist" % server['name'])
             continue
-        res = client.servers.get_server(res['id'])
 
-        # we iterate all interfaces until we find a floating IP
-        # and stop looping after dropping it.
-        def _find_first_floating():
-            if (CONF.service_available.neutron and
-                    not CONF.baremetal.driver_enabled and
-                    CONF.compute.use_floatingip_for_ssh):
-                for body in res['addresses'].items():
-                    for addr in body:
-                        ip = addr['addr']
-                        if addr.get('OS-EXT-IPS:type',
-                                    'floating') == 'floating':
-                            (client.floating_ips.
-                             disassociate_floating_ip_from_server(
-                                 ip, res['id']))
-                            client.floating_ips.delete_floating_ip(ip)
-                            return
-
-        _find_first_floating()
-        client.servers.delete_server(res['id'])
-        client.servers.wait_for_server_termination(res['id'],
+        # TODO(EmilienM): disassociate floating IP from server and release it.
+        client.servers.delete_server(response['id'])
+        client.servers.wait_for_server_termination(response['id'],
                                                    ignore_error=True)
 
 
diff --git a/tempest/scenario/test_encrypted_cinder_volumes.py b/tempest/scenario/test_encrypted_cinder_volumes.py
index eed3d0b..e6912d8 100644
--- a/tempest/scenario/test_encrypted_cinder_volumes.py
+++ b/tempest/scenario/test_encrypted_cinder_volumes.py
@@ -35,8 +35,8 @@
         self.glance_image_create()
         self.nova_boot()
 
-    def create_encrypted_volume(self, encryption_provider):
-        volume_type = self.create_volume_type(name='luks')
+    def create_encrypted_volume(self, encryption_provider, volume_type):
+        volume_type = self.create_volume_type(name=volume_type)
         self.create_encryption_type(type_id=volume_type['id'],
                                     provider=encryption_provider,
                                     key_size=512,
@@ -53,7 +53,8 @@
     def test_encrypted_cinder_volumes_luks(self):
         self.launch_instance()
         self.create_encrypted_volume('nova.volume.encryptors.'
-                                     'luks.LuksEncryptor')
+                                     'luks.LuksEncryptor',
+                                     volume_type='luks')
         self.attach_detach_volume()
 
     @test.idempotent_id('cbc752ed-b716-4717-910f-956cce965722')
@@ -61,5 +62,6 @@
     def test_encrypted_cinder_volumes_cryptsetup(self):
         self.launch_instance()
         self.create_encrypted_volume('nova.volume.encryptors.'
-                                     'cryptsetup.CryptsetupEncryptor')
+                                     'cryptsetup.CryptsetupEncryptor',
+                                     volume_type='cryptsetup')
         self.attach_detach_volume()