)]}'
{"tripleo_ansible/ansible_plugins/filter/helpers.py":[{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"515bdc1f67bfb1187e61b1ec4fd8d8baf38d508a","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            # e.g. new TRIPLEO_CONFIG_HASH during a minor update"},{"line_number":98,"context_line":"            c_facts \u003d [c[\u0027Config\u0027][\u0027Labels\u0027][\u0027config_data\u0027]"},{"line_number":99,"context_line":"                       for c in container_infos if c_name \u003d\u003d c[\u0027Name\u0027]]"},{"line_number":100,"context_line":"            c_facts \u003d c_facts[0] if len(c_facts) \u003d\u003d 1 else {}"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"            # don\u0027t try to remove a container which doesn\u0027t exist"},{"line_number":103,"context_line":"            if c_name not in installed_containers:"}],"source_content_type":"text/x-python","patch_set":35,"id":"3fa7e38b_9df03069","line":100,"range":{"start_line":100,"start_character":22,"end_line":100,"end_character":61},"updated":"2019-11-03 11:28:26.000000000","message":"c_facts[0] is a string, so should be \n\n  else \u0027{}\u0027 ?","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"515bdc1f67bfb1187e61b1ec4fd8d8baf38d508a","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            if \u0027start_order\u0027 not in config_data:"},{"line_number":111,"context_line":"                config_data[\u0027start_order\u0027] \u003d 0"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"            if c_facts !\u003d json.dumps(config_data):"},{"line_number":114,"context_line":"                to_delete +\u003d [c_name]"},{"line_number":115,"context_line":"                continue"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"3fa7e38b_bdf3ac72","line":113,"range":{"start_line":113,"start_character":12,"end_line":113,"end_character":50},"updated":"2019-11-03 11:28:26.000000000","message":"c_facts should be a string here when comparing to json.dumps. But dictionaries better to compare as dictionaries, not as strings, because different order of keys in dump for example. I\u0027d do like:\n\n  if json.loads(c_facts) !\u003d config_data:","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"9e2d70b197fc6897f8f5366d719fa91e6aedf695","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            if \u0027start_order\u0027 not in config_data:"},{"line_number":111,"context_line":"                config_data[\u0027start_order\u0027] \u003d 0"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"            if c_facts !\u003d json.dumps(config_data):"},{"line_number":114,"context_line":"                to_delete +\u003d [c_name]"},{"line_number":115,"context_line":"                continue"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"3fa7e38b_5684d5b0","line":113,"range":{"start_line":113,"start_character":12,"end_line":113,"end_character":50},"in_reply_to":"3fa7e38b_bdf3ac72","updated":"2019-11-04 08:30:01.000000000","message":"I\u0027m unsure, let\u0027s talk about it on IRC when you can. I tested this code and it worked fine.","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"62d2640e9954cd55b6a64711bdc9f810c6998a13","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                config_data[\u0027start_order\u0027] \u003d 0"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"            # TODO(emilien) double check the comparing here and see if"},{"line_number":114,"context_line":"            # types are accurate (string vs dict, etc)"},{"line_number":115,"context_line":"            if c_facts !\u003d json.dumps(config_data):"},{"line_number":116,"context_line":"                to_delete +\u003d [c_name]"},{"line_number":117,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":37,"id":"3fa7e38b_f56db42e","line":114,"updated":"2019-11-04 14:38:26.000000000","message":"I\u0027ll look at that later, let\u0027s go with this code for now","commit_id":"e94c949e1dee9ede8914328892a92e41df516bfa"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"6806fbdab00fe813de50fc452f9f5881cd98c4d6","unresolved":false,"context_lines":[{"line_number":123,"context_line":"            if \u0027start_order\u0027 not in config_data:"},{"line_number":124,"context_line":"                config_data[\u0027start_order\u0027] \u003d 0"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"            # TODO(emilien) double check the comparing here and see if"},{"line_number":127,"context_line":"            # types are accurate (string vs dict, etc)"},{"line_number":128,"context_line":"            if c_facts !\u003d json.dumps(config_data):"},{"line_number":129,"context_line":"                to_delete +\u003d [c_name]"},{"line_number":130,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":40,"id":"3fa7e38b_2b051a11","line":127,"range":{"start_line":126,"start_character":12,"end_line":127,"end_character":54},"updated":"2019-11-05 23:18:14.000000000","message":"is there case when c_facts \u003d json.dumps(config_data) and we can check this works?","commit_id":"7e41e0642de46e9c410278afc4ad150ce551fe88"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"23643fbd06b0b8e4d55b08baca93e0c9fa5030ca","unresolved":false,"context_lines":[{"line_number":123,"context_line":"            if \u0027start_order\u0027 not in config_data:"},{"line_number":124,"context_line":"                config_data[\u0027start_order\u0027] \u003d 0"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"            # TODO(emilien) double check the comparing here and see if"},{"line_number":127,"context_line":"            # types are accurate (string vs dict, etc)"},{"line_number":128,"context_line":"            if c_facts !\u003d json.dumps(config_data):"},{"line_number":129,"context_line":"                to_delete +\u003d [c_name]"},{"line_number":130,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":40,"id":"3fa7e38b_3f31d05a","line":127,"range":{"start_line":126,"start_character":12,"end_line":127,"end_character":54},"in_reply_to":"3fa7e38b_2b051a11","updated":"2019-11-06 09:21:37.000000000","message":"yeah I tested it, it works fine.\nIn order to test it, you just need to redeploy a container, which will have the same configuration, and you\u0027ll see it won\u0027t be deleted.","commit_id":"7e41e0642de46e9c410278afc4ad150ce551fe88"}],"tripleo_ansible/roles/tripleo-container-manage/filter_plugins/helpers.py":[{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c0e4429c3f681740ad1b7c586ce5571296970b2d","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            # Since we already cleaned the containers not in config, this check needs to be in that loop."},{"line_number":89,"context_line":"            # e.g. new TRIPLEO_CONFIG_HASH during a minor update"},{"line_number":90,"context_line":"            #if podman_infos.get(c_name)[\u0027Config\u0027][\u0027Labels\u0027].get(\u0027config_data\u0027) !\u003d config_data:"},{"line_number":91,"context_line":"            if [c[\u0027Config\u0027][\u0027Labels\u0027].get(\u0027config_data\u0027) for c in podman_infos if c_name \u003d\u003d c[\u0027Name\u0027]] !\u003d config_data:"},{"line_number":92,"context_line":"                to_delete +\u003d [c_name]"},{"line_number":93,"context_line":"                continue"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"3fa7e38b_d5e574a5","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":118},"updated":"2019-10-28 12:54:49.000000000","message":"line length. We should look to wrap or break it down into a couple statements.","commit_id":"88810af474883f6d57e05e88bb3ac3fb4554234b"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"d2fd0b8dff7422b0f8886e6c973d92403f3864d1","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            # Since we already cleaned the containers not in config, this check needs to be in that loop."},{"line_number":89,"context_line":"            # e.g. new TRIPLEO_CONFIG_HASH during a minor update"},{"line_number":90,"context_line":"            #if podman_infos.get(c_name)[\u0027Config\u0027][\u0027Labels\u0027].get(\u0027config_data\u0027) !\u003d config_data:"},{"line_number":91,"context_line":"            if [c[\u0027Config\u0027][\u0027Labels\u0027].get(\u0027config_data\u0027) for c in podman_infos if c_name \u003d\u003d c[\u0027Name\u0027]] !\u003d config_data:"},{"line_number":92,"context_line":"                to_delete +\u003d [c_name]"},{"line_number":93,"context_line":"                continue"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"3fa7e38b_70d84b52","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":118},"in_reply_to":"3fa7e38b_d5e574a5","updated":"2019-11-01 11:27:25.000000000","message":"Done","commit_id":"88810af474883f6d57e05e88bb3ac3fb4554234b"}],"tripleo_ansible/roles/tripleo-container-manage/tasks/create_podman.yaml":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"0f83a8536dd150bbc13a3392dc6d848f4db96f0a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# Copyright 2019 Red Hat, Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"3fa7e38b_00a8621d","line":1,"updated":"2019-11-01 18:29:40.000000000","message":"should be .yml","commit_id":"4d569a3da4bd92bce04a99b6c9b6b890717a1ba8"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"515bdc1f67bfb1187e61b1ec4fd8d8baf38d508a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"          fail:"},{"line_number":29,"context_line":"            msg: \"Can\u0027t run container exec for {{ item.0 }}, {{ item.1.command.0 }} is not running\""},{"line_number":30,"context_line":"          when:"},{"line_number":31,"context_line":"            - not podman_containers.ansible_facts.podman_containers.0.State.Running"},{"line_number":32,"context_line":"    - name: \"Prepare the exec command for {{ item.0 }}\""},{"line_number":33,"context_line":"      set_fact:"},{"line_number":34,"context_line":"        cmd_template:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_5de638b2","line":31,"range":{"start_line":31,"start_character":14,"end_line":31,"end_character":47},"updated":"2019-11-03 11:28:26.000000000","message":"You use \"podman_containers\" variable from deleted task.","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"aaa1ca6cebd445eda166dbf4f877bb1c8451e448","unresolved":false,"context_lines":[{"line_number":28,"context_line":"          fail:"},{"line_number":29,"context_line":"            msg: \"Can\u0027t run container exec for {{ item.0 }}, {{ item.1.command.0 }} is not running\""},{"line_number":30,"context_line":"          when:"},{"line_number":31,"context_line":"            - not podman_containers.ansible_facts.podman_containers.0.State.Running"},{"line_number":32,"context_line":"    - name: \"Prepare the exec command for {{ item.0 }}\""},{"line_number":33,"context_line":"      set_fact:"},{"line_number":34,"context_line":"        cmd_template:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_ac605ca6","line":31,"range":{"start_line":31,"start_character":14,"end_line":31,"end_character":47},"in_reply_to":"3fa7e38b_31604301","updated":"2019-11-04 11:44:57.000000000","message":"in main","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"9e2d70b197fc6897f8f5366d719fa91e6aedf695","unresolved":false,"context_lines":[{"line_number":28,"context_line":"          fail:"},{"line_number":29,"context_line":"            msg: \"Can\u0027t run container exec for {{ item.0 }}, {{ item.1.command.0 }} is not running\""},{"line_number":30,"context_line":"          when:"},{"line_number":31,"context_line":"            - not podman_containers.ansible_facts.podman_containers.0.State.Running"},{"line_number":32,"context_line":"    - name: \"Prepare the exec command for {{ item.0 }}\""},{"line_number":33,"context_line":"      set_fact:"},{"line_number":34,"context_line":"        cmd_template:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_d67c45ec","line":31,"range":{"start_line":31,"start_character":14,"end_line":31,"end_character":47},"in_reply_to":"3fa7e38b_5de638b2","updated":"2019-11-04 08:30:01.000000000","message":"yeah, that was intentional. Is it a problem?","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"fc978da1766e0a2555719e2df27fb0cb28b7eabb","unresolved":false,"context_lines":[{"line_number":28,"context_line":"          fail:"},{"line_number":29,"context_line":"            msg: \"Can\u0027t run container exec for {{ item.0 }}, {{ item.1.command.0 }} is not running\""},{"line_number":30,"context_line":"          when:"},{"line_number":31,"context_line":"            - not podman_containers.ansible_facts.podman_containers.0.State.Running"},{"line_number":32,"context_line":"    - name: \"Prepare the exec command for {{ item.0 }}\""},{"line_number":33,"context_line":"      set_fact:"},{"line_number":34,"context_line":"        cmd_template:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_31604301","line":31,"range":{"start_line":31,"start_character":14,"end_line":31,"end_character":47},"in_reply_to":"3fa7e38b_d67c45ec","updated":"2019-11-04 10:23:29.000000000","message":"But you delete task \"Gather podman infos for {{ item.1.command.0 }}\"\n\nWhere is it defined then?","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"}],"tripleo_ansible/roles/tripleo-container-manage/tasks/delete_podman.yaml":[{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c0e4429c3f681740ad1b7c586ce5571296970b2d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"3fa7e38b_95037c42","updated":"2019-10-28 12:54:49.000000000","message":"boilerplate headers.\n\nWe should also add spaces between the tasks for readability.","commit_id":"88810af474883f6d57e05e88bb3ac3fb4554234b"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"d2fd0b8dff7422b0f8886e6c973d92403f3864d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"3fa7e38b_50b8afc6","in_reply_to":"3fa7e38b_95037c42","updated":"2019-11-01 11:27:25.000000000","message":"Done","commit_id":"88810af474883f6d57e05e88bb3ac3fb4554234b"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c0e4429c3f681740ad1b7c586ce5571296970b2d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# here we need to get the container config from item"},{"line_number":3,"context_line":"- name: Manage systemd healthcheck for {{ item }}"},{"line_number":4,"context_line":"  when:"},{"line_number":5,"context_line":"    - not (container_healthcheck_disabled | default(false))"},{"line_number":6,"context_line":"    # - item.1.healthcheck is defined"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3fa7e38b_15954ce4","line":3,"range":{"start_line":3,"start_character":8,"end_line":3,"end_character":49},"updated":"2019-10-28 12:54:49.000000000","message":"all lines using brace expansions should be quoted.","commit_id":"88810af474883f6d57e05e88bb3ac3fb4554234b"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"d2fd0b8dff7422b0f8886e6c973d92403f3864d1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# here we need to get the container config from item"},{"line_number":3,"context_line":"- name: Manage systemd healthcheck for {{ item }}"},{"line_number":4,"context_line":"  when:"},{"line_number":5,"context_line":"    - not (container_healthcheck_disabled | default(false))"},{"line_number":6,"context_line":"    # - item.1.healthcheck is defined"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3fa7e38b_10e317da","line":3,"range":{"start_line":3,"start_character":8,"end_line":3,"end_character":49},"in_reply_to":"3fa7e38b_15954ce4","updated":"2019-11-01 11:27:25.000000000","message":"Done","commit_id":"88810af474883f6d57e05e88bb3ac3fb4554234b"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c0e4429c3f681740ad1b7c586ce5571296970b2d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        name: \"tripleo_{{ item }}_healthcheck.timer\""},{"line_number":12,"context_line":"        enabled: false"},{"line_number":13,"context_line":"      ignore_errors: true"},{"line_number":14,"context_line":"    - name: Delete systemd timer file for {{ item}}"},{"line_number":15,"context_line":"      file:"},{"line_number":16,"context_line":"        path: \"/etc/systemd/system/tripleo_{{ item }}_healthcheck.timer\""},{"line_number":17,"context_line":"        state: absent"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3fa7e38b_359ac813","line":14,"range":{"start_line":14,"start_character":49,"end_line":14,"end_character":51},"updated":"2019-10-28 12:54:49.000000000","message":"needs an extra space.","commit_id":"88810af474883f6d57e05e88bb3ac3fb4554234b"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"d2fd0b8dff7422b0f8886e6c973d92403f3864d1","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        name: \"tripleo_{{ item }}_healthcheck.timer\""},{"line_number":12,"context_line":"        enabled: false"},{"line_number":13,"context_line":"      ignore_errors: true"},{"line_number":14,"context_line":"    - name: Delete systemd timer file for {{ item}}"},{"line_number":15,"context_line":"      file:"},{"line_number":16,"context_line":"        path: \"/etc/systemd/system/tripleo_{{ item }}_healthcheck.timer\""},{"line_number":17,"context_line":"        state: absent"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3fa7e38b_d03edf27","line":14,"range":{"start_line":14,"start_character":49,"end_line":14,"end_character":51},"in_reply_to":"3fa7e38b_359ac813","updated":"2019-11-01 11:27:25.000000000","message":"Done","commit_id":"88810af474883f6d57e05e88bb3ac3fb4554234b"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"0f83a8536dd150bbc13a3392dc6d848f4db96f0a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# Copyright 2019 Red Hat, Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"3fa7e38b_20a31e45","line":1,"updated":"2019-11-01 18:29:40.000000000","message":".yml","commit_id":"4d569a3da4bd92bce04a99b6c9b6b890717a1ba8"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"515bdc1f67bfb1187e61b1ec4fd8d8baf38d508a","unresolved":false,"context_lines":[{"line_number":72,"context_line":"  when: systemd_file_deleted.changed or systemd_requires_deleted.changed"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: \"Remove container {{ item }}\""},{"line_number":75,"context_line":"  command: \"{{ tripleo_container_manage_cli }} rm -f {{ item }}\""},{"line_number":76,"context_line":"  ignore_errors: true"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_fdf4c456","line":75,"range":{"start_line":75,"start_character":2,"end_line":75,"end_character":64},"updated":"2019-11-03 11:28:26.000000000","message":"why not to use podman_container module for that?\n\npodman_container:\n  name: {{ item }}\n  state: absent","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"fc978da1766e0a2555719e2df27fb0cb28b7eabb","unresolved":false,"context_lines":[{"line_number":72,"context_line":"  when: systemd_file_deleted.changed or systemd_requires_deleted.changed"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: \"Remove container {{ item }}\""},{"line_number":75,"context_line":"  command: \"{{ tripleo_container_manage_cli }} rm -f {{ item }}\""},{"line_number":76,"context_line":"  ignore_errors: true"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_91457771","line":75,"range":{"start_line":75,"start_character":2,"end_line":75,"end_character":64},"in_reply_to":"3fa7e38b_5668551f","updated":"2019-11-04 10:23:29.000000000","message":"Hmm.. it shouldn\u0027t require an image when deleting, I\u0027ll look","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"aaa1ca6cebd445eda166dbf4f877bb1c8451e448","unresolved":false,"context_lines":[{"line_number":72,"context_line":"  when: systemd_file_deleted.changed or systemd_requires_deleted.changed"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: \"Remove container {{ item }}\""},{"line_number":75,"context_line":"  command: \"{{ tripleo_container_manage_cli }} rm -f {{ item }}\""},{"line_number":76,"context_line":"  ignore_errors: true"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_ec69748b","line":75,"range":{"start_line":75,"start_character":2,"end_line":75,"end_character":64},"in_reply_to":"3fa7e38b_91457771","updated":"2019-11-04 11:44:57.000000000","message":"Done","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"9e2d70b197fc6897f8f5366d719fa91e6aedf695","unresolved":false,"context_lines":[{"line_number":72,"context_line":"  when: systemd_file_deleted.changed or systemd_requires_deleted.changed"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: \"Remove container {{ item }}\""},{"line_number":75,"context_line":"  command: \"{{ tripleo_container_manage_cli }} rm -f {{ item }}\""},{"line_number":76,"context_line":"  ignore_errors: true"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_5668551f","line":75,"range":{"start_line":75,"start_character":2,"end_line":75,"end_character":64},"in_reply_to":"3fa7e38b_fdf4c456","updated":"2019-11-04 08:30:01.000000000","message":"yeah I wanted to do that, but the podman_container module required \"image\" at the time I wrote this. Can we make \"image\" optional in podman_container?","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"fc978da1766e0a2555719e2df27fb0cb28b7eabb","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: \"Remove container {{ item }}\""},{"line_number":75,"context_line":"  command: \"{{ tripleo_container_manage_cli }} rm -f {{ item }}\""},{"line_number":76,"context_line":"  ignore_errors: true"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_c08d5f31","line":76,"range":{"start_line":76,"start_character":2,"end_line":76,"end_character":21},"updated":"2019-11-04 10:23:29.000000000","message":"And then no need ignore_errors, podman_container is idempotent","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"aaa1ca6cebd445eda166dbf4f877bb1c8451e448","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: \"Remove container {{ item }}\""},{"line_number":75,"context_line":"  command: \"{{ tripleo_container_manage_cli }} rm -f {{ item }}\""},{"line_number":76,"context_line":"  ignore_errors: true"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_0c65f0ae","line":76,"range":{"start_line":76,"start_character":2,"end_line":76,"end_character":21},"in_reply_to":"3fa7e38b_c08d5f31","updated":"2019-11-04 11:44:57.000000000","message":"Done","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"62d2640e9954cd55b6a64711bdc9f810c6998a13","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: \"Remove container {{ item }}\""},{"line_number":75,"context_line":"  podman_container:"},{"line_number":76,"context_line":"    name: \"{{ item }}\""},{"line_number":77,"context_line":"    state: absent"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":37,"id":"3fa7e38b_f5db74e6","line":76,"updated":"2019-11-04 14:38:26.000000000","message":"Done, let\u0027s see how it goes","commit_id":"e94c949e1dee9ede8914328892a92e41df516bfa"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"6806fbdab00fe813de50fc452f9f5881cd98c4d6","unresolved":false,"context_lines":[{"line_number":72,"context_line":"  when: systemd_file_deleted.changed or systemd_requires_deleted.changed"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: \"Remove container {{ item }}\""},{"line_number":75,"context_line":"  podman_container:"},{"line_number":76,"context_line":"    name: \"{{ item }}\""},{"line_number":77,"context_line":"    state: absent"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"3fa7e38b_eb0e2232","line":76,"range":{"start_line":75,"start_character":0,"end_line":76,"end_character":22},"updated":"2019-11-05 23:18:14.000000000","message":"Great, thanks","commit_id":"7e41e0642de46e9c410278afc4ad150ce551fe88"}],"tripleo_ansible/roles/tripleo-container-manage/tasks/main.yml":[{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c0e4429c3f681740ad1b7c586ce5571296970b2d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    - always"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- name: Gather podman infos"},{"line_number":36,"context_line":"  podman_container_info:"},{"line_number":37,"context_line":"  register: podman_containers"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- name: Create container logs path"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3fa7e38b_95885cc6","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":24},"updated":"2019-10-28 12:54:49.000000000","message":"while this may not have an actual input, we should add {} to the line so that it shows an explicit empty set, instead of an assumed NaN.","commit_id":"88810af474883f6d57e05e88bb3ac3fb4554234b"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"515bdc1f67bfb1187e61b1ec4fd8d8baf38d508a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    - always"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- name: Gather podman infos"},{"line_number":36,"context_line":"  podman_container_info: {}"},{"line_number":37,"context_line":"  register: podman_containers"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- name: Create container logs path"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_9d9590e6","line":36,"range":{"start_line":36,"start_character":25,"end_line":36,"end_character":27},"updated":"2019-11-03 11:28:26.000000000","message":"redundant","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"9e2d70b197fc6897f8f5366d719fa91e6aedf695","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    - always"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- name: Gather podman infos"},{"line_number":36,"context_line":"  podman_container_info: {}"},{"line_number":37,"context_line":"  register: podman_containers"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- name: Create container logs path"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_f672a111","line":36,"range":{"start_line":36,"start_character":25,"end_line":36,"end_character":27},"in_reply_to":"3fa7e38b_9d9590e6","updated":"2019-11-04 08:30:01.000000000","message":"It was suggested by Kevin a few patchsets ago, it\u0027s a best practice from what I understand.","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"fc978da1766e0a2555719e2df27fb0cb28b7eabb","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    - always"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- name: Gather podman infos"},{"line_number":36,"context_line":"  podman_container_info: {}"},{"line_number":37,"context_line":"  register: podman_containers"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- name: Create container logs path"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_71423b6a","line":36,"range":{"start_line":36,"start_character":25,"end_line":36,"end_character":27},"in_reply_to":"3fa7e38b_f672a111","updated":"2019-11-04 10:23:29.000000000","message":"Well, I\u0027m not aware of this practice, but not critical","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"fc978da1766e0a2555719e2df27fb0cb28b7eabb","unresolved":false,"context_lines":[{"line_number":64,"context_line":"      loop: \"{{ containers_data[\u0027results\u0027] }}\""},{"line_number":65,"context_line":"    - name: Compile container hashes from results"},{"line_number":66,"context_line":"      set_fact:"},{"line_number":67,"context_line":"        container_hash: \"{{ item.ansible_facts.container_hash | combine(item.ansible_facts.container_hash) }}\""},{"line_number":68,"context_line":"      register: container_hashes"},{"line_number":69,"context_line":"      loop: \"{{ container_hashes.results }}\""},{"line_number":70,"context_line":"    - name: Finalise hashes for all containers"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_e09adb6c","line":67,"range":{"start_line":67,"start_character":77,"end_line":67,"end_character":91},"updated":"2019-11-04 10:23:29.000000000","message":"in patch https://review.opendev.org/#/c/692657/ I remove \"ansible_facts\" from containers ouput, only \"containers\" remains (it overrides ansible_facts and breaks things).","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"aaa1ca6cebd445eda166dbf4f877bb1c8451e448","unresolved":false,"context_lines":[{"line_number":64,"context_line":"      loop: \"{{ containers_data[\u0027results\u0027] }}\""},{"line_number":65,"context_line":"    - name: Compile container hashes from results"},{"line_number":66,"context_line":"      set_fact:"},{"line_number":67,"context_line":"        container_hash: \"{{ item.ansible_facts.container_hash | combine(item.ansible_facts.container_hash) }}\""},{"line_number":68,"context_line":"      register: container_hashes"},{"line_number":69,"context_line":"      loop: \"{{ container_hashes.results }}\""},{"line_number":70,"context_line":"    - name: Finalise hashes for all containers"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_4c3a0834","line":67,"range":{"start_line":67,"start_character":77,"end_line":67,"end_character":91},"in_reply_to":"3fa7e38b_e09adb6c","updated":"2019-11-04 11:44:57.000000000","message":"Done","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"fc978da1766e0a2555719e2df27fb0cb28b7eabb","unresolved":false,"context_lines":[{"line_number":69,"context_line":"      loop: \"{{ container_hashes.results }}\""},{"line_number":70,"context_line":"    - name: Finalise hashes for all containers"},{"line_number":71,"context_line":"      set_fact:"},{"line_number":72,"context_line":"        all_containers_hash: \"{{ container_hashes.results | map(attribute\u003d\u0027ansible_facts.container_hash\u0027) | list | singledict() }}\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: Manage containers with Podman"},{"line_number":75,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_a08aa317","line":72,"range":{"start_line":72,"start_character":75,"end_line":72,"end_character":89},"updated":"2019-11-04 10:23:29.000000000","message":"ditto","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"aaa1ca6cebd445eda166dbf4f877bb1c8451e448","unresolved":false,"context_lines":[{"line_number":69,"context_line":"      loop: \"{{ container_hashes.results }}\""},{"line_number":70,"context_line":"    - name: Finalise hashes for all containers"},{"line_number":71,"context_line":"      set_fact:"},{"line_number":72,"context_line":"        all_containers_hash: \"{{ container_hashes.results | map(attribute\u003d\u0027ansible_facts.container_hash\u0027) | list | singledict() }}\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: Manage containers with Podman"},{"line_number":75,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"3fa7e38b_ac14dca0","line":72,"range":{"start_line":72,"start_character":75,"end_line":72,"end_character":89},"in_reply_to":"3fa7e38b_a08aa317","updated":"2019-11-04 11:44:57.000000000","message":"Done","commit_id":"20a6f9d15658066be89a3ab1cdad45d70e8cd6ee"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"a87fca5fbc7734c1aa0148e3d26fba49637712ae","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  block:"},{"line_number":79,"context_line":"    - name: \"Cleanup Podman containers from {{ tripleo_container_manage_config }}\""},{"line_number":80,"context_line":"      include_tasks: delete_podman.yaml"},{"line_number":81,"context_line":"      loop: \"{{ podman_containers.containers.podman_containers | needs_delete(config\u003dall_containers_hash, config_id\u003dtripleo_container_manage_config_id) }}\""},{"line_number":82,"context_line":"    - name: \"Create Podman containers from {{ tripleo_container_manage_config }}\""},{"line_number":83,"context_line":"      include_tasks: create_podman.yaml"},{"line_number":84,"context_line":"      loop: \"{{ all_containers_hash | subsort(attribute\u003d\u0027start_order\u0027, null_value\u003d0) }}\""}],"source_content_type":"text/x-yaml","patch_set":36,"id":"3fa7e38b_eca7344f","line":81,"range":{"start_line":81,"start_character":34,"end_line":81,"end_character":62},"updated":"2019-11-04 11:57:47.000000000","message":"is it just containers or containers.podman_containers? I need to test.","commit_id":"c051916d4768a313f85cfd70620da035a0669508"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"62d2640e9954cd55b6a64711bdc9f810c6998a13","unresolved":false,"context_lines":[{"line_number":64,"context_line":"      loop: \"{{ containers_data[\u0027results\u0027] }}\""},{"line_number":65,"context_line":"    - name: Compile container hashes from results"},{"line_number":66,"context_line":"      set_fact:"},{"line_number":67,"context_line":"        container_hash: \"{{ item.ansible_facts.container_hash | combine(item.ansible_facts.container_hash) }}\""},{"line_number":68,"context_line":"      register: container_hashes"},{"line_number":69,"context_line":"      loop: \"{{ container_hashes.results }}\""},{"line_number":70,"context_line":"    - name: Finalise hashes for all containers"}],"source_content_type":"text/x-yaml","patch_set":37,"id":"3fa7e38b_35ffcc34","line":67,"updated":"2019-11-04 14:38:26.000000000","message":"Sagi, this doesn\u0027t come from your podman_container_info changes in https://review.opendev.org/#/c/692657/ -- this is a local fact (see container_hash fact on L61)","commit_id":"e94c949e1dee9ede8914328892a92e41df516bfa"}],"tripleo_ansible/roles/tripleo-container-manage/tasks/podman.yaml":[{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"53bcde8564528f108ba1c318b73776a78b02ae05","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        - name: \"Fail if {{ item.1[\u0027command\u0027][0] }} is not running\""},{"line_number":24,"context_line":"          fail:"},{"line_number":25,"context_line":"            msg: \"Can\u0027t run container exec for {{ item.0 }}, {{ item.1[\u0027command\u0027][0] }} is not running\""},{"line_number":26,"context_line":"          when: not podman_container.ansible_facts.podman_container[0].State.Running"},{"line_number":27,"context_line":"    - name: \"Prepare the exec command for {{ item.0 }}\""},{"line_number":28,"context_line":"      set_fact:"},{"line_number":29,"context_line":"        cmd_template:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3fa7e38b_0cee22b4","line":26,"range":{"start_line":26,"start_character":78,"end_line":26,"end_character":84},"updated":"2019-10-18 22:24:25.000000000","message":"it requires a \"|bool\"","commit_id":"5c46e4e6a3137a6b18754f8aeda3ea91b0408a96"}]}
