)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"00141bd55c43ac59cfe4eeb0d790655d1e092e7d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"This means that the API is blocked for that period of time. The"},{"line_number":13,"context_line":"application attaching the interface should not be blocked. If the"},{"line_number":14,"context_line":"issue is waiting for an IP address etc., then application should be"},{"line_number":15,"context_line":"developed to take into account standard network opertaions - for"},{"line_number":16,"context_line":"example it make take a few seconds to get a DHCP address."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"DocImpact"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dab895d6_a20edf32","line":15,"updated":"2014-06-29 16:01:59.000000000","message":"\"operations\" is misspelled","commit_id":"a38d3bbee212c8cb0e4453f04cfc4e6edb173904"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bd812727c1d0672757408c2f5c88ea8a9ef08b66","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Network: attach_interface should not be a blocking operation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The attachment of the interface was a \u0027call\u0027. This blocks the API"},{"line_number":10,"context_line":"until the compute node has completed the opertaion. In some cases"},{"line_number":11,"context_line":"when the compute node was loaded this would take more than a minute."},{"line_number":12,"context_line":"This means that the API is blocked for that period of time. The"},{"line_number":13,"context_line":"application attaching the interface should not be blocked. If the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"baada198_6f1fc308","line":10,"updated":"2014-07-03 19:30:03.000000000","message":"s/opertaion/operation/","commit_id":"fea93992a7c3a369ad7c0579b692827d730bf3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d19eb2503a1ad6fc285930a1e8b35dcfca55d5f3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Network: attach_interface should not be a blocking operation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The attachment of the interface was a \u0027call\u0027. This blocks the API"},{"line_number":10,"context_line":"until the compute node has completed the opertaion. In some cases"},{"line_number":11,"context_line":"when the compute node was loaded this would take more than a minute."},{"line_number":12,"context_line":"This means that the API is blocked for that period of time. The"},{"line_number":13,"context_line":"application attaching the interface should not be blocked. If the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"baada198_04335eab","line":10,"in_reply_to":"baada198_6f1fc308","updated":"2014-07-06 14:07:19.000000000","message":"Done","commit_id":"fea93992a7c3a369ad7c0579b692827d730bf3a4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bd812727c1d0672757408c2f5c88ea8a9ef08b66","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The attachment of the interface was a \u0027call\u0027. This blocks the API"},{"line_number":10,"context_line":"until the compute node has completed the opertaion. In some cases"},{"line_number":11,"context_line":"when the compute node was loaded this would take more than a minute."},{"line_number":12,"context_line":"This means that the API is blocked for that period of time. The"},{"line_number":13,"context_line":"application attaching the interface should not be blocked. If the"},{"line_number":14,"context_line":"issue is waiting for an IP address etc., then application should be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"baada198_2fe14bfe","line":11,"updated":"2014-07-03 19:30:03.000000000","message":"by \"loaded\", do you mean \"when the nova-compute worker was initialized\"?","commit_id":"fea93992a7c3a369ad7c0579b692827d730bf3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d19eb2503a1ad6fc285930a1e8b35dcfca55d5f3","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The attachment of the interface was a \u0027call\u0027. This blocks the API"},{"line_number":10,"context_line":"until the compute node has completed the opertaion. In some cases"},{"line_number":11,"context_line":"when the compute node was loaded this would take more than a minute."},{"line_number":12,"context_line":"This means that the API is blocked for that period of time. The"},{"line_number":13,"context_line":"application attaching the interface should not be blocked. If the"},{"line_number":14,"context_line":"issue is waiting for an IP address etc., then application should be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"baada198_2426a268","line":11,"in_reply_to":"baada198_2fe14bfe","updated":"2014-07-06 14:07:19.000000000","message":"Done","commit_id":"fea93992a7c3a369ad7c0579b692827d730bf3a4"},{"author":{"_account_id":11274,"name":"jizhilong","email":"zhilongji@gmail.com","username":"jizhilong"},"change_message_id":"5b3505f30997aba3b9f49b3e9c79b773ffdb81be","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The attachment of the interface was a \u0027call\u0027. This blocks the API"},{"line_number":10,"context_line":"until the compute node has completed the operation. In some cases"},{"line_number":11,"context_line":"when the compute node was under load this would about a minute."},{"line_number":12,"context_line":"This means that the API is blocked for that period of time. The"},{"line_number":13,"context_line":"application attaching the interface should not be blocked. If the"},{"line_number":14,"context_line":"issue is waiting for an IP address etc., then application should be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"baada198_859bb764","line":11,"updated":"2014-07-08 06:13:49.000000000","message":"\u0027would be\u0027 or \u0027would take\u0027?","commit_id":"cc82d704b804d9f98211ea60a12162d172e4bd18"}],"nova/api/openstack/compute/plugins/v3/attach_interfaces.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"08c71573780d3469ee3700d05d523df72356a12f","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        try:"},{"line_number":106,"context_line":"            self.compute_api.attach_interface(context,"},{"line_number":107,"context_line":"                instance, network_id, port_id, req_ip)"},{"line_number":108,"context_line":"        except (exception.PortNotFound,"},{"line_number":109,"context_line":"                exception.FixedIpAlreadyInUse,"},{"line_number":110,"context_line":"                exception.PortInUse,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab895d6_f66ed095","line":107,"updated":"2014-06-30 09:19:06.000000000","message":"we should pass the do_cast\u003dTrue down to rpc api","commit_id":"7131243dd17c125cd102bdf3e20c59629f1f1873"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"69b284ab28d4da175896c521d16bb281695c930c","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        try:"},{"line_number":106,"context_line":"            self.compute_api.attach_interface(context,"},{"line_number":107,"context_line":"                instance, network_id, port_id, req_ip)"},{"line_number":108,"context_line":"        except (exception.PortNotFound,"},{"line_number":109,"context_line":"                exception.FixedIpAlreadyInUse,"},{"line_number":110,"context_line":"                exception.PortInUse,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab895d6_01acdcec","line":107,"in_reply_to":"dab895d6_f66ed095","updated":"2014-06-30 09:56:14.000000000","message":"Oops. My bad. Missed updating this.","commit_id":"7131243dd17c125cd102bdf3e20c59629f1f1873"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"59bee0dd57b9e339ba952ca44389ded6914e53dc","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        try:"},{"line_number":106,"context_line":"            self.compute_api.attach_interface(context,"},{"line_number":107,"context_line":"                instance, network_id, port_id, req_ip, do_cast\u003dTrue)"},{"line_number":108,"context_line":"        except (exception.PortNotFound,"},{"line_number":109,"context_line":"                exception.FixedIpAlreadyInUse,"},{"line_number":110,"context_line":"                exception.PortInUse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_10201fab","line":107,"updated":"2014-07-03 23:06:01.000000000","message":"we also need modify nova.compute.api.API.attach_interface to accept do_cast","commit_id":"fea93992a7c3a369ad7c0579b692827d730bf3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d19eb2503a1ad6fc285930a1e8b35dcfca55d5f3","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        try:"},{"line_number":106,"context_line":"            self.compute_api.attach_interface(context,"},{"line_number":107,"context_line":"                instance, network_id, port_id, req_ip, do_cast\u003dTrue)"},{"line_number":108,"context_line":"        except (exception.PortNotFound,"},{"line_number":109,"context_line":"                exception.FixedIpAlreadyInUse,"},{"line_number":110,"context_line":"                exception.PortInUse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_a402b2b1","line":107,"in_reply_to":"baada198_10201fab","updated":"2014-07-06 14:07:19.000000000","message":"Done","commit_id":"fea93992a7c3a369ad7c0579b692827d730bf3a4"}],"nova/compute/rpcapi.py":[{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"5429a8159f534896bd05f28c2a5aea18d43a6d08","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        cctxt \u003d self.client.prepare(server\u003d_compute_host(None, instance),"},{"line_number":335,"context_line":"                version\u003dversion)"},{"line_number":336,"context_line":"        rpc_method \u003d cctxt.cast if do_cast else cctxt.call"},{"line_number":337,"context_line":"        return rpc_method(ctxt, \u0027attach_interface\u0027,"},{"line_number":338,"context_line":"                          instance\u003dinstance, network_id\u003dnetwork_id,"},{"line_number":339,"context_line":"                          port_id\u003dport_id, requested_ip\u003drequested_ip)"},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab895d6_cdd69bc5","line":337,"updated":"2014-06-30 08:17:35.000000000","message":"maybe I am missing something but this still results in cctxt.call\n\nI thought the purpose of the patch is to use cctxt.cast by default","commit_id":"7131243dd17c125cd102bdf3e20c59629f1f1873"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"69b284ab28d4da175896c521d16bb281695c930c","unresolved":false,"context_lines":[{"line_number":334,"context_line":"        cctxt \u003d self.client.prepare(server\u003d_compute_host(None, instance),"},{"line_number":335,"context_line":"                version\u003dversion)"},{"line_number":336,"context_line":"        rpc_method \u003d cctxt.cast if do_cast else cctxt.call"},{"line_number":337,"context_line":"        return rpc_method(ctxt, \u0027attach_interface\u0027,"},{"line_number":338,"context_line":"                          instance\u003dinstance, network_id\u003dnetwork_id,"},{"line_number":339,"context_line":"                          port_id\u003dport_id, requested_ip\u003drequested_ip)"},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab895d6_c181044c","line":337,"in_reply_to":"dab895d6_cdd69bc5","updated":"2014-06-30 09:56:14.000000000","message":"this is meant to only send the cast for the v3 api. i left the default as false so not to change the v2 code","commit_id":"7131243dd17c125cd102bdf3e20c59629f1f1873"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bd812727c1d0672757408c2f5c88ea8a9ef08b66","unresolved":false,"context_lines":[{"line_number":324,"context_line":"                   instance\u003dinstance, network_id\u003dnetwork_id)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    def attach_interface(self, ctxt, instance, network_id, port_id,"},{"line_number":327,"context_line":"                         requested_ip, do_cast\u003dFalse):"},{"line_number":328,"context_line":"        # NOTE(russellb) Havana compat"},{"line_number":329,"context_line":"        if self.client.can_send_version(\u00273.17\u0027):"},{"line_number":330,"context_line":"            version \u003d \u00273.17\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_2f86ab13","line":327,"updated":"2014-07-03 19:30:03.000000000","message":"Unless I am mistaken, you need to increment the RPC API version, no?","commit_id":"fea93992a7c3a369ad7c0579b692827d730bf3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d19eb2503a1ad6fc285930a1e8b35dcfca55d5f3","unresolved":false,"context_lines":[{"line_number":324,"context_line":"                   instance\u003dinstance, network_id\u003dnetwork_id)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    def attach_interface(self, ctxt, instance, network_id, port_id,"},{"line_number":327,"context_line":"                         requested_ip, do_cast\u003dFalse):"},{"line_number":328,"context_line":"        # NOTE(russellb) Havana compat"},{"line_number":329,"context_line":"        if self.client.can_send_version(\u00273.17\u0027):"},{"line_number":330,"context_line":"            version \u003d \u00273.17\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_c4fde6b2","line":327,"in_reply_to":"baada198_2f86ab13","updated":"2014-07-06 14:07:19.000000000","message":"As far as I understand we only need to do that if we change the structure of the data passed. Here we are just sending it in a different way. Not sure that we need to change it. Do you by any chance have an example?","commit_id":"fea93992a7c3a369ad7c0579b692827d730bf3a4"}],"nova/tests/compute/test_rpcapi.py":[{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"5429a8159f534896bd05f28c2a5aea18d43a6d08","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        cast_and_call \u003d [\u0027confirm_resize\u0027, \u0027stop_instance\u0027,"},{"line_number":69,"context_line":"                         \u0027attach_interface\u0027]"},{"line_number":70,"context_line":"        if rpc_method \u003d\u003d \u0027call\u0027 and method in cast_and_call:"},{"line_number":71,"context_line":"            if method \u003d\u003d \u0027confirm_resize\u0027:"},{"line_number":72,"context_line":"                kwargs[\u0027cast\u0027] \u003d False"},{"line_number":73,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab895d6_cd885bea","line":70,"updated":"2014-06-30 08:17:35.000000000","message":"nit: you can avoid code duplication with something like this\n\n  if rpc_method in [\u0027call\u0027, \u0027cast\u0027] and method in cast_and_call:","commit_id":"7131243dd17c125cd102bdf3e20c59629f1f1873"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"69b284ab28d4da175896c521d16bb281695c930c","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        cast_and_call \u003d [\u0027confirm_resize\u0027, \u0027stop_instance\u0027,"},{"line_number":69,"context_line":"                         \u0027attach_interface\u0027]"},{"line_number":70,"context_line":"        if rpc_method \u003d\u003d \u0027call\u0027 and method in cast_and_call:"},{"line_number":71,"context_line":"            if method \u003d\u003d \u0027confirm_resize\u0027:"},{"line_number":72,"context_line":"                kwargs[\u0027cast\u0027] \u003d False"},{"line_number":73,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab895d6_2103a0b9","line":70,"in_reply_to":"dab895d6_cd885bea","updated":"2014-06-30 09:56:14.000000000","message":"not sure about this - we will also need to set the value as True","commit_id":"7131243dd17c125cd102bdf3e20c59629f1f1873"}],"nova/tests/integrated/v3/test_attach_interfaces.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bd812727c1d0672757408c2f5c88ea8a9ef08b66","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                 % instance_uuid,"},{"line_number":156,"context_line":"                                 \u0027attach-interfaces-create-req\u0027, subs)"},{"line_number":157,"context_line":"        self.assertEqual(response.status, 202)"},{"line_number":158,"context_line":"        self.assertEqual(response.read(), \u0027\u0027)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def test_delete_interfaces(self):"},{"line_number":161,"context_line":"        instance_uuid \u003d self._post_server()"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_4fa59fa0","line":158,"updated":"2014-07-03 19:30:03.000000000","message":"expected before actual please! :)","commit_id":"fea93992a7c3a369ad7c0579b692827d730bf3a4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d19eb2503a1ad6fc285930a1e8b35dcfca55d5f3","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                 % instance_uuid,"},{"line_number":156,"context_line":"                                 \u0027attach-interfaces-create-req\u0027, subs)"},{"line_number":157,"context_line":"        self.assertEqual(response.status, 202)"},{"line_number":158,"context_line":"        self.assertEqual(response.read(), \u0027\u0027)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def test_delete_interfaces(self):"},{"line_number":161,"context_line":"        instance_uuid \u003d self._post_server()"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_64fc1ab9","line":158,"in_reply_to":"baada198_4fa59fa0","updated":"2014-07-06 14:07:19.000000000","message":"Done","commit_id":"fea93992a7c3a369ad7c0579b692827d730bf3a4"}]}
