)]}'
{"cinder/api/openstack/wsgi.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    def get_content_type(self):"},{"line_number":244,"context_line":"        \"\"\"Determine content type of the request body."},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        Does not do any body introspection, only checks header"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_f13f7dd4","line":245,"updated":"2015-06-05 14:32:04.000000000","message":"Please remove this unnecessary blank line.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    def get_content_type(self):"},{"line_number":244,"context_line":"        \"\"\"Determine content type of the request body."},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        Does not do any body introspection, only checks header"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_bbfb82c0","line":245,"in_reply_to":"3afb71cf_f13f7dd4","updated":"2015-06-10 10:15:38.000000000","message":"That should be addressed in a different patch.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        \"\"\"Convert a minidom node to a simple Python type."},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"        :param listnames: list of XML node names whose subnodes should"},{"line_number":333,"context_line":"                          be considered list items."},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"        \"\"\""},{"line_number":336,"context_line":"        if len(node.childNodes) \u003d\u003d 1 and node.childNodes[0].nodeType \u003d\u003d 3:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_71038d10","line":333,"updated":"2015-06-05 14:32:04.000000000","message":"Please remove extra blank line.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":784,"context_line":"    serialized by requested content type."},{"line_number":785,"context_line":""},{"line_number":786,"context_line":"    Exceptions derived from webob.exc.HTTPException will be automatically"},{"line_number":787,"context_line":"    wrapped in Fault() to provide API friendly error responses."},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"    \"\"\""},{"line_number":790,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_4c4d9a71","line":787,"updated":"2015-06-05 14:32:04.000000000","message":"Please remove extra blank line.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/api/v2/limits.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        @param verb: HTTP verb (POST, PUT, etc.)"},{"line_number":117,"context_line":"        @param uri: Human-readable URI"},{"line_number":118,"context_line":"        @param regex: Regular expression format for this limit"},{"line_number":119,"context_line":"        @param value: Integer number of requests which can be made"},{"line_number":120,"context_line":"        @param unit: Unit of measure for the value parameter"},{"line_number":121,"context_line":"        \"\"\""},{"line_number":122,"context_line":"        self.verb \u003d verb"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_67e4ef3a","line":119,"updated":"2015-06-05 14:32:04.000000000","message":"There are multiple occurrences throught the code. Please fix all these issues according to the standards [1].\n\n[1] http://docs.openstack.org/developer/hacking/#docstrings","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        @param verb: HTTP verb (POST, PUT, etc.)"},{"line_number":117,"context_line":"        @param uri: Human-readable URI"},{"line_number":118,"context_line":"        @param regex: Regular expression format for this limit"},{"line_number":119,"context_line":"        @param value: Integer number of requests which can be made"},{"line_number":120,"context_line":"        @param unit: Unit of measure for the value parameter"},{"line_number":121,"context_line":"        \"\"\""},{"line_number":122,"context_line":"        self.verb \u003d verb"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_e02269a2","line":119,"in_reply_to":"3afb71cf_67e4ef3a","updated":"2015-06-10 10:15:38.000000000","message":"That should be done in another patch.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    def __call__(self, verb, url):"},{"line_number":146,"context_line":"        \"\"\"Represent a call to this limit from a relevant request."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        @param verb: string http verb (POST, GET, etc.)"},{"line_number":149,"context_line":"        @param url: string URL"},{"line_number":150,"context_line":"        \"\"\""},{"line_number":151,"context_line":"        if self.verb !\u003d verb or not re.match(self.regex, url):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_c7c4c393","line":148,"updated":"2015-06-05 14:32:04.000000000","message":"Same as above.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def __init__(self, application, limits\u003dNone, limiter\u003dNone, **kwargs):"},{"line_number":220,"context_line":"        \"\"\"Initialize class, wrap WSGI app, and set up given limits."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        :param application: WSGI application to wrap"},{"line_number":223,"context_line":"        :param limits: String describing limits"},{"line_number":224,"context_line":"        :param limiter: String identifying class for representing limits"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_8c6cb29d","line":221,"updated":"2015-06-05 14:32:04.000000000","message":"IMO, existing doc string provides more accurate and detailed information. Could you please fix this issue persisting the existing information.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    def __init__(self, limits, **kwargs):"},{"line_number":276,"context_line":"        \"\"\"Initialize the new `Limiter`."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        @param limits: List of `Limit` objects"},{"line_number":279,"context_line":"        \"\"\""},{"line_number":280,"context_line":"        self.limits \u003d copy.deepcopy(limits)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_6c4616c1","line":277,"updated":"2015-06-05 14:32:04.000000000","message":"You should change the parameters declaration in doc string similar to line #222.\n\nThere are multiple such occurrences throught the code. Please fix all these issues according to the standards [1]\n\n[1] http://docs.openstack.org/developer/hacking/#docstrings","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def check_for_delay(self, verb, url, username\u003dNone):"},{"line_number":294,"context_line":"        \"\"\"Check the given verb/user/user triplet for limit."},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        @return: Tuple of delay (in seconds) and error message (or None, None)"},{"line_number":297,"context_line":"        \"\"\""},{"line_number":298,"context_line":"        delays \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_c7dde371","line":295,"updated":"2015-06-05 14:32:04.000000000","message":"Same as above.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        requests which can be made, and a unit of measure.  Valid"},{"line_number":325,"context_line":"        values for the latter are \"SECOND\", \"MINUTE\", \"HOUR\", and"},{"line_number":326,"context_line":"        \"DAY\"."},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        @return: List of Limit instances."},{"line_number":329,"context_line":"        \"\"\""},{"line_number":330,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_87900b97","line":327,"updated":"2015-06-05 14:32:04.000000000","message":"Same as above.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":427,"context_line":""},{"line_number":428,"context_line":"    def __init__(self, limiter_address):"},{"line_number":429,"context_line":"        \"\"\"Initialize the new `WsgiLimiterProxy`."},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        @param limiter_address: IP/port combination of where to request limit"},{"line_number":432,"context_line":"        \"\"\""},{"line_number":433,"context_line":"        self.limiter_address \u003d limiter_address"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_c772837c","line":430,"updated":"2015-06-05 14:32:04.000000000","message":"And here.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":458,"context_line":"    @staticmethod"},{"line_number":459,"context_line":"    def parse_limits(limits):"},{"line_number":460,"context_line":"        \"\"\"Ignore a limits string--simply doesn\u0027t apply for the limit proxy."},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"        @return: Empty list."},{"line_number":463,"context_line":"        \"\"\""},{"line_number":464,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_876c8b9d","line":461,"updated":"2015-06-05 14:32:04.000000000","message":"And here.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"977edff99320d066ebcd8559c6ed0d7c74d5bba5","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def __init__(self, application, limits\u003dNone, limiter\u003dNone, **kwargs):"},{"line_number":220,"context_line":"        \"\"\"Initialize class, wrap WSGI app, and set up given limits."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        :param application: WSGI application to wrap"},{"line_number":223,"context_line":"        :param limits: String describing limits"},{"line_number":224,"context_line":"        :param limiter: String identifying class for representing limits"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_16c14b54","line":221,"updated":"2015-06-10 09:05:03.000000000","message":"Please address the review comments given on the previous patch set #2.","commit_id":"3c675c9a3b2d7cbf02144f09475c9e79ae17d896"},{"author":{"_account_id":10263,"name":"Vilobh Meshram","email":"vilobhmm@yahoo-inc.com","username":"vilobhmm"},"change_message_id":"31f09faf98d3786f4b8e4755e68e4e05a4508e28","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        :param application: WSGI application to wrap"},{"line_number":223,"context_line":"        :param limits: String describing limits"},{"line_number":224,"context_line":"        :param limiter: String identifying class for representing limits"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        Other parameters are passed to the constructor for the limiter."},{"line_number":227,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_69a401b9","line":224,"updated":"2015-06-10 22:12:17.000000000","message":"If you are following this you should also follow http://docs.ckan.org/en/latest/contributing/python.html\n\nfor :returns etc","commit_id":"3c675c9a3b2d7cbf02144f09475c9e79ae17d896"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"977edff99320d066ebcd8559c6ed0d7c74d5bba5","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    def __init__(self, limits, **kwargs):"},{"line_number":276,"context_line":"        \"\"\"Initialize the new `Limiter`."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        @param limits: List of `Limit` objects"},{"line_number":279,"context_line":"        \"\"\""},{"line_number":280,"context_line":"        self.limits \u003d copy.deepcopy(limits)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_56fea3ae","line":277,"updated":"2015-06-10 09:05:03.000000000","message":"Looks like you missed this file while addressing the comments. Please address the review comments given on the previous patch set #2.","commit_id":"3c675c9a3b2d7cbf02144f09475c9e79ae17d896"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"06ccc656501426c7d5dd9be490221951f206d8e3","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    def __init__(self, limits, **kwargs):"},{"line_number":276,"context_line":"        \"\"\"Initialize the new `Limiter`."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        @param limits: List of `Limit` objects"},{"line_number":279,"context_line":"        \"\"\""},{"line_number":280,"context_line":"        self.limits \u003d copy.deepcopy(limits)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_c22e4efa","line":277,"in_reply_to":"3afb71cf_56fea3ae","updated":"2015-06-10 10:17:03.000000000","message":"Yes, there were a few comments that had nothing to do with the patch. They should be addressed in a different patch.","commit_id":"3c675c9a3b2d7cbf02144f09475c9e79ae17d896"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"365280af83552207c3436e29460b1a489d5b47f2","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    def __init__(self, limits, **kwargs):"},{"line_number":276,"context_line":"        \"\"\"Initialize the new `Limiter`."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        @param limits: List of `Limit` objects"},{"line_number":279,"context_line":"        \"\"\""},{"line_number":280,"context_line":"        self.limits \u003d copy.deepcopy(limits)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_85b5007f","line":277,"in_reply_to":"3afb71cf_c22e4efa","updated":"2015-06-10 11:04:43.000000000","message":"IMO, As in this patch we are trying to fix multiline doc strings only, so these issues should be fixed according to the multiline doc string standards to keep consistency similar to the changes you made at line #222.\n\nLets see other reviewers opinion on this.","commit_id":"3c675c9a3b2d7cbf02144f09475c9e79ae17d896"}],"cinder/backup/chunkeddriver.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @abc.abstractmethod"},{"line_number":148,"context_line":"    def get_extra_metadata(self, backup, volume):"},{"line_number":149,"context_line":"        \"\"\"Return extra metadata in prepare_backup()."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        This method allows for collection of extra metadata in prepare_backup()"},{"line_number":152,"context_line":"        which will be passed to get_object_reader() and get_object_writer()."}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_89df990c","line":149,"updated":"2015-06-04 10:07:20.000000000","message":"Return extra metadata to use in prepare_backup","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @abc.abstractmethod"},{"line_number":148,"context_line":"    def get_extra_metadata(self, backup, volume):"},{"line_number":149,"context_line":"        \"\"\"Return extra metadata in prepare_backup()."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        This method allows for collection of extra metadata in prepare_backup()"},{"line_number":152,"context_line":"        which will be passed to get_object_reader() and get_object_writer()."}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_2ac18254","line":149,"in_reply_to":"5afe65bd_89df990c","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/backup/manager.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Backup manager manages volume backups."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_07fe5b6b","line":15,"updated":"2015-06-05 14:32:04.000000000","message":"Multi line docstrings should start without a leading new line.\n\nShould start with \"\"\"Backup manager manages volume backups.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Backup manager manages volume backups."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_8aabd674","line":15,"in_reply_to":"3afb71cf_07fe5b6b","updated":"2015-06-10 10:15:38.000000000","message":"Again, beyond the scope of this patch.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                        `cinder-backup`)."},{"line_number":30,"context_line":":backup_manager:  The module name of a class derived from"},{"line_number":31,"context_line":"                          :class:`manager.Manager` (default:"},{"line_number":32,"context_line":"                          :class:`cinder.backup.manager.Manager`)."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"\"\"\""},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_87f24b99","line":32,"updated":"2015-06-05 14:32:04.000000000","message":"Please remove this extra line.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"365280af83552207c3436e29460b1a489d5b47f2","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Backup manager manages volume backups."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Volume Backups are full copies of persistent volumes stored in a backup"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_653d64dc","line":16,"updated":"2015-06-10 11:04:43.000000000","message":"I am OK If you are intended to fix these issues separately, But IMO it would be better to make it consistent and according to the doc string guidelines.","commit_id":"3c675c9a3b2d7cbf02144f09475c9e79ae17d896"}],"cinder/cmd/manage.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":473,"context_line":"    \"\"\"Return non-private methods from an object."},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    Get all callable methods of an object that don\u0027t start with underscore"},{"line_number":476,"context_line":"    returns a list of tuples of the form (method_name, method)"},{"line_number":477,"context_line":"    \"\"\""},{"line_number":478,"context_line":"    result \u003d []"},{"line_number":479,"context_line":"    for i in dir(obj):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_09572959","line":476,"updated":"2015-06-04 10:07:20.000000000","message":":return: a list of tuples of the form (method_name, method)","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":473,"context_line":"    \"\"\"Return non-private methods from an object."},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    Get all callable methods of an object that don\u0027t start with underscore"},{"line_number":476,"context_line":"    returns a list of tuples of the form (method_name, method)"},{"line_number":477,"context_line":"    \"\"\""},{"line_number":478,"context_line":"    result \u003d []"},{"line_number":479,"context_line":"    for i in dir(obj):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_cacc2e6c","line":476,"in_reply_to":"5afe65bd_09572959","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/db/api.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":32,"context_line":"              `sqlite:///var/lib/cinder/cinder.sqlite`."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":":enable_new_services:  when adding a new service to the database, is it in the"},{"line_number":35,"context_line":"                       pool of available hardware (Default: True)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"\"\"\""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_87aa4b18","line":35,"updated":"2015-06-05 14:32:04.000000000","message":"Please remove extra line here.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":32,"context_line":"              `sqlite:///var/lib/cinder/cinder.sqlite`."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":":enable_new_services:  when adding a new service to the database, is it in the"},{"line_number":35,"context_line":"                       pool of available hardware (Default: True)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"\"\"\""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_e2beeaac","line":35,"in_reply_to":"3afb71cf_87aa4b18","updated":"2015-06-10 10:15:38.000000000","message":"Not the scope of the patch.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":124,"context_line":"def service_update(context, service_id, values):"},{"line_number":125,"context_line":"    \"\"\"Set the given properties on an service and update it."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    Raises NotFound if service does not exist."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    \"\"\""},{"line_number":130,"context_line":"    return IMPL.service_update(context, service_id, values)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_076d3b04","line":127,"updated":"2015-06-05 14:32:04.000000000","message":"ditto","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    The device is not returned. If the create violates the unique"},{"line_number":145,"context_line":"    constraints because the iscsi_target and host already exist,"},{"line_number":146,"context_line":"    no exception is raised."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    \"\"\""},{"line_number":149,"context_line":"    return IMPL.iscsi_target_create_safe(context, values)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_c77723d3","line":146,"updated":"2015-06-05 14:32:04.000000000","message":"ditto","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":235,"context_line":"def volume_update(context, volume_id, values):"},{"line_number":236,"context_line":"    \"\"\"Set the given properties on an volume and update it."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    Raises NotFound if volume does not exist."},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    \"\"\""},{"line_number":241,"context_line":"    return IMPL.volume_update(context, volume_id, values)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_87812b92","line":238,"updated":"2015-06-05 14:32:04.000000000","message":"ditto","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":317,"context_line":"def snapshot_update(context, snapshot_id, values):"},{"line_number":318,"context_line":"    \"\"\"Set the given properties on an snapshot and update it."},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    Raises NotFound if snapshot does not exist."},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    \"\"\""},{"line_number":323,"context_line":"    return IMPL.snapshot_update(context, snapshot_id, values)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_e748df89","line":320,"updated":"2015-06-05 14:32:04.000000000","message":"ditto","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"365280af83552207c3436e29460b1a489d5b47f2","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":":enable_new_services:  when adding a new service to the database, is it in the"},{"line_number":35,"context_line":"                       pool of available hardware (Default: True)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"\"\"\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"from oslo_config import cfg"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_7059a034","line":36,"updated":"2015-06-10 11:04:43.000000000","message":"This is not a big change to fix separately while we are fixing the multiline doc string in this patch.","commit_id":"3c675c9a3b2d7cbf02144f09475c9e79ae17d896"}],"cinder/db/sqlalchemy/api.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":153,"context_line":"def require_admin_context(f):"},{"line_number":154,"context_line":"    \"\"\"Decorator to require admin request context."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    The first argument to the wrapped function must be the context."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    \"\"\""},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_271dd773","line":156,"updated":"2015-06-05 14:32:04.000000000","message":"Please remove extra line here.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":153,"context_line":"def require_admin_context(f):"},{"line_number":154,"context_line":"    \"\"\"Decorator to require admin request context."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    The first argument to the wrapped function must be the context."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    \"\"\""},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_a2bc72bb","line":156,"in_reply_to":"3afb71cf_271dd773","updated":"2015-06-10 10:15:38.000000000","message":"This is not within the scope of the patch.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":170,"context_line":"    This does no authorization for user or project access matching, see"},{"line_number":171,"context_line":"    :py:func:`authorize_project_context` and"},{"line_number":172,"context_line":"    :py:func:`authorize_user_context`."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    The first argument to the wrapped function must be the context."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_e7169f54","line":173,"updated":"2015-06-05 14:32:04.000000000","message":"ditto","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"    This function saves the information related to a particular"},{"line_number":1024,"context_line":"    attachment for a volume.  It also updates the volume record"},{"line_number":1025,"context_line":"    to mark the volume as attached."},{"line_number":1026,"context_line":""},{"line_number":1027,"context_line":"    \"\"\""},{"line_number":1028,"context_line":"    if instance_uuid and not uuidutils.is_uuid_like(instance_uuid):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_8706cb1e","line":1025,"updated":"2015-06-05 14:32:04.000000000","message":"ditto","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":1209,"context_line":""},{"line_number":1210,"context_line":"    This method also ensures that the volume entry is correctly"},{"line_number":1211,"context_line":"    marked as either still attached/in-use or detached/available"},{"line_number":1212,"context_line":"    if this was the last detachment made."},{"line_number":1213,"context_line":""},{"line_number":1214,"context_line":"    \"\"\""},{"line_number":1215,"context_line":"    session \u003d get_session()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_6703cf10","line":1212,"updated":"2015-06-05 14:32:04.000000000","message":"ditto","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"365280af83552207c3436e29460b1a489d5b47f2","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    \"\"\"Decorator to require admin request context."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    The first argument to the wrapped function must be the context."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    \"\"\""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def wrapper(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_10626cd8","line":157,"updated":"2015-06-10 11:04:43.000000000","message":"This is not a big change to fix separately while we are fixing the multiline doc string in this patch.","commit_id":"3c675c9a3b2d7cbf02144f09475c9e79ae17d896"}],"cinder/image/glance.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    def get_location(self, context, image_id):"},{"line_number":245,"context_line":"        \"\"\"Get backend storage location url."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        Returns a tuple the direct url and locations representing the backend"},{"line_number":248,"context_line":"        storage location, or (None, None) if these attributes are  not shown"},{"line_number":249,"context_line":"        by Glance."},{"line_number":250,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_696a1df0","line":247,"updated":"2015-06-04 10:07:20.000000000","message":"Returns a tuple containing..\nor Returns the tuple (direction url, locations)","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":244,"context_line":"    def get_location(self, context, image_id):"},{"line_number":245,"context_line":"        \"\"\"Get backend storage location url."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        Returns a tuple the direct url and locations representing the backend"},{"line_number":248,"context_line":"        storage location, or (None, None) if these attributes are  not shown"},{"line_number":249,"context_line":"        by Glance."},{"line_number":250,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_8af07692","line":247,"in_reply_to":"5afe65bd_696a1df0","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":336,"context_line":"        \"\"\"Delete the given image."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"        :raises: ImageNotFound if the image does not exist."},{"line_number":339,"context_line":"        :raises: NotAuthorized if the user is not an owner."},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        \"\"\""},{"line_number":342,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_824b5959","line":339,"updated":"2015-06-05 14:32:04.000000000","message":"Please remove this extra line.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":523,"context_line":"    image_href is a standalone id, then the default image service is returned."},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    :param image_href: href that describes the location of an image"},{"line_number":526,"context_line":"    :returns: a tuple of the form (image_service, image_id)"},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"    \"\"\""},{"line_number":529,"context_line":"    # NOTE(bcwaldon): If image_href doesn\u0027t look like a URI, assume its a"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_4274419b","line":526,"updated":"2015-06-05 14:32:04.000000000","message":"ditto","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/keymgr/not_implemented_key_mgr.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class NotImplementedKeyManager(key_mgr.KeyManager):"},{"line_number":24,"context_line":"    \"\"\"Raises NotImplementedError for all Key Manager operations.\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def create_key(self, ctxt, algorithm\u003d\u0027AES\u0027, length\u003d256, expiration\u003dNone,"},{"line_number":27,"context_line":"                   **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_89331914","line":24,"updated":"2015-06-04 10:07:20.000000000","message":"This is a type description and shouldn\u0027t start with raises.\n\nHow about\n\"Key Manager interface that raises NotImplementedError\"","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class NotImplementedKeyManager(key_mgr.KeyManager):"},{"line_number":24,"context_line":"    \"\"\"Raises NotImplementedError for all Key Manager operations.\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def create_key(self, ctxt, algorithm\u003d\u0027AES\u0027, length\u003d256, expiration\u003dNone,"},{"line_number":27,"context_line":"                   **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_0a8126c3","line":24,"in_reply_to":"5afe65bd_89331914","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class NotImplementedKeyManager(key_mgr.KeyManager):"},{"line_number":24,"context_line":"    \"\"\"Raises NotImplementedError for all Key Manager operations.\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def create_key(self, ctxt, algorithm\u003d\u0027AES\u0027, length\u003d256, expiration\u003dNone,"},{"line_number":27,"context_line":"                   **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_aa53326a","line":24,"in_reply_to":"5afe65bd_89331914","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/quota.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"bb146522e8e140252317bf6e46191636661dfa9d","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    def get_project_quotas(self, context, resources, project_id,"},{"line_number":160,"context_line":"                           quota_class\u003dNone, defaults\u003dTrue,"},{"line_number":161,"context_line":"                           usages\u003dTrue):"},{"line_number":162,"context_line":"        \"\"\"Retrieve quotas."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        Given a list of resources, retrieve the quotas for the given"},{"line_number":165,"context_line":"        project."}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_5e672225","line":162,"updated":"2015-06-04 03:01:53.000000000","message":"Retrieve quotas for a project.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    def get_project_quotas(self, context, resources, project_id,"},{"line_number":160,"context_line":"                           quota_class\u003dNone, defaults\u003dTrue,"},{"line_number":161,"context_line":"                           usages\u003dTrue):"},{"line_number":162,"context_line":"        \"\"\"Retrieve quotas."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        Given a list of resources, retrieve the quotas for the given"},{"line_number":165,"context_line":"        project."}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_4ac95e25","line":162,"in_reply_to":"5afe65bd_5e672225","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/scheduler/filter_scheduler.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":"The FilterScheduler is for creating volumes."},{"line_number":19,"context_line":"You can customize this scheduler by specifying your own volume Filters and"},{"line_number":20,"context_line":"Weighing Functions."}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_a26f7591","line":17,"updated":"2015-06-05 14:32:04.000000000","message":"Please fix this multiline docstring according to the standards.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":"The FilterScheduler is for creating volumes."},{"line_number":19,"context_line":"You can customize this scheduler by specifying your own volume Filters and"},{"line_number":20,"context_line":"Weighing Functions."}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_a0dc7173","line":17,"in_reply_to":"3afb71cf_a26f7591","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d6b3e5cef307ba97632e45f7da5ec1bb26123bd4","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        self.max_attempts \u003d self._max_attempts()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def schedule(self, context, topic, method, *args, **kwargs):"},{"line_number":45,"context_line":"        \"\"\"The schedule() contract requires best host for this request.\"\"\""},{"line_number":46,"context_line":"        self._schedule(context, topic, *args, **kwargs)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def _get_configuration_options(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_b704f9bf","line":45,"updated":"2015-06-04 04:32:45.000000000","message":"best-suited host\n\nIt\u0027s better to add the original line as additional docstring.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        self.max_attempts \u003d self._max_attempts()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def schedule(self, context, topic, method, *args, **kwargs):"},{"line_number":45,"context_line":"        \"\"\"The schedule() contract requires best host for this request.\"\"\""},{"line_number":46,"context_line":"        self._schedule(context, topic, *args, **kwargs)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def _get_configuration_options(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_240c4c3a","line":45,"in_reply_to":"5afe65bd_b704f9bf","updated":"2015-06-04 10:07:20.000000000","message":"This is not a good method description.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/scheduler/weights/volume_number.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Weighers that weigh hosts by volume number in backends:"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_42a1e1a8","line":14,"updated":"2015-06-05 14:32:04.000000000","message":"Multi line docstrings should start without a leading new line.\nShould start with \"\"\"Weighers that weigh hosts by volume number in backends:","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Weighers that weigh hosts by volume number in backends:"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_c0988dc2","line":14,"in_reply_to":"3afb71cf_42a1e1a8","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/api/openstack/test_wsgi.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"bb146522e8e140252317bf6e46191636661dfa9d","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"class MetadataXMLDeserializerTest(test.TestCase):"},{"line_number":288,"context_line":"    def test_xml_meta_parsing_special_character(self):"},{"line_number":289,"context_line":"        \"\"\"Test XML meta parcing with special characters."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        Test that when a SaxParser splits a string containing special"},{"line_number":292,"context_line":"        characters into multiple childNodes there are no issues extracting"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_6178ff8f","line":289,"updated":"2015-06-04 03:01:53.000000000","message":"parsing","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"class MetadataXMLDeserializerTest(test.TestCase):"},{"line_number":288,"context_line":"    def test_xml_meta_parsing_special_character(self):"},{"line_number":289,"context_line":"        \"\"\"Test XML meta parcing with special characters."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        Test that when a SaxParser splits a string containing special"},{"line_number":292,"context_line":"        characters into multiple childNodes there are no issues extracting"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_0a6b66f2","line":289,"in_reply_to":"5afe65bd_6178ff8f","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/scheduler/test_scheduler.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":330,"context_line":""},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"class SchedulerDriverBaseTestCase(SchedulerTestCase):"},{"line_number":333,"context_line":"    \"\"\"Text schedule driver class."},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"    Test cases for base scheduler driver class methods"},{"line_number":336,"context_line":"    that can\u0027t will fail if the driver is changed."}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_a48b9c67","line":333,"updated":"2015-06-04 10:07:20.000000000","message":"Text -\u003e Test","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    \"\"\"Text schedule driver class."},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"    Test cases for base scheduler driver class methods"},{"line_number":336,"context_line":"    that can\u0027t will fail if the driver is changed."},{"line_number":337,"context_line":"    \"\"\""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"    def test_unimplemented_schedule(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_c4e57838","line":336,"updated":"2015-06-04 10:07:20.000000000","message":"that will fail","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    \"\"\"Text schedule driver class."},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"    Test cases for base scheduler driver class methods"},{"line_number":336,"context_line":"    that can\u0027t will fail if the driver is changed."},{"line_number":337,"context_line":"    \"\"\""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"    def test_unimplemented_schedule(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_4a4cbe9d","line":336,"in_reply_to":"5afe65bd_c4e57838","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/test_backup.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Tests for Backup code."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_621dfdbc","line":16,"updated":"2015-06-05 14:32:04.000000000","message":"\"\"\"Tests for Backup code.\"\"\"","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Tests for Backup code."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_0a424668","line":16,"in_reply_to":"3afb71cf_621dfdbc","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f2f46c7806f3cb0e14555890910ce86c186e7465","unresolved":false,"context_lines":[{"line_number":177,"context_line":"    def test_init_host(self, mock_delete_volume, mock_delete_snapshot):"},{"line_number":178,"context_line":"        \"\"\"Test stuck volumes and backups."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        states when backup_manager.init_host() is called"},{"line_number":181,"context_line":"        \"\"\""},{"line_number":182,"context_line":"        vol1_id \u003d self._create_volume_db_entry()"},{"line_number":183,"context_line":"        self._create_volume_attach(vol1_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_092260a3","line":180,"updated":"2015-07-28 17:59:15.000000000","message":"This comment is fragmented now.","commit_id":"8b4cd1c3d97d8a8f0cbe6f818612097d89de18c7"}],"cinder/tests/unit/test_emc_vmax.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":4403,"context_line":"        \u0027get_volume_type_extra_specs\u0027,"},{"line_number":4404,"context_line":"        return_value\u003d{\u0027volume_backend_name\u0027: \u0027FCFAST\u0027})"},{"line_number":4405,"context_line":"    def test_delete_volume_fast_notfound(self, _mock_volume_type):"},{"line_number":4406,"context_line":"        \"\"\"We do not set the provider location.\"\"\""},{"line_number":4407,"context_line":"        notfound_delete_vol \u003d {}"},{"line_number":4408,"context_line":"        notfound_delete_vol[\u0027name\u0027] \u003d \u0027notfound_delete_vol\u0027"},{"line_number":4409,"context_line":"        notfound_delete_vol[\u0027id\u0027] \u003d \u002710\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_e41f5406","line":4406,"updated":"2015-06-04 10:07:20.000000000","message":"Please change the description.\n\n\"Test delete volume with volume not found.\"","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":4403,"context_line":"        \u0027get_volume_type_extra_specs\u0027,"},{"line_number":4404,"context_line":"        return_value\u003d{\u0027volume_backend_name\u0027: \u0027FCFAST\u0027})"},{"line_number":4405,"context_line":"    def test_delete_volume_fast_notfound(self, _mock_volume_type):"},{"line_number":4406,"context_line":"        \"\"\"We do not set the provider location.\"\"\""},{"line_number":4407,"context_line":"        notfound_delete_vol \u003d {}"},{"line_number":4408,"context_line":"        notfound_delete_vol[\u0027name\u0027] \u003d \u0027notfound_delete_vol\u0027"},{"line_number":4409,"context_line":"        notfound_delete_vol[\u0027id\u0027] \u003d \u002710\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_6a2ada91","line":4406,"in_reply_to":"5afe65bd_e41f5406","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/test_emc_vnxdirect.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":1913,"context_line":"    @mock.patch(\u0027random.randint\u0027,"},{"line_number":1914,"context_line":"                mock.Mock(return_value\u003d0))"},{"line_number":1915,"context_line":"    def test_initialize_connection_no_hlu_left_2(self):"},{"line_number":1916,"context_line":"        \"\"\"There is no usable hlu for the SG.\"\"\""},{"line_number":1917,"context_line":"        # Test for auto registration"},{"line_number":1918,"context_line":"        self.configuration.initiator_auto_registration \u003d True"},{"line_number":1919,"context_line":"        self.configuration.max_luns_per_storage_group \u003d 2"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_448068f7","line":1916,"updated":"2015-06-04 10:07:20.000000000","message":"Change this to \n\"\"Test initialize connection with no hlu left.\"","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":1913,"context_line":"    @mock.patch(\u0027random.randint\u0027,"},{"line_number":1914,"context_line":"                mock.Mock(return_value\u003d0))"},{"line_number":1915,"context_line":"    def test_initialize_connection_no_hlu_left_2(self):"},{"line_number":1916,"context_line":"        \"\"\"There is no usable hlu for the SG.\"\"\""},{"line_number":1917,"context_line":"        # Test for auto registration"},{"line_number":1918,"context_line":"        self.configuration.initiator_auto_registration \u003d True"},{"line_number":1919,"context_line":"        self.configuration.max_luns_per_storage_group \u003d 2"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_2506531d","line":1916,"in_reply_to":"5afe65bd_448068f7","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d6b3e5cef307ba97632e45f7da5ec1bb26123bd4","unresolved":false,"context_lines":[{"line_number":2605,"context_line":"        mock.Mock(return_value\u003d{\u0027storagetype:provisioning\u0027: \u0027deduplicated\u0027,"},{"line_number":2606,"context_line":"                                \u0027storagetype:pool\u0027: \u0027unit_test_pool\u0027}))"},{"line_number":2607,"context_line":"    def test_retype_pool_changed_dedup_to_compressed_auto(self):"},{"line_number":2608,"context_line":"        \"\"\"Test retype pool changed to compressed auto."},{"line_number":2609,"context_line":""},{"line_number":2610,"context_line":"        Unit test for retype dedup to compressed and auto tiering"},{"line_number":2611,"context_line":"        and pool changed"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_570945dc","line":2608,"updated":"2015-06-04 04:32:45.000000000","message":"Test retype from dedup to compressed and auto tiering.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":2605,"context_line":"        mock.Mock(return_value\u003d{\u0027storagetype:provisioning\u0027: \u0027deduplicated\u0027,"},{"line_number":2606,"context_line":"                                \u0027storagetype:pool\u0027: \u0027unit_test_pool\u0027}))"},{"line_number":2607,"context_line":"    def test_retype_pool_changed_dedup_to_compressed_auto(self):"},{"line_number":2608,"context_line":"        \"\"\"Test retype pool changed to compressed auto."},{"line_number":2609,"context_line":""},{"line_number":2610,"context_line":"        Unit test for retype dedup to compressed and auto tiering"},{"line_number":2611,"context_line":"        and pool changed"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_65468b50","line":2608,"in_reply_to":"5afe65bd_570945dc","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":2948,"context_line":"        \"cinder.volume.volume_types.\""},{"line_number":2949,"context_line":"        \"get_volume_type_extra_specs\","},{"line_number":2950,"context_line":"        mock.Mock(return_value\u003d{\u0027fast_cache_enabled\u0027: \u0027True\u0027}))"},{"line_number":2951,"context_line":"    def test_create_volume_with_fastcache(self):"},{"line_number":2952,"context_line":"        \"\"\"Enable fastcache when creating volume.\"\"\""},{"line_number":2953,"context_line":"        commands \u003d [self.testData.NDU_LIST_CMD,"},{"line_number":2954,"context_line":"                    self.testData.POOL_PROPERTY_W_FASTCACHE_CMD,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_c20cb144","line":2951,"updated":"2015-06-05 14:32:04.000000000","message":"Change this to Test creating volume with fastcache enabled.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":2948,"context_line":"        \"cinder.volume.volume_types.\""},{"line_number":2949,"context_line":"        \"get_volume_type_extra_specs\","},{"line_number":2950,"context_line":"        mock.Mock(return_value\u003d{\u0027fast_cache_enabled\u0027: \u0027True\u0027}))"},{"line_number":2951,"context_line":"    def test_create_volume_with_fastcache(self):"},{"line_number":2952,"context_line":"        \"\"\"Enable fastcache when creating volume.\"\"\""},{"line_number":2953,"context_line":"        commands \u003d [self.testData.NDU_LIST_CMD,"},{"line_number":2954,"context_line":"                    self.testData.POOL_PROPERTY_W_FASTCACHE_CMD,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_a5400335","line":2951,"in_reply_to":"3afb71cf_c20cb144","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/test_ibm_flashsystem.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"#"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":"Tests for the IBM FlashSystem volume driver."},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_a848775c","line":18,"updated":"2015-06-05 14:32:04.000000000","message":"Change this to \"\"\"Tests for the IBM FlashSystem volume driver.\"\"\"","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"#"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":"Tests for the IBM FlashSystem volume driver."},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_257bf38d","line":18,"in_reply_to":"3afb71cf_a848775c","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/test_ibm_xiv_ds8k.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":670,"context_line":"                         \"Consistency Group created failed\")"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"    def test_create_consistencygroup_fail_on_cg_not_empty(self):"},{"line_number":673,"context_line":"        \"\"\"Test that it fails when consistency group is not empty.\"\"\""},{"line_number":674,"context_line":""},{"line_number":675,"context_line":"        self.driver.do_setup(None)"},{"line_number":676,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_e4d074f8","line":673,"updated":"2015-06-04 10:07:20.000000000","message":"Test create_consistencygroup with empty consistency group.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":670,"context_line":"                         \"Consistency Group created failed\")"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"    def test_create_consistencygroup_fail_on_cg_not_empty(self):"},{"line_number":673,"context_line":"        \"\"\"Test that it fails when consistency group is not empty.\"\"\""},{"line_number":674,"context_line":""},{"line_number":675,"context_line":"        self.driver.do_setup(None)"},{"line_number":676,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_05a35701","line":673,"in_reply_to":"5afe65bd_e4d074f8","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":711,"context_line":"                             \u0027Consistency Group deleted failed\u0027)"},{"line_number":712,"context_line":""},{"line_number":713,"context_line":"    def test_delete_consistencygroup_fail_on_volume_not_delete(self):"},{"line_number":714,"context_line":"        \"\"\"Test that it returns fail when the volume can not be deleted.\"\"\""},{"line_number":715,"context_line":""},{"line_number":716,"context_line":"        self.driver.do_setup(None)"},{"line_number":717,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_04fb907a","line":714,"updated":"2015-06-04 10:07:20.000000000","message":"Test delete_consistencygroup with volume delete failure.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/test_netapp.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Tests for NetApp volume driver"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_487c6372","line":15,"updated":"2015-06-05 14:32:04.000000000","message":"Change this to \"\"\"Tests for NetApp volume driver\"\"\"","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Tests for NetApp volume driver"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_658b2b69","line":15,"in_reply_to":"3afb71cf_487c6372","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/test_netapp_eseries_iscsi.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":"Tests for NetApp e-series iscsi volume driver."},{"line_number":19,"context_line":"\"\"\""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_08faebbd","line":17,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multi line docstring. Please change this accordingly.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":"Tests for NetApp e-series iscsi volume driver."},{"line_number":19,"context_line":"\"\"\""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_45eb8f13","line":17,"in_reply_to":"3afb71cf_08faebbd","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/test_quobyte.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                run_as_root\u003dFalse)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def test_mount_quobyte_should_suppress_and_log_already_mounted_error(self):"},{"line_number":171,"context_line":"        \"\"\"Based on /proc/mount, the file system is not mounted yet."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        However, mount.quobyte returns with an \u0027already mounted\u0027 error."},{"line_number":174,"context_line":"        This is a last-resort safe-guard in case /proc/mount parsing was not"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_a444bcb6","line":171,"updated":"2015-06-04 10:07:20.000000000","message":"Test that quobyte suppress and only log already mounted error.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                run_as_root\u003dFalse)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def test_mount_quobyte_should_suppress_and_log_already_mounted_error(self):"},{"line_number":171,"context_line":"        \"\"\"Based on /proc/mount, the file system is not mounted yet."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        However, mount.quobyte returns with an \u0027already mounted\u0027 error."},{"line_number":174,"context_line":"        This is a last-resort safe-guard in case /proc/mount parsing was not"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_e5f5dbec","line":171,"in_reply_to":"5afe65bd_a444bcb6","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"bb146522e8e140252317bf6e46191636661dfa9d","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        self.assertIn(self.TEST_QUOBYTE_VOLUME_WITHOUT_PROTOCOL, drv.shares)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def test_load_shares_config_without_protocol(self):"},{"line_number":299,"context_line":"        \"\"\"Test load shares configuration withou a protocol."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        Same as test_load_shares_config, but this time the URL was specified"},{"line_number":302,"context_line":"        without quobyte:// in front."}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_81d1bb59","line":299,"updated":"2015-06-04 03:01:53.000000000","message":"without","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        self.assertIn(self.TEST_QUOBYTE_VOLUME_WITHOUT_PROTOCOL, drv.shares)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def test_load_shares_config_without_protocol(self):"},{"line_number":299,"context_line":"        \"\"\"Test load shares configuration withou a protocol."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        Same as test_load_shares_config, but this time the URL was specified"},{"line_number":302,"context_line":"        without quobyte:// in front."}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_85e50739","line":299,"in_reply_to":"5afe65bd_81d1bb59","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/test_srb.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Unit tests for the Scality Rest Block Volume Driver."},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_08a42ba4","line":15,"updated":"2015-06-05 14:32:04.000000000","message":"Please change this to \"\"\"Unit tests for the Scality Rest Block Volume Driver.\"\"\"","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Unit tests for the Scality Rest Block Volume Driver."},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_65b9eb14","line":15,"in_reply_to":"3afb71cf_08a42ba4","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":763,"context_line":"                          self._driver.do_setup, None)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def test_volume_create(self):"},{"line_number":766,"context_line":"        \"\"\"Volume will be added in the internal state through fake_execute\"\"\""},{"line_number":767,"context_line":"        volume \u003d {\u0027name\u0027: \u0027volume-test\u0027, \u0027id\u0027: \u0027test\u0027, \u0027size\u0027: 4 * units.Gi}"},{"line_number":768,"context_line":"        old_vols \u003d self._volumes"},{"line_number":769,"context_line":"        updates \u003d self._driver.create_volume(volume)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_e46cf436","line":766,"updated":"2015-06-04 10:07:20.000000000","message":"\"Test volume create\" \n\nAdd rest to the description.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":763,"context_line":"                          self._driver.do_setup, None)"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"    def test_volume_create(self):"},{"line_number":766,"context_line":"        \"\"\"Volume will be added in the internal state through fake_execute\"\"\""},{"line_number":767,"context_line":"        volume \u003d {\u0027name\u0027: \u0027volume-test\u0027, \u0027id\u0027: \u0027test\u0027, \u0027size\u0027: 4 * units.Gi}"},{"line_number":768,"context_line":"        old_vols \u003d self._volumes"},{"line_number":769,"context_line":"        updates \u003d self._driver.create_volume(volume)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_e55a7bf1","line":766,"in_reply_to":"5afe65bd_e46cf436","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/test_volume.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Tests for Volume Code."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_48e7c3e4","line":16,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multiline docstring. Please format accordingly.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Tests for Volume Code."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_6567abb7","line":16,"in_reply_to":"3afb71cf_48e7c3e4","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d6b3e5cef307ba97632e45f7da5ec1bb26123bd4","unresolved":false,"context_lines":[{"line_number":1651,"context_line":"                          self.context, src_vol_id)"},{"line_number":1652,"context_line":""},{"line_number":1653,"context_line":"    def test_create_volume_from_snapshot_with_encryption(self):"},{"line_number":1654,"context_line":"        \"\"\"Test volume can be created from a snapshot of an encrypted volume\"\"\""},{"line_number":1655,"context_line":"        self.stubs.Set(keymgr, \u0027API\u0027, fake_keymgr.fake_api)"},{"line_number":1656,"context_line":""},{"line_number":1657,"context_line":"        ctxt \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_d7c0957e","line":1654,"updated":"2015-06-04 04:32:45.000000000","message":"period","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":1651,"context_line":"                          self.context, src_vol_id)"},{"line_number":1652,"context_line":""},{"line_number":1653,"context_line":"    def test_create_volume_from_snapshot_with_encryption(self):"},{"line_number":1654,"context_line":"        \"\"\"Test volume can be created from a snapshot of an encrypted volume\"\"\""},{"line_number":1655,"context_line":"        self.stubs.Set(keymgr, \u0027API\u0027, fake_keymgr.fake_api)"},{"line_number":1656,"context_line":""},{"line_number":1657,"context_line":"        ctxt \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_45070fca","line":1654,"in_reply_to":"5afe65bd_d7c0957e","updated":"2015-06-10 10:15:38.000000000","message":"This will make the line \u003e 79 characters and we don\u0027t have this rule (end docstring with a period) enabled in the hacking check to avoid nitpicking.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/test_volume_types.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":"\"\"\""},{"line_number":15,"context_line":"Unit Tests for volume types code"},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_281127ad","line":14,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multiline docstring, Please format accordingly.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":"\"\"\""},{"line_number":15,"context_line":"Unit Tests for volume types code"},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_e5addb9b","line":14,"in_reply_to":"3afb71cf_281127ad","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                         conf_fixture.def_vol_type)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def test_default_volume_type_missing_in_db(self):"},{"line_number":121,"context_line":"        \"\"\"Test default volume type if missing in database."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        Ensures proper exception raised if default volume type"},{"line_number":124,"context_line":"        is not in database."}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_0840aba4","line":121,"updated":"2015-06-05 14:32:04.000000000","message":"if missing \u003d\u003e is missing","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                         conf_fixture.def_vol_type)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def test_default_volume_type_missing_in_db(self):"},{"line_number":121,"context_line":"        \"\"\"Test default volume type if missing in database."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        Ensures proper exception raised if default volume type"},{"line_number":124,"context_line":"        is not in database."}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_8574e735","line":121,"in_reply_to":"3afb71cf_0840aba4","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"fd389e3451c6ff33ac548259ae39e95fbc6e0b13","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":"\"\"\"Unit Tests for volume types code\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import datetime"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_4d97093a","line":14,"updated":"2015-07-28 22:43:28.000000000","message":".","commit_id":"8b4cd1c3d97d8a8f0cbe6f818612097d89de18c7"}],"cinder/tests/unit/test_zfssa.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":"\"\"\""},{"line_number":15,"context_line":"Unit tests for Oracle\u0027s ZFSSA Cinder volume driver"},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_488343cd","line":14,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multiline docstring, Please format accordingly.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"bb146522e8e140252317bf6e46191636661dfa9d","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"class FakeNFSZFSSA(FakeZFSSA):"},{"line_number":219,"context_line":"    \"\"\"Fake ZFS SA for the NFS Driver\"\"\""},{"line_number":220,"context_line":"    def set_webdav(self, https_path, auth_str):"},{"line_number":221,"context_line":"        self.webdavclient \u003d https_path"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_4142a311","line":219,"updated":"2015-06-04 03:01:53.000000000","message":".","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"class FakeNFSZFSSA(FakeZFSSA):"},{"line_number":219,"context_line":"    \"\"\"Fake ZFS SA for the NFS Driver\"\"\""},{"line_number":220,"context_line":"    def set_webdav(self, https_path, auth_str):"},{"line_number":221,"context_line":"        self.webdavclient \u003d https_path"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_c5a53fa2","line":219,"in_reply_to":"5afe65bd_4142a311","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"fd389e3451c6ff33ac548259ae39e95fbc6e0b13","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":"\"\"\"Unit tests for Oracle\u0027s ZFSSA Cinder volume driver\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import json"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_0da6e1ad","line":14,"updated":"2015-07-28 22:43:28.000000000","message":".","commit_id":"8b4cd1c3d97d8a8f0cbe6f818612097d89de18c7"}],"cinder/tests/unit/volume/drivers/netapp/eseries/test_host_mapper.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Mock unit tests for the NetApp E-series iscsi driver"},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_28eda78b","line":15,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multiline docstring, Please format accordingly.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Mock unit tests for the NetApp E-series iscsi driver"},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_c0c64d99","line":15,"in_reply_to":"3afb71cf_28eda78b","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/tests/unit/volume/drivers/netapp/eseries/test_iscsi.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":"Mock unit tests for the NetApp E-series iscsi driver"},{"line_number":19,"context_line":"\"\"\""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_486d8303","line":17,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multiline docstring, Please format it accordingly.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":"Mock unit tests for the NetApp E-series iscsi driver"},{"line_number":19,"context_line":"\"\"\""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_80bcd506","line":17,"in_reply_to":"3afb71cf_486d8303","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/utils.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    \"\"\"Find a configuration file using the given hint."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    :param config_path: Full or relative path to the config."},{"line_number":64,"context_line":"    :returns: Full path of the config, if it exists."},{"line_number":65,"context_line":"    :raises: `cinder.exception.ConfigNotFound`"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_a855171e","line":64,"updated":"2015-06-05 14:32:04.000000000","message":"Please remove this extra line.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":318,"context_line":""},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"def xhtml_escape(value):"},{"line_number":321,"context_line":"    \"\"\"Escapes a string so it is valid within XML or XHTML."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    \"\"\""},{"line_number":324,"context_line":"    return saxutils.escape(value, {\u0027\"\u0027: \u0027\u0026quot;\u0027, \"\u0027\": \u0027\u0026apos;\u0027})"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_c82f33a0","line":321,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multiline docstring, Please format it accordingly.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":332,"context_line":"    intermediate results are lists it will treat each list item individually."},{"line_number":333,"context_line":"    A \u0027None\u0027 in items or any child expressions will be ignored, this function"},{"line_number":334,"context_line":"    will not throw because of None (anywhere) in items.  The returned list"},{"line_number":335,"context_line":"    will contain no None values."},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"    \"\"\""},{"line_number":338,"context_line":"    if path is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_e822efb8","line":335,"updated":"2015-06-05 14:32:04.000000000","message":"Same as above.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":393,"context_line":""},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"def monkey_patch():"},{"line_number":396,"context_line":"    \"\"\"Patches decorators for all functions in a specified modules."},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    If the CONF.monkey_patch set as True,"},{"line_number":399,"context_line":"    this function patches a decorator"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_849780eb","line":396,"updated":"2015-06-04 10:07:20.000000000","message":"module","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":393,"context_line":""},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"def monkey_patch():"},{"line_number":396,"context_line":"    \"\"\"Patches decorators for all functions in a specified modules."},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    If the CONF.monkey_patch set as True,"},{"line_number":399,"context_line":"    this function patches a decorator"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_5bfeceae","line":396,"in_reply_to":"5afe65bd_849780eb","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/api.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":"Handles all requests relating to volumes."},{"line_number":19,"context_line":"\"\"\""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_e809cf32","line":17,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multiline docstring, Please format it accordingly.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\"\"\""},{"line_number":18,"context_line":"Handles all requests relating to volumes."},{"line_number":19,"context_line":"\"\"\""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_2033e1ac","line":17,"in_reply_to":"3afb71cf_e809cf32","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/configuration.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Configuration support for all drivers."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_2b25a1aa","line":15,"updated":"2015-06-05 14:32:04.000000000","message":"Multi line docstrings should start without a leading new line.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Configuration support for all drivers."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_c022cd51","line":15,"in_reply_to":"3afb71cf_2b25a1aa","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/driver.py":[{"author":{"_account_id":14428,"name":"Bharat Kumar Kobagana","email":"bharath.kobagana@gmail.com","username":"bharatkk"},"change_message_id":"590b7676979f0ae7218c95d76084a9052f328d7a","unresolved":false,"context_lines":[{"line_number":1186,"context_line":"class VolumeDriver(ConsistencyGroupVD, TransferVD, ManageableVD, ExtendVD,"},{"line_number":1187,"context_line":"                   CloneableVD, CloneableImageVD, SnapshotVD, ReplicaVD,"},{"line_number":1188,"context_line":"                   RetypeVD, LocalVD, MigrateVD, BaseVD):"},{"line_number":1189,"context_line":"    \"\"\"This class will be deprecated soon."},{"line_number":1190,"context_line":""},{"line_number":1191,"context_line":"    Please use the abstract classes above for new drivers."},{"line_number":1192,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_ecadb1e9","line":1189,"updated":"2015-05-22 04:27:23.000000000","message":"\"This class will be deprecated soon.\" I hope this not a doc message. Though this is not related to this patch, I think we can make this as a comment/todo here.","commit_id":"a899e76da81f9c383b37b1a39ca48df3dc470520"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Drivers for volumes."},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_2b5c8124","line":16,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multiline docstring, Please format it accordingly.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Drivers for volumes."},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_20dac14c","line":16,"in_reply_to":"3afb71cf_2b5c8124","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        class can help marking them and retrieve the actual used driver object."},{"line_number":1375,"context_line":"    \"\"\""},{"line_number":1376,"context_line":"    def _get_driver(self):"},{"line_number":1377,"context_line":"        \"\"\"Returns the actual driver object. Can be overloaded by the proxy.\"\"\""},{"line_number":1378,"context_line":"        return getattr(self, \"driver\", None)"},{"line_number":1379,"context_line":""},{"line_number":1380,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_84330014","line":1377,"updated":"2015-06-04 10:07:20.000000000","message":"Move \"Can be ..\" to the next line.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        class can help marking them and retrieve the actual used driver object."},{"line_number":1375,"context_line":"    \"\"\""},{"line_number":1376,"context_line":"    def _get_driver(self):"},{"line_number":1377,"context_line":"        \"\"\"Returns the actual driver object. Can be overloaded by the proxy.\"\"\""},{"line_number":1378,"context_line":"        return getattr(self, \"driver\", None)"},{"line_number":1379,"context_line":""},{"line_number":1380,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_a0e6b112","line":1377,"in_reply_to":"5afe65bd_84330014","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/drivers/dell/dell_storagecenter_api.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d6b3e5cef307ba97632e45f7da5ec1bb26123bd4","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        self.client \u003d None"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def find_sc(self):"},{"line_number":250,"context_line":"        \u0027\u0027\u0027Find sc."},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        This is really just a check that the sc is there and being managed by"},{"line_number":253,"context_line":"        EM."}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_d7abf5d4","line":250,"updated":"2015-06-04 04:32:45.000000000","message":"Use \"\"\" here and other places?","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d6b3e5cef307ba97632e45f7da5ec1bb26123bd4","unresolved":false,"context_lines":[{"line_number":606,"context_line":"        return scserver"},{"line_number":607,"context_line":""},{"line_number":608,"context_line":"    def create_server(self, wwnoriscsiname, isfc\u003dFalse):"},{"line_number":609,"context_line":"        \u0027\u0027\u0027Creates a server on the the storage center self.ssn."},{"line_number":610,"context_line":""},{"line_number":611,"context_line":"        Adds the first HBA to it."},{"line_number":612,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_377da96e","line":609,"updated":"2015-06-04 04:32:45.000000000","message":"Remove duplicate \"the\".","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":606,"context_line":"        return scserver"},{"line_number":607,"context_line":""},{"line_number":608,"context_line":"    def create_server(self, wwnoriscsiname, isfc\u003dFalse):"},{"line_number":609,"context_line":"        \u0027\u0027\u0027Creates a server on the the storage center self.ssn."},{"line_number":610,"context_line":""},{"line_number":611,"context_line":"        Adds the first HBA to it."},{"line_number":612,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_2096413f","line":609,"in_reply_to":"5afe65bd_377da96e","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"365280af83552207c3436e29460b1a489d5b47f2","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def find_sc(self):"},{"line_number":252,"context_line":"        \u0027\u0027\u0027Find sc."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        This is really just a check that the sc is there and being managed by"},{"line_number":255,"context_line":"        EM."},{"line_number":256,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_504fc436","line":253,"updated":"2015-06-10 11:04:43.000000000","message":"Please address xing-yang comments on last patch set #2.","commit_id":"3c675c9a3b2d7cbf02144f09475c9e79ae17d896"}],"cinder/volume/drivers/emc/emc_cli_fc.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Fibre Channel Driver for EMC VNX array based on CLI."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_8be9351d","line":15,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multiline docstring, Please format it accordingly.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Fibre Channel Driver for EMC VNX array based on CLI."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_a0c9115b","line":15,"in_reply_to":"3afb71cf_8be9351d","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/drivers/emc/emc_cli_iscsi.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"iSCSI Drivers for EMC VNX array based on CLI."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_4bca1da3","line":15,"updated":"2015-06-05 14:32:04.000000000","message":"This is not a multiline docstring, Please format it accordingly.\n\nPlease fix this issue in all the other places as well.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"iSCSI Drivers for EMC VNX array based on CLI."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_40dffd0c","line":15,"in_reply_to":"3afb71cf_4bca1da3","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/drivers/emc/emc_vnx_cli.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"64fa6c428f36f9751d7e3f888c74649c5f88d88a","unresolved":false,"context_lines":[{"line_number":1612,"context_line":"        return True"},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"    def get_enablers_on_array(self, poll\u003dFalse):"},{"line_number":1615,"context_line":"        \"\"\"The function would get all the enabler installed on array.\"\"\""},{"line_number":1616,"context_line":"        enablers \u003d []"},{"line_number":1617,"context_line":"        cmd_list \u003d (\u0027ndu\u0027, \u0027-list\u0027)"},{"line_number":1618,"context_line":"        out, rc \u003d self.command_execute(*cmd_list, poll\u003dpoll)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_ef128d56","line":1615,"updated":"2015-06-04 10:07:20.000000000","message":"Get all the enablers installed on array.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":1612,"context_line":"        return True"},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"    def get_enablers_on_array(self, poll\u003dFalse):"},{"line_number":1615,"context_line":"        \"\"\"The function would get all the enabler installed on array.\"\"\""},{"line_number":1616,"context_line":"        enablers \u003d []"},{"line_number":1617,"context_line":"        cmd_list \u003d (\u0027ndu\u0027, \u0027-list\u0027)"},{"line_number":1618,"context_line":"        out, rc \u003d self.command_execute(*cmd_list, poll\u003dpoll)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_60d679f2","line":1615,"in_reply_to":"5afe65bd_ef128d56","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/drivers/hds/iscsi.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"427ab8bc7ff5d7b0b1988bd5a2e3af7bcd8b1569","unresolved":false,"context_lines":[{"line_number":477,"context_line":"    def create_cloned_volume(self, dst, src):"},{"line_number":478,"context_line":"        \"\"\"Create a clone of a volume."},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"        :param dst: ditctionary destination volume reference"},{"line_number":481,"context_line":"        :param src: ditctionary source volume reference"},{"line_number":482,"context_line":"        \"\"\""},{"line_number":483,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_dcfe7a37","line":480,"updated":"2015-06-04 04:17:07.000000000","message":"typo: ditctionary-\u003edictionary","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":477,"context_line":"    def create_cloned_volume(self, dst, src):"},{"line_number":478,"context_line":"        \"\"\"Create a clone of a volume."},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"        :param dst: ditctionary destination volume reference"},{"line_number":481,"context_line":"        :param src: ditctionary source volume reference"},{"line_number":482,"context_line":"        \"\"\""},{"line_number":483,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_80f05592","line":480,"in_reply_to":"5afe65bd_dcfe7a37","updated":"2015-06-10 10:15:38.000000000","message":"Good catch!","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"427ab8bc7ff5d7b0b1988bd5a2e3af7bcd8b1569","unresolved":false,"context_lines":[{"line_number":478,"context_line":"        \"\"\"Create a clone of a volume."},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"        :param dst: ditctionary destination volume reference"},{"line_number":481,"context_line":"        :param src: ditctionary source volume reference"},{"line_number":482,"context_line":"        \"\"\""},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        if src[\u0027size\u0027] !\u003d dst[\u0027size\u0027]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_bcfdfe3b","line":481,"updated":"2015-06-04 04:17:07.000000000","message":"same here","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":478,"context_line":"        \"\"\"Create a clone of a volume."},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"        :param dst: ditctionary destination volume reference"},{"line_number":481,"context_line":"        :param src: ditctionary source volume reference"},{"line_number":482,"context_line":"        \"\"\""},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        if src[\u0027size\u0027] !\u003d dst[\u0027size\u0027]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_2032c15f","line":481,"in_reply_to":"5afe65bd_bcfdfe3b","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/drivers/ibm/flashsystem.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"427ab8bc7ff5d7b0b1988bd5a2e3af7bcd8b1569","unresolved":false,"context_lines":[{"line_number":1178,"context_line":"    @fczm_utils.AddFCZone"},{"line_number":1179,"context_line":"    @utils.synchronized(\u0027flashsystem-init-conn\u0027, external\u003dTrue)"},{"line_number":1180,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":1181,"context_line":"        \"\"\"Perform the necessary to make an FC connection."},{"line_number":1182,"context_line":""},{"line_number":1183,"context_line":"        To be able to create an FC connection from a given host to a"},{"line_number":1184,"context_line":"        volume, we must:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_3cb7ce87","line":1181,"updated":"2015-06-04 04:17:07.000000000","message":"necessary work","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":1178,"context_line":"    @fczm_utils.AddFCZone"},{"line_number":1179,"context_line":"    @utils.synchronized(\u0027flashsystem-init-conn\u0027, external\u003dTrue)"},{"line_number":1180,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":1181,"context_line":"        \"\"\"Perform the necessary to make an FC connection."},{"line_number":1182,"context_line":""},{"line_number":1183,"context_line":"        To be able to create an FC connection from a given host to a"},{"line_number":1184,"context_line":"        volume, we must:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_20ce412e","line":1181,"in_reply_to":"5afe65bd_3cb7ce87","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/drivers/netapp/dataontap/nfs_base.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"427ab8bc7ff5d7b0b1988bd5a2e3af7bcd8b1569","unresolved":false,"context_lines":[{"line_number":276,"context_line":"                time.sleep(tries ** 2)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    def _get_volume_path(self, nfs_share, volume_name):"},{"line_number":279,"context_line":"        \"\"\"Get volume path (local fs path) for given name on given nfs share."},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        @param nfs_share string, example 172.18.194.100:/var/nfs"},{"line_number":282,"context_line":"        @param volume_name string,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_dc731ae6","line":279,"updated":"2015-06-04 04:17:07.000000000","message":"I think \"volume\" should be added back to clarify it is \"given volume name\" not \"given share name\".  If it is longer than 79 chars, please add an additional line.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        @param nfs_share string, example 172.18.194.100:/var/nfs"},{"line_number":282,"context_line":"        @param volume_name string,"},{"line_number":283,"context_line":"            example volume-91ee65ec-c473-4391-8c09-162b00c68a8c"},{"line_number":284,"context_line":"        \"\"\""},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        return os.path.join(self._get_mount_point_for_share(nfs_share),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_2bb921ea","line":283,"updated":"2015-06-05 14:32:04.000000000","message":"Define parameters according to the standards.\n\nhttp://docs.openstack.org/developer/hacking/#docstrings","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        @param nfs_share string, example 172.18.194.100:/var/nfs"},{"line_number":282,"context_line":"        @param volume_name string,"},{"line_number":283,"context_line":"            example volume-91ee65ec-c473-4391-8c09-162b00c68a8c"},{"line_number":284,"context_line":"        \"\"\""},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        return os.path.join(self._get_mount_point_for_share(nfs_share),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_60e0b996","line":283,"in_reply_to":"3afb71cf_2bb921ea","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/drivers/nimble.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"bb146522e8e140252317bf6e46191636661dfa9d","unresolved":false,"context_lines":[{"line_number":364,"context_line":""},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"def _response_checker(func):"},{"line_number":367,"context_line":"    \"\"\"Decorator function to check if the response of an API is positive\"\"\""},{"line_number":368,"context_line":"    @functools.wraps(func)"},{"line_number":369,"context_line":"    def inner_response_checker(self, *args, **kwargs):"},{"line_number":370,"context_line":"        response \u003d func(self, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_21b8c7e4","line":367,"updated":"2015-06-04 03:01:53.000000000","message":".","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":364,"context_line":""},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"def _response_checker(func):"},{"line_number":367,"context_line":"    \"\"\"Decorator function to check if the response of an API is positive\"\"\""},{"line_number":368,"context_line":"    @functools.wraps(func)"},{"line_number":369,"context_line":"    def inner_response_checker(self, *args, **kwargs):"},{"line_number":370,"context_line":"        response \u003d func(self, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_40337d14","line":367,"in_reply_to":"5afe65bd_21b8c7e4","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"427ab8bc7ff5d7b0b1988bd5a2e3af7bcd8b1569","unresolved":false,"context_lines":[{"line_number":364,"context_line":""},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"def _response_checker(func):"},{"line_number":367,"context_line":"    \"\"\"Decorator function to check if the response of an API is positive\"\"\""},{"line_number":368,"context_line":"    @functools.wraps(func)"},{"line_number":369,"context_line":"    def inner_response_checker(self, *args, **kwargs):"},{"line_number":370,"context_line":"        response \u003d func(self, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_3c458e6f","line":367,"in_reply_to":"5afe65bd_21b8c7e4","updated":"2015-06-04 04:17:07.000000000","message":"You mean missing period?  I can barely see it:).","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/drivers/openvstorage.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"bb146522e8e140252317bf6e46191636661dfa9d","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    VERSION \u003d \u00271.0.5\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":65,"context_line":"        \"\"\"Init: args, kwargs pass through;"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        Options come from CONF"},{"line_number":68,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_c1c9f379","line":65,"updated":"2015-06-04 03:01:53.000000000","message":"replace the trailing ; with .","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    VERSION \u003d \u00271.0.5\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":65,"context_line":"        \"\"\"Init: args, kwargs pass through;"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        Options come from CONF"},{"line_number":68,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_a02471c4","line":65,"in_reply_to":"5afe65bd_c1c9f379","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"427ab8bc7ff5d7b0b1988bd5a2e3af7bcd8b1569","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    # Volumedriver stats"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def get_volume_stats(self, refresh\u003dFalse):"},{"line_number":288,"context_line":"        \"\"\"Get volumedriver stats."},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"        Refresh not implemented."},{"line_number":291,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_7c32e611","line":288,"updated":"2015-06-04 04:17:07.000000000","message":"volume driver","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    # Volumedriver stats"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def get_volume_stats(self, refresh\u003dFalse):"},{"line_number":288,"context_line":"        \"\"\"Get volumedriver stats."},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"        Refresh not implemented."},{"line_number":291,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_e014a94d","line":288,"in_reply_to":"5afe65bd_7c32e611","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}],"cinder/volume/drivers/prophetstor/dpl_fc.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def _get_fc_channel(self):"},{"line_number":35,"context_line":"        \"\"\"Get fc channel."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        return :"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"                fcInfos[uuid]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_6b94b936","line":37,"updated":"2015-06-05 14:32:04.000000000","message":"return : \u003d\u003e :returns","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def _get_fc_channel(self):"},{"line_number":35,"context_line":"        \"\"\"Get fc channel."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        return :"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"                fcInfos[uuid]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_1bd7364c","line":37,"in_reply_to":"3afb71cf_6b94b936","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"427ab8bc7ff5d7b0b1988bd5a2e3af7bcd8b1569","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        return :"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"                fcInfos[uuid]"},{"line_number":41,"context_line":"                    fcInfo[uuid][\u0027display_name\u0027]"},{"line_number":42,"context_line":"                    fcInfo[uuid][\u0027display_description\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_bc305e02","line":39,"updated":"2015-06-04 04:17:07.000000000","message":"Please remove the two blank lines.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        return :"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"                fcInfos[uuid]"},{"line_number":41,"context_line":"                    fcInfo[uuid][\u0027display_name\u0027]"},{"line_number":42,"context_line":"                    fcInfo[uuid][\u0027display_description\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_3bd2f25c","line":39,"in_reply_to":"5afe65bd_bc305e02","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74f503f4841936c22193d7ae78c4c21aa8cf60e4","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def _get_targets(self):"},{"line_number":67,"context_line":"        \"\"\"Get targets."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return::"},{"line_number":70,"context_line":"                targetInfos[uuid] \u003d targetInfo"},{"line_number":71,"context_line":"                targetInfo[\u0027targetUuid\u0027]"},{"line_number":72,"context_line":"                targetInfo[\u0027targetName\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_eba0a992","line":69,"updated":"2015-06-05 14:32:04.000000000","message":"same as above.","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def _get_targets(self):"},{"line_number":67,"context_line":"        \"\"\"Get targets."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return::"},{"line_number":70,"context_line":"                targetInfos[uuid] \u003d targetInfo"},{"line_number":71,"context_line":"                targetInfo[\u0027targetUuid\u0027]"},{"line_number":72,"context_line":"                targetInfo[\u0027targetName\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_7be50a36","line":69,"in_reply_to":"3afb71cf_eba0a992","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"fd389e3451c6ff33ac548259ae39e95fbc6e0b13","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        super(DPLFCDriver, self).__init__(*args, **kwargs)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def _get_fc_channel(self):"},{"line_number":35,"context_line":"        \"\"\"Get fc channel."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        :returns: fcInfos[uuid]"},{"line_number":38,"context_line":"                  fcInfo[uuid][\u0027display_name\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_cdd9d923","line":35,"updated":"2015-07-28 22:43:28.000000000","message":"Get FibreChannel info","commit_id":"8b4cd1c3d97d8a8f0cbe6f818612097d89de18c7"}],"cinder/volume/drivers/srb.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"bb146522e8e140252317bf6e46191636661dfa9d","unresolved":false,"context_lines":[{"line_number":459,"context_line":""},{"line_number":460,"context_line":"    @staticmethod"},{"line_number":461,"context_line":"    def _activate_lv(orig, *args, **kwargs):"},{"line_number":462,"context_line":"        \u0027\u0027\u0027Activate lv."},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"        Use with `patched` to patch `lvm.LVM.activate_lv` to ignore `EEXIST`"},{"line_number":465,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_a1727747","line":462,"updated":"2015-06-04 03:01:53.000000000","message":"replace the \u0027\u0027\u0027 with \"\"\"  ?","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"427ab8bc7ff5d7b0b1988bd5a2e3af7bcd8b1569","unresolved":false,"context_lines":[{"line_number":459,"context_line":""},{"line_number":460,"context_line":"    @staticmethod"},{"line_number":461,"context_line":"    def _activate_lv(orig, *args, **kwargs):"},{"line_number":462,"context_line":"        \u0027\u0027\u0027Activate lv."},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"        Use with `patched` to patch `lvm.LVM.activate_lv` to ignore `EEXIST`"},{"line_number":465,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_9c02420a","line":462,"in_reply_to":"5afe65bd_a1727747","updated":"2015-06-04 04:17:07.000000000","message":"+1","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"1e5f761637b28c98e3a56b6c8c5475f8766f29c6","unresolved":false,"context_lines":[{"line_number":459,"context_line":""},{"line_number":460,"context_line":"    @staticmethod"},{"line_number":461,"context_line":"    def _activate_lv(orig, *args, **kwargs):"},{"line_number":462,"context_line":"        \u0027\u0027\u0027Activate lv."},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"        Use with `patched` to patch `lvm.LVM.activate_lv` to ignore `EEXIST`"},{"line_number":465,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3afb71cf_db22bea2","line":462,"in_reply_to":"5afe65bd_a1727747","updated":"2015-06-10 10:15:38.000000000","message":"Done","commit_id":"1a62f3a38def082c21bbab4d23a941e43bfc3b1a"}]}
