Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Fix missing persistent connection messages (#68496)" (#69147) #69191

Merged
merged 1 commit into from
Apr 27, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -0,0 +1,2 @@
bugfixes:
- "Revert 5f6427b1fc7449a5c42212013d3f628665701c3d as it breaks netconf connection"
24 changes: 3 additions & 21 deletions lib/ansible/cli/scripts/ansible_connection_cli_stub.py
Expand Up @@ -147,8 +147,6 @@ def run(self):
resp = self.srv.handle_request(data)
signal.alarm(0)

display_messages(self.connection)

if log_messages:
display.display("jsonrpc response: %s" % resp, log_only=True)

Expand Down Expand Up @@ -198,7 +196,9 @@ def shutdown(self):
self.sock.close()
if self.connection:
self.connection.close()
display_messages(self.connection)
if self.connection.get_option("persistent_log_messages"):
for _level, message in self.connection.pop_messages():
display.display(message, log_only=True)
except Exception:
pass
finally:
Expand Down Expand Up @@ -335,24 +335,6 @@ def main():
sys.exit(rc)


def display_messages(connection):
# This should be handled elsewhere, but if this is the last task, nothing will
# come back to collect the messages. So now each task will dump its own messages
# to stdout before logging the response message. This may make some other
# pop_messages calls redundant.
for level, message in connection.pop_messages():
if connection.get_option('persistent_log_messages') and level == "log":
display.display(message, log_only=True)
else:
# These should be keyed by valid method names, but
# fail gracefully just in case.
display_method = getattr(display, level, None)
if display_method:
display_method(message)
else:
display.display((level, message))


if __name__ == '__main__':
display = Display()
main()