)]}'
{"cinder/tests/test_hp3par_iscsi.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"dc7c5fb5ddae393d0f02de8aa37948d6adb05404","unresolved":false,"context_lines":[{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    TARGET_IQN \u003d \"iqn.2000-05.com.3pardata:21810002ac00383d\""},{"line_number":255,"context_line":"    VOLUME_NAME \u003d \"d03338a9-9115-48a3-8dfc-35cdfcdc15a7\""},{"line_number":256,"context_line":"    SNAPSHOT_NAME \u003d \"2f823bdc-e36e-4dc8-bd15-de1c7a28ff31\""},{"line_number":257,"context_line":"    VOLUME_3PAR_NAME \u003d \"osv-0DM4qZEVSKON-DXN-NwVpw\""},{"line_number":258,"context_line":"    SNAPSHOT_VOL_NAME \u003d \"oss-L4I73ONuTci9Fd4ceij-MQ\""},{"line_number":259,"context_line":"    FAKE_HOST \u003d \"fakehost\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FOu8%3D","line":256,"updated":"2013-02-01 03:21:09.000000000","message":"Probably should change the name of these to VOLUME_ID \nand SNAPSHOT_ID","commit_id":"4fab92a8bb4125c372d86f57c8f018714535df7d"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"bec4d681d0dcd76d509ddb911e4abfdc8d77b048","unresolved":false,"context_lines":[{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    TARGET_IQN \u003d \"iqn.2000-05.com.3pardata:21810002ac00383d\""},{"line_number":255,"context_line":"    VOLUME_NAME \u003d \"d03338a9-9115-48a3-8dfc-35cdfcdc15a7\""},{"line_number":256,"context_line":"    SNAPSHOT_NAME \u003d \"2f823bdc-e36e-4dc8-bd15-de1c7a28ff31\""},{"line_number":257,"context_line":"    VOLUME_3PAR_NAME \u003d \"osv-0DM4qZEVSKON-DXN-NwVpw\""},{"line_number":258,"context_line":"    SNAPSHOT_VOL_NAME \u003d \"oss-L4I73ONuTci9Fd4ceij-MQ\""},{"line_number":259,"context_line":"    FAKE_HOST \u003d \"fakehost\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FN%2BQ%3D","line":256,"in_reply_to":"AAAAM3%2F%2FOu8%3D","updated":"2013-02-01 18:49:27.000000000","message":"Done","commit_id":"4fab92a8bb4125c372d86f57c8f018714535df7d"}],"cinder/volume/drivers/san/hp/hp_3par_common.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"080701b97e9d2b2032e8477e5108fd2ef354d793","unresolved":false,"context_lines":[{"line_number":370,"context_line":"                cpg \u003d client.getCPG(FLAGS.hp3par_cpg)"},{"line_number":371,"context_line":"                if \u0027limitMiB\u0027 not in cpg[\u0027SDGrowth\u0027]:"},{"line_number":372,"context_line":"                    total_capacity \u003d 1024000"},{"line_number":373,"context_line":"                    free_capacity \u003d 1024000"},{"line_number":374,"context_line":"                else:"},{"line_number":375,"context_line":"                    total_capacity \u003d int(cpg[\u0027SDGrowth\u0027][\u0027limitMiB\u0027] * const)"},{"line_number":376,"context_line":"                    free_capacity \u003d int((cpg[\u0027SDGrowth\u0027][\u0027limitMiB\u0027] -"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FlvQ%3D","line":373,"updated":"2013-01-14 21:32:12.000000000","message":"Probably need a \u0027standard\u0027 way to say we don\u0027t have limits, or support them.   Maybe we should return None?","commit_id":"fbbb8447e265a6221d4f89c3060403e91118600e"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d7f9188557ed612f3d827d41994b7ce87d36785e","unresolved":false,"context_lines":[{"line_number":370,"context_line":"                cpg \u003d client.getCPG(FLAGS.hp3par_cpg)"},{"line_number":371,"context_line":"                if \u0027limitMiB\u0027 not in cpg[\u0027SDGrowth\u0027]:"},{"line_number":372,"context_line":"                    total_capacity \u003d 1024000"},{"line_number":373,"context_line":"                    free_capacity \u003d 1024000"},{"line_number":374,"context_line":"                else:"},{"line_number":375,"context_line":"                    total_capacity \u003d int(cpg[\u0027SDGrowth\u0027][\u0027limitMiB\u0027] * const)"},{"line_number":376,"context_line":"                    free_capacity \u003d int((cpg[\u0027SDGrowth\u0027][\u0027limitMiB\u0027] -"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fkcw%3D","line":373,"in_reply_to":"AAAAM3%2F%2Fls8%3D","updated":"2013-01-15 18:26:09.000000000","message":"I have the same question here regarding the capacity when \u0027limitMiB\u0027 is not available..  Looking forward to the \"standard way\".","commit_id":"fbbb8447e265a6221d4f89c3060403e91118600e"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"e3c76b5333b7c7c5f79a64b224a0c149a0947d5b","unresolved":false,"context_lines":[{"line_number":370,"context_line":"                cpg \u003d client.getCPG(FLAGS.hp3par_cpg)"},{"line_number":371,"context_line":"                if \u0027limitMiB\u0027 not in cpg[\u0027SDGrowth\u0027]:"},{"line_number":372,"context_line":"                    total_capacity \u003d 1024000"},{"line_number":373,"context_line":"                    free_capacity \u003d 1024000"},{"line_number":374,"context_line":"                else:"},{"line_number":375,"context_line":"                    total_capacity \u003d int(cpg[\u0027SDGrowth\u0027][\u0027limitMiB\u0027] * const)"},{"line_number":376,"context_line":"                    free_capacity \u003d int((cpg[\u0027SDGrowth\u0027][\u0027limitMiB\u0027] -"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fls8%3D","line":373,"in_reply_to":"AAAAM3%2F%2FlvQ%3D","updated":"2013-01-14 21:42:43.000000000","message":"This is topic is currently being talked about in the Cinder project, so once a standard way(i.e. specifying None or NA, etc...) is implemented in the scheduler for the values that the driver can\u0027t get, we\u0027ll implement that in the drivers.","commit_id":"fbbb8447e265a6221d4f89c3060403e91118600e"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"43ff93801801af2003b2a8f0a87f2dc6cebb5a98","unresolved":false,"context_lines":[{"line_number":377,"context_line":"                                        cpg[\u0027UsrUsage\u0027][\u0027usedMiB\u0027]) * const)"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"                self.stats[\u0027total_capacity_gb\u0027] \u003d total_capacity"},{"line_number":380,"context_line":"                self.stats[\u0027free_capacity_gb\u0027] \u003d free_capacity"},{"line_number":381,"context_line":"            except hpexceptions.HTTPNotFound as ex:"},{"line_number":382,"context_line":"                err \u003d _(\"CPG (%s) doesn\u0027t exist on array\") % FLAGS.hp3par_cpg"},{"line_number":383,"context_line":"                LOG.error(err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fi%2BM%3D","line":380,"updated":"2013-01-16 17:12:14.000000000","message":"ex is never used","commit_id":"fbbb8447e265a6221d4f89c3060403e91118600e"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"3a8ae51879ed2f4bf0e15bd2bf9fd19236f48eb0","unresolved":false,"context_lines":[{"line_number":377,"context_line":"                                        cpg[\u0027UsrUsage\u0027][\u0027usedMiB\u0027]) * const)"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"                self.stats[\u0027total_capacity_gb\u0027] \u003d total_capacity"},{"line_number":380,"context_line":"                self.stats[\u0027free_capacity_gb\u0027] \u003d free_capacity"},{"line_number":381,"context_line":"            except hpexceptions.HTTPNotFound as ex:"},{"line_number":382,"context_line":"                err \u003d _(\"CPG (%s) doesn\u0027t exist on array\") % FLAGS.hp3par_cpg"},{"line_number":383,"context_line":"                LOG.error(err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fibs%3D","line":380,"in_reply_to":"AAAAM3%2F%2Fi%2BM%3D","updated":"2013-01-16 20:21:01.000000000","message":"Done","commit_id":"fbbb8447e265a6221d4f89c3060403e91118600e"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"67ea1c8289851cbffa74011ef3b4178b1f2a2db3","unresolved":false,"context_lines":[{"line_number":368,"context_line":"        if refresh:"},{"line_number":369,"context_line":"            try:"},{"line_number":370,"context_line":"                cpg \u003d client.getCPG(FLAGS.hp3par_cpg)"},{"line_number":371,"context_line":"                if \u0027limitMiB\u0027 not in cpg[\u0027SDGrowth\u0027]:"},{"line_number":372,"context_line":"                    total_capacity \u003d 1024000"},{"line_number":373,"context_line":"                    free_capacity \u003d 1024000"},{"line_number":374,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FhYg%3D","line":371,"updated":"2013-01-17 14:36:25.000000000","message":"There was a fair bit of discussion on the meeting and afterwards on the cinder channel, and the decision I think was that \u0027None\u0027 (for unknown capacity) or \u0027infinite\u0027 should be used, not an arbitrary high number","commit_id":"fa2ecd47b9428cb9cfe02830c7752ad89720f941"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"ef3c235f1da5b15d88ee0053a87db18590824288","unresolved":false,"context_lines":[{"line_number":368,"context_line":"        if refresh:"},{"line_number":369,"context_line":"            try:"},{"line_number":370,"context_line":"                cpg \u003d client.getCPG(FLAGS.hp3par_cpg)"},{"line_number":371,"context_line":"                if \u0027limitMiB\u0027 not in cpg[\u0027SDGrowth\u0027]:"},{"line_number":372,"context_line":"                    total_capacity \u003d 1024000"},{"line_number":373,"context_line":"                    free_capacity \u003d 1024000"},{"line_number":374,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2Fgv4%3D","line":371,"in_reply_to":"AAAAM3%2F%2FhYg%3D","updated":"2013-01-17 20:55:44.000000000","message":"Thanks Duncan, I\u0027ll watch for winston-d\u0027s submittal and use the the values we came up with in the meeting. 0 for out-of-space, \u0027infinite\u0027 for unlimited, \u0027unknown\u0027 for unknown","commit_id":"fa2ecd47b9428cb9cfe02830c7752ad89720f941"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"6197cb65d3834d229d2fecc29b2fc100ea54dd57","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        return host"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"    def get_ports(self):"},{"line_number":363,"context_line":"        #First get the active FC ports"},{"line_number":364,"context_line":"        out \u003d self._cli_run(\u0027showport\u0027, None)"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"        #strip out header"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FPA8%3D","line":363,"updated":"2013-01-31 23:05:07.000000000","message":"Add a space after # for all the comments.","commit_id":"d55f8110ea0ae0c93c93895a6e4a2fb645f135da"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"dc7c5fb5ddae393d0f02de8aa37948d6adb05404","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                raise exception.InvalidInput(reason\u003d_(\u0027%s is not set\u0027) % flag)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _get_3par_vol_name(self, name):"},{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        Converts the openstack volume id from"},{"line_number":115,"context_line":"        ecffc30f-98cb-4cf5-85ee-d7309cc17cd2"},{"line_number":116,"context_line":"        to"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FOug%3D","line":113,"updated":"2013-02-01 03:21:09.000000000","message":"change the name parameter to volume_id","commit_id":"4fab92a8bb4125c372d86f57c8f018714535df7d"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"bec4d681d0dcd76d509ddb911e4abfdc8d77b048","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                raise exception.InvalidInput(reason\u003d_(\u0027%s is not set\u0027) % flag)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _get_3par_vol_name(self, name):"},{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        Converts the openstack volume id from"},{"line_number":115,"context_line":"        ecffc30f-98cb-4cf5-85ee-d7309cc17cd2"},{"line_number":116,"context_line":"        to"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FN%2BM%3D","line":113,"in_reply_to":"AAAAM3%2F%2FOug%3D","updated":"2013-02-01 18:49:27.000000000","message":"Done","commit_id":"4fab92a8bb4125c372d86f57c8f018714535df7d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"dc7c5fb5ddae393d0f02de8aa37948d6adb05404","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        volume_name \u003d self._encode_name(name)"},{"line_number":127,"context_line":"        return \"osv-%s\" % volume_name"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def _get_3par_snap_name(self, name):"},{"line_number":130,"context_line":"        snapshot_name \u003d self._encode_name(name)"},{"line_number":131,"context_line":"        return \"oss-%s\" % snapshot_name"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FOuY%3D","line":129,"updated":"2013-02-01 03:21:09.000000000","message":"Also, this is a snapshot_id here now, not a name.","commit_id":"4fab92a8bb4125c372d86f57c8f018714535df7d"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"bec4d681d0dcd76d509ddb911e4abfdc8d77b048","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        volume_name \u003d self._encode_name(name)"},{"line_number":127,"context_line":"        return \"osv-%s\" % volume_name"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def _get_3par_snap_name(self, name):"},{"line_number":130,"context_line":"        snapshot_name \u003d self._encode_name(name)"},{"line_number":131,"context_line":"        return \"oss-%s\" % snapshot_name"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FN%2BI%3D","line":129,"in_reply_to":"AAAAM3%2F%2FOuY%3D","updated":"2013-02-01 18:49:27.000000000","message":"Done","commit_id":"4fab92a8bb4125c372d86f57c8f018714535df7d"}],"cinder/volume/drivers/san/hp/hp_3par_iscsi.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"710f0bfeb051f957ebf67846aa1c6b0fe0f1a6d2","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def get_volume_stats(self, refresh):"},{"line_number":63,"context_line":"        stats \u003d self.common.get_volume_stats(refresh, self.client)"},{"line_number":64,"context_line":"        stats[\u0027storage_protocol\u0027] \u003d \u0027iSCSI\u0027"},{"line_number":65,"context_line":"        stats[\u0027volume_backend_name\u0027] \u003d \u0027HP3PARISCSIDriver\u0027"},{"line_number":66,"context_line":"        return stats"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FlwM%3D","line":64,"updated":"2013-01-14 21:29:23.000000000","message":"We need to look at a better way of implementing this that utilizes the inheritance from the parent ISCSI class, but it shouldn\u0027t impact your fix.  I just want to make sure you\u0027re aware of it.","commit_id":"fbbb8447e265a6221d4f89c3060403e91118600e"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"e3c76b5333b7c7c5f79a64b224a0c149a0947d5b","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def get_volume_stats(self, refresh):"},{"line_number":63,"context_line":"        stats \u003d self.common.get_volume_stats(refresh, self.client)"},{"line_number":64,"context_line":"        stats[\u0027storage_protocol\u0027] \u003d \u0027iSCSI\u0027"},{"line_number":65,"context_line":"        stats[\u0027volume_backend_name\u0027] \u003d \u0027HP3PARISCSIDriver\u0027"},{"line_number":66,"context_line":"        return stats"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FluI%3D","line":64,"in_reply_to":"AAAAM3%2F%2FlwM%3D","updated":"2013-01-14 21:42:43.000000000","message":"Thanks John, this will affect both the 3PAR iSCSI driver and FC driver, so we will keep an eye out for a common way to get this information in the future.","commit_id":"fbbb8447e265a6221d4f89c3060403e91118600e"}]}
