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

Ansible become plugins #631

Open
3 tasks
dw opened this issue Aug 19, 2019 · 1 comment
Open
3 tasks

Ansible become plugins #631

dw opened this issue Aug 19, 2019 · 1 comment

Comments

@dw
Copy link
Member

@dw dw commented Aug 19, 2019

Following on from #419, now enough of asynchronous connect is done that we can implement proxied become plugins only once. The goal is to be able to proxy a become plugin back to the controller machine.

  • Host the become plugin in the Ansible task worker, either as a service, or perhaps as something driven directly from an existing thread. Preferably avoid starting a service pool in every worker just for this. It wants to be in the worker because third party code might make assumptions about other state alive in the same process

  • Some kind of custom Connection / Protocol that knows how to talk to a remote service or service-like thing. Receives line, forwards it to service, awaits response, feeds response to child process, etc. Probably something that simply installs a Router.add_handler() function, maybe try to make it generic to any situation where some asynchronous code needs to wait and respond to other asynchronous code, but that might not be worth the effort

  • Make the Mitogen connection method generic to any similar scenario, but pattern it off the request/reply structure of what Ansible needs

@joe94
Copy link

@joe94 joe94 commented Nov 20, 2019

@dw based on speed of features being added in previous releases, do you think this and #630 would make it for 0.2.10?

Loading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants