diff options
| author | Vishvananda Ishaya <vishvananda@gmail.com> | 2011-08-31 17:01:19 -0700 |
|---|---|---|
| committer | Vishvananda Ishaya <vishvananda@gmail.com> | 2011-08-31 17:01:19 -0700 |
| commit | 0f83de82b93d714be6df16b7f151141ab3f4d987 (patch) | |
| tree | a07dc22352352b7599433b8cf46a6d857777ec7e /nova/api | |
| parent | bd917feb287a3d0e8f2f9f9c60b716c7f599f4ff (diff) | |
| parent | 3bc7a44dad3233595beb20b63204f16f1cb4376e (diff) | |
merge trunk, fix conflict
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/create_instance_helper.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/nova/api/openstack/create_instance_helper.py b/nova/api/openstack/create_instance_helper.py index 483ff4985..019283fdf 100644 --- a/nova/api/openstack/create_instance_helper.py +++ b/nova/api/openstack/create_instance_helper.py @@ -138,7 +138,10 @@ class CreateInstanceHelper(object): raise exc.HTTPBadRequest(explanation=msg) zone_blob = server_dict.get('blob') + user_data = server_dict.get('user_data') + self._validate_user_data(user_data) + availability_zone = server_dict.get('availability_zone') name = server_dict['name'] self._validate_server_name(name) @@ -370,6 +373,16 @@ class CreateInstanceHelper(object): return networks + def _validate_user_data(self, user_data): + """Check if the user_data is encoded properly""" + if not user_data: + return + try: + user_data = base64.b64decode(user_data) + except TypeError: + expl = _('Userdata content cannot be decoded') + raise exc.HTTPBadRequest(explanation=expl) + class ServerXMLDeserializer(wsgi.XMLDeserializer): """ |
