)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"7f7e9650bb3556424e24817f21709435784f0964","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"New HP LeftHand array iSCSI driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This drive is intended to replace the current OpenStack Block"},{"line_number":10,"context_line":"Storage HP LeftHand (LH) StoreVirtual iSCSI Driver,"},{"line_number":11,"context_line":"(cinder.volume.drivers.san.HpSanISCSIDriver), by moving the"},{"line_number":12,"context_line":"existing SSH interface into the new driver to maintain backwards"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BNtk%3D","line":9,"updated":"2014-01-29 00:41:19.000000000","message":"driver","commit_id":"60a03eaa23214143a0d0cd7e17b01cf15c45ad22"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"a1a7b8ec57e1051470ff45c6c2a22516be0bb3d6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"New HP LeftHand array iSCSI driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This drive is intended to replace the current OpenStack Block"},{"line_number":10,"context_line":"Storage HP LeftHand (LH) StoreVirtual iSCSI Driver,"},{"line_number":11,"context_line":"(cinder.volume.drivers.san.HpSanISCSIDriver), by moving the"},{"line_number":12,"context_line":"existing SSH interface into the new driver to maintain backwards"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BJnI%3D","line":9,"in_reply_to":"AAAAUH%2F%2BNtk%3D","updated":"2014-01-29 17:39:40.000000000","message":"Done","commit_id":"60a03eaa23214143a0d0cd7e17b01cf15c45ad22"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"7f7e9650bb3556424e24817f21709435784f0964","unresolved":false,"context_lines":[{"line_number":16,"context_line":"We have the driver broken into 3 files:"},{"line_number":17,"context_line":"hp_lefthand_iscis.py (common interface)"},{"line_number":18,"context_line":"hp_lefthand_iscis_cliq_proxy.py (old SSH interface)"},{"line_number":19,"context_line":"hp_lefthand_iscis_rest_proxy.py (new REST interface)"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The reason we are doing this is because the SSH interface on LH"},{"line_number":22,"context_line":"array has connections and performance limitations. These problems"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BNto%3D","line":19,"updated":"2014-01-29 00:41:19.000000000","message":"These file names described here don\u0027t match what is in the patch.","commit_id":"60a03eaa23214143a0d0cd7e17b01cf15c45ad22"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"a1a7b8ec57e1051470ff45c6c2a22516be0bb3d6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"We have the driver broken into 3 files:"},{"line_number":17,"context_line":"hp_lefthand_iscis.py (common interface)"},{"line_number":18,"context_line":"hp_lefthand_iscis_cliq_proxy.py (old SSH interface)"},{"line_number":19,"context_line":"hp_lefthand_iscis_rest_proxy.py (new REST interface)"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"The reason we are doing this is because the SSH interface on LH"},{"line_number":22,"context_line":"array has connections and performance limitations. These problems"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BJlY%3D","line":19,"in_reply_to":"AAAAUH%2F%2BNto%3D","updated":"2014-01-29 17:39:40.000000000","message":"Done","commit_id":"60a03eaa23214143a0d0cd7e17b01cf15c45ad22"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"7f7e9650bb3556424e24817f21709435784f0964","unresolved":false,"context_lines":[{"line_number":27,"context_line":"To support new driver capabilities (create cloned volume), the"},{"line_number":28,"context_line":"python REST client (hplefthandclient) is required and can be"},{"line_number":29,"context_line":"downloaded from the pypi repository:"},{"line_number":30,"context_line":"  http://pypi.python.org/pypi/hplefthandclient."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The SSH interface will be phased out over time."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BNtg%3D","line":30,"updated":"2014-01-29 00:41:19.000000000","message":"Should also mention that the REST client requires what version of the LH firmware.","commit_id":"60a03eaa23214143a0d0cd7e17b01cf15c45ad22"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"a1a7b8ec57e1051470ff45c6c2a22516be0bb3d6","unresolved":false,"context_lines":[{"line_number":27,"context_line":"To support new driver capabilities (create cloned volume), the"},{"line_number":28,"context_line":"python REST client (hplefthandclient) is required and can be"},{"line_number":29,"context_line":"downloaded from the pypi repository:"},{"line_number":30,"context_line":"  http://pypi.python.org/pypi/hplefthandclient."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The SSH interface will be phased out over time."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BJiw%3D","line":30,"in_reply_to":"AAAAUH%2F%2BNtg%3D","updated":"2014-01-29 17:39:40.000000000","message":"Done","commit_id":"60a03eaa23214143a0d0cd7e17b01cf15c45ad22"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":28,"context_line":"python REST client (hplefthandclient) is required and can be"},{"line_number":29,"context_line":"downloaded from the pypi repository:"},{"line_number":30,"context_line":"  http://pypi.python.org/pypi/hplefthandclient."},{"line_number":31,"context_line":"This REST client requires Lefthand firmware version 11.5 or"},{"line_number":32,"context_line":"greater."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The SSH interface will be phased out over time."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"AAAAUH%2F9nSY%3D","line":31,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand....","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":28,"context_line":"python REST client (hplefthandclient) is required and can be"},{"line_number":29,"context_line":"downloaded from the pypi repository:"},{"line_number":30,"context_line":"  http://pypi.python.org/pypi/hplefthandclient."},{"line_number":31,"context_line":"This REST client requires Lefthand firmware version 11.5 or"},{"line_number":32,"context_line":"greater."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The SSH interface will be phased out over time."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"AAAAUH%2F9mbM%3D","line":31,"in_reply_to":"AAAAUH%2F9nSY%3D","updated":"2014-02-05 18:43:08.000000000","message":"Done","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"}],"cinder/tests/test_drivers_compatibility.py":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":36,"context_line":"ZADARA_MODULE \u003d \"cinder.volume.drivers.zadara.ZadaraVPSAISCSIDriver\""},{"line_number":37,"context_line":"NETAPP_MODULE \u003d \"cinder.volume.drivers.netapp.common.Deprecated\""},{"line_number":38,"context_line":"LEFTHAND_REST_MODULE \u003d (\"cinder.volume.drivers.san.hp.hp_lefthand_iscsi.\""},{"line_number":39,"context_line":"                        \"HPLEFTHANDISCSIDriver\")"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class VolumeDriverCompatibility(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nTA%3D","line":39,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand....","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":36,"context_line":"ZADARA_MODULE \u003d \"cinder.volume.drivers.zadara.ZadaraVPSAISCSIDriver\""},{"line_number":37,"context_line":"NETAPP_MODULE \u003d \"cinder.volume.drivers.netapp.common.Deprecated\""},{"line_number":38,"context_line":"LEFTHAND_REST_MODULE \u003d (\"cinder.volume.drivers.san.hp.hp_lefthand_iscsi.\""},{"line_number":39,"context_line":"                        \"HPLEFTHANDISCSIDriver\")"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class VolumeDriverCompatibility(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9mrE%3D","line":39,"in_reply_to":"AAAAUH%2F9nTA%3D","updated":"2014-02-05 18:43:08.000000000","message":"Done","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"}],"cinder/tests/test_hplefthand.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d30e4d26dcbad0cf81fce5e9bb3cf0b250f61031","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#    All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FOuc%3D","line":1,"updated":"2014-01-16 06:03:19.000000000","message":"Please remove vim modelines, see https://bugs.launchpad.net/cinder/+bug/1229324 .","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"825e4607a019cfecafebc46e6ad38f8a2dea83ff","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#    All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FLiE%3D","line":1,"in_reply_to":"AAAAUH%2F%2FOuc%3D","updated":"2014-01-16 17:47:02.000000000","message":"Done","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"a5876a1354d62f0d0921b09b778e11cd85aac1fa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#    All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Copyright 2012 OpenStack Foundation"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2B6j8%3D","line":4,"updated":"2014-01-20 19:49:03.000000000","message":"Remove this line","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b8daef6ad0e00d592ce3713fe0e6a15f74fb9878","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#    All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Copyright 2012 OpenStack Foundation"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2BueE%3D","line":4,"in_reply_to":"AAAAUH%2F%2B6j8%3D","updated":"2014-01-22 19:17:25.000000000","message":"Done.","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"e0f0a0eb696a3682786db934131c005deb9201cf","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":"#"},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":"Unit tests for OpenStack Cinder volume drivers"},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":"import mock"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2B2lI%3D","line":19,"updated":"2014-01-21 12:32:21.000000000","message":"End with a dot. Also, the docstring can be fitted into a single line","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b8daef6ad0e00d592ce3713fe0e6a15f74fb9878","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":"#"},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":"Unit tests for OpenStack Cinder volume drivers"},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":"import mock"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2Bud4%3D","line":19,"in_reply_to":"AAAAUH%2F%2B2lI%3D","updated":"2014-01-22 19:17:25.000000000","message":"Done.","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"e0f0a0eb696a3682786db934131c005deb9201cf","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from cinder import exception"},{"line_number":26,"context_line":"from cinder.openstack.common import log as logging"},{"line_number":27,"context_line":"from cinder import test"},{"line_number":28,"context_line":"from cinder.volume.drivers.san.hp.hp_lefthand_iscsi import ("},{"line_number":29,"context_line":"    HPLEFTHANDISCSIDriver)"},{"line_number":30,"context_line":"from cinder.volume.drivers.san.hp import hp_lefthand_rest_proxy"},{"line_number":31,"context_line":"from cinder.volume import volume_types"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2B2j4%3D","line":28,"updated":"2014-01-21 12:32:21.000000000","message":"I think following convention, it would be \u0027from cinder.volume.drivers.san.hp import hp_lefthand_iscsi\u0027 and then use as hp_lefthand_iscsi.HPLEFTHANDISCSIDriver where you want to. Not completely sure about it though","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b8daef6ad0e00d592ce3713fe0e6a15f74fb9878","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from cinder import exception"},{"line_number":26,"context_line":"from cinder.openstack.common import log as logging"},{"line_number":27,"context_line":"from cinder import test"},{"line_number":28,"context_line":"from cinder.volume.drivers.san.hp.hp_lefthand_iscsi import ("},{"line_number":29,"context_line":"    HPLEFTHANDISCSIDriver)"},{"line_number":30,"context_line":"from cinder.volume.drivers.san.hp import hp_lefthand_rest_proxy"},{"line_number":31,"context_line":"from cinder.volume import volume_types"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2Buds%3D","line":28,"in_reply_to":"AAAAUH%2F%2B2j4%3D","updated":"2014-01-22 19:17:25.000000000","message":"Done.","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class HPLefthandBaseDriver():"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    cluster_id \u003d 1"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nZI%3D","line":32,"updated":"2014-02-05 16:55:35.000000000","message":"HPLeftHandBaseDriver","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class HPLefthandBaseDriver():"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    cluster_id \u003d 1"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9mmU%3D","line":32,"in_reply_to":"AAAAUH%2F9nZI%3D","updated":"2014-02-05 18:43:08.000000000","message":"Fixed all comments. Thanks","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        mock.call.getCluster(1)]"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"class TestHPLefthandCLIQISCSIDriver(HPLefthandBaseDriver, test.TestCase):"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def _fake_cliq_run(self, verb, cliq_args, check_exit_code\u003dTrue):"},{"line_number":81,"context_line":"        \"\"\"Return fake results for the various methods.\"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nY4%3D","line":78,"updated":"2014-02-05 16:55:35.000000000","message":"Same LeftHand","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        return verbs[verb](cliq_args)"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"    def setUp(self):"},{"line_number":333,"context_line":"        super(TestHPLefthandCLIQISCSIDriver, self).setUp()"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"        self.properties \u003d {"},{"line_number":336,"context_line":"            \u0027target_discoverd\u0027: True,"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nYc%3D","line":333,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":340,"context_line":"            \u0027volume_id\u0027: self.volume_id}"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    def tearDown(self):"},{"line_number":343,"context_line":"        super(TestHPLefthandCLIQISCSIDriver, self).tearDown()"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    def default_mock_conf(self):"},{"line_number":346,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nYQ%3D","line":343,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        if config is None:"},{"line_number":359,"context_line":"            config \u003d self.default_mock_conf()"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        self.driver \u003d hp_lefthand_iscsi.HPLEFTHANDISCSIDriver("},{"line_number":362,"context_line":"            configuration\u003dconfig)"},{"line_number":363,"context_line":"        self.driver.do_setup(None)"},{"line_number":364,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nX4%3D","line":361,"updated":"2014-02-05 16:55:35.000000000","message":"HPLeftHandISCSIDriver","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":575,"context_line":"        mock_cliq_run.assert_has_calls(expected)"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"class TestHPLefthandRESTISCSIDriver(HPLefthandBaseDriver, test.TestCase):"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"    driver_startup_call_stack \u003d ["},{"line_number":581,"context_line":"        mock.call.login(\u0027foo1\u0027, \u0027bar2\u0027),"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nXo%3D","line":578,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand...","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":583,"context_line":"        mock.call.getCluster(1)]"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"    def setUp(self):"},{"line_number":586,"context_line":"        super(TestHPLefthandRESTISCSIDriver, self).setUp()"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def tearDown(self):"},{"line_number":589,"context_line":"        super(TestHPLefthandRESTISCSIDriver, self).tearDown()"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nXg%3D","line":586,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        super(TestHPLefthandRESTISCSIDriver, self).setUp()"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def tearDown(self):"},{"line_number":589,"context_line":"        super(TestHPLefthandRESTISCSIDriver, self).tearDown()"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"    def default_mock_conf(self):"},{"line_number":592,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nXc%3D","line":589,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":610,"context_line":"        _mock_client.return_value.getCluster.return_value \u003d {"},{"line_number":611,"context_line":"            \u0027spaceTotal\u0027: units.GiB * 500,"},{"line_number":612,"context_line":"            \u0027spaceAvailable\u0027: units.GiB * 250}"},{"line_number":613,"context_line":"        self.driver \u003d hp_lefthand_iscsi.HPLEFTHANDISCSIDriver("},{"line_number":614,"context_line":"            configuration\u003dconfig)"},{"line_number":615,"context_line":"        self.driver.do_setup(None)"},{"line_number":616,"context_line":"        return _mock_client.return_value"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nXY%3D","line":613,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":844,"context_line":"    def test_create_snapshot(self):"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"        # setup drive with default configuration"},{"line_number":847,"context_line":"        # and return the mock HTTP lefthand client"},{"line_number":848,"context_line":"        mock_client \u003d self.setup_driver()"},{"line_number":849,"context_line":""},{"line_number":850,"context_line":"        mock_client.getVolumeByName.return_value \u003d {\u0027id\u0027: self.volume_id}"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nXU%3D","line":847,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":872,"context_line":"    def test_delete_snapshot(self):"},{"line_number":873,"context_line":""},{"line_number":874,"context_line":"        # setup drive with default configuration"},{"line_number":875,"context_line":"        # and return the mock HTTP lefthand client"},{"line_number":876,"context_line":"        mock_client \u003d self.setup_driver()"},{"line_number":877,"context_line":""},{"line_number":878,"context_line":"        mock_client.getSnapshotByName.return_value \u003d {\u0027id\u0027: self.snapshot_id}"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nXM%3D","line":875,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":914,"context_line":"    def test_create_volume_from_snapshot(self):"},{"line_number":915,"context_line":""},{"line_number":916,"context_line":"        # setup drive with default configuration"},{"line_number":917,"context_line":"        # and return the mock HTTP lefthand client"},{"line_number":918,"context_line":"        mock_client \u003d self.setup_driver()"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"        mock_client.getSnapshotByName.return_value \u003d {\u0027id\u0027: self.snapshot_id}"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nXI%3D","line":917,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":939,"context_line":"    def test_create_cloned_volume(self):"},{"line_number":940,"context_line":""},{"line_number":941,"context_line":"        # setup drive with default configuration"},{"line_number":942,"context_line":"        # and return the mock HTTP lefthand client"},{"line_number":943,"context_line":"        mock_client \u003d self.setup_driver()"},{"line_number":944,"context_line":""},{"line_number":945,"context_line":"        mock_client.getVolumeByName.return_value \u003d {\u0027id\u0027: self.volume_id}"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nXA%3D","line":942,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":978,"context_line":"            hp_lefthand_rest_proxy.extra_specs_key_map.keys())"},{"line_number":979,"context_line":""},{"line_number":980,"context_line":"        # map the extra specs key/value pairs to key/value pairs"},{"line_number":981,"context_line":"        # used as optional configuration values by the lefthand backend"},{"line_number":982,"context_line":"        optional \u003d self.driver.proxy._map_extra_specs(extra_specs)"},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"        self.assertDictMatch({\u0027isThinProvisioned\u0027: False}, optional)"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nW8%3D","line":981,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":1004,"context_line":"            hp_lefthand_rest_proxy.extra_specs_key_map.keys())"},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"        # map the extra specs key/value pairs to key/value pairs"},{"line_number":1007,"context_line":"        # used as optional configuration values by the lefthand backend"},{"line_number":1008,"context_line":"        optional \u003d self.driver.proxy._map_extra_specs(extra_specs)"},{"line_number":1009,"context_line":""},{"line_number":1010,"context_line":"        # {\u0027hplh:ao\u0027: \u0027true\u0027} should map to"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nWg%3D","line":1007,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"}],"cinder/volume/drivers/san/hp/hp_lefthand_cliq_proxy.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d30e4d26dcbad0cf81fce5e9bb3cf0b250f61031","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#    All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FOuY%3D","line":1,"updated":"2014-01-16 06:03:19.000000000","message":"Remove vim modeline.","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"825e4607a019cfecafebc46e6ad38f8a2dea83ff","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#    All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FLiQ%3D","line":1,"in_reply_to":"AAAAUH%2F%2FOuY%3D","updated":"2014-01-16 17:47:02.000000000","message":"Done","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d30e4d26dcbad0cf81fce5e9bb3cf0b250f61031","unresolved":false,"context_lines":[{"line_number":421,"context_line":"        cluster_node \u003d result_xml.find(\"response/cluster\")"},{"line_number":422,"context_line":"        total_capacity \u003d cluster_node.attrib.get(\"spaceTotal\")"},{"line_number":423,"context_line":"        free_capacity \u003d cluster_node.attrib.get(\"unprovisionedSpace\")"},{"line_number":424,"context_line":"        GB \u003d 1073741824"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"        data[\u0027total_capacity_gb\u0027] \u003d int(total_capacity) / GB"},{"line_number":427,"context_line":"        data[\u0027free_capacity_gb\u0027] \u003d int(free_capacity) / GB"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FOuU%3D","line":424,"updated":"2014-01-16 06:03:19.000000000","message":"Use cinder.units for this.","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"825e4607a019cfecafebc46e6ad38f8a2dea83ff","unresolved":false,"context_lines":[{"line_number":421,"context_line":"        cluster_node \u003d result_xml.find(\"response/cluster\")"},{"line_number":422,"context_line":"        total_capacity \u003d cluster_node.attrib.get(\"spaceTotal\")"},{"line_number":423,"context_line":"        free_capacity \u003d cluster_node.attrib.get(\"unprovisionedSpace\")"},{"line_number":424,"context_line":"        GB \u003d 1073741824"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"        data[\u0027total_capacity_gb\u0027] \u003d int(total_capacity) / GB"},{"line_number":427,"context_line":"        data[\u0027free_capacity_gb\u0027] \u003d int(free_capacity) / GB"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FLiM%3D","line":424,"in_reply_to":"AAAAUH%2F%2FOuU%3D","updated":"2014-01-16 17:47:02.000000000","message":"Done","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"a5876a1354d62f0d0921b09b778e11cd85aac1fa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#    All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Copyright 2012 OpenStack Foundation"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2B6hg%3D","line":4,"updated":"2014-01-20 19:49:03.000000000","message":"Remove this line","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b8daef6ad0e00d592ce3713fe0e6a15f74fb9878","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#    All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Copyright 2012 OpenStack Foundation"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2Budk%3D","line":4,"in_reply_to":"AAAAUH%2F%2B6hg%3D","updated":"2014-01-22 19:17:25.000000000","message":"Done.","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class HPLefthandCliqProxy(SanISCSIDriver):"},{"line_number":35,"context_line":"    \"\"\"Executes commands relating to HP/Lefthand SAN ISCSI volumes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    We use the CLIQ interface, over SSH."}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nWM%3D","line":34,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class HPLefthandCliqProxy(SanISCSIDriver):"},{"line_number":35,"context_line":"    \"\"\"Executes commands relating to HP/Lefthand SAN ISCSI volumes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    We use the CLIQ interface, over SSH."}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9mk0%3D","line":34,"in_reply_to":"AAAAUH%2F9nWM%3D","updated":"2014-02-05 18:43:08.000000000","message":"Fixed all comments. Thanks","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class HPLefthandCliqProxy(SanISCSIDriver):"},{"line_number":35,"context_line":"    \"\"\"Executes commands relating to HP/Lefthand SAN ISCSI volumes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    We use the CLIQ interface, over SSH."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nWI%3D","line":35,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    device_stats \u003d {}"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":76,"context_line":"        super(HPLefthandCliqProxy, self).__init__(*args, **kwargs)"},{"line_number":77,"context_line":"        self.cluster_vip \u003d None"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def do_setup(self, context):"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nV4%3D","line":76,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"90c890b8a008b82e995af6f7e8694b0660ccb0e2","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        1.0.0 - Initial driver"},{"line_number":69,"context_line":"    \"\"\""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    VERSION \u003d \"1.0.0\""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    device_stats \u003d {}"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAUX%2F%2F%2FWc%3D","line":71,"updated":"2014-02-07 22:09:10.000000000","message":"Done","commit_id":"8d2b87cace327b6c6c8dfea45f95ebaf36352a8e"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9d3d3ccaf32a2b20a8508fb8121bc773ef28f067","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        1.0.0 - Initial driver"},{"line_number":69,"context_line":"    \"\"\""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    VERSION \u003d \"1.0.0\""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    device_stats \u003d {}"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAUX%2F%2F%2Fc8%3D","line":71,"updated":"2014-02-07 21:57:23.000000000","message":"We should be going up in version, not down.  1.2.0 makes more sense.","commit_id":"8d2b87cace327b6c6c8dfea45f95ebaf36352a8e"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"03cf82b2aa85e5a46b1369cda568d6c3210f9df3","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    Version history:"},{"line_number":68,"context_line":"        1.0.0 - Initial driver"},{"line_number":69,"context_line":"    \"\"\""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    VERSION \u003d \"1.2.0\""},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAUX%2F%2F9N4%3D","line":69,"updated":"2014-02-08 13:56:05.000000000","message":"Should update the revision history as well to match the change in the version number","commit_id":"9f621522553fb36d1ce2db997d86b19189f7b8f4"}],"cinder/volume/drivers/san/hp/hp_lefthand_iscsi.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d30e4d26dcbad0cf81fce5e9bb3cf0b250f61031","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#    All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FOuI%3D","line":1,"updated":"2014-01-16 06:03:19.000000000","message":"Remove vim modeline.","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"825e4607a019cfecafebc46e6ad38f8a2dea83ff","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#    All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FLhk%3D","line":1,"in_reply_to":"AAAAUH%2F%2FOuI%3D","updated":"2014-01-16 17:47:02.000000000","message":"Done","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"a5876a1354d62f0d0921b09b778e11cd85aac1fa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#    All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Copyright 2012 OpenStack Foundation"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2B6hE%3D","line":4,"updated":"2014-01-20 19:49:03.000000000","message":"Remove this line","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b8daef6ad0e00d592ce3713fe0e6a15f74fb9878","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#    All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Copyright 2012 OpenStack Foundation"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2Budc%3D","line":4,"in_reply_to":"AAAAUH%2F%2B6hE%3D","updated":"2014-01-22 19:17:25.000000000","message":"Done.","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":7236,"name":"Kiyohiro Adachi","email":"kiy-adachi@vx.jp.nec.com","username":"kadachi"},"change_message_id":"aacb0e24532125089f0d23cbb9411940de71f083","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Volume driver for HP Left Hand Storage array."},{"line_number":18,"context_line":"This driver requires xxx firmware on the Left Hand array, using"},{"line_number":19,"context_line":"the 1.0 version of the hplefthandclient."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"You will need to install the python hplefthandclient."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2BsmA%3D","line":18,"updated":"2014-01-23 02:50:22.000000000","message":"\u0027xxx\u0027 is correct?","commit_id":"a64954e80bbf6796bf6fdf261d326188b8809481"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"175bcf65c0d01b038cd9251bbc413a4b2253cdaf","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Volume driver for HP Left Hand Storage array."},{"line_number":18,"context_line":"This driver requires xxx firmware on the Left Hand array, using"},{"line_number":19,"context_line":"the 1.0 version of the hplefthandclient."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"You will need to install the python hplefthandclient."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2BmVA%3D","line":18,"in_reply_to":"AAAAUH%2F%2BsmA%3D","updated":"2014-01-24 00:16:56.000000000","message":"Fixed, thanks!","commit_id":"a64954e80bbf6796bf6fdf261d326188b8809481"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Volume driver for HP Left Hand Storage array."},{"line_number":18,"context_line":"This driver requires 11.5 firmware on the Left Hand array, using"},{"line_number":19,"context_line":"the 1.0 version of the hplefthandclient."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9omw%3D","line":17,"updated":"2014-02-05 16:55:35.000000000","message":"Should be LeftHand","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Volume driver for HP Left Hand Storage array."},{"line_number":18,"context_line":"This driver requires 11.5 firmware on the Left Hand array, using"},{"line_number":19,"context_line":"the 1.0 version of the hplefthandclient."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9mjY%3D","line":17,"in_reply_to":"AAAAUH%2F9omw%3D","updated":"2014-02-05 18:43:08.000000000","message":"Fixed all comments. Thanks","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Volume driver for HP Left Hand Storage array."},{"line_number":18,"context_line":"This driver requires 11.5 firmware on the Left Hand array, using"},{"line_number":19,"context_line":"the 1.0 version of the hplefthandclient."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"You will need to install the python hplefthandclient."}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nb4%3D","line":18,"updated":"2014-02-05 16:55:35.000000000","message":"LeftHand","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Volume driver for HP Left Hand Storage array."},{"line_number":18,"context_line":"This driver requires 11.5 firmware on the Left Hand array, using"},{"line_number":19,"context_line":"the 1.0 version of the hplefthandclient."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"You will need to install the python hplefthandclient."},{"line_number":22,"context_line":"sudo pip install hplefthandclient"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nZs%3D","line":20,"updated":"2014-02-05 16:55:35.000000000","message":"you may want to remove the exact version","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    HPLEFTHANDISCSIDriver"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"It also requires the setting of hplefthand_api_url, hplefthand_username,"},{"line_number":31,"context_line":"hplefthand_password for credentials to talk to the REST service on the Left"},{"line_number":32,"context_line":"Hand array."},{"line_number":33,"context_line":"\"\"\""},{"line_number":34,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nc8%3D","line":31,"updated":"2014-02-05 16:55:35.000000000","message":"LeftHand, no space","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"class HPLEFTHANDISCSIDriver(VolumeDriver):"},{"line_number":45,"context_line":"    \"\"\"Executes commands relating to HP/Lefthand SAN ISCSI volumes."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    Version history:"},{"line_number":48,"context_line":"        1.0.0 - Initial driver"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9omg%3D","line":45,"updated":"2014-02-05 16:55:35.000000000","message":"Wonder if the class name should be called HPLeftHandISCSIDriver? And Lefthand should be LeftHand","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def _create_proxy(self, *args, **kwargs):"},{"line_number":58,"context_line":"        try:"},{"line_number":59,"context_line":"            proxy \u003d rest_proxy.HPLefthandRestProxy(*args, **kwargs)"},{"line_number":60,"context_line":"        except exception.NotFound:"},{"line_number":61,"context_line":"            proxy \u003d cliq_proxy.HPLefthandCliqProxy(*args, **kwargs)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nck%3D","line":59,"updated":"2014-02-05 16:55:35.000000000","message":"HPLeftHandRestProxy?","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        try:"},{"line_number":59,"context_line":"            proxy \u003d rest_proxy.HPLefthandRestProxy(*args, **kwargs)"},{"line_number":60,"context_line":"        except exception.NotFound:"},{"line_number":61,"context_line":"            proxy \u003d cliq_proxy.HPLefthandCliqProxy(*args, **kwargs)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        return proxy"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9ncE%3D","line":61,"updated":"2014-02-05 16:55:35.000000000","message":"HPLeftHandCliqProxy?","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"}],"cinder/volume/drivers/san/hp/hp_lefthand_rest_proxy.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d30e4d26dcbad0cf81fce5e9bb3cf0b250f61031","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#    All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FOuA%3D","line":1,"updated":"2014-01-16 06:03:19.000000000","message":"Remove vim modeline.","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"825e4607a019cfecafebc46e6ad38f8a2dea83ff","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#    All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FLgY%3D","line":1,"in_reply_to":"AAAAUH%2F%2FOuA%3D","updated":"2014-01-16 17:47:02.000000000","message":"Done","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d30e4d26dcbad0cf81fce5e9bb3cf0b250f61031","unresolved":false,"context_lines":[{"line_number":38,"context_line":"hplefthand_opts \u003d ["},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027hplefthand_api_url\u0027,"},{"line_number":40,"context_line":"               default\u003dNone,"},{"line_number":41,"context_line":"               help\u003d\"Lefthand WSAPI Server Url like \""},{"line_number":42,"context_line":"                    \"https://\u003clefthand ip\u003e:8080/lhos\"),"},{"line_number":43,"context_line":"    cfg.StrOpt(\u0027hplefthand_username\u0027,"},{"line_number":44,"context_line":"               default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FOt0%3D","line":41,"updated":"2014-01-16 06:03:19.000000000","message":"Described as \"Left Hand\" below, should change \"Lefthand\" to be consistent.","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"825e4607a019cfecafebc46e6ad38f8a2dea83ff","unresolved":false,"context_lines":[{"line_number":38,"context_line":"hplefthand_opts \u003d ["},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027hplefthand_api_url\u0027,"},{"line_number":40,"context_line":"               default\u003dNone,"},{"line_number":41,"context_line":"               help\u003d\"Lefthand WSAPI Server Url like \""},{"line_number":42,"context_line":"                    \"https://\u003clefthand ip\u003e:8080/lhos\"),"},{"line_number":43,"context_line":"    cfg.StrOpt(\u0027hplefthand_username\u0027,"},{"line_number":44,"context_line":"               default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FLgc%3D","line":41,"in_reply_to":"AAAAUH%2F%2FOt0%3D","updated":"2014-01-16 17:47:02.000000000","message":"Done","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d30e4d26dcbad0cf81fce5e9bb3cf0b250f61031","unresolved":false,"context_lines":[{"line_number":63,"context_line":"CONF \u003d cfg.CONF"},{"line_number":64,"context_line":"CONF.register_opts(hplefthand_opts)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"GB \u003d 1073741824"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"# map the extra spec key to the rest client option key"},{"line_number":69,"context_line":"extra_specs_key_map \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FOtw%3D","line":66,"updated":"2014-01-16 06:03:19.000000000","message":"Use cinder.units for this.","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"825e4607a019cfecafebc46e6ad38f8a2dea83ff","unresolved":false,"context_lines":[{"line_number":63,"context_line":"CONF \u003d cfg.CONF"},{"line_number":64,"context_line":"CONF.register_opts(hplefthand_opts)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"GB \u003d 1073741824"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"# map the extra spec key to the rest client option key"},{"line_number":69,"context_line":"extra_specs_key_map \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FLgE%3D","line":66,"in_reply_to":"AAAAUH%2F%2FOtw%3D","updated":"2014-01-16 17:47:02.000000000","message":"Done","commit_id":"3e4a35a52178c51e0238409560be6496f9f4af20"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"a5876a1354d62f0d0921b09b778e11cd85aac1fa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#    All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Copyright 2012 OpenStack Foundation"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2B6g4%3D","line":4,"updated":"2014-01-20 19:49:03.000000000","message":"Remove this line","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b8daef6ad0e00d592ce3713fe0e6a15f74fb9878","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    (c) Copyright 2014 Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#    All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Copyright 2012 OpenStack Foundation"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":7,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2BudY%3D","line":4,"in_reply_to":"AAAAUH%2F%2B6g4%3D","updated":"2014-01-22 19:17:25.000000000","message":"Done","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f5775a150d02645d8762b70e79f2ecbb2bf8f8bc","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"HP Lefthand SAN ISCSI rest Proxy.\"\"\""},{"line_number":17,"context_line":"from oslo.config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import hplefthandclient"},{"line_number":20,"context_line":"from hplefthandclient import client"},{"line_number":21,"context_line":"from hplefthandclient import exceptions as hpexceptions"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2BuTs%3D","line":19,"updated":"2014-01-22 19:32:54.000000000","message":"This import needs to be insulated with a try: except ImportError: if hplefthandclient is only in test-requirements.txt.\n\nThe driver should then do a check in check_for_setup_error() which throws a sensible message if the requirements are not installed.  The RBD driver has a good example of how to do this.","commit_id":"a64954e80bbf6796bf6fdf261d326188b8809481"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"175bcf65c0d01b038cd9251bbc413a4b2253cdaf","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"HP Lefthand SAN ISCSI rest Proxy.\"\"\""},{"line_number":17,"context_line":"from oslo.config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import hplefthandclient"},{"line_number":20,"context_line":"from hplefthandclient import client"},{"line_number":21,"context_line":"from hplefthandclient import exceptions as hpexceptions"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2BmUU%3D","line":19,"in_reply_to":"AAAAUH%2F%2BuTs%3D","updated":"2014-01-24 00:16:56.000000000","message":"Done, however, the client is used in do_setup so it never gets to check_for_setup_error, so I didn\u0027t make any changes there.","commit_id":"a64954e80bbf6796bf6fdf261d326188b8809481"},{"author":{"_account_id":7236,"name":"Kiyohiro Adachi","email":"kiy-adachi@vx.jp.nec.com","username":"kadachi"},"change_message_id":"aacb0e24532125089f0d23cbb9411940de71f083","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        super(HPLefthandRestProxy, self).__init__(*args, **kwargs)"},{"line_number":91,"context_line":"        self.configuration.append_config_values(hplefthand_opts)"},{"line_number":92,"context_line":"        if not self.configuration.hplefthand_api_url:"},{"line_number":93,"context_line":"            raise exception.NotFound(\"hplefthand url not found\")"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def do_setup(self, context):"},{"line_number":96,"context_line":"        \"\"\"Set up lefthand client.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2Bsn4%3D","line":93,"updated":"2014-01-23 02:50:22.000000000","message":"raise exception.NotFound(_(\u0027hplefthand url not found\u0027))","commit_id":"a64954e80bbf6796bf6fdf261d326188b8809481"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"175bcf65c0d01b038cd9251bbc413a4b2253cdaf","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        super(HPLefthandRestProxy, self).__init__(*args, **kwargs)"},{"line_number":91,"context_line":"        self.configuration.append_config_values(hplefthand_opts)"},{"line_number":92,"context_line":"        if not self.configuration.hplefthand_api_url:"},{"line_number":93,"context_line":"            raise exception.NotFound(\"hplefthand url not found\")"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def do_setup(self, context):"},{"line_number":96,"context_line":"        \"\"\"Set up lefthand client.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2BmUQ%3D","line":93,"in_reply_to":"AAAAUH%2F%2Bsn4%3D","updated":"2014-01-24 00:16:56.000000000","message":"Fixed!","commit_id":"a64954e80bbf6796bf6fdf261d326188b8809481"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"\"\"\"HP Lefthand SAN ISCSI rest Proxy.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from cinder import context"},{"line_number":19,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nU8%3D","line":16,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"\"\"\"HP Lefthand SAN ISCSI rest Proxy.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from cinder import context"},{"line_number":19,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9miI%3D","line":16,"in_reply_to":"AAAAUH%2F9nU8%3D","updated":"2014-02-05 18:43:08.000000000","message":"Fixed all comments. Thanks","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":78,"context_line":"}"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"class HPLefthandRestProxy(ISCSIDriver):"},{"line_number":82,"context_line":"    \"\"\"Executes rest commands relating to HP/Lefthand SAN ISCSI volumes."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    Version history:"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nU4%3D","line":81,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHandREST...","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"class HPLefthandRestProxy(ISCSIDriver):"},{"line_number":82,"context_line":"    \"\"\"Executes rest commands relating to HP/Lefthand SAN ISCSI volumes."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    Version history:"},{"line_number":85,"context_line":"        1.0.0 - Initial rest iSCSI proxy"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nU0%3D","line":82,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    device_stats \u003d {}"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":93,"context_line":"        super(HPLefthandRestProxy, self).__init__(*args, **kwargs)"},{"line_number":94,"context_line":"        self.configuration.append_config_values(hplefthand_opts)"},{"line_number":95,"context_line":"        if not self.configuration.hplefthand_api_url:"},{"line_number":96,"context_line":"            raise exception.NotFound(_(\"hplefthand url not found\"))"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nUs%3D","line":93,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHandREST..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        return extra_specs"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    def _map_extra_specs(self, extra_specs):"},{"line_number":299,"context_line":"        \"\"\"Map the extra spec key/values to lefthand key/values.\"\"\""},{"line_number":300,"context_line":"        client_options \u003d {}"},{"line_number":301,"context_line":"        for key, value in extra_specs.iteritems():"},{"line_number":302,"context_line":"            # map extra spec key to lh client option key"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nUM%3D","line":299,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":9624,"name":"Ramy Asselin","email":"ramyasselin@yahoo.com","username":"asselin"},"change_message_id":"57a9c838e9bfc4df77e3e1abf8331793720a51f9","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            LOG.error(_(\"Snapshot did not exist. It will not be deleted\"))"},{"line_number":195,"context_line":"        except hpexceptions.HTTPServerError as ex:"},{"line_number":196,"context_line":"            in_use_msg \u003d \u0027cannot be deleted because it is a clone point\u0027"},{"line_number":197,"context_line":"            if in_use_msg in ex.get_description():"},{"line_number":198,"context_line":"                raise exception.SnapshotIsBusy(str(ex))"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"            raise exception.VolumeBackendAPIException(str(ex))"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAUH%2F9U64%3D","line":197,"updated":"2014-02-07 18:02:35.000000000","message":"Is there a constant that can be used to check instead of the actual string message?","commit_id":"8d2b87cace327b6c6c8dfea45f95ebaf36352a8e"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9d3d3ccaf32a2b20a8508fb8121bc773ef28f067","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            LOG.error(_(\"Snapshot did not exist. It will not be deleted\"))"},{"line_number":195,"context_line":"        except hpexceptions.HTTPServerError as ex:"},{"line_number":196,"context_line":"            in_use_msg \u003d \u0027cannot be deleted because it is a clone point\u0027"},{"line_number":197,"context_line":"            if in_use_msg in ex.get_description():"},{"line_number":198,"context_line":"                raise exception.SnapshotIsBusy(str(ex))"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"            raise exception.VolumeBackendAPIException(str(ex))"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAUH%2F9UsU%3D","line":197,"in_reply_to":"AAAAUH%2F9U64%3D","updated":"2014-02-07 21:57:23.000000000","message":"This is fine.","commit_id":"8d2b87cace327b6c6c8dfea45f95ebaf36352a8e"}],"cinder/volume/manager.py":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    \u0027cinder.volume.drivers.huawei.HuaweiISCSIDriver\u0027:"},{"line_number":134,"context_line":"    \u0027cinder.volume.drivers.huawei.HuaweiVolumeDriver\u0027,"},{"line_number":135,"context_line":"    \u0027cinder.volume.drivers.san.hp_lefthand.HpSanISCSIDriver\u0027:"},{"line_number":136,"context_line":"    \u0027cinder.volume.drivers.san.hp.hp_lefthand_iscsi.HPLEFTHANDISCSIDriver\u0027}"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"def locked_volume_operation(f):"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9nUE%3D","line":136,"updated":"2014-02-05 16:55:35.000000000","message":"...LeftHand..","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    \u0027cinder.volume.drivers.huawei.HuaweiISCSIDriver\u0027:"},{"line_number":134,"context_line":"    \u0027cinder.volume.drivers.huawei.HuaweiVolumeDriver\u0027,"},{"line_number":135,"context_line":"    \u0027cinder.volume.drivers.san.hp_lefthand.HpSanISCSIDriver\u0027:"},{"line_number":136,"context_line":"    \u0027cinder.volume.drivers.san.hp.hp_lefthand_iscsi.HPLEFTHANDISCSIDriver\u0027}"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"def locked_volume_operation(f):"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUH%2F9mhw%3D","line":136,"in_reply_to":"AAAAUH%2F9nUE%3D","updated":"2014-02-05 18:43:08.000000000","message":"Done.","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"}],"etc/cinder/cinder.conf.sample":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ae34cba8bd4e4ea643818d8111a94eb8ff2c594e","unresolved":false,"context_lines":[{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"#"},{"line_number":1557,"context_line":"# Options defined in cinder.volume.drivers.san.hp.hp_lefthand_rest_proxy"},{"line_number":1558,"context_line":"#"},{"line_number":1559,"context_line":""},{"line_number":1560,"context_line":"# Lefthand WSAPI Server Url like https://\u003clefthand ip\u003e:8081/lhos"},{"line_number":1561,"context_line":"# (string value)"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2BNR8%3D","line":1558,"updated":"2014-01-29 02:38:47.000000000","message":"Please run tools/conf/generate_sample.sh.","commit_id":"60a03eaa23214143a0d0cd7e17b01cf15c45ad22"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"a1a7b8ec57e1051470ff45c6c2a22516be0bb3d6","unresolved":false,"context_lines":[{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"#"},{"line_number":1557,"context_line":"# Options defined in cinder.volume.drivers.san.hp.hp_lefthand_rest_proxy"},{"line_number":1558,"context_line":"#"},{"line_number":1559,"context_line":""},{"line_number":1560,"context_line":"# Lefthand WSAPI Server Url like https://\u003clefthand ip\u003e:8081/lhos"},{"line_number":1561,"context_line":"# (string value)"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAUH%2F%2BJio%3D","line":1558,"in_reply_to":"AAAAUH%2F%2BNR8%3D","updated":"2014-01-29 17:39:40.000000000","message":"Done","commit_id":"60a03eaa23214143a0d0cd7e17b01cf15c45ad22"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":1495,"context_line":"# Options defined in cinder.volume.drivers.san.hp.hp_lefthand_rest_proxy"},{"line_number":1496,"context_line":"#"},{"line_number":1497,"context_line":""},{"line_number":1498,"context_line":"# LeftHand WSAPI Server Url like https://\u003clefthand"},{"line_number":1499,"context_line":"# ip\u003e:8080/lhos (string value)"},{"line_number":1500,"context_line":"#hplefthand_api_url\u003d\u003cNone\u003e"},{"line_number":1501,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAUH%2F9nTw%3D","line":1498,"updated":"2014-02-05 16:55:35.000000000","message":"# HP LeftHand....","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":1495,"context_line":"# Options defined in cinder.volume.drivers.san.hp.hp_lefthand_rest_proxy"},{"line_number":1496,"context_line":"#"},{"line_number":1497,"context_line":""},{"line_number":1498,"context_line":"# LeftHand WSAPI Server Url like https://\u003clefthand"},{"line_number":1499,"context_line":"# ip\u003e:8080/lhos (string value)"},{"line_number":1500,"context_line":"#hplefthand_api_url\u003d\u003cNone\u003e"},{"line_number":1501,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAUH%2F9mhQ%3D","line":1498,"in_reply_to":"AAAAUH%2F9nTw%3D","updated":"2014-02-05 18:43:08.000000000","message":"Done","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":1499,"context_line":"# ip\u003e:8080/lhos (string value)"},{"line_number":1500,"context_line":"#hplefthand_api_url\u003d\u003cNone\u003e"},{"line_number":1501,"context_line":""},{"line_number":1502,"context_line":"# LeftHand Super user username (string value)"},{"line_number":1503,"context_line":"#hplefthand_username\u003d\u003cNone\u003e"},{"line_number":1504,"context_line":""},{"line_number":1505,"context_line":"# LeftHand Super user password (string value)"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAUH%2F9nTs%3D","line":1502,"updated":"2014-02-05 16:55:35.000000000","message":"# HP LeftHand....","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":1499,"context_line":"# ip\u003e:8080/lhos (string value)"},{"line_number":1500,"context_line":"#hplefthand_api_url\u003d\u003cNone\u003e"},{"line_number":1501,"context_line":""},{"line_number":1502,"context_line":"# LeftHand Super user username (string value)"},{"line_number":1503,"context_line":"#hplefthand_username\u003d\u003cNone\u003e"},{"line_number":1504,"context_line":""},{"line_number":1505,"context_line":"# LeftHand Super user password (string value)"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAUH%2F9mhE%3D","line":1502,"in_reply_to":"AAAAUH%2F9nTs%3D","updated":"2014-02-05 18:43:08.000000000","message":"Done","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":1502,"context_line":"# LeftHand Super user username (string value)"},{"line_number":1503,"context_line":"#hplefthand_username\u003d\u003cNone\u003e"},{"line_number":1504,"context_line":""},{"line_number":1505,"context_line":"# LeftHand Super user password (string value)"},{"line_number":1506,"context_line":"#hplefthand_password\u003d\u003cNone\u003e"},{"line_number":1507,"context_line":""},{"line_number":1508,"context_line":"# LeftHand cluster name (string value)"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAUH%2F9nTo%3D","line":1505,"updated":"2014-02-05 16:55:35.000000000","message":"# HP LeftHand....","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":1502,"context_line":"# LeftHand Super user username (string value)"},{"line_number":1503,"context_line":"#hplefthand_username\u003d\u003cNone\u003e"},{"line_number":1504,"context_line":""},{"line_number":1505,"context_line":"# LeftHand Super user password (string value)"},{"line_number":1506,"context_line":"#hplefthand_password\u003d\u003cNone\u003e"},{"line_number":1507,"context_line":""},{"line_number":1508,"context_line":"# LeftHand cluster name (string value)"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAUH%2F9mg4%3D","line":1505,"in_reply_to":"AAAAUH%2F9nTo%3D","updated":"2014-02-05 18:43:08.000000000","message":"Done","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"dcb71c9be4ba218ef6dece4f1b8eaeb251372221","unresolved":false,"context_lines":[{"line_number":1505,"context_line":"# LeftHand Super user password (string value)"},{"line_number":1506,"context_line":"#hplefthand_password\u003d\u003cNone\u003e"},{"line_number":1507,"context_line":""},{"line_number":1508,"context_line":"# LeftHand cluster name (string value)"},{"line_number":1509,"context_line":"#hplefthand_clustername\u003d\u003cNone\u003e"},{"line_number":1510,"context_line":""},{"line_number":1511,"context_line":"# Configure CHAP authentication for iSCSI connections"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAUH%2F9nTk%3D","line":1508,"updated":"2014-02-05 16:55:35.000000000","message":"# HP LeftHand....","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b972daedcc197dbace24b8ab8247edaa9d3cd8db","unresolved":false,"context_lines":[{"line_number":1505,"context_line":"# LeftHand Super user password (string value)"},{"line_number":1506,"context_line":"#hplefthand_password\u003d\u003cNone\u003e"},{"line_number":1507,"context_line":""},{"line_number":1508,"context_line":"# LeftHand cluster name (string value)"},{"line_number":1509,"context_line":"#hplefthand_clustername\u003d\u003cNone\u003e"},{"line_number":1510,"context_line":""},{"line_number":1511,"context_line":"# Configure CHAP authentication for iSCSI connections"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAUH%2F9mg0%3D","line":1508,"in_reply_to":"AAAAUH%2F9nTk%3D","updated":"2014-02-05 18:43:08.000000000","message":"Done","commit_id":"57121d3f7f72d9d451e9391918092e4b89f862d1"},{"author":{"_account_id":9624,"name":"Ramy Asselin","email":"ramyasselin@yahoo.com","username":"asselin"},"change_message_id":"57a9c838e9bfc4df77e3e1abf8331793720a51f9","unresolved":false,"context_lines":[{"line_number":1496,"context_line":"#"},{"line_number":1497,"context_line":""},{"line_number":1498,"context_line":"# HP LeftHand WSAPI Server Url like https://\u003cLeftHand"},{"line_number":1499,"context_line":"# ip\u003e:8081/lhos (string value)"},{"line_number":1500,"context_line":"#hplefthand_api_url\u003d\u003cNone\u003e"},{"line_number":1501,"context_line":""},{"line_number":1502,"context_line":"# HP LeftHand Super user username (string value)"}],"source_content_type":"application/octet-stream","patch_set":17,"id":"AAAAUH%2F9U5s%3D","line":1499,"updated":"2014-02-07 18:02:35.000000000","message":"This would be more clear on a single line","commit_id":"8d2b87cace327b6c6c8dfea45f95ebaf36352a8e"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9d3d3ccaf32a2b20a8508fb8121bc773ef28f067","unresolved":false,"context_lines":[{"line_number":1496,"context_line":"#"},{"line_number":1497,"context_line":""},{"line_number":1498,"context_line":"# HP LeftHand WSAPI Server Url like https://\u003cLeftHand"},{"line_number":1499,"context_line":"# ip\u003e:8081/lhos (string value)"},{"line_number":1500,"context_line":"#hplefthand_api_url\u003d\u003cNone\u003e"},{"line_number":1501,"context_line":""},{"line_number":1502,"context_line":"# HP LeftHand Super user username (string value)"}],"source_content_type":"application/octet-stream","patch_set":17,"id":"AAAAUH%2F9UsE%3D","line":1499,"in_reply_to":"AAAAUH%2F9U5s%3D","updated":"2014-02-07 21:57:23.000000000","message":"This is an automatically generated file now.","commit_id":"8d2b87cace327b6c6c8dfea45f95ebaf36352a8e"}],"test-requirements.txt":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"9861f59cb249e613fb0d8cbf67db5b2df909944f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"discover"},{"line_number":5,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":6,"context_line":"hp3parclient\u003e\u003d2.0,\u003c3.0"},{"line_number":7,"context_line":"hplefthandclient\u003e\u003d1.0.0,\u003c2.0.0"},{"line_number":8,"context_line":"mock\u003e\u003d1.0"},{"line_number":9,"context_line":"mox\u003e\u003d0.5.3"},{"line_number":10,"context_line":"MySQL-python"}],"source_content_type":"text/plain","patch_set":5,"id":"AAAAUH%2F%2BukQ%3D","line":7,"updated":"2014-01-22 18:49:24.000000000","message":"This should be in requirements.txt rather than test-requirements.txt, as it is a runtime requirement too.","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"53e16fff1fa607a58499e0feb09770e6146d2eeb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"discover"},{"line_number":5,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":6,"context_line":"hp3parclient\u003e\u003d2.0,\u003c3.0"},{"line_number":7,"context_line":"hplefthandclient\u003e\u003d1.0.0,\u003c2.0.0"},{"line_number":8,"context_line":"mock\u003e\u003d1.0"},{"line_number":9,"context_line":"mox\u003e\u003d0.5.3"},{"line_number":10,"context_line":"MySQL-python"}],"source_content_type":"text/plain","patch_set":5,"id":"AAAAUH%2F%2BuUY%3D","line":7,"in_reply_to":"AAAAUH%2F%2Bub8%3D","updated":"2014-01-22 19:29:03.000000000","message":"We have \"rtslib-fb\" in requirements.txt which is also in this category of \"only for one driver\".","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"},{"author":{"_account_id":7389,"name":"Jim Branen","email":"james.branen@hp.com","username":"jim_branen"},"change_message_id":"b8daef6ad0e00d592ce3713fe0e6a15f74fb9878","unresolved":false,"context_lines":[{"line_number":4,"context_line":"discover"},{"line_number":5,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":6,"context_line":"hp3parclient\u003e\u003d2.0,\u003c3.0"},{"line_number":7,"context_line":"hplefthandclient\u003e\u003d1.0.0,\u003c2.0.0"},{"line_number":8,"context_line":"mock\u003e\u003d1.0"},{"line_number":9,"context_line":"mox\u003e\u003d0.5.3"},{"line_number":10,"context_line":"MySQL-python"}],"source_content_type":"text/plain","patch_set":5,"id":"AAAAUH%2F%2Bub8%3D","line":7,"in_reply_to":"AAAAUH%2F%2BukQ%3D","updated":"2014-01-22 19:17:25.000000000","message":"It\u0027s only a runtime requirement if the admin configures the hplefthand driver. Then, if configured, the admin must manually download the client. We do the same with the hp3parclient. Thanks","commit_id":"ea4fb1719118113b5233889aa70c647f26059aa8"}]}
