)]}'
{"ansible/library/kolla_toolbox.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"398f5460e933ff832dd227ee6734d85cc9f880e7","unresolved":true,"context_lines":[{"line_number":118,"context_line":"                                       for key, value in module_args.items())"},{"line_number":119,"context_line":"        else:"},{"line_number":120,"context_line":"            if isinstance(module_args, str):"},{"line_number":121,"context_line":"                module_args \u003d json.loads(module_args.replace(\"\\\u0027\", \"\\\"\"))"},{"line_number":122,"context_line":"                module_args \u003d \u0027 \u0027.join(\"{}\u003d\u0027{}\u0027\".format(key, value)"},{"line_number":123,"context_line":"                                       for key, value in module_args.items())"},{"line_number":124,"context_line":"        command.extend([\u0027-a\u0027, module_args])"}],"source_content_type":"text/x-python","patch_set":11,"id":"53010b57_ad34fe64","line":121,"range":{"start_line":121,"start_character":41,"end_line":121,"end_character":72},"updated":"2021-09-07 08:41:51.000000000","message":"what kind of json is this?","commit_id":"ae836cb24490c98865f87d093d79d6ddedcbebbf"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f862dffa5a61ff05e12335440a5fa8a40ed20ca9","unresolved":true,"context_lines":[{"line_number":118,"context_line":"                                       for key, value in module_args.items())"},{"line_number":119,"context_line":"        else:"},{"line_number":120,"context_line":"            if isinstance(module_args, str):"},{"line_number":121,"context_line":"                module_args \u003d json.loads(module_args.replace(\"\\\u0027\", \"\\\"\"))"},{"line_number":122,"context_line":"                module_args \u003d \u0027 \u0027.join(\"{}\u003d\u0027{}\u0027\".format(key, value)"},{"line_number":123,"context_line":"                                       for key, value in module_args.items())"},{"line_number":124,"context_line":"        command.extend([\u0027-a\u0027, module_args])"}],"source_content_type":"text/x-python","patch_set":11,"id":"99680259_1d160a8b","line":121,"range":{"start_line":121,"start_character":41,"end_line":121,"end_character":72},"in_reply_to":"53010b57_ad34fe64","updated":"2021-09-07 12:39:39.000000000","message":"json with single quotes, and json requires double quotes - what can I tell - maybe it\u0027s a Python thing ;-) I guess we could replace that with json.dumps which would normalize the code.","commit_id":"ae836cb24490c98865f87d093d79d6ddedcbebbf"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"34e7a57893fe643431d2176645e330368725f07d","unresolved":true,"context_lines":[{"line_number":118,"context_line":"                                       for key, value in module_args.items())"},{"line_number":119,"context_line":"        else:"},{"line_number":120,"context_line":"            if isinstance(module_args, str):"},{"line_number":121,"context_line":"                module_args \u003d json.loads(module_args.replace(\"\\\u0027\", \"\\\"\"))"},{"line_number":122,"context_line":"                module_args \u003d \u0027 \u0027.join(\"{}\u003d\u0027{}\u0027\".format(key, value)"},{"line_number":123,"context_line":"                                       for key, value in module_args.items())"},{"line_number":124,"context_line":"        command.extend([\u0027-a\u0027, module_args])"}],"source_content_type":"text/x-python","patch_set":14,"id":"e3314f0f_6afec4f0","line":121,"range":{"start_line":121,"start_character":52,"end_line":121,"end_character":72},"updated":"2021-09-15 17:15:45.000000000","message":"why? it invalidates the comment above - meaning this was not really valid json","commit_id":"b641be43d26e3a48b4f6527fa342bc55fa832192"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"2d3da42716984d4c4422b435b83805ab8793881f","unresolved":true,"context_lines":[{"line_number":118,"context_line":"                                       for key, value in module_args.items())"},{"line_number":119,"context_line":"        else:"},{"line_number":120,"context_line":"            if isinstance(module_args, str):"},{"line_number":121,"context_line":"                module_args \u003d json.loads(module_args.replace(\"\\\u0027\", \"\\\"\"))"},{"line_number":122,"context_line":"                module_args \u003d \u0027 \u0027.join(\"{}\u003d\u0027{}\u0027\".format(key, value)"},{"line_number":123,"context_line":"                                       for key, value in module_args.items())"},{"line_number":124,"context_line":"        command.extend([\u0027-a\u0027, module_args])"}],"source_content_type":"text/x-python","patch_set":14,"id":"0ef9fbb1_9dd0bb3b","line":121,"range":{"start_line":121,"start_character":52,"end_line":121,"end_character":72},"in_reply_to":"e3314f0f_6afec4f0","updated":"2021-09-15 19:19:45.000000000","message":"It seems Python tends to do json-ish output with \u0027 instead of \" - where JSON explicitly requires \", but let me do json.dumps instead of this replace.","commit_id":"b641be43d26e3a48b4f6527fa342bc55fa832192"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"6e0c380fc7a0a5f2d4a686a479d2ccda15545f4d","unresolved":true,"context_lines":[{"line_number":118,"context_line":"                                       for key, value in module_args.items())"},{"line_number":119,"context_line":"        else:"},{"line_number":120,"context_line":"            if isinstance(module_args, str):"},{"line_number":121,"context_line":"                module_args \u003d json.loads(json.dumps(module_args))"},{"line_number":122,"context_line":"                module_args \u003d \u0027 \u0027.join(\"{}\u003d\u0027{}\u0027\".format(key, value)"},{"line_number":123,"context_line":"                                       for key, value in module_args.items())"},{"line_number":124,"context_line":"        command.extend([\u0027-a\u0027, module_args])"}],"source_content_type":"text/x-python","patch_set":16,"id":"07b73067_9018e462","line":121,"updated":"2021-09-16 10:02:13.000000000","message":"I have no idea what you want to do here now. But if you say it looks like \"Pythonish JSON\", then perhaps it\u0027s rather Python\u0027s stringified dict? Then use:\n\n  from ast import literal_eval\n  ...\n  literal_eval(module_args)","commit_id":"585d05fc3d063d446aa64eb2c59b54070ac28448"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"0836f376c6ccccbb3bdc889587d72544dba4358f","unresolved":true,"context_lines":[{"line_number":110,"context_line":"    if params.get(\u0027module_name\u0027):"},{"line_number":111,"context_line":"        command.extend([\u0027-m\u0027, params.get(\u0027module_name\u0027)])"},{"line_number":112,"context_line":"    if params.get(\u0027module_args\u0027):"},{"line_number":113,"context_line":"        module_args \u003d literal_eval(params.get(\u0027module_args\u0027))"},{"line_number":114,"context_line":"        if isinstance(module_args, dict):"},{"line_number":115,"context_line":"            module_args \u003d \u0027 \u0027.join(\"{}\u003d\u0027{}\u0027\".format(key, value)"},{"line_number":116,"context_line":"                                   for key, value in module_args.items())"}],"source_content_type":"text/x-python","patch_set":17,"id":"58e48369_a74676cd","line":113,"range":{"start_line":113,"start_character":22,"end_line":113,"end_character":34},"updated":"2021-09-23 10:19:10.000000000","message":"probably only for 2.11+","commit_id":"cba39e6de68c4b367143350fcd10c68d895ca418"}],"doc/source/user/quickstart.rst":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"398f5460e933ff832dd227ee6734d85cc9f880e7","unresolved":true,"context_lines":[{"line_number":138,"context_line":"   .. note::"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"      If the installed Ansible version does not meet the requirements, one can"},{"line_number":141,"context_line":"      use pip: ``sudo pip install -U \u0027ansible\u003c3.0\u0027``."},{"line_number":142,"context_line":"      Beware system package upgrades might interfere with that so it"},{"line_number":143,"context_line":"      is recommended to uninstall the system package first. One might be better"},{"line_number":144,"context_line":"      off with the virtual environment method to avoid this pitfall."}],"source_content_type":"text/x-rst","patch_set":11,"id":"5c6868f7_c4a0d526","line":141,"range":{"start_line":141,"start_character":46,"end_line":141,"end_character":49},"updated":"2021-09-07 08:41:51.000000000","message":"fixme","commit_id":"ae836cb24490c98865f87d093d79d6ddedcbebbf"}],"test-requirements.txt":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"398f5460e933ff832dd227ee6734d85cc9f880e7","unresolved":true,"context_lines":[{"line_number":13,"context_line":"docker\u003e\u003d2.4.2 # Apache-2.0"},{"line_number":14,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":15,"context_line":"stestr\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":16,"context_line":"ansible\u003e\u003d4.0.0,\u003c5.0 # GPLv3"}],"source_content_type":"text/plain","patch_set":11,"id":"2512ae8f_6b8cf33f","line":16,"range":{"start_line":16,"start_character":9,"end_line":16,"end_character":14},"updated":"2021-09-07 08:41:51.000000000","message":"Not 2.10?","commit_id":"ae836cb24490c98865f87d093d79d6ddedcbebbf"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"119e8b5f75ea2aff125530d8ed9e36e9a53bd701","unresolved":true,"context_lines":[{"line_number":13,"context_line":"docker\u003e\u003d2.4.2 # Apache-2.0"},{"line_number":14,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":15,"context_line":"stestr\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":16,"context_line":"ansible\u003e\u003d4.0.0,\u003c5.0 # GPLv3"}],"source_content_type":"text/plain","patch_set":11,"id":"82e59e1a_63e18768","line":16,"range":{"start_line":16,"start_character":9,"end_line":16,"end_character":14},"in_reply_to":"0ee7a64d_f5940d30","updated":"2021-09-07 12:43:32.000000000","message":"That\u0027s not what your reno says, nor what we are testing in upgrades. We only place limits on ansible-core","commit_id":"ae836cb24490c98865f87d093d79d6ddedcbebbf"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f862dffa5a61ff05e12335440a5fa8a40ed20ca9","unresolved":true,"context_lines":[{"line_number":13,"context_line":"docker\u003e\u003d2.4.2 # Apache-2.0"},{"line_number":14,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":15,"context_line":"stestr\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":16,"context_line":"ansible\u003e\u003d4.0.0,\u003c5.0 # GPLv3"}],"source_content_type":"text/plain","patch_set":11,"id":"0ee7a64d_f5940d30","line":16,"range":{"start_line":16,"start_character":9,"end_line":16,"end_character":14},"in_reply_to":"2512ae8f_6b8cf33f","updated":"2021-09-07 12:39:39.000000000","message":"Ansible is 3/4, ansible-core is 2.10/2.11 ;-)","commit_id":"ae836cb24490c98865f87d093d79d6ddedcbebbf"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f6710e33e19a5d20f3f15f6bf6ed30ec2a4b0d09","unresolved":true,"context_lines":[{"line_number":13,"context_line":"docker\u003e\u003d2.4.2 # Apache-2.0"},{"line_number":14,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":15,"context_line":"stestr\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":16,"context_line":"ansible\u003e\u003d4.0.0,\u003c5.0 # GPLv3"}],"source_content_type":"text/plain","patch_set":11,"id":"8a719563_ce06e438","line":16,"range":{"start_line":16,"start_character":9,"end_line":16,"end_character":14},"in_reply_to":"63963cad_f418d4e7","updated":"2021-09-07 18:13:12.000000000","message":"This says we need ansible\u003e\u003d4, but actually we require ansible\u003e\u003d2.10.","commit_id":"ae836cb24490c98865f87d093d79d6ddedcbebbf"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f1b2e8efc6bcbf99279ee59cd12557114d934279","unresolved":true,"context_lines":[{"line_number":13,"context_line":"docker\u003e\u003d2.4.2 # Apache-2.0"},{"line_number":14,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":15,"context_line":"stestr\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":16,"context_line":"ansible\u003e\u003d4.0.0,\u003c5.0 # GPLv3"}],"source_content_type":"text/plain","patch_set":11,"id":"63963cad_f418d4e7","line":16,"range":{"start_line":16,"start_character":9,"end_line":16,"end_character":14},"in_reply_to":"82e59e1a_63e18768","updated":"2021-09-07 16:41:43.000000000","message":"Well, if you do ansible --version - it shows the version of ansible-core, the rest of ansible pip package contents are just packaged collections.\nWe can switch to ansible-core package in test-requirements, but we would need to install collections that we rely on in a separate step - and that might take a bit longer to propose/merge.\nThe naming/split doesn\u0027t really help ;-)","commit_id":"ae836cb24490c98865f87d093d79d6ddedcbebbf"}],"tests/run.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"34e7a57893fe643431d2176645e330368725f07d","unresolved":true,"context_lines":[{"line_number":203,"context_line":"    - name: install kolla-ansible and dependencies"},{"line_number":204,"context_line":"      vars:"},{"line_number":205,"context_line":"        ansible_version_constraint: \"{{ \u0027\u003d\u003d2.10.*\u0027 if is_upgrade else \u0027\u003d\u003d4.*\u0027 }}\""},{"line_number":206,"context_line":"      pip:"},{"line_number":207,"context_line":"        name:"},{"line_number":208,"context_line":"          - \"{{ kolla_ansible_src_dir }}\""},{"line_number":209,"context_line":"          - \"ansible{{ ansible_version_constraint }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"b4507a35_183a4853","line":206,"range":{"start_line":206,"start_character":6,"end_line":206,"end_character":9},"updated":"2021-09-15 17:15:45.000000000","message":"no, please revert to the previous one to avoid quirks","commit_id":"b641be43d26e3a48b4f6527fa342bc55fa832192"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"2d3da42716984d4c4422b435b83805ab8793881f","unresolved":true,"context_lines":[{"line_number":203,"context_line":"    - name: install kolla-ansible and dependencies"},{"line_number":204,"context_line":"      vars:"},{"line_number":205,"context_line":"        ansible_version_constraint: \"{{ \u0027\u003d\u003d2.10.*\u0027 if is_upgrade else \u0027\u003d\u003d4.*\u0027 }}\""},{"line_number":206,"context_line":"      pip:"},{"line_number":207,"context_line":"        name:"},{"line_number":208,"context_line":"          - \"{{ kolla_ansible_src_dir }}\""},{"line_number":209,"context_line":"          - \"ansible{{ ansible_version_constraint }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"963e078a_51a9e6a3","line":206,"range":{"start_line":206,"start_character":6,"end_line":206,"end_character":9},"in_reply_to":"b4507a35_183a4853","updated":"2021-09-15 19:19:45.000000000","message":"Have no clue how it ended up in here, will do.","commit_id":"b641be43d26e3a48b4f6527fa342bc55fa832192"}]}
