)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":11,"context_line":"which is not an obvious file for a reviewer to review.  Hopefully"},{"line_number":12,"context_line":"additional comments will aide this."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Updated single character variable names (excpet for r which is the"},{"line_number":15,"context_line":"REST calls return thru the code by convention."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Driver version changed to 1.0.2."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5afe65bd_d617bbeb","line":14,"updated":"2015-06-02 19:25:51.000000000","message":"/excpet/except/\n\nNot worth a new patch on it\u0027s own, but if doing an update it should be corrected.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"67fa50adbe86296660035cdb690c4a35f416338d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Dell SC: Expanded comments and update var names"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Additional comments have been added to help explain what is happening"},{"line_number":10,"context_line":"in the driver.  This revolves mostly around dell_storagecenter_api.py"},{"line_number":11,"context_line":"which is not an obvious file for a reviewer to review.  Hopefully"},{"line_number":12,"context_line":"additional comments will aide this."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3afb71cf_4f8fa9cc","line":10,"updated":"2015-06-07 13:48:51.000000000","message":"There are two spaces here, please remove one.","commit_id":"d2de1800b2ffe6db130f04770680723de0fd4001"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"01ca3d65d20efa07a34cb183c12daed2d524fa3a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Dell SC: Expanded comments and update var names"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Additional comments have been added to help explain what is happening"},{"line_number":10,"context_line":"in the driver.  This revolves mostly around dell_storagecenter_api.py"},{"line_number":11,"context_line":"which is not an obvious file for a reviewer to review.  Hopefully"},{"line_number":12,"context_line":"additional comments will aide this."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3afb71cf_e54e506e","line":10,"in_reply_to":"3afb71cf_4f8fa9cc","updated":"2015-06-08 17:24:03.000000000","message":"There are 2 spaces everywhere.","commit_id":"d2de1800b2ffe6db130f04770680723de0fd4001"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"bd9f41c14dc70904aca485bafcb7c8030c235b69","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Additional comments have been added to help explain what is happening"},{"line_number":10,"context_line":"in the driver.  This revolves mostly around dell_storagecenter_api.py"},{"line_number":11,"context_line":"which is not an obvious file for a reviewer to review.  Hopefully"},{"line_number":12,"context_line":"additional comments will aide this."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Updated single character variable names except for r which is the"},{"line_number":15,"context_line":"REST calls return throughout the code by convention."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3afb71cf_17c8ad54","line":12,"updated":"2015-06-06 15:05:47.000000000","message":"s/aide/aid/\n\n\u0027aide\u0027 is a noun","commit_id":"d2de1800b2ffe6db130f04770680723de0fd4001"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"01ca3d65d20efa07a34cb183c12daed2d524fa3a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Additional comments have been added to help explain what is happening"},{"line_number":10,"context_line":"in the driver.  This revolves mostly around dell_storagecenter_api.py"},{"line_number":11,"context_line":"which is not an obvious file for a reviewer to review.  Hopefully"},{"line_number":12,"context_line":"additional comments will aide this."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Updated single character variable names except for r which is the"},{"line_number":15,"context_line":"REST calls return throughout the code by convention."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3afb71cf_656a60b5","line":12,"in_reply_to":"3afb71cf_17c8ad54","updated":"2015-06-08 17:24:03.000000000","message":"Done","commit_id":"d2de1800b2ffe6db130f04770680723de0fd4001"}],"cinder/tests/unit/test_dellscapi.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":1453,"context_line":"        self.scapi.sfname \u003d self.configuration.dell_sc_server_folder"},{"line_number":1454,"context_line":"        self.scapi.vfname \u003d self.configuration.dell_sc_volume_folder"},{"line_number":1455,"context_line":""},{"line_number":1456,"context_line":"        # Set up the scapi configuration vars"},{"line_number":1457,"context_line":"        self.scapi.ssn \u003d self.configuration.dell_sc_ssn"},{"line_number":1458,"context_line":"        self.scapi.sfname \u003d self.configuration.dell_sc_server_folder"},{"line_number":1459,"context_line":"        self.scapi.vfname \u003d self.configuration.dell_sc_volume_folder"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_36e84fe2","line":1456,"updated":"2015-06-02 19:25:51.000000000","message":"Copy/paste duplication?","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":3925,"context_line":""},{"line_number":3926,"context_line":"        # Set up the scapi configuration vars"},{"line_number":3927,"context_line":"        self.scapi.ssn \u003d self.configuration.dell_sc_ssn"},{"line_number":3928,"context_line":"        self.scapi.sfname \u003d self.configuration.dell_sc_server_folder"},{"line_number":3929,"context_line":"        self.scapi.vfname \u003d self.configuration.dell_sc_volume_folder"},{"line_number":3930,"context_line":""},{"line_number":3931,"context_line":"    @mock.patch.object(dell_storagecenter_api.HttpClient,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_d6c57b5b","line":3928,"updated":"2015-06-02 19:25:51.000000000","message":"More copy/paste duplication.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"}],"cinder/volume/drivers/dell/dell_storagecenter_api.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        connection \u003d None"},{"line_number":140,"context_line":"        ssn \u003d self.config.dell_sc_ssn"},{"line_number":141,"context_line":"        LOG.info(_LI(\u0027open_connection to %(s)s at %(ip)s\u0027),"},{"line_number":142,"context_line":"                 {\u0027s\u0027: ssn,"},{"line_number":143,"context_line":"                  \u0027ip\u0027: self.config.san_ip})"},{"line_number":144,"context_line":"        if ssn:"},{"line_number":145,"context_line":"            \u0027\u0027\u0027Open connection to Enterprise Manager.\u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_f6ad1789","line":142,"updated":"2015-06-02 19:25:51.000000000","message":"Fix this single letter name too?","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    APIVERSION \u003d \u00271.0.2\u0027"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def __init__(self, host, port, user, password, verify):"},{"line_number":174,"context_line":"        \u0027\u0027\u0027This creates a connection to Dell Enterprise Manager."},{"line_number":175,"context_line":"        :param host: IP address of the Dell Data Collector."},{"line_number":176,"context_line":"        :param port: Port the Data Collector is listening on."},{"line_number":177,"context_line":"        :param user: User account to login with."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_16a1d394","line":174,"updated":"2015-06-02 19:25:51.000000000","message":"Need a blank line after the opening summary line.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":196,"context_line":"        self.close_connection()"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    def _path_to_array(self, path):"},{"line_number":199,"context_line":"        \u0027\u0027\u0027:param path: Path to a folder on the Storage Center."},{"line_number":200,"context_line":"        :return: A reversed array of each path element."},{"line_number":201,"context_line":"        \u0027\u0027\u0027"},{"line_number":202,"context_line":"        array \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_56ecebc6","line":199,"updated":"2015-06-02 19:25:51.000000000","message":"Need one line summary, then blank, then the rest.\n\nhttp://docs.openstack.org/developer/hacking/#docstrings","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            array.append(tail)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def _first_result(self, blob):"},{"line_number":211,"context_line":"        \u0027\u0027\u0027Get the first result from the JSON return value."},{"line_number":212,"context_line":"        :param blob: Full return from a REST call."},{"line_number":213,"context_line":"        :return: The JSON encoded dict or the first item in a JSON encoded"},{"line_number":214,"context_line":"                 list."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_d6d8db1f","line":211,"updated":"2015-06-02 19:25:51.000000000","message":"Same.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        return rsp"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def _get_json(self, blob):"},{"line_number":250,"context_line":"        \u0027\u0027\u0027Returns a dict from the JSON of a REST response."},{"line_number":251,"context_line":"        :param blob: The response from a REST call."},{"line_number":252,"context_line":"        :return json or None:"},{"line_number":253,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_76fec76c","line":250,"updated":"2015-06-02 19:25:51.000000000","message":"Blank line needed.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":259,"context_line":"        return None"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def _get_id(self, blob):"},{"line_number":262,"context_line":"        \u0027\u0027\u0027:param blob: A Dell SC REST call\u0027s response."},{"line_number":263,"context_line":"        :return: The instanceId from the Dell SC object or None."},{"line_number":264,"context_line":"        \u0027\u0027\u0027"},{"line_number":265,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_d6efbbae","line":262,"updated":"2015-06-02 19:25:51.000000000","message":"Needs to follow docstring guidelines.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":315,"context_line":"    # Folder functions"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def _create_folder(self, url, parent, folder):"},{"line_number":318,"context_line":"        \u0027\u0027\u0027This is generic to server and volume folders on the Storage"},{"line_number":319,"context_line":"        Center backend."},{"line_number":320,"context_line":"        :param url: This is the Dell SC rest url for creating the specific"},{"line_number":321,"context_line":"                    (server or volume) folder type."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_d6469bbe","line":318,"updated":"2015-06-02 19:25:51.000000000","message":"Needs to follow guidelines.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        return scfolder"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    def _create_folder_path(self, url, foldername):"},{"line_number":346,"context_line":"        \u0027\u0027\u0027This is generic to server and volume folders."},{"line_number":347,"context_line":"        :param url: This is the Dell SC rest url for creating the specific"},{"line_number":348,"context_line":"                    (server or volume) folder type."},{"line_number":349,"context_line":"        :param foldername: The full folder name with path."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_961703a3","line":346,"updated":"2015-06-02 19:25:51.000000000","message":"Need blank line.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":415,"context_line":"        return folder"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def _find_volume_folder(self, create\u003dFalse):"},{"line_number":418,"context_line":"        \u0027\u0027\u0027Looks for the volume folder where backend volumes will be created."},{"line_number":419,"context_line":"        Volume folder is specified in the cindef.conf.  See __init."},{"line_number":420,"context_line":"        :param create: If True will create the folder if not found."},{"line_number":421,"context_line":"        :return: Folder object."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_f62077f9","line":418,"updated":"2015-06-02 19:25:51.000000000","message":"Same.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":463,"context_line":"                    self._get_id(scvolume))"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"    def create_volume(self, name, size):"},{"line_number":466,"context_line":"        \u0027\u0027\u0027This creates a new volume on the Storage Center.  It"},{"line_number":467,"context_line":"        will create it in a folder called self.vfname.  If self.vfname"},{"line_number":468,"context_line":"        does not exist it will create it.  If it cannot create it"},{"line_number":469,"context_line":"        the volume will be created in the root."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_d6745bfe","line":466,"updated":"2015-06-02 19:25:51.000000000","message":"Reformat to guidelines.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":551,"context_line":"        return result"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"    def find_volume(self, name):"},{"line_number":554,"context_line":"        \u0027\u0027\u0027Search self.ssn for volume of name.  This searches the folder"},{"line_number":555,"context_line":"        self.vfname (specified in the cinder.conf) for the volume first."},{"line_number":556,"context_line":"        If not found it searches the entire array for the volume."},{"line_number":557,"context_line":"        :param name: Name of the volume to search for.  This is the cinder"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_36dccfe3","line":554,"updated":"2015-06-02 19:25:51.000000000","message":"Reformat.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":589,"context_line":"        return None if not vollist else vollist[0]"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"    def delete_volume(self, name):"},{"line_number":592,"context_line":"        \u0027\u0027\u0027Deletes the volume from the SC backend array.  If the volume"},{"line_number":593,"context_line":"        cannot be found we claim success."},{"line_number":594,"context_line":"        :param name: Name of the volume to search for.  This is the cinder"},{"line_number":595,"context_line":"                     volume ID."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_76d127cd","line":592,"updated":"2015-06-02 19:25:51.000000000","message":"Reformat.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":615,"context_line":"        return True"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"    def _find_server_folder(self, create\u003dFalse):"},{"line_number":618,"context_line":"        \u0027\u0027\u0027Looks for the server folder on the Dell Storage Center where a"},{"line_number":619,"context_line":"        server objects for mapping volumes will be created."},{"line_number":620,"context_line":"        Server folder is specified in cinder.conf.  See __init."},{"line_number":621,"context_line":"        :param create: If True will create the folder if not found."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_f6e517a8","line":618,"updated":"2015-06-02 19:25:51.000000000","message":"Reformat.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":629,"context_line":"        return folder"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    def _add_hba(self, scserver, wwnoriscsiname, isfc\u003dFalse):"},{"line_number":632,"context_line":"        \u0027\u0027\u0027This adds a server HBA to the Dell server object.  The HBA is"},{"line_number":633,"context_line":"        taken from the connector provided in initialize_connection.  The"},{"line_number":634,"context_line":"        Dell server object is largely a container object for the list of HBAs"},{"line_number":635,"context_line":"        associated with a single server (or vm or cluster) for the purposes"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_96f38373","line":632,"updated":"2015-06-02 19:25:51.000000000","message":"Reformat.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":685,"context_line":"        return None"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"    def create_server_multiple_hbas(self, wwns):"},{"line_number":688,"context_line":"        \u0027\u0027\u0027Same as create_server except it can take a list of HBAs."},{"line_number":689,"context_line":"        :param wwns: A list of FC WWNs or iSCSI IQNs associated with this"},{"line_number":690,"context_line":"                     server."},{"line_number":691,"context_line":"        :return: Dell server object."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_3603af44","line":688,"updated":"2015-06-02 19:25:51.000000000","message":"Reformat.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":705,"context_line":"        return scserver"},{"line_number":706,"context_line":""},{"line_number":707,"context_line":"    def create_server(self, wwnoriscsiname, isfc\u003dFalse):"},{"line_number":708,"context_line":"        \u0027\u0027\u0027Creates a Dell server object on the the Storage Center so that"},{"line_number":709,"context_line":"        volumes can be mapped to it."},{"line_number":710,"context_line":"        Adds the first HBA identified by wwnoriscsiname to it."},{"line_number":711,"context_line":"        :param wwnoriscsiname: A list of FC WWNs or iSCSI IQNs associated with"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_b6955fe5","line":708,"updated":"2015-06-02 19:25:51.000000000","message":"Same.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":759,"context_line":"        return scserver"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"    def find_server(self, instance_name):"},{"line_number":762,"context_line":"        \u0027\u0027\u0027Hunts for a server on the Dell backend by looking for an HBA with"},{"line_number":763,"context_line":"        the server\u0027s IQN or WWN.  If found, the server the HBA is attached to,"},{"line_number":764,"context_line":"        if any, is returned."},{"line_number":765,"context_line":"        :param instance_name: instance_name is a FC WWN or iSCSI IQN from"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_56a4eb55","line":762,"updated":"2015-06-02 19:25:51.000000000","message":"Same.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":791,"context_line":"        return scserver"},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"    def _find_serverhba(self, instance_name):"},{"line_number":794,"context_line":"        \u0027\u0027\u0027Hunts for a server HBA on the Dell backend by looking for an HBA"},{"line_number":795,"context_line":"        with the specified IQN or WWN."},{"line_number":796,"context_line":"        :param instance_name: Instance_name is a FC WWN or iSCSI IQN from"},{"line_number":797,"context_line":"                              the connector."}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_168793b6","line":794,"updated":"2015-06-02 19:25:51.000000000","message":"Reformat.","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"dab1f19c52ff7872060b14d560f144c6f63f2e03","unresolved":false,"context_lines":[{"line_number":813,"context_line":"        return scserverhba"},{"line_number":814,"context_line":""},{"line_number":815,"context_line":"    def _find_domains(self, cportid):"},{"line_number":816,"context_line":"        \u0027\u0027\u0027:param cportid: The Instance ID of the Dell controller port."},{"line_number":817,"context_line":"        :return: The list of fault domains associated with this"},{"line_number":818,"context_line":"                 controller port."},{"line_number":819,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_f693d7f8","line":816,"updated":"2015-06-02 19:25:51.000000000","message":"You get the idea...","commit_id":"485091ff615ed53a29b241ed614d35622bdead07"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        \u0027\u0027\u0027Creates the StorageCenterApi object."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        :return: StorageCenterApi object."},{"line_number":138,"context_line":"        :raises:VolumeBackendAPIException"},{"line_number":139,"context_line":"        \u0027\u0027\u0027"},{"line_number":140,"context_line":"        connection \u003d None"},{"line_number":141,"context_line":"        ssn \u003d self.config.dell_sc_ssn"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_89eb1913","line":138,"updated":"2015-06-04 10:21:29.000000000","message":"Missing space between : and VolumeBackendAPIException","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        \u0027\u0027\u0027Creates the StorageCenterApi object."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        :return: StorageCenterApi object."},{"line_number":138,"context_line":"        :raises:VolumeBackendAPIException"},{"line_number":139,"context_line":"        \u0027\u0027\u0027"},{"line_number":140,"context_line":"        connection \u003d None"},{"line_number":141,"context_line":"        ssn \u003d self.config.dell_sc_ssn"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_ff2b7f92","line":138,"in_reply_to":"5afe65bd_89eb1913","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        :param user: User account to login with."},{"line_number":180,"context_line":"        :param password: Password."},{"line_number":181,"context_line":"        :param verify: Boolean indicating whether certificate verification"},{"line_number":182,"context_line":"        should be turned on or not."},{"line_number":183,"context_line":"        \u0027\u0027\u0027"},{"line_number":184,"context_line":"        self.notes \u003d \u0027Created by Dell Cinder Driver\u0027"},{"line_number":185,"context_line":"        self.ssn \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_c9bc7108","line":182,"updated":"2015-06-04 10:21:29.000000000","message":"This should be aligned with Boolean word from previous line, as it is in line 71.","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        :param user: User account to login with."},{"line_number":180,"context_line":"        :param password: Password."},{"line_number":181,"context_line":"        :param verify: Boolean indicating whether certificate verification"},{"line_number":182,"context_line":"        should be turned on or not."},{"line_number":183,"context_line":"        \u0027\u0027\u0027"},{"line_number":184,"context_line":"        self.notes \u003d \u0027Created by Dell Cinder Driver\u0027"},{"line_number":185,"context_line":"        self.ssn \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_bf1ce777","line":182,"in_reply_to":"5afe65bd_c9bc7108","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    def _get_result(self, blob, attribute, value):"},{"line_number":224,"context_line":"        \u0027\u0027\u0027Find the result specified by attribute and value."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        If the blob JSON is a list the list will be iterated looking for"},{"line_number":227,"context_line":"        the attribute and value combination or the first item if they are"},{"line_number":228,"context_line":"        not specified.  If the blob JSON is a dict then it will be returned"},{"line_number":229,"context_line":"        so long as either attribute is None or the dict matches the attribute"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_0923a957","line":226,"updated":"2015-06-04 10:21:29.000000000","message":"s/blob JSON/JSON blob","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    def _get_result(self, blob, attribute, value):"},{"line_number":224,"context_line":"        \u0027\u0027\u0027Find the result specified by attribute and value."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        If the blob JSON is a list the list will be iterated looking for"},{"line_number":227,"context_line":"        the attribute and value combination or the first item if they are"},{"line_number":228,"context_line":"        not specified.  If the blob JSON is a dict then it will be returned"},{"line_number":229,"context_line":"        so long as either attribute is None or the dict matches the attribute"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_4a10934e","line":226,"in_reply_to":"5afe65bd_0923a957","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        If the blob JSON is a list the list will be iterated looking for"},{"line_number":227,"context_line":"        the attribute and value combination or the first item if they are"},{"line_number":228,"context_line":"        not specified.  If the blob JSON is a dict then it will be returned"},{"line_number":229,"context_line":"        so long as either attribute is None or the dict matches the attribute"},{"line_number":230,"context_line":"        and value combination."},{"line_number":231,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_09fcc9b6","line":228,"updated":"2015-06-04 10:21:29.000000000","message":"s/blobl JSON/JSON blob","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        If the blob JSON is a list the list will be iterated looking for"},{"line_number":227,"context_line":"        the attribute and value combination or the first item if they are"},{"line_number":228,"context_line":"        not specified.  If the blob JSON is a dict then it will be returned"},{"line_number":229,"context_line":"        so long as either attribute is None or the dict matches the attribute"},{"line_number":230,"context_line":"        and value combination."},{"line_number":231,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_6a3c6fc8","line":228,"in_reply_to":"5afe65bd_09fcc9b6","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        and value combination."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        :param blob: The REST call\u0027s JSON response.  Can be a list or dict."},{"line_number":233,"context_line":"        :param attribute: The attribute we are looking for.  If none return"},{"line_number":234,"context_line":"        the first in the list or the dict."},{"line_number":235,"context_line":"        :param value: The attribute value we are looking for.  If attribute"},{"line_number":236,"context_line":"        is none this value is ignored."}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_49b2c107","line":233,"updated":"2015-06-04 10:21:29.000000000","message":"s/none/None","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        and value combination."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        :param blob: The REST call\u0027s JSON response.  Can be a list or dict."},{"line_number":233,"context_line":"        :param attribute: The attribute we are looking for.  If none return"},{"line_number":234,"context_line":"        the first in the list or the dict."},{"line_number":235,"context_line":"        :param value: The attribute value we are looking for.  If attribute"},{"line_number":236,"context_line":"        is none this value is ignored."}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_0a317bec","line":233,"in_reply_to":"5afe65bd_49b2c107","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        :param blob: The REST call\u0027s JSON response.  Can be a list or dict."},{"line_number":233,"context_line":"        :param attribute: The attribute we are looking for.  If none return"},{"line_number":234,"context_line":"        the first in the list or the dict."},{"line_number":235,"context_line":"        :param value: The attribute value we are looking for.  If attribute"},{"line_number":236,"context_line":"        is none this value is ignored."},{"line_number":237,"context_line":"        :returns: The JSON content in blob, the dict specified by matching the"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_89a319b2","line":234,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        :param blob: The REST call\u0027s JSON response.  Can be a list or dict."},{"line_number":233,"context_line":"        :param attribute: The attribute we are looking for.  If none return"},{"line_number":234,"context_line":"        the first in the list or the dict."},{"line_number":235,"context_line":"        :param value: The attribute value we are looking for.  If attribute"},{"line_number":236,"context_line":"        is none this value is ignored."},{"line_number":237,"context_line":"        :returns: The JSON content in blob, the dict specified by matching the"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_6a434f43","line":234,"in_reply_to":"5afe65bd_89a319b2","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        :param attribute: The attribute we are looking for.  If none return"},{"line_number":234,"context_line":"        the first in the list or the dict."},{"line_number":235,"context_line":"        :param value: The attribute value we are looking for.  If attribute"},{"line_number":236,"context_line":"        is none this value is ignored."},{"line_number":237,"context_line":"        :returns: The JSON content in blob, the dict specified by matching the"},{"line_number":238,"context_line":"        attribute and value or None."},{"line_number":239,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_e994cd43","line":236,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment.\n\ns/none/None","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        :param attribute: The attribute we are looking for.  If none return"},{"line_number":234,"context_line":"        the first in the list or the dict."},{"line_number":235,"context_line":"        :param value: The attribute value we are looking for.  If attribute"},{"line_number":236,"context_line":"        is none this value is ignored."},{"line_number":237,"context_line":"        :returns: The JSON content in blob, the dict specified by matching the"},{"line_number":238,"context_line":"        attribute and value or None."},{"line_number":239,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_2a4d576c","line":236,"in_reply_to":"5afe65bd_e994cd43","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":235,"context_line":"        :param value: The attribute value we are looking for.  If attribute"},{"line_number":236,"context_line":"        is none this value is ignored."},{"line_number":237,"context_line":"        :returns: The JSON content in blob, the dict specified by matching the"},{"line_number":238,"context_line":"        attribute and value or None."},{"line_number":239,"context_line":"        \u0027\u0027\u0027"},{"line_number":240,"context_line":"        rsp \u003d None"},{"line_number":241,"context_line":"        content \u003d self._get_json(blob)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_097f2916","line":238,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment.","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":235,"context_line":"        :param value: The attribute value we are looking for.  If attribute"},{"line_number":236,"context_line":"        is none this value is ignored."},{"line_number":237,"context_line":"        :returns: The JSON content in blob, the dict specified by matching the"},{"line_number":238,"context_line":"        attribute and value or None."},{"line_number":239,"context_line":"        \u0027\u0027\u0027"},{"line_number":240,"context_line":"        rsp \u003d None"},{"line_number":241,"context_line":"        content \u003d self._get_json(blob)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_6a6a2fb5","line":238,"in_reply_to":"5afe65bd_097f2916","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        \u0027\u0027\u0027Returns a dict from the JSON of a REST response."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        :param blob: The response from a REST call."},{"line_number":266,"context_line":"        :returns: json or None"},{"line_number":267,"context_line":"        \u0027\u0027\u0027"},{"line_number":268,"context_line":"        try:"},{"line_number":269,"context_line":"            return blob.json()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_49e521da","line":266,"updated":"2015-06-04 10:21:29.000000000","message":"s/json/JSON\n\nYou could add when you return None: \"JSON or None on error\"","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        \u0027\u0027\u0027Returns a dict from the JSON of a REST response."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        :param blob: The response from a REST call."},{"line_number":266,"context_line":"        :returns: json or None"},{"line_number":267,"context_line":"        \u0027\u0027\u0027"},{"line_number":268,"context_line":"        try:"},{"line_number":269,"context_line":"            return blob.json()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_4aac13ed","line":266,"in_reply_to":"5afe65bd_49e521da","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        \u0027\u0027\u0027Returns the instanceId from a Dell REST object."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        :param blob: A Dell SC REST call\u0027s response."},{"line_number":279,"context_line":"        :returns: The instanceId from the Dell SC object or None."},{"line_number":280,"context_line":"        \u0027\u0027\u0027"},{"line_number":281,"context_line":"        try:"},{"line_number":282,"context_line":"            if isinstance(blob, dict):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_c97591fa","line":279,"updated":"2015-06-04 10:21:29.000000000","message":"\"or None on error.\"?","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        \u0027\u0027\u0027Returns the instanceId from a Dell REST object."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        :param blob: A Dell SC REST call\u0027s response."},{"line_number":279,"context_line":"        :returns: The instanceId from the Dell SC object or None."},{"line_number":280,"context_line":"        \u0027\u0027\u0027"},{"line_number":281,"context_line":"        try:"},{"line_number":282,"context_line":"            if isinstance(blob, dict):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_2abb1729","line":279,"in_reply_to":"5afe65bd_c97591fa","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        Center backend."},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        :param url: This is the Dell SC rest url for creating the specific"},{"line_number":345,"context_line":"        (server or volume) folder type."},{"line_number":346,"context_line":"        :param parent: The instance ID of this folder\u0027s parent folder."},{"line_number":347,"context_line":"        :param folder: The folder name to be created.  This is one level deep."},{"line_number":348,"context_line":"        :returns: The REST folder object."}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_29a2e54b","line":345,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        Center backend."},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        :param url: This is the Dell SC rest url for creating the specific"},{"line_number":345,"context_line":"        (server or volume) folder type."},{"line_number":346,"context_line":"        :param parent: The instance ID of this folder\u0027s parent folder."},{"line_number":347,"context_line":"        :param folder: The folder name to be created.  This is one level deep."},{"line_number":348,"context_line":"        :returns: The REST folder object."}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_ca86c364","line":345,"in_reply_to":"5afe65bd_29a2e54b","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":371,"context_line":""},{"line_number":372,"context_line":"        This is generic to server and volume folders."},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        :param url: This is the Dell SC rest url for creating the specific"},{"line_number":375,"context_line":"        (server or volume) folder type."},{"line_number":376,"context_line":"        :param foldername: The full folder name with path."},{"line_number":377,"context_line":"        :returns: The REST folder object."}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_6951fd35","line":374,"updated":"2015-06-04 10:21:29.000000000","message":"s/rest/REST","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":371,"context_line":""},{"line_number":372,"context_line":"        This is generic to server and volume folders."},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        :param url: This is the Dell SC rest url for creating the specific"},{"line_number":375,"context_line":"        (server or volume) folder type."},{"line_number":376,"context_line":"        :param foldername: The full folder name with path."},{"line_number":377,"context_line":"        :returns: The REST folder object."}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_aa7dc76f","line":374,"in_reply_to":"5afe65bd_6951fd35","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        This is generic to server and volume folders."},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        :param url: This is the Dell SC rest url for creating the specific"},{"line_number":375,"context_line":"        (server or volume) folder type."},{"line_number":376,"context_line":"        :param foldername: The full folder name with path."},{"line_number":377,"context_line":"        :returns: The REST folder object."},{"line_number":378,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_6938ddef","line":375,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment.","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        This is generic to server and volume folders."},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        :param url: This is the Dell SC rest url for creating the specific"},{"line_number":375,"context_line":"        (server or volume) folder type."},{"line_number":376,"context_line":"        :param foldername: The full folder name with path."},{"line_number":377,"context_line":"        :returns: The REST folder object."},{"line_number":378,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_8a80cb47","line":375,"in_reply_to":"5afe65bd_6938ddef","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":416,"context_line":"        This is generic to server and volume folders."},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        :param url: The portion of the url after the base url (see http class)"},{"line_number":419,"context_line":"        to use for this operation.  (Can be for Server or Volume folders.)"},{"line_number":420,"context_line":"        :param foldername: Full path to the folder we are looking for."},{"line_number":421,"context_line":"        :returns: Dell folder object."},{"line_number":422,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_441e2860","line":419,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":416,"context_line":"        This is generic to server and volume folders."},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        :param url: The portion of the url after the base url (see http class)"},{"line_number":419,"context_line":"        to use for this operation.  (Can be for Server or Volume folders.)"},{"line_number":420,"context_line":"        :param foldername: Full path to the folder we are looking for."},{"line_number":421,"context_line":"        :returns: Dell folder object."},{"line_number":422,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_0a8dfb7a","line":419,"in_reply_to":"5afe65bd_441e2860","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":504,"context_line":"        the volume will be created in the root."},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"        :param name: Name of the volume to be created on the Dell SC backend."},{"line_number":507,"context_line":"        This is the cinder volume ID."},{"line_number":508,"context_line":"        :returns: Dell Volume object or None."},{"line_number":509,"context_line":"        \u0027\u0027\u0027"},{"line_number":510,"context_line":"        LOG.debug(\u0027Create Volume %(name)s %(ssn)s %(folder)s\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_445628cf","line":507,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":504,"context_line":"        the volume will be created in the root."},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"        :param name: Name of the volume to be created on the Dell SC backend."},{"line_number":507,"context_line":"        This is the cinder volume ID."},{"line_number":508,"context_line":"        :returns: Dell Volume object or None."},{"line_number":509,"context_line":"        \u0027\u0027\u0027"},{"line_number":510,"context_line":"        LOG.debug(\u0027Create Volume %(name)s %(ssn)s %(folder)s\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_8af7abf4","line":507,"in_reply_to":"5afe65bd_445628cf","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":544,"context_line":"                              \u0027  Attempting to locate volume\u0027))"},{"line_number":545,"context_line":"                # In theory it is there since success was returned."},{"line_number":546,"context_line":"                # Try one last time to find it before returning."},{"line_number":547,"context_line":"                scvolume \u003d self.find_volume(name)"},{"line_number":548,"context_line":"        else:"},{"line_number":549,"context_line":"            LOG.error(_LE(\u0027ScVolume create error \u0027"},{"line_number":550,"context_line":"                          \u0027%(name)s: %(code)d %(reason)s\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_04239057","line":547,"updated":"2015-06-04 10:21:29.000000000","message":"According to Commit Message this is not part of this patch. Maybe worth a mention there?","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":544,"context_line":"                              \u0027  Attempting to locate volume\u0027))"},{"line_number":545,"context_line":"                # In theory it is there since success was returned."},{"line_number":546,"context_line":"                # Try one last time to find it before returning."},{"line_number":547,"context_line":"                scvolume \u003d self.find_volume(name)"},{"line_number":548,"context_line":"        else:"},{"line_number":549,"context_line":"            LOG.error(_LE(\u0027ScVolume create error \u0027"},{"line_number":550,"context_line":"                          \u0027%(name)s: %(code)d %(reason)s\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_ead17f58","line":547,"in_reply_to":"5afe65bd_04239057","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":594,"context_line":"        the volume."},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"        :param name: Name of the volume to search for.  This is the cinder"},{"line_number":597,"context_line":"        volume ID."},{"line_number":598,"context_line":"        :returns: Dell Volume object."},{"line_number":599,"context_line":"        :raises VolumeBackendAPIException: If multiple copies are found."},{"line_number":600,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_8491c049","line":597,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":594,"context_line":"        the volume."},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"        :param name: Name of the volume to search for.  This is the cinder"},{"line_number":597,"context_line":"        volume ID."},{"line_number":598,"context_line":"        :returns: Dell Volume object."},{"line_number":599,"context_line":"        :raises VolumeBackendAPIException: If multiple copies are found."},{"line_number":600,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_ea2dff46","line":597,"in_reply_to":"5afe65bd_8491c049","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":595,"context_line":""},{"line_number":596,"context_line":"        :param name: Name of the volume to search for.  This is the cinder"},{"line_number":597,"context_line":"        volume ID."},{"line_number":598,"context_line":"        :returns: Dell Volume object."},{"line_number":599,"context_line":"        :raises VolumeBackendAPIException: If multiple copies are found."},{"line_number":600,"context_line":"        \u0027\u0027\u0027"},{"line_number":601,"context_line":"        LOG.debug(\u0027Searching %(sn)s for %(name)s\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_84b8a0c9","line":598,"updated":"2015-06-04 10:21:29.000000000","message":"or None","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":595,"context_line":""},{"line_number":596,"context_line":"        :param name: Name of the volume to search for.  This is the cinder"},{"line_number":597,"context_line":"        volume ID."},{"line_number":598,"context_line":"        :returns: Dell Volume object."},{"line_number":599,"context_line":"        :raises VolumeBackendAPIException: If multiple copies are found."},{"line_number":600,"context_line":"        \u0027\u0027\u0027"},{"line_number":601,"context_line":"        LOG.debug(\u0027Searching %(sn)s for %(name)s\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_ca3003a1","line":598,"in_reply_to":"5afe65bd_84b8a0c9","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":632,"context_line":""},{"line_number":633,"context_line":"        If the volume cannot be found we claim success."},{"line_number":634,"context_line":""},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        :param name: Name of the volume to search for.  This is the cinder"},{"line_number":637,"context_line":"        volume ID."},{"line_number":638,"context_line":"        :returns: Boolean indicating success or failure."}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_44e508da","line":635,"updated":"2015-06-04 10:21:29.000000000","message":"2 separation lines instead of 1","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":632,"context_line":""},{"line_number":633,"context_line":"        If the volume cannot be found we claim success."},{"line_number":634,"context_line":""},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        :param name: Name of the volume to search for.  This is the cinder"},{"line_number":637,"context_line":"        volume ID."},{"line_number":638,"context_line":"        :returns: Boolean indicating success or failure."}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_6a222f54","line":635,"in_reply_to":"5afe65bd_44e508da","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":634,"context_line":""},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        :param name: Name of the volume to search for.  This is the cinder"},{"line_number":637,"context_line":"        volume ID."},{"line_number":638,"context_line":"        :returns: Boolean indicating success or failure."},{"line_number":639,"context_line":"        \u0027\u0027\u0027"},{"line_number":640,"context_line":"        vol \u003d self.find_volume(name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_c4d9f823","line":637,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":634,"context_line":""},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        :param name: Name of the volume to search for.  This is the cinder"},{"line_number":637,"context_line":"        volume ID."},{"line_number":638,"context_line":"        :returns: Boolean indicating success or failure."},{"line_number":639,"context_line":"        \u0027\u0027\u0027"},{"line_number":640,"context_line":"        vol \u003d self.find_volume(name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_4a1d330e","line":637,"in_reply_to":"5afe65bd_c4d9f823","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":657,"context_line":"        return True"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"    def _find_server_folder(self, create\u003dFalse):"},{"line_number":660,"context_line":"        \u0027\u0027\u0027Looks for the server folder on the Dell Storage Center where a"},{"line_number":661,"context_line":"        server objects for mapping volumes will be created."},{"line_number":662,"context_line":"        Server folder is specified in cinder.conf.  See __init."},{"line_number":663,"context_line":"        :param create: If True will create the folder if not found."}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_8462e03c","line":660,"updated":"2015-06-04 10:21:29.000000000","message":"This doesn\u0027t follow PEP8(H405)","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":657,"context_line":"        return True"},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"    def _find_server_folder(self, create\u003dFalse):"},{"line_number":660,"context_line":"        \u0027\u0027\u0027Looks for the server folder on the Dell Storage Center where a"},{"line_number":661,"context_line":"        server objects for mapping volumes will be created."},{"line_number":662,"context_line":"        Server folder is specified in cinder.conf.  See __init."},{"line_number":663,"context_line":"        :param create: If True will create the folder if not found."}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_ead4df20","line":660,"in_reply_to":"5afe65bd_8462e03c","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":660,"context_line":"        \u0027\u0027\u0027Looks for the server folder on the Dell Storage Center where a"},{"line_number":661,"context_line":"        server objects for mapping volumes will be created."},{"line_number":662,"context_line":"        Server folder is specified in cinder.conf.  See __init."},{"line_number":663,"context_line":"        :param create: If True will create the folder if not found."},{"line_number":664,"context_line":"        :return: Folder object."},{"line_number":665,"context_line":"        \u0027\u0027\u0027"},{"line_number":666,"context_line":"        folder \u003d self._find_folder(\u0027StorageCenter/ScServerFolder/GetList\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_84c9c028","line":663,"updated":"2015-06-04 10:21:29.000000000","message":"Line separation","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":660,"context_line":"        \u0027\u0027\u0027Looks for the server folder on the Dell Storage Center where a"},{"line_number":661,"context_line":"        server objects for mapping volumes will be created."},{"line_number":662,"context_line":"        Server folder is specified in cinder.conf.  See __init."},{"line_number":663,"context_line":"        :param create: If True will create the folder if not found."},{"line_number":664,"context_line":"        :return: Folder object."},{"line_number":665,"context_line":"        \u0027\u0027\u0027"},{"line_number":666,"context_line":"        folder \u003d self._find_folder(\u0027StorageCenter/ScServerFolder/GetList\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_cad7e321","line":663,"in_reply_to":"5afe65bd_84c9c028","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":732,"context_line":"        return None"},{"line_number":733,"context_line":""},{"line_number":734,"context_line":"    def create_server_multiple_hbas(self, wwns):"},{"line_number":735,"context_line":"        \u0027\u0027\u0027Creates a server with multiple wwns associated with it."},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"        Same as create_server except it can take a list of HBAs."},{"line_number":738,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_44106859","line":735,"updated":"2015-06-04 10:21:29.000000000","message":"Since we are not talking about the argument:\n\n s/wwns/WWNS","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":732,"context_line":"        return None"},{"line_number":733,"context_line":""},{"line_number":734,"context_line":"    def create_server_multiple_hbas(self, wwns):"},{"line_number":735,"context_line":"        \u0027\u0027\u0027Creates a server with multiple wwns associated with it."},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"        Same as create_server except it can take a list of HBAs."},{"line_number":738,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_cabec3d3","line":735,"in_reply_to":"5afe65bd_44106859","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":737,"context_line":"        Same as create_server except it can take a list of HBAs."},{"line_number":738,"context_line":""},{"line_number":739,"context_line":"        :param wwns: A list of FC WWNs or iSCSI IQNs associated with this"},{"line_number":740,"context_line":"        server."},{"line_number":741,"context_line":"        :returns: Dell server object."},{"line_number":742,"context_line":"        \u0027\u0027\u0027"},{"line_number":743,"context_line":"        scserver \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_646a44f0","line":740,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":737,"context_line":"        Same as create_server except it can take a list of HBAs."},{"line_number":738,"context_line":""},{"line_number":739,"context_line":"        :param wwns: A list of FC WWNs or iSCSI IQNs associated with this"},{"line_number":740,"context_line":"        server."},{"line_number":741,"context_line":"        :returns: Dell server object."},{"line_number":742,"context_line":"        \u0027\u0027\u0027"},{"line_number":743,"context_line":"        scserver \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_8ab8cbe6","line":740,"in_reply_to":"5afe65bd_646a44f0","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        :param cportid: The Instance ID of the Dell controller port."},{"line_number":897,"context_line":"        :param domainip: The IP address specified in the cinder.conf file"},{"line_number":898,"context_line":"        for the iSCSI address."},{"line_number":899,"context_line":"        :returns: The fault domain associated with this controller port and"},{"line_number":900,"context_line":"        specified domainip or None."},{"line_number":901,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_8f84395e","line":898,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        :param cportid: The Instance ID of the Dell controller port."},{"line_number":897,"context_line":"        :param domainip: The IP address specified in the cinder.conf file"},{"line_number":898,"context_line":"        for the iSCSI address."},{"line_number":899,"context_line":"        :returns: The fault domain associated with this controller port and"},{"line_number":900,"context_line":"        specified domainip or None."},{"line_number":901,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_4acbf372","line":898,"in_reply_to":"5afe65bd_8f84395e","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":897,"context_line":"        :param domainip: The IP address specified in the cinder.conf file"},{"line_number":898,"context_line":"        for the iSCSI address."},{"line_number":899,"context_line":"        :returns: The fault domain associated with this controller port and"},{"line_number":900,"context_line":"        specified domainip or None."},{"line_number":901,"context_line":"        \u0027\u0027\u0027"},{"line_number":902,"context_line":"        domains \u003d self._find_domains(cportid)"},{"line_number":903,"context_line":"        if domains:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_6f89fd74","line":900,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":897,"context_line":"        :param domainip: The IP address specified in the cinder.conf file"},{"line_number":898,"context_line":"        for the iSCSI address."},{"line_number":899,"context_line":"        :returns: The fault domain associated with this controller port and"},{"line_number":900,"context_line":"        specified domainip or None."},{"line_number":901,"context_line":"        \u0027\u0027\u0027"},{"line_number":902,"context_line":"        domains \u003d self._find_domains(cportid)"},{"line_number":903,"context_line":"        if domains:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_eaa29fad","line":900,"in_reply_to":"5afe65bd_6f89fd74","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":991,"context_line":"    def find_wwns(self, scvolume, scserver):"},{"line_number":992,"context_line":"        \u0027\u0027\u0027Finds the lun and wwns of the mapped volume."},{"line_number":993,"context_line":""},{"line_number":994,"context_line":"        ;param scvolume: Storage Center volume object."},{"line_number":995,"context_line":"        :param scserver: Storage Center server opbject."},{"line_number":996,"context_line":"        :returns: Lun, wwns, initiator target map"},{"line_number":997,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_8f39d9a6","line":994,"updated":"2015-06-04 10:21:29.000000000","message":"s/;param/:param","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":991,"context_line":"    def find_wwns(self, scvolume, scserver):"},{"line_number":992,"context_line":"        \u0027\u0027\u0027Finds the lun and wwns of the mapped volume."},{"line_number":993,"context_line":""},{"line_number":994,"context_line":"        ;param scvolume: Storage Center volume object."},{"line_number":995,"context_line":"        :param scserver: Storage Center server opbject."},{"line_number":996,"context_line":"        :returns: Lun, wwns, initiator target map"},{"line_number":997,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_4a79b32e","line":994,"in_reply_to":"5afe65bd_8f39d9a6","updated":"2015-06-08 17:23:27.000000000","message":"I need a better font in pycharm.  Those are really hard to see.","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"    def _find_active_controller(self, scvolume):"},{"line_number":1047,"context_line":"        \u0027\u0027\u0027Finds the controller on which the Dell volume is active."},{"line_number":1048,"context_line":""},{"line_number":1049,"context_line":"        There can be more than one Dell backend conroller per Storage center"},{"line_number":1050,"context_line":"        but a given volume can only be active on one of them at a time."},{"line_number":1051,"context_line":""},{"line_number":1052,"context_line":"        :param scvolume: Dell backend volume object."}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_2f5b05f8","line":1049,"updated":"2015-06-04 10:21:29.000000000","message":"s/conroller/controller","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"    def _find_active_controller(self, scvolume):"},{"line_number":1047,"context_line":"        \u0027\u0027\u0027Finds the controller on which the Dell volume is active."},{"line_number":1048,"context_line":""},{"line_number":1049,"context_line":"        There can be more than one Dell backend conroller per Storage center"},{"line_number":1050,"context_line":"        but a given volume can only be active on one of them at a time."},{"line_number":1051,"context_line":""},{"line_number":1052,"context_line":"        :param scvolume: Dell backend volume object."}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_0a73bb4e","line":1049,"in_reply_to":"5afe65bd_2f5b05f8","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":1092,"context_line":"        :param scvolume: The dell sc volume object."},{"line_number":1093,"context_line":"        :param ip: The preferred target portal ip."},{"line_number":1094,"context_line":"        :param port: The preferred target portal port."},{"line_number":1095,"context_line":"        :returns: data \u003d {\u0027target_discovered\u0027: False,"},{"line_number":1096,"context_line":"                          \u0027target_iqn\u0027: preferred iqn,"},{"line_number":1097,"context_line":"                          \u0027target_iqns\u0027: all iqns,"},{"line_number":1098,"context_line":"                          \u0027target_portal\u0027: preferred portal,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_affed5ab","line":1095,"updated":"2015-06-04 10:21:29.000000000","message":"Variable name data is unnecessary here","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":1092,"context_line":"        :param scvolume: The dell sc volume object."},{"line_number":1093,"context_line":"        :param ip: The preferred target portal ip."},{"line_number":1094,"context_line":"        :param port: The preferred target portal port."},{"line_number":1095,"context_line":"        :returns: data \u003d {\u0027target_discovered\u0027: False,"},{"line_number":1096,"context_line":"                          \u0027target_iqn\u0027: preferred iqn,"},{"line_number":1097,"context_line":"                          \u0027target_iqns\u0027: all iqns,"},{"line_number":1098,"context_line":"                          \u0027target_portal\u0027: preferred portal,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_eac85f24","line":1095,"in_reply_to":"5afe65bd_affed5ab","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":1272,"context_line":"        return rtn"},{"line_number":1273,"context_line":""},{"line_number":1274,"context_line":"    def get_storage_usage(self):"},{"line_number":1275,"context_line":"        \u0027\u0027\u0027Gets the storage usage object that contains capacity and usage"},{"line_number":1276,"context_line":"        information for the SC."},{"line_number":1277,"context_line":"        :return The SC storageusage object."},{"line_number":1278,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_cfc6b167","line":1275,"updated":"2015-06-04 10:21:29.000000000","message":"This doesn\u0027t follow PEP8(H405)","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":1272,"context_line":"        return rtn"},{"line_number":1273,"context_line":""},{"line_number":1274,"context_line":"    def get_storage_usage(self):"},{"line_number":1275,"context_line":"        \u0027\u0027\u0027Gets the storage usage object that contains capacity and usage"},{"line_number":1276,"context_line":"        information for the SC."},{"line_number":1277,"context_line":"        :return The SC storageusage object."},{"line_number":1278,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_aaa02744","line":1275,"in_reply_to":"5afe65bd_cfc6b167","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":1274,"context_line":"    def get_storage_usage(self):"},{"line_number":1275,"context_line":"        \u0027\u0027\u0027Gets the storage usage object that contains capacity and usage"},{"line_number":1276,"context_line":"        information for the SC."},{"line_number":1277,"context_line":"        :return The SC storageusage object."},{"line_number":1278,"context_line":"        \u0027\u0027\u0027"},{"line_number":1279,"context_line":"        storageusage \u003d None"},{"line_number":1280,"context_line":"        if self.ssn is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_2fae6598","line":1277,"updated":"2015-06-04 10:21:29.000000000","message":"Missing separation with previous line.","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":1274,"context_line":"    def get_storage_usage(self):"},{"line_number":1275,"context_line":"        \u0027\u0027\u0027Gets the storage usage object that contains capacity and usage"},{"line_number":1276,"context_line":"        information for the SC."},{"line_number":1277,"context_line":"        :return The SC storageusage object."},{"line_number":1278,"context_line":"        \u0027\u0027\u0027"},{"line_number":1279,"context_line":"        storageusage \u003d None"},{"line_number":1280,"context_line":"        if self.ssn is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_8aa32b4f","line":1277,"in_reply_to":"5afe65bd_2fae6598","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":1290,"context_line":"        return storageusage"},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":"    def create_replay(self, scvolume, replayid, expire):"},{"line_number":1293,"context_line":"        \u0027\u0027\u0027create_replay takes a snapshot of a volume."},{"line_number":1294,"context_line":""},{"line_number":1295,"context_line":"        One could snap a volume before it has been activated, so activate"},{"line_number":1296,"context_line":"        by mapping and unmapping to a random server and let them.  This"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_cf747137","line":1293,"updated":"2015-06-04 10:21:29.000000000","message":"Name of method at the beginning of the docstring is unnecessary.","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":1290,"context_line":"        return storageusage"},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":"    def create_replay(self, scvolume, replayid, expire):"},{"line_number":1293,"context_line":"        \u0027\u0027\u0027create_replay takes a snapshot of a volume."},{"line_number":1294,"context_line":""},{"line_number":1295,"context_line":"        One could snap a volume before it has been activated, so activate"},{"line_number":1296,"context_line":"        by mapping and unmapping to a random server and let them.  This"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_2a9557dd","line":1293,"in_reply_to":"5afe65bd_cf747137","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":1299,"context_line":"        :param scvolume: Volume to snapshot."},{"line_number":1300,"context_line":"        :param replayid: Name to use for the snapshot.  This is a portion of"},{"line_number":1301,"context_line":"        the snapshot ID as we do not have space for the entire GUID in the"},{"line_number":1302,"context_line":"        replay description."},{"line_number":1303,"context_line":"        :param expire: Time in minutes before the replay expires.  For most"},{"line_number":1304,"context_line":"        snapshots this will be 0 (never expire) but if we are cloning a volume"},{"line_number":1305,"context_line":"        we will snap it right before creating the clone."}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_8f91d949","line":1302,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":1299,"context_line":"        :param scvolume: Volume to snapshot."},{"line_number":1300,"context_line":"        :param replayid: Name to use for the snapshot.  This is a portion of"},{"line_number":1301,"context_line":"        the snapshot ID as we do not have space for the entire GUID in the"},{"line_number":1302,"context_line":"        replay description."},{"line_number":1303,"context_line":"        :param expire: Time in minutes before the replay expires.  For most"},{"line_number":1304,"context_line":"        snapshots this will be 0 (never expire) but if we are cloning a volume"},{"line_number":1305,"context_line":"        we will snap it right before creating the clone."}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_aab70785","line":1302,"in_reply_to":"5afe65bd_8f91d949","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":1302,"context_line":"        replay description."},{"line_number":1303,"context_line":"        :param expire: Time in minutes before the replay expires.  For most"},{"line_number":1304,"context_line":"        snapshots this will be 0 (never expire) but if we are cloning a volume"},{"line_number":1305,"context_line":"        we will snap it right before creating the clone."},{"line_number":1306,"context_line":"        :returns: Dell replay object."},{"line_number":1307,"context_line":"        \u0027\u0027\u0027"},{"line_number":1308,"context_line":"        replay \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_4f97613a","line":1305,"updated":"2015-06-04 10:21:29.000000000","message":"Alignment\n\nIt doesn\u0027t explain why on cloning you will be using expire !\u003d 0.","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":1302,"context_line":"        replay description."},{"line_number":1303,"context_line":"        :param expire: Time in minutes before the replay expires.  For most"},{"line_number":1304,"context_line":"        snapshots this will be 0 (never expire) but if we are cloning a volume"},{"line_number":1305,"context_line":"        we will snap it right before creating the clone."},{"line_number":1306,"context_line":"        :returns: Dell replay object."},{"line_number":1307,"context_line":"        \u0027\u0027\u0027"},{"line_number":1308,"context_line":"        replay \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_2aac3733","line":1305,"in_reply_to":"5afe65bd_4f97613a","updated":"2015-06-08 17:23:27.000000000","message":"Now explained in create_cloned_volume.","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":1303,"context_line":"        :param expire: Time in minutes before the replay expires.  For most"},{"line_number":1304,"context_line":"        snapshots this will be 0 (never expire) but if we are cloning a volume"},{"line_number":1305,"context_line":"        we will snap it right before creating the clone."},{"line_number":1306,"context_line":"        :returns: Dell replay object."},{"line_number":1307,"context_line":"        \u0027\u0027\u0027"},{"line_number":1308,"context_line":"        replay \u003d None"},{"line_number":1309,"context_line":"        if scvolume is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_afbff5a8","line":1306,"updated":"2015-06-04 10:21:29.000000000","message":"or None","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":1303,"context_line":"        :param expire: Time in minutes before the replay expires.  For most"},{"line_number":1304,"context_line":"        snapshots this will be 0 (never expire) but if we are cloning a volume"},{"line_number":1305,"context_line":"        we will snap it right before creating the clone."},{"line_number":1306,"context_line":"        :returns: Dell replay object."},{"line_number":1307,"context_line":"        \u0027\u0027\u0027"},{"line_number":1308,"context_line":"        replay \u003d None"},{"line_number":1309,"context_line":"        if scvolume is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_2a5af74f","line":1306,"in_reply_to":"5afe65bd_afbff5a8","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":1338,"context_line":"        :param scvolume: Dell volume object."},{"line_number":1339,"context_line":"        :param replayid: Name to search for.  This is a portion of the"},{"line_number":1340,"context_line":"        snapshot ID as we do not have space for the entire GUID in the replay"},{"line_number":1341,"context_line":"        description."},{"line_number":1342,"context_line":"        :returns: Dell replay object or None."},{"line_number":1343,"context_line":"        \u0027\u0027\u0027"},{"line_number":1344,"context_line":"        r \u003d self.client.get(\u0027StorageCenter/ScVolume/%s/ReplayList\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_4fe521da","line":1341,"updated":"2015-06-04 10:21:29.000000000","message":"Alignments","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":1338,"context_line":"        :param scvolume: Dell volume object."},{"line_number":1339,"context_line":"        :param replayid: Name to search for.  This is a portion of the"},{"line_number":1340,"context_line":"        snapshot ID as we do not have space for the entire GUID in the replay"},{"line_number":1341,"context_line":"        description."},{"line_number":1342,"context_line":"        :returns: Dell replay object or None."},{"line_number":1343,"context_line":"        \u0027\u0027\u0027"},{"line_number":1344,"context_line":"        r \u003d self.client.get(\u0027StorageCenter/ScVolume/%s/ReplayList\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_8a168b53","line":1341,"in_reply_to":"5afe65bd_4fe521da","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a69e5bfb6c7bd8436c47531b4bd81d37420a22bf","unresolved":false,"context_lines":[{"line_number":1369,"context_line":"        return None"},{"line_number":1370,"context_line":""},{"line_number":1371,"context_line":"    def delete_replay(self, scvolume, replayid):"},{"line_number":1372,"context_line":"        \u0027\u0027\u0027delete_replay finds a Dell replay by replayid string and expires it."},{"line_number":1373,"context_line":""},{"line_number":1374,"context_line":"        Once marked for expiration we do not return the replay as a snapshot"},{"line_number":1375,"context_line":"        even though it might still exist.  (Backend requirements.)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_cff0f193","line":1372,"updated":"2015-06-04 10:21:29.000000000","message":"No need to include method name in docstring\u0027s first line","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"a3352c65e864a883f7e57895441862030d54c7ed","unresolved":false,"context_lines":[{"line_number":1369,"context_line":"        return None"},{"line_number":1370,"context_line":""},{"line_number":1371,"context_line":"    def delete_replay(self, scvolume, replayid):"},{"line_number":1372,"context_line":"        \u0027\u0027\u0027delete_replay finds a Dell replay by replayid string and expires it."},{"line_number":1373,"context_line":""},{"line_number":1374,"context_line":"        Once marked for expiration we do not return the replay as a snapshot"},{"line_number":1375,"context_line":"        even though it might still exist.  (Backend requirements.)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_4a09b330","line":1372,"in_reply_to":"5afe65bd_cff0f193","updated":"2015-06-08 17:23:27.000000000","message":"Done","commit_id":"b21ba132f48de77b66ebe1c9145eaf7d1c54035e"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"8927ab2e969471beb6fe1c54137a3eb0130037a0","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    def _get_result(self, blob, attribute, value):"},{"line_number":224,"context_line":"        \u0027\u0027\u0027Find the result specified by attribute and value."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        If the JSON blob is a list the list will be iterated looking for"},{"line_number":227,"context_line":"        the attribute and value combination or the first item if they are"},{"line_number":228,"context_line":"        not specified.  If the JSON blob is a dict then it will be returned"},{"line_number":229,"context_line":"        so long as either attribute is None or the dict matches the attribute"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_e9473c1b","line":226,"updated":"2015-06-09 01:33:10.000000000","message":"Please add punctuations in the comment.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"82d3e24c27b3c09faf5c6208ed075a5d2ee13f72","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    def _get_result(self, blob, attribute, value):"},{"line_number":224,"context_line":"        \u0027\u0027\u0027Find the result specified by attribute and value."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        If the JSON blob is a list the list will be iterated looking for"},{"line_number":227,"context_line":"        the attribute and value combination or the first item if they are"},{"line_number":228,"context_line":"        not specified.  If the JSON blob is a dict then it will be returned"},{"line_number":229,"context_line":"        so long as either attribute is None or the dict matches the attribute"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_a6aeed7e","line":226,"in_reply_to":"3afb71cf_e9473c1b","updated":"2015-06-09 16:43:16.000000000","message":"Rewritten.  Probably worse.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"8927ab2e969471beb6fe1c54137a3eb0130037a0","unresolved":false,"context_lines":[{"line_number":336,"context_line":"    # Folder functions"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    def _create_folder(self, url, parent, folder):"},{"line_number":339,"context_line":"        \u0027\u0027\u0027Creates folder named folder under the parent folder parent."},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        This is generic to server and volume folders on the Storage"},{"line_number":342,"context_line":"        Center backend."}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_8989e828","line":339,"updated":"2015-06-09 01:33:10.000000000","message":"For better readability, please add punctuations.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"82d3e24c27b3c09faf5c6208ed075a5d2ee13f72","unresolved":false,"context_lines":[{"line_number":336,"context_line":"    # Folder functions"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    def _create_folder(self, url, parent, folder):"},{"line_number":339,"context_line":"        \u0027\u0027\u0027Creates folder named folder under the parent folder parent."},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        This is generic to server and volume folders on the Storage"},{"line_number":342,"context_line":"        Center backend."}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_261f9db8","line":339,"in_reply_to":"3afb71cf_8989e828","updated":"2015-06-09 16:43:16.000000000","message":"Rewritten.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"8927ab2e969471beb6fe1c54137a3eb0130037a0","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        return scfolder"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def _create_folder_path(self, url, foldername):"},{"line_number":370,"context_line":"        \u0027\u0027\u0027Creates a folder path from the fully qualified name foldername."},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"        This is generic to server and volume folders."},{"line_number":373,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_29b434cf","line":370,"updated":"2015-06-09 01:33:10.000000000","message":"\"foldername\"","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"82d3e24c27b3c09faf5c6208ed075a5d2ee13f72","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        return scfolder"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def _create_folder_path(self, url, foldername):"},{"line_number":370,"context_line":"        \u0027\u0027\u0027Creates a folder path from the fully qualified name foldername."},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"        This is generic to server and volume folders."},{"line_number":373,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_c667a94b","line":370,"in_reply_to":"3afb71cf_29b434cf","updated":"2015-06-09 16:43:16.000000000","message":"Rewritten.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"8927ab2e969471beb6fe1c54137a3eb0130037a0","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        return scfolder"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"    def _find_folder(self, url, foldername):"},{"line_number":410,"context_line":"        \u0027\u0027\u0027Find a folder on the SC named foldername using the specified url."},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        Most of the time the folder will already have been created so"},{"line_number":413,"context_line":"        we look for the end folder and check that the rest of the path is"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_89de880f","line":410,"updated":"2015-06-09 01:33:10.000000000","message":"ditto.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"82d3e24c27b3c09faf5c6208ed075a5d2ee13f72","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        return scfolder"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"    def _find_folder(self, url, foldername):"},{"line_number":410,"context_line":"        \u0027\u0027\u0027Find a folder on the SC named foldername using the specified url."},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        Most of the time the folder will already have been created so"},{"line_number":413,"context_line":"        we look for the end folder and check that the rest of the path is"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_865d317b","line":410,"in_reply_to":"3afb71cf_89de880f","updated":"2015-06-09 16:43:16.000000000","message":"Rewritten.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"8927ab2e969471beb6fe1c54137a3eb0130037a0","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        return scvolume"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"    def _get_volume_list(self, name, filterbyvfname\u003dTrue):"},{"line_number":559,"context_line":"        \u0027\u0027\u0027Return the list of volumes with name of name."},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"        :param name: Volume name."},{"line_number":562,"context_line":"        :param filterbyvfname:  If true filters by the preset folder name."}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_0956185c","line":559,"updated":"2015-06-09 01:33:10.000000000","message":"Please add punctuations.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"82d3e24c27b3c09faf5c6208ed075a5d2ee13f72","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        return scvolume"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"    def _get_volume_list(self, name, filterbyvfname\u003dTrue):"},{"line_number":559,"context_line":"        \u0027\u0027\u0027Return the list of volumes with name of name."},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"        :param name: Volume name."},{"line_number":562,"context_line":"        :param filterbyvfname:  If true filters by the preset folder name."}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_3c956c3e","line":559,"in_reply_to":"3afb71cf_0956185c","updated":"2015-06-09 16:43:16.000000000","message":"Rewritten.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ec332603ddd5a0ae891f42010e24985542d6a415","unresolved":false,"context_lines":[{"line_number":712,"context_line":"        Required to create a Dell server object."},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"        We do not know that we are red hat linux 6.x but that works"},{"line_number":715,"context_line":"        best for red hat and ubuntu.  So, there."},{"line_number":716,"context_line":""},{"line_number":717,"context_line":"        :param osname: The name of the OS to look for."},{"line_number":718,"context_line":"        :returns: InstanceId of the ScServerOperatingSystem object."}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_d40bec28","line":715,"updated":"2015-06-09 07:27:25.000000000","message":"s/red hat/Red Hat\n\ns/ubuntu/Ubuntu\n\nMaybe change \"So, there\" with something more meaningful, like \"So we use it as default\" or something.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"82d3e24c27b3c09faf5c6208ed075a5d2ee13f72","unresolved":false,"context_lines":[{"line_number":712,"context_line":"        Required to create a Dell server object."},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"        We do not know that we are red hat linux 6.x but that works"},{"line_number":715,"context_line":"        best for red hat and ubuntu.  So, there."},{"line_number":716,"context_line":""},{"line_number":717,"context_line":"        :param osname: The name of the OS to look for."},{"line_number":718,"context_line":"        :returns: InstanceId of the ScServerOperatingSystem object."}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_660fd537","line":715,"in_reply_to":"3afb71cf_d40bec28","updated":"2015-06-09 16:43:16.000000000","message":"Done","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ec332603ddd5a0ae891f42010e24985542d6a415","unresolved":false,"context_lines":[{"line_number":1098,"context_line":"        :param scvolume: The dell sc volume object."},{"line_number":1099,"context_line":"        :param ip: The preferred target portal ip."},{"line_number":1100,"context_line":"        :param port: The preferred target portal port."},{"line_number":1101,"context_line":"        :returns: ISCSI property dictionary."},{"line_number":1102,"context_line":"        :raises: VolumeBackendAPIException"},{"line_number":1103,"context_line":"        \u0027\u0027\u0027"},{"line_number":1104,"context_line":"        LOG.debug(\u0027enter find_iscsi_properties\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_9718d676","line":1101,"updated":"2015-06-09 07:27:25.000000000","message":"s/ISCSI/iSCSI","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"82d3e24c27b3c09faf5c6208ed075a5d2ee13f72","unresolved":false,"context_lines":[{"line_number":1098,"context_line":"        :param scvolume: The dell sc volume object."},{"line_number":1099,"context_line":"        :param ip: The preferred target portal ip."},{"line_number":1100,"context_line":"        :param port: The preferred target portal port."},{"line_number":1101,"context_line":"        :returns: ISCSI property dictionary."},{"line_number":1102,"context_line":"        :raises: VolumeBackendAPIException"},{"line_number":1103,"context_line":"        \u0027\u0027\u0027"},{"line_number":1104,"context_line":"        LOG.debug(\u0027enter find_iscsi_properties\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_015ecb11","line":1101,"in_reply_to":"3afb71cf_9718d676","updated":"2015-06-09 16:43:16.000000000","message":"Done","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"8927ab2e969471beb6fe1c54137a3eb0130037a0","unresolved":false,"context_lines":[{"line_number":1390,"context_line":"                                 % self._get_id(replay),"},{"line_number":1391,"context_line":"                                 {})"},{"line_number":1392,"context_line":"            if r.status_code !\u003d 204:"},{"line_number":1393,"context_line":"                LOG.debug(\u0027ScReplay Expire error: %(code)d %(reason)s\u0027,"},{"line_number":1394,"context_line":"                          {\u0027code\u0027: r.status_code,"},{"line_number":1395,"context_line":"                           \u0027reason\u0027: r.reason})"},{"line_number":1396,"context_line":"                return False"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_6967cc25","line":1393,"updated":"2015-06-09 01:33:10.000000000","message":"LOG.error","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ec332603ddd5a0ae891f42010e24985542d6a415","unresolved":false,"context_lines":[{"line_number":1390,"context_line":"                                 % self._get_id(replay),"},{"line_number":1391,"context_line":"                                 {})"},{"line_number":1392,"context_line":"            if r.status_code !\u003d 204:"},{"line_number":1393,"context_line":"                LOG.debug(\u0027ScReplay Expire error: %(code)d %(reason)s\u0027,"},{"line_number":1394,"context_line":"                          {\u0027code\u0027: r.status_code,"},{"line_number":1395,"context_line":"                           \u0027reason\u0027: r.reason})"},{"line_number":1396,"context_line":"                return False"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_77767aa5","line":1393,"in_reply_to":"3afb71cf_6967cc25","updated":"2015-06-09 07:27:25.000000000","message":"I believe this is out of the scope of this patch, although I wouldn\u0027t oppose if he decides to change it.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"82d3e24c27b3c09faf5c6208ed075a5d2ee13f72","unresolved":false,"context_lines":[{"line_number":1390,"context_line":"                                 % self._get_id(replay),"},{"line_number":1391,"context_line":"                                 {})"},{"line_number":1392,"context_line":"            if r.status_code !\u003d 204:"},{"line_number":1393,"context_line":"                LOG.debug(\u0027ScReplay Expire error: %(code)d %(reason)s\u0027,"},{"line_number":1394,"context_line":"                          {\u0027code\u0027: r.status_code,"},{"line_number":1395,"context_line":"                           \u0027reason\u0027: r.reason})"},{"line_number":1396,"context_line":"                return False"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_41c4c38f","line":1393,"in_reply_to":"3afb71cf_77767aa5","updated":"2015-06-09 16:43:16.000000000","message":"If I don\u0027t change it now I\u0027ll never remember.  So I\u0027ll change it and add a line to the commit message.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"8927ab2e969471beb6fe1c54137a3eb0130037a0","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"        if r.status_code \u003d\u003d 200:"},{"line_number":1420,"context_line":"            volume \u003d self._first_result(r)"},{"line_number":1421,"context_line":"        else:"},{"line_number":1422,"context_line":"            LOG.debug(\u0027ScReplay CreateView error: %(code)d %(reason)s\u0027,"},{"line_number":1423,"context_line":"                      {\u0027code\u0027: r.status_code,"},{"line_number":1424,"context_line":"                       \u0027reason\u0027: r.reason})"},{"line_number":1425,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_2971d4e0","line":1422,"updated":"2015-06-09 01:33:10.000000000","message":"LOG.error","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ec332603ddd5a0ae891f42010e24985542d6a415","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"        if r.status_code \u003d\u003d 200:"},{"line_number":1420,"context_line":"            volume \u003d self._first_result(r)"},{"line_number":1421,"context_line":"        else:"},{"line_number":1422,"context_line":"            LOG.debug(\u0027ScReplay CreateView error: %(code)d %(reason)s\u0027,"},{"line_number":1423,"context_line":"                      {\u0027code\u0027: r.status_code,"},{"line_number":1424,"context_line":"                       \u0027reason\u0027: r.reason})"},{"line_number":1425,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_376c82cf","line":1422,"in_reply_to":"3afb71cf_2971d4e0","updated":"2015-06-09 07:27:25.000000000","message":"Same here.","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"},{"author":{"_account_id":12112,"name":"Tom Swanson","email":"tom_swanson@dell.com","username":"tomswanson"},"change_message_id":"82d3e24c27b3c09faf5c6208ed075a5d2ee13f72","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"        if r.status_code \u003d\u003d 200:"},{"line_number":1420,"context_line":"            volume \u003d self._first_result(r)"},{"line_number":1421,"context_line":"        else:"},{"line_number":1422,"context_line":"            LOG.debug(\u0027ScReplay CreateView error: %(code)d %(reason)s\u0027,"},{"line_number":1423,"context_line":"                      {\u0027code\u0027: r.status_code,"},{"line_number":1424,"context_line":"                       \u0027reason\u0027: r.reason})"},{"line_number":1425,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3afb71cf_21c78765","line":1422,"in_reply_to":"3afb71cf_376c82cf","updated":"2015-06-09 16:43:16.000000000","message":"ditto","commit_id":"7dfbeb0172c6a754487d88d63b19d28d42e71b90"}]}
