)]}'
{"paunch/builder/base.py":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"1bd1b25f35b81a179f8171fcd75830f66f1c73e0","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                              self.runner.cont_cmd \u003d\u003d \u0027podman\u0027)"},{"line_number":117,"context_line":"                if not self.runner.container_running(container,"},{"line_number":118,"context_line":"                                                     self.config_id,"},{"line_number":119,"context_line":"                                                     is_systemd):"},{"line_number":120,"context_line":"                    return"},{"line_number":121,"context_line":"                cmd \u003d [self.runner.cont_cmd, \u0027exec\u0027]"},{"line_number":122,"context_line":"                validations_passed \u003d self.cont_exec_args(cmd, container)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_e1b87d12","line":119,"updated":"2019-08-22 17:49:55.000000000","message":"maybe we need to throw an error saying that exec will not run since container isn\u0027t running.","commit_id":"7b78c2c5125b0271200f40627276ff52d02a67fa"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"36ef3aca1cd4dc4280fa80d11d1fdddac8a70c0c","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                              self.runner.cont_cmd \u003d\u003d \u0027podman\u0027)"},{"line_number":117,"context_line":"                if not self.runner.container_running(container,"},{"line_number":118,"context_line":"                                                     self.config_id,"},{"line_number":119,"context_line":"                                                     is_systemd):"},{"line_number":120,"context_line":"                    return"},{"line_number":121,"context_line":"                cmd \u003d [self.runner.cont_cmd, \u0027exec\u0027]"},{"line_number":122,"context_line":"                validations_passed \u003d self.cont_exec_args(cmd, container)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_5c0ffa87","line":119,"in_reply_to":"7faddb67_e1b87d12","updated":"2019-08-22 23:11:32.000000000","message":"Done","commit_id":"7b78c2c5125b0271200f40627276ff52d02a67fa"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"200341d2499735229ca3c1b2239e691821ad75c9","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                                                     is_systemd):"},{"line_number":127,"context_line":"                    self.log.debug(\u0027Failing to apply action exec for \u0027"},{"line_number":128,"context_line":"                                   \u0027container: %s\u0027 % container)"},{"line_number":129,"context_line":"                    return"},{"line_number":130,"context_line":"                cmd \u003d [self.runner.cont_cmd, \u0027exec\u0027]"},{"line_number":131,"context_line":"                validations_passed \u003d self.cont_exec_args(cmd, container)"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_77b3ecea","line":129,"updated":"2019-08-22 22:51:21.000000000","message":"The expected return is stdout, stderr, deploy_status_code","commit_id":"53be95b95d935616195f35d27c8cc2e0b271f62c"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"ac3f9c8920597e937e097c08d6891bcdeb6ea56b","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                                                     is_systemd):"},{"line_number":127,"context_line":"                    self.log.debug(\u0027Failing to apply action exec for \u0027"},{"line_number":128,"context_line":"                                   \u0027container: %s\u0027 % container)"},{"line_number":129,"context_line":"                    return"},{"line_number":130,"context_line":"                cmd \u003d [self.runner.cont_cmd, \u0027exec\u0027]"},{"line_number":131,"context_line":"                validations_passed \u003d self.cont_exec_args(cmd, container)"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_d7a74050","line":129,"in_reply_to":"7faddb67_77b3ecea","updated":"2019-08-22 23:12:15.000000000","message":"ok, thanks. I sent an exception, let me know if it\u0027s not good.","commit_id":"53be95b95d935616195f35d27c8cc2e0b271f62c"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"36ef3aca1cd4dc4280fa80d11d1fdddac8a70c0c","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            elif action \u003d\u003d \u0027exec\u0027:"},{"line_number":112,"context_line":"                # for exec, the first argument is the fixed container named"},{"line_number":113,"context_line":"                # used when running the command into the running container."},{"line_number":114,"context_line":"                command \u003d self.command_argument(cconfig.get(\u0027command\u0027))"},{"line_number":115,"context_line":"                if command:"},{"line_number":116,"context_line":"                    c_name \u003d command[0]"},{"line_number":117,"context_line":"                else:"},{"line_number":118,"context_line":"                    c_name \u003d container"},{"line_number":119,"context_line":"                # Before running the exec, we want to make sure the container"},{"line_number":120,"context_line":"                # is running."},{"line_number":121,"context_line":"                # https://bugs.launchpad.net/bugs/1839559"}],"source_content_type":"text/x-python","patch_set":12,"id":"7faddb67_97ba286f","line":118,"range":{"start_line":114,"start_character":0,"end_line":118,"end_character":38},"updated":"2019-08-22 23:11:32.000000000","message":"this thing doesn\u0027t seem to work in our environment:\nhttp://paste.openstack.org/show/762066/\n\nit\u0027s trying to find out if keystone_bootstrap is running while we want command[0] which is supposed to be just \"keystone\".","commit_id":"e8a90d8e359ae3a67327de7e49e7d3840db92a22"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"fd055f0c083f81bb37022b174abd504b405b0bfd","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                # Before running the exec, we want to make sure the container"},{"line_number":122,"context_line":"                # is running."},{"line_number":123,"context_line":"                # https://bugs.launchpad.net/bugs/1839559"},{"line_number":124,"context_line":"                if not self.runner.container_running(c_name):"},{"line_number":125,"context_line":"                    msg \u003d (\u0027Failing to apply action exec for \u0027"},{"line_number":126,"context_line":"                           \u0027container: %s\u0027 % container)"},{"line_number":127,"context_line":"                    raise RuntimeError(msg)"}],"source_content_type":"text/x-python","patch_set":22,"id":"7faddb67_ed3b4036","line":124,"range":{"start_line":124,"start_character":35,"end_line":124,"end_character":52},"updated":"2019-08-28 08:04:50.000000000","message":"please disregard my -1. This check is needed indeed for the action exec.","commit_id":"983ab98f61f530eec7cac31e3a0556bf6722e2a0"}],"paunch/runner.py":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"ab791cb8b5b11ade1eb69b4b0fabd86b5928377c","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        # https://bugs.launchpad.net/bugs/1839559"},{"line_number":151,"context_line":"        # https://bugzilla.redhat.com/show_bug.cgi?id\u003d1739224"},{"line_number":152,"context_line":"        if self.cont_cmd \u003d\u003d \u0027podman\u0027:"},{"line_number":153,"context_line":"            cmd.append(\u0027--sync\u0027)"},{"line_number":154,"context_line":"        (cmd_stdout, cmd_stderr, returncode) \u003d self.execute(cmd, self.log)"},{"line_number":155,"context_line":"        if returncode !\u003d 0:"},{"line_number":156,"context_line":"            return container"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_f03e1b27","line":153,"updated":"2019-08-22 05:14:03.000000000","message":"That\u0027s probably not the right way to do it, since as you say in the comment, --sync is expensive.\n\nI would rather see some kind of retry that will run, on-demand only, the \u0027podman ps --sync\u0027. Longer to do, but that would be smarter/cleaner.\n\nUsing a retry logic when an exec fails should also allow to ensure DB is in a correct state during the whole script life.","commit_id":"61d6fb0e18321383ed19918f4b4a4245459d0d7c"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"3bd04767b74ef1cf51d56487d2aa7cb59489c207","unresolved":false,"context_lines":[{"line_number":288,"context_line":"                         \"by %s\" % self.cont_cmd)"},{"line_number":289,"context_line":"        return True"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    def container_running(self, container, cid, sync\u003dFalse):"},{"line_number":292,"context_line":"        self.log.warning(\"container_running isn\u0027t supported \""},{"line_number":293,"context_line":"                         \"by %s\" % self.cont_cmd)"},{"line_number":294,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_21d69555","line":291,"updated":"2019-08-22 17:49:11.000000000","message":"I\u0027ll need to update the parameter, replace sync by systemd_managed","commit_id":"7b78c2c5125b0271200f40627276ff52d02a67fa"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"36ef3aca1cd4dc4280fa80d11d1fdddac8a70c0c","unresolved":false,"context_lines":[{"line_number":288,"context_line":"                         \"by %s\" % self.cont_cmd)"},{"line_number":289,"context_line":"        return True"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    def container_running(self, container, cid, sync\u003dFalse):"},{"line_number":292,"context_line":"        self.log.warning(\"container_running isn\u0027t supported \""},{"line_number":293,"context_line":"                         \"by %s\" % self.cont_cmd)"},{"line_number":294,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_9c7a52ee","line":291,"in_reply_to":"7faddb67_21d69555","updated":"2019-08-22 23:11:32.000000000","message":"Done","commit_id":"7b78c2c5125b0271200f40627276ff52d02a67fa"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"7e08fb03839519eedebe8eb615ac0e0bd5b76e5b","unresolved":false,"context_lines":[{"line_number":369,"context_line":"        (_, _, returncode) \u003d self.execute(cmd, self.log, quiet)"},{"line_number":370,"context_line":"        return returncode \u003d\u003d 0"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    def container_running(self, container):"},{"line_number":373,"context_line":"        service_name \u003d \u0027tripleo_\u0027 + container + \u0027.service\u0027"},{"line_number":374,"context_line":"        try:"},{"line_number":375,"context_line":"            systemctl.is_active(service_name)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7faddb67_cd778b3b","line":372,"updated":"2019-08-26 13:18:30.000000000","message":"we need to use this check in the caller code alongside discover_container_name(). The latter must not suggest the discovered container names but just return None, if ps failed or found nothing. So the caller to decide how to wrap it or check for existence by the fixed/service name etc.","commit_id":"15d8e02afdf26f5087c7bcfd6f7d1207570de339"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"40d8a4f62321a19be8bf2ca24bbbe53fe38f05ef","unresolved":false,"context_lines":[{"line_number":369,"context_line":"        (_, _, returncode) \u003d self.execute(cmd, self.log, quiet)"},{"line_number":370,"context_line":"        return returncode \u003d\u003d 0"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    def container_running(self, container):"},{"line_number":373,"context_line":"        service_name \u003d \u0027tripleo_\u0027 + container + \u0027.service\u0027"},{"line_number":374,"context_line":"        try:"},{"line_number":375,"context_line":"            systemctl.is_active(service_name)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7faddb67_5dda5f4b","line":372,"in_reply_to":"7faddb67_82671db8","updated":"2019-08-27 06:19:12.000000000","message":"We do need it, yes. It corrects a race in paunch where the container is still (re)starting.\nI\u0027ve edited your patch in order to ensure we still call it.","commit_id":"15d8e02afdf26f5087c7bcfd6f7d1207570de339"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"e7d35ece432a1a0520783a3d304cd83f4af3a058","unresolved":false,"context_lines":[{"line_number":369,"context_line":"        (_, _, returncode) \u003d self.execute(cmd, self.log, quiet)"},{"line_number":370,"context_line":"        return returncode \u003d\u003d 0"},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    def container_running(self, container):"},{"line_number":373,"context_line":"        service_name \u003d \u0027tripleo_\u0027 + container + \u0027.service\u0027"},{"line_number":374,"context_line":"        try:"},{"line_number":375,"context_line":"            systemctl.is_active(service_name)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7faddb67_82671db8","line":372,"in_reply_to":"7faddb67_cd778b3b","updated":"2019-08-26 14:29:43.000000000","message":"we probably don\u0027t need this, see my commit I placed on top","commit_id":"15d8e02afdf26f5087c7bcfd6f7d1207570de339"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"5e97479c91e27d3d232a26e9174e91a3776f1085","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            names \u003d cmd_stdout.split()"},{"line_number":152,"context_line":"            if names:"},{"line_number":153,"context_line":"                return names[0]"},{"line_number":154,"context_line":"        self.log.warning(\u0027Did not find container with \"%s\" - retrying without \u0027"},{"line_number":155,"context_line":"                         \u0027config_id\u0027 % cmd)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        cmd \u003d ["}],"source_content_type":"text/x-python","patch_set":20,"id":"7faddb67_7a6dd6ca","line":154,"updated":"2019-08-27 14:48:27.000000000","message":"this probably should be info level","commit_id":"9f22ce6986ed203988a4605ea1afea6ced7db719"}]}
