be specific about metadata too long error

Tempest was catching a generic fail on the metadata too
long call, but a very specific error is supposed to be returned,
a 413. In real runs there was a bug in nova which crashed on the
request (fixed in https://bugs.launchpad.net/nova/+bug/1079387).

Fix tempest to only accept a 413 as valid on this request.

Make this an assertRaise test instead of a negative test

Change-Id: Id09394abc863ecd773f56dbc8a965d87ae7dde97
diff --git a/tempest/tests/compute/servers/test_server_metadata.py b/tempest/tests/compute/servers/test_server_metadata.py
index f59b609..4022dad 100644
--- a/tempest/tests/compute/servers/test_server_metadata.py
+++ b/tempest/tests/compute/servers/test_server_metadata.py
@@ -18,6 +18,7 @@
 from nose.plugins.attrib import attr
 
 from tempest.common.utils.data_utils import rand_name
+from tempest import exceptions
 from tempest.tests.compute.base import BaseComputeTest
 
 
@@ -69,7 +70,6 @@
         resp, resp_metadata = self.client.list_server_metadata(self.server_id)
         self.assertEqual(resp_metadata, req_metadata)
 
-    @attr(type='negative')
     def test_server_create_metadata_key_too_long(self):
         """
         Attempt to start a server with a meta-data key that is > 255 characters
@@ -79,14 +79,10 @@
             key = "k" * sz
             meta = {key: 'data1'}
             name = rand_name('server')
-            try:
-                resp, server = self.client.create_server(name, self.image_ref,
-                                                         self.flavor_ref,
-                                                         meta=meta)
-            except:
-                pass
-            else:
-                self.fail('Metadata should have been too long')
+            self.assertRaises(exceptions.OverLimit,
+                              self.client.create_server, name, self.image_ref,
+                              self.flavor_ref, meta=meta)
+
         # no teardown - all creates should fail
 
     def test_update_server_metadata(self):