)]}'
{"nova/api/openstack/compute/contrib/os_networks.py":[{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"f202c9794f53efa46dce1d96c11f3add7daeb45d","unresolved":false,"context_lines":[{"line_number":203,"context_line":"        except Exception:"},{"line_number":204,"context_line":"            QUOTAS.rollback(context, reservation)"},{"line_number":205,"context_line":"            LOG.exception(_(\"Create networks failed\"))"},{"line_number":206,"context_line":"            raise exc.HTTPBadRequest(\"create_network failed.\")"},{"line_number":207,"context_line":"        return {\"network\": network_dict(networks[0])}"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FzKg%3D","line":206,"updated":"2013-01-04 18:30:09.000000000","message":"we should probably change this to exc.HTTPServiceUnavailable(explanation\u003d\"create_network failed.\") or HTTPInternalServerError.","commit_id":"681693bf33eedbab5de3b01a30d2e6b24ed7d4a0"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"5d3e2a9664d85fb3df7b2e169f573a03ecb03e12","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        except Exception:"},{"line_number":202,"context_line":"            QUOTAS.rollback(context, reservation)"},{"line_number":203,"context_line":"            LOG.exception(_(\"Create networks failed\"))"},{"line_number":204,"context_line":"            raise exc.HTTPServiceUnavailable(\"create_network failed.\")"},{"line_number":205,"context_line":"        return {\"network\": network_dict(networks[0])}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FwEQ%3D","line":204,"updated":"2013-01-07 18:05:02.000000000","message":"As long as we are still making changes, Please change this as well to explanation\u003d\"create_network failed.\"","commit_id":"86aed7b634814eb3617666e1c10b2027e0e0bb44"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"7da68a4f254580041b8d07cfe4e3f364a0ab6f34","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        except Exception:"},{"line_number":202,"context_line":"            QUOTAS.rollback(context, reservation)"},{"line_number":203,"context_line":"            LOG.exception(_(\"Create networks failed\"))"},{"line_number":204,"context_line":"            raise exc.HTTPServiceUnavailable(\"create_network failed.\")"},{"line_number":205,"context_line":"        return {\"network\": network_dict(networks[0])}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FwDU%3D","line":204,"in_reply_to":"AAAAM3%2F%2FwDs%3D","updated":"2013-01-07 18:14:32.000000000","message":"To make it easy, here is what I did in our internal branch\n\n 193         try:                                                                  \n 194             network \u003d self.network_api.create(context, label\u003dlabel, cidr\u003dcidr)\n 195             QUOTAS.commit(context, reservation)                               \n 196         except Exception:                                                     \n 197             QUOTAS.rollback(context, reservation)                             \n 198             msg \u003d _(\"Create networks failed\")                                 \n 199             LOG.exception(msg, extra\u003dnetwork)                                 \n 200             raise exc.HTTPServiceUnavailable(explanation\u003dmsg)                 \n 201                                                                               \n 202         return {\u0027network\u0027: network[0]}","commit_id":"86aed7b634814eb3617666e1c10b2027e0e0bb44"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"0382a06f12249b00ec79922c3d3f5baec531020c","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        except Exception:"},{"line_number":202,"context_line":"            QUOTAS.rollback(context, reservation)"},{"line_number":203,"context_line":"            LOG.exception(_(\"Create networks failed\"))"},{"line_number":204,"context_line":"            raise exc.HTTPServiceUnavailable(\"create_network failed.\")"},{"line_number":205,"context_line":"        return {\"network\": network_dict(networks[0])}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FwDs%3D","line":204,"in_reply_to":"AAAAM3%2F%2FwEQ%3D","updated":"2013-01-07 18:12:12.000000000","message":"Should probably _() that bad boy too","commit_id":"86aed7b634814eb3617666e1c10b2027e0e0bb44"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"0367e8a34faa1bc8a532f4fdfd7397534d156c77","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def wrapper(*args, **kwargs):"},{"line_number":72,"context_line":"        try:"},{"line_number":73,"context_line":"            return func(*args, **kwargs)"},{"line_number":74,"context_line":"        except rpc_common.RemoteError as err:"},{"line_number":75,"context_line":"            LOG.error(_(\"Remote Traceback: %s\"), err.traceback)"},{"line_number":76,"context_line":"            e \u003d getattr(exception, err.exc_type, None)"},{"line_number":77,"context_line":"            if e is None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Ftr8%3D","line":74,"updated":"2013-01-08 22:14:36.000000000","message":"This code for RemoteError checking can be removed.  Exceptions from nova.exception are already re-raised properly via RPC common code.  (See \u0027allowed_rpc_exception_modules\u0027 conf option which includes nova.exception by default)","commit_id":"ceae0d428c5478f396ec43f9d364a723d1c93213"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"7598ec46d3075cf860543aa9a9d0aae7cfa85ab6","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"class NetworkController(object):"},{"line_number":73,"context_line":"    def __init__(self, network_api\u003dNone):"},{"line_number":74,"context_line":"        self.network_api \u003d nova.network.api.API()"},{"line_number":75,"context_line":"        self._default_networks \u003d []"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def _refresh_default_networks(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2FthE%3D","line":74,"updated":"2013-01-08 23:19:55.000000000","message":"There\u0027s a conf option to specify the network API class to use.  Didn\u0027t notice on the first pass of the review, but this bypasses it.  One should actually use nova.network.API()    (See nova/network/__init__.py)","commit_id":"082639dbf2637a1aa7179de2d2f6e7bad756a67e"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"c994df22263fa31b3e8a9fc5af009fdf0fa92d20","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from nova.api.openstack import extensions"},{"line_number":24,"context_line":"from nova import context as nova_context"},{"line_number":25,"context_line":"from nova import exception"},{"line_number":26,"context_line":"import nova.network.api"},{"line_number":27,"context_line":"from nova.openstack.common import cfg"},{"line_number":28,"context_line":"from nova.openstack.common import log as logging"},{"line_number":29,"context_line":"from nova import quota"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAM3%2F%2FtQo%3D","line":26,"updated":"2013-01-09 02:24:26.000000000","message":"forgot this little guy here.","commit_id":"1d6fe0bc1f99bda3cab87e741729990d28344bdc"}],"nova/network/manager.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"0367e8a34faa1bc8a532f4fdfd7397534d156c77","unresolved":false,"context_lines":[{"line_number":2307,"context_line":"        kwargs[\"num_networks\"] \u003d (kwargs.get(\"num_networks\") or"},{"line_number":2308,"context_line":"                                                            CONF.num_networks)"},{"line_number":2309,"context_line":"        kwargs[\"network_size\"] \u003d (kwargs.get(\"network_size\") or"},{"line_number":2310,"context_line":"                                                            CONF.network_size)"},{"line_number":2311,"context_line":"        # Check that num_networks + vlan_start is not \u003e 4094, fixes lp708025"},{"line_number":2312,"context_line":"        if kwargs[\"num_networks\"] + kwargs[\"vlan_start\"] \u003e 4094:"},{"line_number":2313,"context_line":"            raise ValueError(_(\u0027The sum between the number of networks and\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FtsE%3D","line":2310,"updated":"2013-01-08 22:14:36.000000000","message":"nit-picky, but i\u0027d probably have lined up CONF.* with \u0027kwargs\u0027 above.  Seems odd where it is","commit_id":"ceae0d428c5478f396ec43f9d364a723d1c93213"}]}
