)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0e78a07ea437266a289de8a23faa17a2f2b8e17f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Victor Stinner \u003cvictor.stinner@enovance.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-05-28 12:44:00 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix nova unit tests to support multiple networks"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If the tenant used to run Tempest tests has access to more than one"},{"line_number":10,"context_line":"network, creating a server fails with the message:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3ae8d1ca_9cad8c34","line":7,"updated":"2014-05-28 14:49:51.000000000","message":"There are no nova unit tests in Tempest","commit_id":"03fa4f653f410f2253c1fa494c8d5fb34962f22f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0e78a07ea437266a289de8a23faa17a2f2b8e17f","unresolved":false,"context_lines":[{"line_number":16,"context_line":"patch changes the base test case of nova to handle this option."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Nova API of Tempest doesn\u0027t expose the service to list networks, so I"},{"line_number":19,"context_line":"chose to reuse the official client just for this call."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The change is only a partial change, it doesn\u0027t fix all tests. It fixes"},{"line_number":22,"context_line":"for example test_add_remove_fixed_ip() of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3ae8d1ca_fa684923","line":19,"updated":"2014-05-28 14:49:51.000000000","message":"This should be in common instead, and you should use tempest services for API tests and official clients for Scenario tests.","commit_id":"03fa4f653f410f2253c1fa494c8d5fb34962f22f"}],"tempest/api/compute/base.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0e78a07ea437266a289de8a23faa17a2f2b8e17f","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def server_set_network_parameter(client, kwargs):"},{"line_number":31,"context_line":"    \"\"\""},{"line_number":32,"context_line":"    If several networks found, set the network on which to connect the server"},{"line_number":33,"context_line":"    to avoid the following error: \"Multiple possible networks found, use a"},{"line_number":34,"context_line":"    Network ID to be more specific\"."}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_6f20044a","line":31,"updated":"2014-05-28 14:49:51.000000000","message":"This is a shared function, used across API and scenario tests, to discover the ID of the network to be used, if any.\n\nI think this should be under tempest.common, take no arguments and return a netwowk id or None.","commit_id":"03fa4f653f410f2253c1fa494c8d5fb34962f22f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0e78a07ea437266a289de8a23faa17a2f2b8e17f","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        return"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    fixed_network_name \u003d CONF.compute.fixed_network_name"},{"line_number":42,"context_line":"    if not fixed_network_name:"},{"line_number":43,"context_line":"        return"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    networks \u003d client.networks.list()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_949abc61","line":42,"updated":"2014-05-28 14:49:51.000000000","message":"If neutron is available, and tenant isolation is on, the configured fixed network is not used, the one created by tenant isolation is.","commit_id":"03fa4f653f410f2253c1fa494c8d5fb34962f22f"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"627446ef111e731612ecf0f69a1653c9cea16d49","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        if network.label \u003d\u003d fixed_network_name:"},{"line_number":51,"context_line":"            kwargs[\u0027networks\u0027] \u003d [{\u0027uuid\u0027: network.id}]"},{"line_number":52,"context_line":"            break"},{"line_number":53,"context_line":"        # If we didn\u0027t find the network we were looking for :"},{"line_number":54,"context_line":"    else:"},{"line_number":55,"context_line":"        msg \u003d (\"The network on which the NIC of the server must \""},{"line_number":56,"context_line":"               \"be connected can not be found : \""}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_b21d0f69","line":53,"updated":"2014-05-28 11:28:47.000000000","message":"Intend error. This comment should be at the same level as the \"else\" statement","commit_id":"03fa4f653f410f2253c1fa494c8d5fb34962f22f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0e78a07ea437266a289de8a23faa17a2f2b8e17f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"               \"be connected can not be found : \""},{"line_number":57,"context_line":"               \"fixed_network_name\u003d%s. Starting instance without \""},{"line_number":58,"context_line":"               \"specifying a network.\") % fixed_network_name"},{"line_number":59,"context_line":"        LOG.info(msg)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"class BaseComputeTest(tempest.test.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_9ad2e5d0","line":59,"updated":"2014-05-28 14:49:51.000000000","message":"This may deserve a warn?","commit_id":"03fa4f653f410f2253c1fa494c8d5fb34962f22f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d74d551452d82804332eafa22181782c2aef87e8","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    def get_compute_client(cls):"},{"line_number":251,"context_line":"        if cls.official_client is None:"},{"line_number":252,"context_line":"            credentials \u003d cls.os.credentials"},{"line_number":253,"context_line":"            cls.official_client \u003d clients.OfficialClientManager(credentials)"},{"line_number":254,"context_line":"            cls.compute_client \u003d cls.official_client.compute_client"},{"line_number":255,"context_line":"        return cls.compute_client"},{"line_number":256,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_1edecc3f","line":253,"updated":"2014-05-28 13:36:18.000000000","message":"The api tests have to use the tempest clients. Using the official clients for api tests is incorrect. If there is missing functionality from the tempest clients you should augment them to cover the gap. Please refer to:\n\nhttp://docs.openstack.org/developer/tempest/field_guide/api.html\n\nThanks for trying to do this though, you exposed a hole in our hacking rule checks which I\u0027ve plugged:\n\nhttps://review.openstack.org/#/c/96164/","commit_id":"03fa4f653f410f2253c1fa494c8d5fb34962f22f"}],"tempest/services/compute/xml/servers_client.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"0e78a07ea437266a289de8a23faa17a2f2b8e17f","unresolved":false,"context_lines":[{"line_number":347,"context_line":"            networks \u003d xml_utils.Element(\"networks\")"},{"line_number":348,"context_line":"            server.append(networks)"},{"line_number":349,"context_line":"            for network in kwargs[\u0027networks\u0027]:"},{"line_number":350,"context_line":"                s \u003d xml_utils.Element(\"network\")"},{"line_number":351,"context_line":"                for name in (\u0027uuid\u0027, \u0027fixed_ip\u0027):"},{"line_number":352,"context_line":"                    if name in network:"},{"line_number":353,"context_line":"                        s.add_attr(name, network[name])"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_7a99991e","line":350,"updated":"2014-05-28 14:49:51.000000000","message":"Is this change related?","commit_id":"03fa4f653f410f2253c1fa494c8d5fb34962f22f"}]}
