)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"128a1d7e34f488fcf93efc55699917c79c8eefc6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update test requirements for Python 2.x"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Two problems in one gate:"},{"line_number":10,"context_line":" - The last version supporting python 2.6 was 1.0.1."},{"line_number":11,"context_line":" - In Python 2.7.9 SNI support was added to stdlib, but in older"},{"line_number":12,"context_line":"   versions we have to use external PyOpenSSL library."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a41bdd9_3a2a9e2d","line":10,"updated":"2015-07-16 22:29:44.000000000","message":"The last version OF MOCK ... IS 1.0.1","commit_id":"114af726e8cb0c7bfdf69f50843091f5131469df"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"f367dbcad870f1a04f3f2c84e6f41be93818c387","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Update test requirements for Python 2.x"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Two problems in one gate:"},{"line_number":10,"context_line":" - The last version supporting python 2.6 was 1.0.1."},{"line_number":11,"context_line":" - In Python 2.7.9 SNI support was added to stdlib, but in older"},{"line_number":12,"context_line":"   versions we have to use external PyOpenSSL library."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a41bdd9_9054ebca","line":10,"in_reply_to":"9a41bdd9_3a2a9e2d","updated":"2015-07-16 23:33:21.000000000","message":"The log of the failure contains this:\n\n2015-07-10 04:34:02.025 | py26 installed: argparse\u003d\u003d1.3.0,.....,mock\u003d\u003d1.1.0\n\nWhich I take to mean mock 1.1.0. It appears to be newer than 1.0.1 and it breaks the gate.","commit_id":"114af726e8cb0c7bfdf69f50843091f5131469df"}],"test-requirements.txt":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"128a1d7e34f488fcf93efc55699917c79c8eefc6","unresolved":false,"context_lines":[{"line_number":8,"context_line":"oslosphinx"},{"line_number":9,"context_line":"sphinx\u003e\u003d1.1.2,!\u003d1.2.0,\u003c1.3"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# To download Gerrit WAR we need SNI. For older Python we need these libraries."},{"line_number":12,"context_line":"pyopenssl;python_version\u003d\u003d\u00272.7\u0027"},{"line_number":13,"context_line":"ndg-httpsclient;python_version\u003d\u003d\u00272.7\u0027"},{"line_number":14,"context_line":"pyasn1;python_version\u003d\u003d\u00272.7\u0027"}],"source_content_type":"text/plain","patch_set":2,"id":"9a41bdd9_9af08acb","line":11,"updated":"2015-07-16 22:29:44.000000000","message":"Not sure to understand \"older\" means py2.7? What about py26?","commit_id":"114af726e8cb0c7bfdf69f50843091f5131469df"},{"author":{"_account_id":708,"name":"Yuriy Taraday","email":"yuriy@taraday.nl","username":"yorik-sar"},"change_message_id":"28f27fe6f1309d0d0fa9f2ee1cdf7474d392ef8b","unresolved":false,"context_lines":[{"line_number":8,"context_line":"oslosphinx"},{"line_number":9,"context_line":"sphinx\u003e\u003d1.1.2,!\u003d1.2.0,\u003c1.3"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# To download Gerrit WAR we need SNI. For older Python we need these libraries."},{"line_number":12,"context_line":"pyopenssl;python_version\u003d\u003d\u00272.7\u0027"},{"line_number":13,"context_line":"ndg-httpsclient;python_version\u003d\u003d\u00272.7\u0027"},{"line_number":14,"context_line":"pyasn1;python_version\u003d\u003d\u00272.7\u0027"}],"source_content_type":"text/plain","patch_set":2,"id":"9a41bdd9_de4a7dac","line":11,"in_reply_to":"9a41bdd9_9af08acb","updated":"2015-07-17 04:01:49.000000000","message":"\u003e Not sure to understand \"older\" means py2.7?\n\n\"older\" means \u003c2.7.9, but python_version marker include only major and minor parts of version.\n\n\u003e What about py26?\n\nThere\u0027s no certificate verification in py26 stdlib, so it works. It\u0027s insecure, yes. But running outdated unsupported Python is insecure anyway, so there\u0027s not much difference.","commit_id":"114af726e8cb0c7bfdf69f50843091f5131469df"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"f367dbcad870f1a04f3f2c84e6f41be93818c387","unresolved":false,"context_lines":[{"line_number":8,"context_line":"oslosphinx"},{"line_number":9,"context_line":"sphinx\u003e\u003d1.1.2,!\u003d1.2.0,\u003c1.3"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# To download Gerrit WAR we need SNI. For older Python we need these libraries."},{"line_number":12,"context_line":"pyopenssl;python_version\u003d\u003d\u00272.7\u0027"},{"line_number":13,"context_line":"ndg-httpsclient;python_version\u003d\u003d\u00272.7\u0027"},{"line_number":14,"context_line":"pyasn1;python_version\u003d\u003d\u00272.7\u0027"}],"source_content_type":"text/plain","patch_set":2,"id":"9a41bdd9_d0e6f315","line":11,"in_reply_to":"9a41bdd9_9af08acb","updated":"2015-07-16 23:33:21.000000000","message":"This verbage is taken literally from Yuri\u0027s patch and could stand improvement, I agree. In particular, the 2.6 is not affected. Only the older 2.7.x before 2.7.9 are affected (as much as I understand).\n\nFrankly I\u0027m not a fan of this whole segment and would prefer if we killed it as soon as 2.7.9 came online in the gate.","commit_id":"114af726e8cb0c7bfdf69f50843091f5131469df"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"bcbe28c193dde42e7952da609293f635789fadee","unresolved":false,"context_lines":[{"line_number":8,"context_line":"oslosphinx"},{"line_number":9,"context_line":"sphinx\u003e\u003d1.1.2,!\u003d1.2.0,\u003c1.3"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# To download Gerrit WAR we need SNI. For older Python we need these libraries."},{"line_number":12,"context_line":"pyopenssl;python_version\u003d\u003d\u00272.7\u0027"},{"line_number":13,"context_line":"ndg-httpsclient;python_version\u003d\u003d\u00272.7\u0027"},{"line_number":14,"context_line":"pyasn1;python_version\u003d\u003d\u00272.7\u0027"}],"source_content_type":"text/plain","patch_set":2,"id":"9a41bdd9_2ea900e0","line":11,"in_reply_to":"9a41bdd9_d0e6f315","updated":"2015-07-17 00:31:54.000000000","message":"Python 2.6.* and 2.7.x for x \u003c 9 cannot do SNI (it\u0027s not like they had it, removed it from the stdlib and then decided to re-add it at a later point in time). This does affect 2.6 but it seems it\u0027s not being used in that gate (for whatever reason). What we really want here is\n\n    python_version\u003c\u003d\u00272.7\u0027\n\nI don\u0027t think there\u0027s a good way to restrict by microversion though. lifeless would know.","commit_id":"114af726e8cb0c7bfdf69f50843091f5131469df"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"0ae16f958e8300b5ef07b4f3ee9df8b1bd0b1658","unresolved":false,"context_lines":[{"line_number":8,"context_line":"oslosphinx"},{"line_number":9,"context_line":"sphinx\u003e\u003d1.1.2,!\u003d1.2.0,\u003c1.3"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# To download Gerrit WAR we need SNI. For older Python we need these libraries."},{"line_number":12,"context_line":"pyopenssl;python_version\u003d\u003d\u00272.7\u0027"},{"line_number":13,"context_line":"ndg-httpsclient;python_version\u003d\u003d\u00272.7\u0027"},{"line_number":14,"context_line":"pyasn1;python_version\u003d\u003d\u00272.7\u0027"}],"source_content_type":"text/plain","patch_set":2,"id":"9a41bdd9_61f716f6","line":11,"in_reply_to":"9a41bdd9_de4a7dac","updated":"2015-07-17 04:20:38.000000000","message":"There is a full python version marker that can be used as well, but it has issues with 2.7.10 :).","commit_id":"114af726e8cb0c7bfdf69f50843091f5131469df"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"b4d64e2e2aa156d8a09ee4b1985f126521e7ee56","unresolved":false,"context_lines":[{"line_number":1,"context_line":"hacking\u003e\u003d0.10.0,\u003c0.11"},{"line_number":2,"context_line":"discover"},{"line_number":3,"context_line":"mock\u003e\u003d1.0;python_version!\u003d\u00272.6\u0027"},{"line_number":4,"context_line":"mock\u003d\u003d1.0.1;python_version\u003d\u003d\u00272.6\u0027"},{"line_number":5,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":6,"context_line":"testrepository\u003e\u003d0.0.18"},{"line_number":7,"context_line":"testtools\u003e\u003d0.9.34"}],"source_content_type":"text/plain","patch_set":3,"id":"3a50d1a3_ad6f09fb","line":4,"updated":"2015-07-31 19:34:47.000000000","message":"global requirements has just\n\n mock \u003e\u003d1.2\n\nand that supports 2.6. So there\u0027s no need for the split here.","commit_id":"d8ea4d185a976806f4746c732b6003f41555c4d5"}]}
