You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
jkleint e69e078569 More robust remote sudo.
The basic idea is sudo /bin/sh -c 'quoted_command'.  We use Paramiko's low-level API to set a timeout, get a pseudo tty, execute sudo and the (shell quoted) command atomically, wait just until sudo is ready to accept the password before sending it down the pipe, and then return the command's stdout and stderr.

This should be faster, as there are no unneeded sleeps.  There are no permissions issues reading the output.  It will raise socket.timeout if the command takes too long.  However, this is a per-read timeout, not a total execution timeout, so as long as the command is writing output and you are reading it, it will not time out.

Local and non-sudo commands remain unchanged, but should probably adopt a similar approach.

Since this is a significant change, it needs a lot of testing.  Also, someone smarter than I should double-check the quoting and execution, since it is a security issue.
13 years ago
bin Unused imports 13 years ago
docs/man Fix man page option description indentation. 13 years ago
examples Add another example to file_secontext.yml 13 years ago
hacking Make it possible to use facts from hosts in templates for other hosts. 13 years ago
lib/ansible More robust remote sudo. 13 years ago
library Add optional "default-release" argument for apt module 13 years ago
packaging Move setup.py stuff back to top level as "make sdist" was not working, plus, it makes sources cleaner. 13 years ago
test Fix bug in src. Should not code this early :) 13 years ago
.gitignore Fixup RPM building: Makefile, Spec File, .gitignore 13 years ago
COPYING license file should be in source tree 13 years ago
MANIFEST.in Move setup.py stuff back to top level as "make sdist" was not working, plus, it makes sources cleaner. 13 years ago
Makefile Ignore pyflakes E261 style output (multiple spaces before inline comment) 13 years ago
README.md Patch process info. 13 years ago
VERSION Docs build using version in the VERSION file. 13 years ago
setup.py Move setup.py stuff back to top level as "make sdist" was not working, plus, it makes sources cleaner. 13 years ago

README.md

Ansible

Ansible is a radically simple configuration-management, deployment, task-execution, and multinode orchestration framework.

Read all about at it at (http://ansible.github.com)

Design Principles

  • Dead simple setup
  • Super fast & parallel by default
  • No server or client daemons; use existing SSHd
  • No additional software required on client boxes
  • Modules can be written in ANY language
  • Awesome API for creating very powerful distributed scripts
  • Be usable as non-root
  • The easiest config management system to use, ever.

Get Involved

Patch Instructions

Contributions to the core and modules are greatly welcome.

  • Required Process:
    • Submit github pull requests to the "ansible/integration" branch
    • Make sure "make tests" passes before submitting any requests.
  • Bonus points:
    • Joining the mailing list
    • Using squash merges
    • Updating the "rst/*" files in the docs project and "docs/" manpage content
    • Adding more unit tests
  • Avoid:
    • Sending patches to the mailing list directly.
    • Sending pull requests to the 'master' branch instead of the integration branch.
    • Sending pull requests to mpdehaan's personal ansible fork.

Author

Michael DeHaan -- michael.dehaan@gmail.com

http://michaeldehaan.net