)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"323ebd758dcd14a380081524a046aa51078b5799","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Chris M \u003ccinder@tristero.net\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-07-03 22:00:24 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Convert dothill driver to use distributed lock manager"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Switch from @utils.synchronized() to @coordination.synchronized() to"},{"line_number":10,"context_line":"support HA configs.  Array API calls are serialized with one lock per"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3f1d235d_42331115","line":7,"updated":"2017-07-05 09:15:09.000000000","message":"-1: The dothill driver is no longer available [1], if this is meant for the other drivers that use its code base (lenovo, hpmsa) it must be mentioned here.\n\n[1] Ic2cec24ac33813cbce4c3166cc04f32ad3df6396","commit_id":"d01a268c9bb7863c5703cd9f654a24971081047f"}],"cinder/volume/drivers/dothill/dothill_client.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"323ebd758dcd14a380081524a046aa51078b5799","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        try:"},{"line_number":77,"context_line":"            self._get_session_key()"},{"line_number":78,"context_line":"            self.get_firmware_version()"},{"line_number":79,"context_line":"            if not self._array_name or self._array_name \u003d\u003d \u0027unknown\u0027:"},{"line_number":80,"context_line":"                self._array_name \u003d __name__ + self.get_serial_number()"},{"line_number":81,"context_line":"            LOG.debug(\"Logged in to array %s at %s (session %s)\","},{"line_number":82,"context_line":"                      self._array_name, self._base_url, self._session_key)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f1d235d_e2d33dd4","line":79,"range":{"start_line":79,"start_character":39,"end_line":79,"end_character":68},"updated":"2017-07-05 09:15:09.000000000","message":"nit: Why not set initial value to None in L45 and we can remove this part of the expression?","commit_id":"d01a268c9bb7863c5703cd9f654a24971081047f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"5c46926aaec49a8f003266659829b7006b99d8eb","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        try:"},{"line_number":77,"context_line":"            self._get_session_key()"},{"line_number":78,"context_line":"            self.get_firmware_version()"},{"line_number":79,"context_line":"            if not self._array_name or self._array_name \u003d\u003d \u0027unknown\u0027:"},{"line_number":80,"context_line":"                self._array_name \u003d __name__ + self.get_serial_number()"},{"line_number":81,"context_line":"            LOG.debug(\"Logged in to array %s at %s (session %s)\","},{"line_number":82,"context_line":"                      self._array_name, self._base_url, self._session_key)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_9523b2bd","line":79,"range":{"start_line":79,"start_character":39,"end_line":79,"end_character":68},"in_reply_to":"1f1a1f67_b85a68f0","updated":"2017-07-17 11:48:01.000000000","message":"That wouldn\u0027t be a problem, None will be used instead of unknown.","commit_id":"d01a268c9bb7863c5703cd9f654a24971081047f"},{"author":{"_account_id":17042,"name":"Chris M","email":"cinder@tristero.net","username":"pots"},"change_message_id":"ce83ab586ee7ed5b9ad6de452285e3a90bf27b02","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        try:"},{"line_number":77,"context_line":"            self._get_session_key()"},{"line_number":78,"context_line":"            self.get_firmware_version()"},{"line_number":79,"context_line":"            if not self._array_name or self._array_name \u003d\u003d \u0027unknown\u0027:"},{"line_number":80,"context_line":"                self._array_name \u003d __name__ + self.get_serial_number()"},{"line_number":81,"context_line":"            LOG.debug(\"Logged in to array %s at %s (session %s)\","},{"line_number":82,"context_line":"                      self._array_name, self._base_url, self._session_key)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_b85a68f0","line":79,"range":{"start_line":79,"start_character":39,"end_line":79,"end_character":68},"in_reply_to":"3f1d235d_e2d33dd4","updated":"2017-07-15 00:22:45.000000000","message":"Hi Gorka, it\u0027s because the value of _array_name may be used as a string before we get to this point in the code (e.g. by the @coordination.synchronized decorator).","commit_id":"d01a268c9bb7863c5703cd9f654a24971081047f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1f6e9d3230861aee9693cddcf3e7835c6447a995","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        raise exception.DotHillConnectionError("},{"line_number":102,"context_line":"            message\u003d_(\"Failed to log in to management controller\"))"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @coordination.synchronized(\u0027{self._array_name}\u0027)"},{"line_number":105,"context_line":"    def _get_session_key(self):"},{"line_number":106,"context_line":"        \"\"\"Retrieve a session key from the array.\"\"\""},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_98dbe77a","line":104,"updated":"2017-07-17 11:48:30.000000000","message":"To prevent lock name collisions with other drivers and/or cinder code we should use some kind of prefix, be it fixed: \n\n  @coordination.synchronized(\u0027dhc-{self._array_name}\u0027)\n\nor dependent on the client:\n\n  @coordination.synchronized(\u0027{self.__class__.__name__}-{self._array_name}\u0027)","commit_id":"04e40c84e28d6e344e2515229646d96bfa94f60d"}]}
