)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"617736c047b830e999f1a80a312217cb5e1c860b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Reorganized the code a bit, added support for ACLs, IP Pools"},{"line_number":10,"context_line":"and Multipath to the Datera Elastic DataFabric Storage driver"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint datera-cinder-driver-update-2.1"},{"line_number":13,"context_line":"Change-Id: I1a3d61aaed18ac550825f4f368c16079e252437b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7aa08908_1beef9b3","line":11,"updated":"2016-06-07 20:45:24.000000000","message":"Should probably have a DocImpact? Since you are adding capabilities to the driver and editing configuration options.","commit_id":"768cf51888c5dfe5571e95d423fec2c469adf333"}],"cinder/tests/unit/volume/drivers/test_datera.py":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"617736c047b830e999f1a80a312217cb5e1c860b","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        expected \u003d {"},{"line_number":190,"context_line":"            \u0027driver_volume_type\u0027: \u0027iscsi\u0027,"},{"line_number":191,"context_line":"            \u0027data\u0027: {"},{"line_number":192,"context_line":"                \u0027target_discovered\u0027: False, \u0027volume_id\u0027: 1,"},{"line_number":193,"context_line":"                \u0027target_iqn\u0027: (\u0027iqn.2013-05.com.daterainc:c20aba21-6ef6-\u0027"},{"line_number":194,"context_line":"                               \u0027446b-b374-45733b4883ba--ST--storage-1:01:\u0027"},{"line_number":195,"context_line":"                               \u0027sn:34e5b20fbadd3abb\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_fb6fad28","line":192,"range":{"start_line":192,"start_character":57,"end_line":192,"end_character":58},"updated":"2016-06-07 20:45:24.000000000","message":"Might be good to use the more real values set up in fakes.py","commit_id":"768cf51888c5dfe5571e95d423fec2c469adf333"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"94ddad4ecb4c2cdb449ae36740afbb6fdc56b2a2","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        self.cfg.datera_api_version \u003d \u00271\u0027"},{"line_number":41,"context_line":"        self.cfg.datera_num_replicas \u003d \u00272\u0027"},{"line_number":42,"context_line":"        self.cfg.datera_503_timeout \u003d 1"},{"line_number":43,"context_line":"        self.cfg.datera_503_interval \u003d 1"},{"line_number":44,"context_line":"        self.cfg.datera_acl_allow_all \u003d False"},{"line_number":45,"context_line":"        self.cfg.datera_debug \u003d False"},{"line_number":46,"context_line":"        self.cfg.san_login \u003d \u0027user\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_ca5df2ed","line":43,"range":{"start_line":43,"start_character":39,"end_line":43,"end_character":40},"updated":"2016-06-10 17:40:24.000000000","message":"This should probably be 0 for testing purposes. Or mock out the time.sleep() where this is used.","commit_id":"516ef2cd20a65fb162234e715dd2c61208516a22"}],"cinder/volume/drivers/datera.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"94ddad4ecb4c2cdb449ae36740afbb6fdc56b2a2","unresolved":false,"context_lines":[{"line_number":511,"context_line":"                \u0027uuid\u0027: str(volume[\u0027id\u0027]),"},{"line_number":512,"context_line":"                \u0027name\u0027: str(volume[\u0027id\u0027]),"},{"line_number":513,"context_line":"                \u0027clone_src\u0027: src,"},{"line_number":514,"context_line":"                # \u0027access_control_mode\u0027: \u0027allow_all\u0027"},{"line_number":515,"context_line":"            })"},{"line_number":516,"context_line":"        self._issue_api_request("},{"line_number":517,"context_line":"            URL_TEMPLATES[\u0027ai\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_8a348ade","line":514,"updated":"2016-06-10 17:40:24.000000000","message":"Please remove commented out code.","commit_id":"516ef2cd20a65fb162234e715dd2c61208516a22"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"94ddad4ecb4c2cdb449ae36740afbb6fdc56b2a2","unresolved":false,"context_lines":[{"line_number":589,"context_line":"                if not adata.get(\u0027start_ip\u0027):"},{"line_number":590,"context_line":"                    continue"},{"line_number":591,"context_line":"                pool_if \u003d ipaddress.ip_interface("},{"line_number":592,"context_line":"                    \"/\".join((adata[\u0027start_ip\u0027], str(adata[\u0027netmask\u0027]))))"},{"line_number":593,"context_line":"                if ip_obj in pool_if.network:"},{"line_number":594,"context_line":"                    pool \u003d ip_pool"},{"line_number":595,"context_line":"        return self._issue_api_request("}],"source_content_type":"text/x-python","patch_set":5,"id":"7aa08908_0a6edac8","line":592,"range":{"start_line":592,"start_character":49,"end_line":592,"end_character":52},"updated":"2016-06-10 17:40:24.000000000","message":"Is str really needed here?","commit_id":"516ef2cd20a65fb162234e715dd2c61208516a22"}],"releasenotes/notes/bp-datera-cinder-driver-update-2.1-5c6455b45563adc5.yaml":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"617736c047b830e999f1a80a312217cb5e1c860b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Updating the Datera Elastic DataFabric Storage Driver "},{"line_number":4,"context_line":"    to version 2.1.  This adds ACL support, Multipath "},{"line_number":5,"context_line":"    support and basic IP pool support."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7aa08908_bbe6c5ad","line":3,"range":{"start_line":3,"start_character":57,"end_line":3,"end_character":58},"updated":"2016-06-07 20:45:24.000000000","message":"Extra space","commit_id":"768cf51888c5dfe5571e95d423fec2c469adf333"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"617736c047b830e999f1a80a312217cb5e1c860b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Updating the Datera Elastic DataFabric Storage Driver "},{"line_number":4,"context_line":"    to version 2.1.  This adds ACL support, Multipath "},{"line_number":5,"context_line":"    support and basic IP pool support."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7aa08908_db01113a","line":4,"updated":"2016-06-07 20:45:24.000000000","message":"Extra space","commit_id":"768cf51888c5dfe5571e95d423fec2c469adf333"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"7411e880a7dc1e2006330afb3b64451e95e9a164","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Updating the Datera Elastic DataFabric Storage Driver"},{"line_number":4,"context_line":"    to version 2.1.  This adds ACL support, Multipath"},{"line_number":5,"context_line":"    support and basic IP pool support."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7aa08908_512fef3d","line":5,"updated":"2016-06-10 21:38:38.000000000","message":"Also changes the config option default for datera_num_replicas from 1 to 3","commit_id":"533dfe0a4e789ea199d2ca153f7865644ac968f1"}],"requirements.txt":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"f872a7705f9677cb2031a7abec0e7a93ba52c4f5","unresolved":false,"context_lines":[{"line_number":10,"context_line":"greenlet\u003e\u003d0.3.2 # MIT"},{"line_number":11,"context_line":"httplib2\u003e\u003d0.7.5 # MIT"},{"line_number":12,"context_line":"iso8601\u003e\u003d0.1.11 # MIT"},{"line_number":13,"context_line":"ipaddress\u003e\u003d1.0.7;python_version\u003c\u00273.3\u0027"},{"line_number":14,"context_line":"keystonemiddleware!\u003d4.1.0,!\u003d4.5.0,\u003e\u003d4.0.0 # Apache-2.0"},{"line_number":15,"context_line":"lxml\u003e\u003d2.3 # BSD"},{"line_number":16,"context_line":"oauth2client\u003e\u003d1.5.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":1,"id":"7aa08908_cc6cbdd2","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":37},"updated":"2016-06-07 18:51:36.000000000","message":"I think you need to include the license tag (ie # PSF) just like in the global req file.","commit_id":"71f6651c9e3c116bf7375548504ddd1bc8f22b67"}]}
