)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"b61a2e95906fdf2bc2d5ba4cb10d5cecfa22301d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Jakub Libosvar \u003clibosvar@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-06-26 14:15:16 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"migration: Adopt new ansible-inventory output"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The tripleo-ansible-inventory output has changed recently. This patch"},{"line_number":10,"context_line":"adopts the new version and keeps backward compatibility with the old"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bf51134e_32a6a4ac","line":7,"range":{"start_line":7,"start_character":21,"end_line":7,"end_character":38},"updated":"2020-06-26 14:05:55.000000000","message":"tripleo-ansible-inventory","commit_id":"21d6fd696192398db756b4c59a1a9e82ba56dbee"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"cdfb933a7bb15bc4e10d79e703bb1fd90b9b590e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Jakub Libosvar \u003clibosvar@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-06-26 14:15:16 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"migration: Adopt new ansible-inventory output"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The tripleo-ansible-inventory output has changed recently. This patch"},{"line_number":10,"context_line":"adopts the new version and keeps backward compatibility with the old"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bf51134e_c7703a75","line":7,"range":{"start_line":7,"start_character":21,"end_line":7,"end_character":38},"in_reply_to":"bf51134e_32a6a4ac","updated":"2020-06-29 08:30:42.000000000","message":"Done","commit_id":"21d6fd696192398db756b4c59a1a9e82ba56dbee"}],"tools/ovn_migration/tripleo_environment/ovn_migration.sh":[{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"ff89f187c431b280b67949b8914bd5dfc3cc967b","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        # During the rocky cycle the format changed to have .value.hosts"},{"line_number":96,"context_line":"        hosts\u003d`jq -r --arg role \"$role\" \u0027to_entries[] | select(.key \u003d\u003d $role) | .value.hosts[]\u0027 $inventory_file`"},{"line_number":97,"context_line":"        if [[ \"x$hosts\" \u003d\u003d \"x\" ]]; then"},{"line_number":98,"context_line":"            # But we keep backwards compatibility with nested childrens (Queens)"},{"line_number":99,"context_line":"            hosts\u003d`jq -r --arg role \"$role\" \u0027to_entries[] | select(.key \u003d\u003d $role) | .value.children[]\u0027 $inventory_file`"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            for host in $hosts; do"}],"source_content_type":"text/x-sh","patch_set":1,"id":"bf51134e_8f7b0df3","side":"PARENT","line":98,"range":{"start_line":98,"start_character":14,"end_line":98,"end_character":80},"updated":"2020-06-26 13:27:31.000000000","message":"I assume we only need train+ compatibility","commit_id":"d9d273e53864acaa1266cda8996dfb6594e804ab"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"cdfb933a7bb15bc4e10d79e703bb1fd90b9b590e","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        # During the rocky cycle the format changed to have .value.hosts"},{"line_number":96,"context_line":"        hosts\u003d`jq -r --arg role \"$role\" \u0027to_entries[] | select(.key \u003d\u003d $role) | .value.hosts[]\u0027 $inventory_file`"},{"line_number":97,"context_line":"        if [[ \"x$hosts\" \u003d\u003d \"x\" ]]; then"},{"line_number":98,"context_line":"            # But we keep backwards compatibility with nested childrens (Queens)"},{"line_number":99,"context_line":"            hosts\u003d`jq -r --arg role \"$role\" \u0027to_entries[] | select(.key \u003d\u003d $role) | .value.children[]\u0027 $inventory_file`"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"            for host in $hosts; do"}],"source_content_type":"text/x-sh","patch_set":1,"id":"bf51134e_e7757e65","side":"PARENT","line":98,"range":{"start_line":98,"start_character":14,"end_line":98,"end_character":80},"in_reply_to":"bf51134e_8f7b0df3","updated":"2020-06-29 08:30:42.000000000","message":"Right","commit_id":"d9d273e53864acaa1266cda8996dfb6594e804ab"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"95bff227081e5ff499878564c92d611cfb1eda8e","unresolved":false,"context_lines":[{"line_number":24,"context_line":": ${STACKRC_FILE:\u003d~/stackrc}"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Complete overcloudrc file path."},{"line_number":27,"context_line":": ${OVERCLOUDRC_FILE:\u003d~/overcloudrc}"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# overcloud deploy script for OVN migration."},{"line_number":30,"context_line":": ${OVERCLOUD_OVN_DEPLOY_SCRIPT:\u003d~/overcloud-deploy-ovn.sh}"}],"source_content_type":"text/x-sh","patch_set":1,"id":"bf51134e_321504e6","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":20},"updated":"2020-06-26 13:56:12.000000000","message":"might be worth a note in the usage text to set OVERCLOUDRC_FILE and TRIPLEO_PLAN_NAME (used by tripleo-ansible-inventory) if the stack name is not the default","commit_id":"21d6fd696192398db756b4c59a1a9e82ba56dbee"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"cdfb933a7bb15bc4e10d79e703bb1fd90b9b590e","unresolved":false,"context_lines":[{"line_number":24,"context_line":": ${STACKRC_FILE:\u003d~/stackrc}"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Complete overcloudrc file path."},{"line_number":27,"context_line":": ${OVERCLOUDRC_FILE:\u003d~/overcloudrc}"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# overcloud deploy script for OVN migration."},{"line_number":30,"context_line":": ${OVERCLOUD_OVN_DEPLOY_SCRIPT:\u003d~/overcloud-deploy-ovn.sh}"}],"source_content_type":"text/x-sh","patch_set":1,"id":"bf51134e_875be2f3","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":20},"in_reply_to":"bf51134e_321504e6","updated":"2020-06-29 08:30:42.000000000","message":"I\u0027ll send a patch to document it at https://docs.openstack.org/networking-ovn/rocky/install/migration.html as this seems to be out of the scope of this patch.","commit_id":"21d6fd696192398db756b4c59a1a9e82ba56dbee"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"713f9a939438733ff031eefc84b1381aa38ba109","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    for cloud_role in $cloud_roles; do"},{"line_number":95,"context_line":"        roles\u003d$(jq -r  \\.$cloud_role\\.children\\[\\] $inventory_file 2\u003e /dev/null)"},{"line_number":96,"context_line":"        if [ $? -ne 0 ]; then"},{"line_number":97,"context_line":"           roles\u003d$cloud_roles"},{"line_number":98,"context_line":"        fi"},{"line_number":99,"context_line":"        for role in $roles; do"},{"line_number":100,"context_line":"            hosts\u003d$(jq -r --arg role \"$role\" \u0027to_entries[] | select(.key \u003d\u003d $role) | .value.hosts[]\u0027 $inventory_file)"}],"source_content_type":"text/x-sh","patch_set":1,"id":"bf51134e_00f6aad7","line":97,"updated":"2020-06-26 15:39:37.000000000","message":"pep8: E003 Indent not multiple of 4","commit_id":"21d6fd696192398db756b4c59a1a9e82ba56dbee"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a5b066ffe41e6ea81a0e93318a573c3e178b7e57","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    for cloud_role in $cloud_roles; do"},{"line_number":95,"context_line":"        roles\u003d$(jq -r  \\.$cloud_role\\.children\\[\\] $inventory_file 2\u003e /dev/null)"},{"line_number":96,"context_line":"        if [ $? -ne 0 ]; then"},{"line_number":97,"context_line":"            roles\u003d$cloud_roles"},{"line_number":98,"context_line":"        fi"},{"line_number":99,"context_line":"        for role in $roles; do"},{"line_number":100,"context_line":"            hosts\u003d$(jq -r --arg role \"$role\" \u0027to_entries[] | select(.key \u003d\u003d $role) | .value.hosts[]\u0027 $inventory_file)"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bf51134e_afe874e1","line":97,"range":{"start_line":97,"start_character":18,"end_line":97,"end_character":30},"updated":"2020-06-29 19:59:18.000000000","message":"I don\u0027t really have the knowledge of this code to know if it\u0027s correct, but I am curious why this isn\u0027t $cloud_role - else couldn\u0027t the below loop add duplicate host names?","commit_id":"38698a3297939f1940b56a81b4fa2a9cb2a4997c"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"ee048e9a1a5ed9228407a5f9cbbf7617583f273b","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    for cloud_role in $cloud_roles; do"},{"line_number":95,"context_line":"        roles\u003d$(jq -r  \\.$cloud_role\\.children\\[\\] $inventory_file 2\u003e /dev/null)"},{"line_number":96,"context_line":"        if [ $? -ne 0 ]; then"},{"line_number":97,"context_line":"            roles\u003d$cloud_roles"},{"line_number":98,"context_line":"        fi"},{"line_number":99,"context_line":"        for role in $roles; do"},{"line_number":100,"context_line":"            hosts\u003d$(jq -r --arg role \"$role\" \u0027to_entries[] | select(.key \u003d\u003d $role) | .value.hosts[]\u0027 $inventory_file)"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bf51134e_eab07ee0","line":97,"range":{"start_line":97,"start_character":18,"end_line":97,"end_character":30},"in_reply_to":"bf51134e_47036310","updated":"2020-07-01 13:00:53.000000000","message":"..but this check is in the wrong place. Line 93 will return non-zero when it\u0027s the old format","commit_id":"38698a3297939f1940b56a81b4fa2a9cb2a4997c"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"016042c0cc5ccaa4961d7b0bafe9766c744dfbb3","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    for cloud_role in $cloud_roles; do"},{"line_number":95,"context_line":"        roles\u003d$(jq -r  \\.$cloud_role\\.children\\[\\] $inventory_file 2\u003e /dev/null)"},{"line_number":96,"context_line":"        if [ $? -ne 0 ]; then"},{"line_number":97,"context_line":"            roles\u003d$cloud_roles"},{"line_number":98,"context_line":"        fi"},{"line_number":99,"context_line":"        for role in $roles; do"},{"line_number":100,"context_line":"            hosts\u003d$(jq -r --arg role \"$role\" \u0027to_entries[] | select(.key \u003d\u003d $role) | .value.hosts[]\u0027 $inventory_file)"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bf51134e_47036310","line":97,"range":{"start_line":97,"start_character":18,"end_line":97,"end_character":30},"in_reply_to":"bf51134e_afe874e1","updated":"2020-07-01 12:28:06.000000000","message":"There are two possible structures:\n\n(old)\nController:\n  hosts:\n    overcloud-controller-0: {}\n\n(new)\nController:\n  children:\n  - overcloud_Controller\novercloud_Controller:\n  hosts:\n    overcloud-controller-0: {}\n\n(new with multiple stacks)\nCompute:\n  children:\n  - overcloud_Compute\n  - otherstack_Compute\novercloud_Compute:\n  hosts:\n    overcloud-compute-0: {}\notherstack_Compute:\n  hosts:\n    otherstack-compute-0: {}\n\n\nThis condition is just to fall back to the old format.\n\nHosts cannot have multiple roles so shouldn\u0027t have duplicates.","commit_id":"38698a3297939f1940b56a81b4fa2a9cb2a4997c"},{"author":{"_account_id":23811,"name":"Oliver Walsh","email":"owalsh@redhat.com","username":"owalsh"},"change_message_id":"284bdffdd05e8d51c1e610d07e0c5ce59e2bb7b6","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    for cloud_role in $cloud_roles; do"},{"line_number":95,"context_line":"        roles\u003d$(jq -r  \\.$cloud_role\\.children\\[\\] $inventory_file 2\u003e /dev/null)"},{"line_number":96,"context_line":"        if [ $? -ne 0 ]; then"},{"line_number":97,"context_line":"            roles\u003d$cloud_roles"},{"line_number":98,"context_line":"        fi"},{"line_number":99,"context_line":"        for role in $roles; do"},{"line_number":100,"context_line":"            hosts\u003d$(jq -r --arg role \"$role\" \u0027to_entries[] | select(.key \u003d\u003d $role) | .value.hosts[]\u0027 $inventory_file)"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bf51134e_b14b8b5d","line":97,"range":{"start_line":97,"start_character":18,"end_line":97,"end_character":30},"in_reply_to":"bf51134e_eab07ee0","updated":"2020-07-02 09:49:34.000000000","message":"Actually it happens to work because this function is passed a service name and not a role name as the function name suggests.\n\nMight be easier to just abandon this and switch to using ansible-inventory in https://review.opendev.org/738212 (I\u0027d just need to rebase it). I\u0027ve already tested it with real inventories and for both services and role inventory groups.\nThe command has been available since ansible 2.4 and the output has been stable ever since - should be safe to backport the to stable/train","commit_id":"38698a3297939f1940b56a81b4fa2a9cb2a4997c"}]}
