)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"6002569e59ec039bb9b9e34f3c56f5734ee066b6","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The tripleo-ansible-inventory command produces an inventory"},{"line_number":10,"context_line":"which works with TripleO but not with ceph-ansible. TripleO"},{"line_number":11,"context_line":"ceph-ansible integration then creates its own inventory for"},{"line_number":12,"context_line":"the ceph-ansible playbook run. This patch makes generating"},{"line_number":13,"context_line":"a separate inventory for ceph-ansible no longer necessary."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"TripleO services already map to the same inventory groups"},{"line_number":16,"context_line":"used by ceph-ansible, e.g. ceph_clients:clients, ceph_mons:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9fb8cfa7_aada1d14","line":13,"range":{"start_line":12,"start_character":31,"end_line":13,"end_character":58},"updated":"2019-06-06 01:53:26.000000000","message":"This THT change will test this with scenario 001/004\n\nhttps://review.opendev.org/#/c/660167/","commit_id":"eda89bdddeec757b96b51ee2ababca26944298cc"}],"tripleo_common/inventory.py":[{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"6002569e59ec039bb9b9e34f3c56f5734ee066b6","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        # a group \u0027ceph_mon\u0027 which has childen and vars, then"},{"line_number":305,"context_line":"        # the inventory will now also have a group \u0027mons\u0027 with"},{"line_number":306,"context_line":"        # the same children and vars."},{"line_number":307,"context_line":"        for service, roles in roles_by_service.copy().items():"},{"line_number":308,"context_line":"            if service in ceph_group_map.keys():"},{"line_number":309,"context_line":"                roles_by_service[ceph_group_map[service]] \u003d roles"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_0acb2972","line":307,"range":{"start_line":307,"start_character":46,"end_line":307,"end_character":53},"updated":"2019-06-06 01:53:26.000000000","message":"To avoid \u0027RuntimeError: dictionary changed size during iteration\u0027","commit_id":"eda89bdddeec757b96b51ee2ababca26944298cc"}],"tripleo_common/tests/test_inventory.py":[{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"6002569e59ec039bb9b9e34f3c56f5734ee066b6","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        \"nova_compute\","},{"line_number":41,"context_line":"        \"kernel\","},{"line_number":42,"context_line":"        \"tripleo_packages\","},{"line_number":43,"context_line":"        \"ceph_client\""},{"line_number":44,"context_line":"    ],"},{"line_number":45,"context_line":"    \"CephStorage\": ["},{"line_number":46,"context_line":"        \"kernel\","}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_aaf3fd9d","line":43,"updated":"2019-06-06 01:53:26.000000000","message":"I added the ceph_client service to the Compute role to test that this change generates a clients group as expected by ceph-ansible.","commit_id":"eda89bdddeec757b96b51ee2ababca26944298cc"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"64ededf34c1f80050dbb0173ae6e885f6b8f3dba","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                    \u0027container_cli\u0027: \u0027podman\u0027,"},{"line_number":205,"context_line":"                    \u0027ctlplane_vip\u0027: \u0027x.x.x.4\u0027,"},{"line_number":206,"context_line":"                    \u0027redis_vip\u0027: \u0027x.x.x.6\u0027}},"},{"line_number":207,"context_line":"            \u0027ceph_client\u0027: {"},{"line_number":208,"context_line":"                \u0027children\u0027: [\u0027Compute\u0027],"},{"line_number":209,"context_line":"                \u0027vars\u0027: {\u0027ansible_ssh_user\u0027: \u0027heat-admin\u0027}},"},{"line_number":210,"context_line":"            \u0027Undercloud\u0027: {"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_e55ecd74","line":207,"updated":"2019-06-10 13:48:47.000000000","message":"not sure why this is needed here?","commit_id":"45bfa4bdb9a1088c066307704b605f2b8d58b867"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"bb9a6c311ee8ff23d7c2bfd4930946f0151d2346","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                    \u0027container_cli\u0027: \u0027podman\u0027,"},{"line_number":205,"context_line":"                    \u0027ctlplane_vip\u0027: \u0027x.x.x.4\u0027,"},{"line_number":206,"context_line":"                    \u0027redis_vip\u0027: \u0027x.x.x.6\u0027}},"},{"line_number":207,"context_line":"            \u0027ceph_client\u0027: {"},{"line_number":208,"context_line":"                \u0027children\u0027: [\u0027Compute\u0027],"},{"line_number":209,"context_line":"                \u0027vars\u0027: {\u0027ansible_ssh_user\u0027: \u0027heat-admin\u0027}},"},{"line_number":210,"context_line":"            \u0027Undercloud\u0027: {"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_898ccb7f","line":207,"in_reply_to":"9fb8cfa7_45a9d921","updated":"2019-06-10 14:14:58.000000000","message":"Done","commit_id":"45bfa4bdb9a1088c066307704b605f2b8d58b867"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"9021c18761749c3f45cf9a05ab3f1dc4f043862f","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                    \u0027container_cli\u0027: \u0027podman\u0027,"},{"line_number":205,"context_line":"                    \u0027ctlplane_vip\u0027: \u0027x.x.x.4\u0027,"},{"line_number":206,"context_line":"                    \u0027redis_vip\u0027: \u0027x.x.x.6\u0027}},"},{"line_number":207,"context_line":"            \u0027ceph_client\u0027: {"},{"line_number":208,"context_line":"                \u0027children\u0027: [\u0027Compute\u0027],"},{"line_number":209,"context_line":"                \u0027vars\u0027: {\u0027ansible_ssh_user\u0027: \u0027heat-admin\u0027}},"},{"line_number":210,"context_line":"            \u0027Undercloud\u0027: {"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_45a9d921","line":207,"in_reply_to":"9fb8cfa7_a502153c","updated":"2019-06-10 13:57:41.000000000","message":"but there is a similar (better even) test on l397; this piece was not dealing with the services, I\u0027d remove it so it\u0027s cleaner","commit_id":"45bfa4bdb9a1088c066307704b605f2b8d58b867"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"ed9c499b49144a8deee122bf5401f561a9952fef","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                    \u0027container_cli\u0027: \u0027podman\u0027,"},{"line_number":205,"context_line":"                    \u0027ctlplane_vip\u0027: \u0027x.x.x.4\u0027,"},{"line_number":206,"context_line":"                    \u0027redis_vip\u0027: \u0027x.x.x.6\u0027}},"},{"line_number":207,"context_line":"            \u0027ceph_client\u0027: {"},{"line_number":208,"context_line":"                \u0027children\u0027: [\u0027Compute\u0027],"},{"line_number":209,"context_line":"                \u0027vars\u0027: {\u0027ansible_ssh_user\u0027: \u0027heat-admin\u0027}},"},{"line_number":210,"context_line":"            \u0027Undercloud\u0027: {"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_a502153c","line":207,"in_reply_to":"9fb8cfa7_e55ecd74","updated":"2019-06-10 13:52:03.000000000","message":"I made all of the mock or expected data structures consistent so that all of the examples would have ceph_client.\n\nI wanted ceph_client in my tests because ceph_client would trigger the new code and I could see if it produced a clients group.","commit_id":"45bfa4bdb9a1088c066307704b605f2b8d58b867"}]}
