)]}'
{"quantum/plugins/nicira/nicira_nvp_plugin/api_client/client.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        if getattr(conn, \u0027last_used\u0027, now) \u003c now - self.CONN_IDLE_TIMEOUT:"},{"line_number":123,"context_line":"            LOG.info(_(\"[%d] Connection %s idle for %0.2f seconds; \""},{"line_number":124,"context_line":"                       \"reconnecting.\"),"},{"line_number":125,"context_line":"                     rid, _conn_str(conn), now - conn.last_used)"},{"line_number":126,"context_line":"            conn \u003d self._create_connection(*self._conn_params(conn))"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        conn.last_used \u003d now"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fzok%3D","line":125,"updated":"2013-01-04 13:48:34.000000000","message":"If more than one format specifier, please use this:\nLOG.info(_(\"[%(rid)d] Connection %(conn)s idle for %(sec)0.2f seconds; reconnecting.\", {\u0027rid\u0027: rid, \u0027conn\u0027: _conn_str(conn), sec: now - conn.last_used})","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        conn_params \u003d self._conn_params(http_conn)"},{"line_number":149,"context_line":"        if self._conn_params(http_conn) not in self._api_providers:"},{"line_number":150,"context_line":"            LOG.debug(_(\"[%d] Released connection \u0027%s\u0027 is not an API provider \""},{"line_number":151,"context_line":"                        \"for the cluster\"), rid, _conn_str(http_conn))"},{"line_number":152,"context_line":"            return"},{"line_number":153,"context_line":"        elif hasattr(http_conn, \"no_release\"):"},{"line_number":154,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fzog%3D","line":151,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        if bad_state:"},{"line_number":157,"context_line":"            # Reconnect to provider."},{"line_number":158,"context_line":"            LOG.warn(_(\"[%d] Connection returned in bad state, reconnecting \""},{"line_number":159,"context_line":"                       \"to %s\"), rid, _conn_str(http_conn))"},{"line_number":160,"context_line":"            http_conn \u003d self._create_connection(*self._conn_params(http_conn))"},{"line_number":161,"context_line":"            priority \u003d self._next_conn_priority"},{"line_number":162,"context_line":"            self._next_conn_priority +\u003d 1"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fzoc%3D","line":159,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        self._conn_pool.put((priority, http_conn))"},{"line_number":182,"context_line":"        LOG.debug(_(\"[%d] Released connection %s. %d connection(s) \""},{"line_number":183,"context_line":"                    \"available.\"),"},{"line_number":184,"context_line":"                  rid, _conn_str(http_conn), self._conn_pool.qsize())"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    def _wait_for_login(self, conn, headers\u003dNone):"},{"line_number":187,"context_line":"        \u0027\u0027\u0027Block until a login has occurred for the current API provider.\u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FzoY%3D","line":184,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"}],"quantum/plugins/nicira/nicira_nvp_plugin/api_client/request.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        url \u003d self._url"},{"line_number":95,"context_line":"        LOG.debug(_(\"[%d] Issuing - request \u0027%s\u0027\"),"},{"line_number":96,"context_line":"                  self._rid(), self._request_str(conn, url))"},{"line_number":97,"context_line":"        issued_time \u003d time.time()"},{"line_number":98,"context_line":"        is_conn_error \u003d False"},{"line_number":99,"context_line":"        is_conn_service_unavail \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FzoE%3D","line":96,"updated":"2013-01-04 13:48:34.000000000","message":"This more than one format specifier, please use mapping key","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                if gen:"},{"line_number":119,"context_line":"                    headers[\"X-Nvp-Wait-For-Config-Generation\"] \u003d gen"},{"line_number":120,"context_line":"                    LOG.debug(_(\"Setting %s request header: \u0027%s\u0027\"),"},{"line_number":121,"context_line":"                              \u0027X-Nvp-Wait-For-Config-Generation\u0027, gen)"},{"line_number":122,"context_line":"                try:"},{"line_number":123,"context_line":"                    conn.request(self._method, url, self._body, headers)"},{"line_number":124,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FzoA%3D","line":121,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    conn.request(self._method, url, self._body, headers)"},{"line_number":124,"context_line":"                except Exception as e:"},{"line_number":125,"context_line":"                    LOG.warn(_(\"[%d] Exception issuing request: \u0027%s\u0027\"),"},{"line_number":126,"context_line":"                             self._rid(), e)"},{"line_number":127,"context_line":"                    raise e"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"                response \u003d conn.getresponse()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fzn8%3D","line":126,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":131,"context_line":"                response.headers \u003d response.getheaders()"},{"line_number":132,"context_line":"                LOG.debug(_(\"[%d] Completed request \u0027%s\u0027: %s (%0.2f seconds)\"),"},{"line_number":133,"context_line":"                          self._rid(), self._request_str(conn, url),"},{"line_number":134,"context_line":"                          response.status, time.time() - issued_time)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"                new_gen \u003d response.getheader(\u0027X-Nvp-Config-Generation\u0027, None)"},{"line_number":137,"context_line":"                if new_gen:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fzn4%3D","line":134,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                new_gen \u003d response.getheader(\u0027X-Nvp-Config-Generation\u0027, None)"},{"line_number":137,"context_line":"                if new_gen:"},{"line_number":138,"context_line":"                    LOG.debug(_(\"Reading \u0027%s\u0027 response header: \u0027%s\u0027\"),"},{"line_number":139,"context_line":"                              \u0027X-Nvp-config-Generation\u0027, new_gen)"},{"line_number":140,"context_line":"                    if (self._api_client.nvp_config_gen is None or"},{"line_number":141,"context_line":"                        self._api_client.nvp_config_gen \u003c int(new_gen)):"},{"line_number":142,"context_line":"                        self._api_client.nvp_config_gen \u003d int(new_gen)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fzn0%3D","line":139,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            if response.status \u003e\u003d 500:"},{"line_number":187,"context_line":"                LOG.warn(_(\"[%d] Request \u0027%s %s\u0027 received: %s\"),"},{"line_number":188,"context_line":"                         self._rid(), self._method, self._url,"},{"line_number":189,"context_line":"                         response.status)"},{"line_number":190,"context_line":"                raise Exception(\u0027Server error return: %s\u0027 %"},{"line_number":191,"context_line":"                                response.status)"},{"line_number":192,"context_line":"            return response"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fznw%3D","line":189,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":197,"context_line":"                msg \u003d unicode(e)"},{"line_number":198,"context_line":"            LOG.warn(_(\"[%d] Failed request \u0027%s\u0027: \u0027%s\u0027 (%0.2f seconds)\"),"},{"line_number":199,"context_line":"                     self._rid(), self._request_str(conn, url), msg,"},{"line_number":200,"context_line":"                     time.time() - issued_time)"},{"line_number":201,"context_line":"            self._request_error \u003d e"},{"line_number":202,"context_line":"            is_conn_error \u003d True"},{"line_number":203,"context_line":"            return e"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fzns%3D","line":200,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":246,"context_line":"                return (conn, url)      # case 1"},{"line_number":247,"context_line":"            else:"},{"line_number":248,"context_line":"                LOG.warn(_(\"[%d] Received invalid redirect location: \u0027%s\u0027\"),"},{"line_number":249,"context_line":"                         self._rid(), url)"},{"line_number":250,"context_line":"                return (conn, None)     # case 3"},{"line_number":251,"context_line":"        elif result.scheme not in [\"http\", \"https\"] or not result.hostname:"},{"line_number":252,"context_line":"            LOG.warn(_(\"[%d] Received malformed redirect location: %s\"),"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fznk%3D","line":249,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4b409e424a868c8b60d6f0d1ebfc1d77295505d1","unresolved":false,"context_lines":[{"line_number":250,"context_line":"                return (conn, None)     # case 3"},{"line_number":251,"context_line":"        elif result.scheme not in [\"http\", \"https\"] or not result.hostname:"},{"line_number":252,"context_line":"            LOG.warn(_(\"[%d] Received malformed redirect location: %s\"),"},{"line_number":253,"context_line":"                     self._rid(), url)"},{"line_number":254,"context_line":"            return (conn, None)         # case 3"},{"line_number":255,"context_line":"        # case 2, redirect location includes a scheme"},{"line_number":256,"context_line":"        # so setup a new connection and authenticate"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fzno%3D","line":253,"updated":"2013-01-04 13:48:34.000000000","message":"ditto","commit_id":"a917a110f72c7937f7f50089432c9878d8d16782"}]}
