)]}'
{"nova/api/openstack/compute/plugins/v3/user_data.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"caf34e96151fde4811eff2cbc5e5cebaff973045","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        return []"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def server_create(self, server_dict, create_kwargs):"},{"line_number":36,"context_line":"        create_kwargs[\u0027user_data\u0027] \u003d server_dict.get(\u0027user_data\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def server_xml_extract_server_deserialize(self, server_node, server_dict):"},{"line_number":39,"context_line":"        user_data \u003d server_node.getAttribute(\u0027user_data\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FeWw%3D","line":36,"updated":"2013-07-01 07:01:54.000000000","message":"I think you might have lost the validation of the user data from v2?","commit_id":"17eb3a401cf0583e06c457462bd67456d49f7955"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"4753bc6dbb2ad3857ac038865e54fd76fbb21b1a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        return []"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def server_create(self, server_dict, create_kwargs):"},{"line_number":36,"context_line":"        create_kwargs[\u0027user_data\u0027] \u003d server_dict.get(\u0027user_data\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def server_xml_extract_server_deserialize(self, server_node, server_dict):"},{"line_number":39,"context_line":"        user_data \u003d server_node.getAttribute(\u0027user_data\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FUic%3D","line":36,"in_reply_to":"AAAAPn%2F%2FYRo%3D","updated":"2013-07-04 01:59:07.000000000","message":"ok. The next stevedore release will allow us to propagate exceptions up through the extension back into server create. Could you keep a TODO to fix this up when we move to the next release of stevedore? THanks,","commit_id":"17eb3a401cf0583e06c457462bd67456d49f7955"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"9d1a77649fe01381a82fb2b80f94a7a80ef6e335","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        return []"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def server_create(self, server_dict, create_kwargs):"},{"line_number":36,"context_line":"        create_kwargs[\u0027user_data\u0027] \u003d server_dict.get(\u0027user_data\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def server_xml_extract_server_deserialize(self, server_node, server_dict):"},{"line_number":39,"context_line":"        user_data \u003d server_node.getAttribute(\u0027user_data\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FYRo%3D","line":36,"in_reply_to":"AAAAPn%2F%2FeWw%3D","updated":"2013-07-02 23:51:05.000000000","message":"Last changeset, I have add it. But I found if exception is raised in here, it cann\u0027t be catched in ServerController.(it\u0027s just in extensionmanager.) . I also found it the validation will be checked in compute.api:create, it will raise exception, you can find it in line:https://review.openstack.org/#/c/34223/3/nova/api/openstack/compute/plugins/v3/servers.py:1028","commit_id":"17eb3a401cf0583e06c457462bd67456d49f7955"}],"nova/tests/api/openstack/compute/plugins/v3/test_user_data.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"caf34e96151fde4811eff2cbc5e5cebaff973045","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FeWQ%3D","line":1,"updated":"2013-07-01 07:01:54.000000000","message":"Given you added a new testcase I think its reasonable to add an IBM copyright here","commit_id":"17eb3a401cf0583e06c457462bd67456d49f7955"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"caf34e96151fde4811eff2cbc5e5cebaff973045","unresolved":false,"context_lines":[{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def test_create_instance_with_user_data(self):"},{"line_number":196,"context_line":"        image_href \u003d \u002776fa36fc-c930-4bf3-8c8a-ea2a2420deb6\u0027"},{"line_number":197,"context_line":"        flavor_ref \u003d \u0027http://localhost/v3/fake/flavors/3\u0027"},{"line_number":198,"context_line":"        value \u003d \"A random string\""},{"line_number":199,"context_line":"        body \u003d {"},{"line_number":200,"context_line":"            \u0027server\u0027: {"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FeWk%3D","line":197,"updated":"2013-07-01 07:01:54.000000000","message":"Should remove the /v3/fake","commit_id":"17eb3a401cf0583e06c457462bd67456d49f7955"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"9d1a77649fe01381a82fb2b80f94a7a80ef6e335","unresolved":false,"context_lines":[{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def test_create_instance_with_user_data(self):"},{"line_number":196,"context_line":"        image_href \u003d \u002776fa36fc-c930-4bf3-8c8a-ea2a2420deb6\u0027"},{"line_number":197,"context_line":"        flavor_ref \u003d \u0027http://localhost/v3/fake/flavors/3\u0027"},{"line_number":198,"context_line":"        value \u003d \"A random string\""},{"line_number":199,"context_line":"        body \u003d {"},{"line_number":200,"context_line":"            \u0027server\u0027: {"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FYRc%3D","line":197,"in_reply_to":"AAAAPn%2F%2FeWk%3D","updated":"2013-07-02 23:51:05.000000000","message":"done","commit_id":"17eb3a401cf0583e06c457462bd67456d49f7955"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"caf34e96151fde4811eff2cbc5e5cebaff973045","unresolved":false,"context_lines":[{"line_number":210,"context_line":"            },"},{"line_number":211,"context_line":"        }"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        req \u003d fakes.HTTPRequestV3.blank(\u0027/v3/fake/servers\u0027)"},{"line_number":214,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":215,"context_line":"        req.body \u003d jsonutils.dumps(body)"},{"line_number":216,"context_line":"        req.headers[\"content-type\"] \u003d \"application/json\""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FeWg%3D","line":213,"updated":"2013-07-01 07:01:54.000000000","message":"Don\u0027t need the /v3/fake here","commit_id":"17eb3a401cf0583e06c457462bd67456d49f7955"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"caf34e96151fde4811eff2cbc5e5cebaff973045","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def test_create_instance_with_bad_user_data(self):"},{"line_number":223,"context_line":"        image_href \u003d \u002776fa36fc-c930-4bf3-8c8a-ea2a2420deb6\u0027"},{"line_number":224,"context_line":"        flavor_ref \u003d \u0027http://localhost/v3/fake/flavors/3\u0027"},{"line_number":225,"context_line":"        value \u003d \"A random string\""},{"line_number":226,"context_line":"        body \u003d {"},{"line_number":227,"context_line":"            \u0027server\u0027: {"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FeWc%3D","line":224,"updated":"2013-07-01 07:01:54.000000000","message":"Ditto here","commit_id":"17eb3a401cf0583e06c457462bd67456d49f7955"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"caf34e96151fde4811eff2cbc5e5cebaff973045","unresolved":false,"context_lines":[{"line_number":237,"context_line":"            },"},{"line_number":238,"context_line":"        }"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"        req \u003d fakes.HTTPRequestV3.blank(\u0027/v3/fake/servers\u0027)"},{"line_number":241,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":242,"context_line":"        req.body \u003d jsonutils.dumps(body)"},{"line_number":243,"context_line":"        req.headers[\"content-type\"] \u003d \"application/json\""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FeWY%3D","line":240,"updated":"2013-07-01 07:01:54.000000000","message":"and here","commit_id":"17eb3a401cf0583e06c457462bd67456d49f7955"}],"setup.cfg":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"4fef9126dd7bda79dd5f3c1fb9c912d295f26c2e","unresolved":false,"context_lines":[{"line_number":77,"context_line":"nova.api.v3.extensions.server.create \u003d"},{"line_number":78,"context_line":"    config_drive \u003d nova.api.openstack.compute.plugins.v3.config_drive:ConfigDrive"},{"line_number":79,"context_line":"    keypairs_create \u003d nova.api.openstack.compute.plugins.v3.keypairs:Keypairs"},{"line_number":80,"context_line":"    user_data \u003d nova.api.openstack.compute.plugins.v3.user_data:UserData "},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"nova.api.v3.extensions.server.create.deserialize \u003d"},{"line_number":83,"context_line":"    config_drive \u003d nova.api.openstack.compute.plugins.v3.config_drive:ConfigDrive"}],"source_content_type":"text/x-ttcn-cfg","patch_set":4,"id":"AAAAPn%2F%2FUiU%3D","line":80,"updated":"2013-07-04 02:01:01.000000000","message":"trailing whitespace here","commit_id":"979a317b45f5228d29a9bd44fcba744d18f0da6f"}]}
