)]}'
{"neutron/cmd/sanity/checks.py":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"ada06b7424db34da791cc89cab021bb3f1d73d5e","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        env \u003d {\u0027LC_ALL\u0027: \u0027C\u0027}"},{"line_number":222,"context_line":"        out \u003d agent_utils.execute(cmd, addl_env\u003denv)"},{"line_number":223,"context_line":"        m \u003d re.search(r\"version (\\d+\\.\\d+)\", out)"},{"line_number":224,"context_line":"        ver \u003d versionutils.convert_version_to_tuple(m.group(1) if m else \u00270.0\u0027)"},{"line_number":225,"context_line":"        minver \u003d versionutils.convert_version_to_tuple(MINIMUM_DNSMASQ_VERSION)"},{"line_number":226,"context_line":"        if ver \u003c minver:"},{"line_number":227,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_966af1e9","line":224,"updated":"2020-01-16 13:36:25.000000000","message":"A fun historical note: The whole reason sanity checks were written (by me) in the first place was to do *real* tests for support of features instead of checking version numbers, since version numbers don\u0027t actually tell us anything when distros do backports of features. Oh well!","commit_id":"7efc3af51f5a8045df5c3492e4cf2d6bf7295eed"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fe4917dbd64dc8f9641a5240897def24f3750fa7","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        env \u003d {\u0027LC_ALL\u0027: \u0027C\u0027}"},{"line_number":222,"context_line":"        out \u003d agent_utils.execute(cmd, addl_env\u003denv)"},{"line_number":223,"context_line":"        m \u003d re.search(r\"version (\\d+\\.\\d+)\", out)"},{"line_number":224,"context_line":"        ver \u003d versionutils.convert_version_to_tuple(m.group(1) if m else \u00270.0\u0027)"},{"line_number":225,"context_line":"        minver \u003d versionutils.convert_version_to_tuple(MINIMUM_DNSMASQ_VERSION)"},{"line_number":226,"context_line":"        if ver \u003c minver:"},{"line_number":227,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_dd4ac458","line":224,"in_reply_to":"3fa7e38b_0717ad48","updated":"2020-01-16 16:25:50.000000000","message":"I was using the methodology used in \"obj_make_compatible\", but version.StrictVersion is more robust.","commit_id":"7efc3af51f5a8045df5c3492e4cf2d6bf7295eed"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"7d9400610d27889d35da7651d78d994bdec88549","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        env \u003d {\u0027LC_ALL\u0027: \u0027C\u0027}"},{"line_number":222,"context_line":"        out \u003d agent_utils.execute(cmd, addl_env\u003denv)"},{"line_number":223,"context_line":"        m \u003d re.search(r\"version (\\d+\\.\\d+)\", out)"},{"line_number":224,"context_line":"        ver \u003d versionutils.convert_version_to_tuple(m.group(1) if m else \u00270.0\u0027)"},{"line_number":225,"context_line":"        minver \u003d versionutils.convert_version_to_tuple(MINIMUM_DNSMASQ_VERSION)"},{"line_number":226,"context_line":"        if ver \u003c minver:"},{"line_number":227,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_0717ad48","line":224,"in_reply_to":"3fa7e38b_966af1e9","updated":"2020-01-16 14:57:54.000000000","message":"Why don\u0027t we just use distutils.version like skip_if_ovs_older_than() does?","commit_id":"7efc3af51f5a8045df5c3492e4cf2d6bf7295eed"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"4d0cc6cb69e7bbd8b5e509c8f830961d756082a0","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":"from distutils import version"},{"line_number":17,"context_line":"import re"},{"line_number":18,"context_line":"import shutil"},{"line_number":19,"context_line":"import tempfile"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_fa7671a3","line":16,"range":{"start_line":16,"start_character":22,"end_line":16,"end_character":29},"updated":"2020-01-21 08:46:53.000000000","message":"pep8 fails on this, like its not properly installed with py3?\nshould installed with python3-distutils","commit_id":"b1d8290cdb06111d7e4586256d53f451a55adf0d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fbd77f89207488db453005373f2e8c4dd1423b60","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":"from distutils import version"},{"line_number":17,"context_line":"import re"},{"line_number":18,"context_line":"import shutil"},{"line_number":19,"context_line":"import tempfile"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_e3156c4d","line":16,"range":{"start_line":16,"start_character":22,"end_line":16,"end_character":29},"in_reply_to":"3fa7e38b_fa7671a3","updated":"2020-01-24 10:58:12.000000000","message":"We have the same import in tests.common.helpers","commit_id":"b1d8290cdb06111d7e4586256d53f451a55adf0d"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"6597bf0f139ee48f92164f0a886283c6546c8e2b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"MINIMUM_DNSMASQ_VERSION \u003d 2.67"},{"line_number":45,"context_line":"DNSMASQ_VERSION_DHCP_RELEASE6 \u003d 2.76"},{"line_number":46,"context_line":"MINIMUM_DIBBLER_VERSION \u003d \u00271.0.1\u0027"},{"line_number":47,"context_line":"CONNTRACK_GRE_MODULE \u003d \u0027nf_conntrack_proto_gre\u0027"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_0ed52847","line":45,"range":{"start_line":44,"start_character":0,"end_line":45,"end_character":36},"updated":"2020-01-23 12:51:06.000000000","message":"Maybe it\u0027s a better idea to change these constants to strings rather than converting them in line 226?\n\nMINIMUM_DNSMASQ_VERSION \u003d \u00272.67\u0027\n\nOr even as StrictVersion objects?\n\nMINIMUM_DNSMASQ_VERSION \u003d distutils.version.StrictVersion(\u00272.67\u0027)\n\nBoth seem better than storing version numbers as floats.","commit_id":"28bd89337cc48fa039585900a21c7aa176aa3b76"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"aa5d345ff7daf92491c7d3d885890a88032d7f24","unresolved":false,"context_lines":[{"line_number":41,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"MINIMUM_DNSMASQ_VERSION \u003d 2.67"},{"line_number":45,"context_line":"DNSMASQ_VERSION_DHCP_RELEASE6 \u003d 2.76"},{"line_number":46,"context_line":"MINIMUM_DIBBLER_VERSION \u003d \u00271.0.1\u0027"},{"line_number":47,"context_line":"CONNTRACK_GRE_MODULE \u003d \u0027nf_conntrack_proto_gre\u0027"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_bfb755f8","line":45,"range":{"start_line":44,"start_character":0,"end_line":45,"end_character":36},"in_reply_to":"3fa7e38b_0ed52847","updated":"2020-01-23 23:49:00.000000000","message":"Done","commit_id":"28bd89337cc48fa039585900a21c7aa176aa3b76"}]}
