Commit Graph

51 Commits (fed82c2188828466202935e98e808a74903346d4)

Author SHA1 Message Date
Michael DeHaan fed82c2188 This implements a basic --check mode which for now is only implemented on template & copy operations. More detail will be shared with the list
shortly.
12 years ago
Michael DeHaan 663a8fef3f chmod -x for all module files in source checkout 12 years ago
Daniel Hokka Zakrisson 7a8009f979 When atomically replacing files, copy attributes 12 years ago
Jan-Piet Mens feab57e270 Reformat code: examples consistently
- added terse syntax to modules.rst
 - added description of special variables to template module
12 years ago
Michael DeHaan cbc12f0dba Various performance streamlining and making the file features usable in all modules without daisy chaining. 12 years ago
Luke Antins 6354898b09 Copy module can replace symlink with a real file. 12 years ago
Michael DeHaan c5d2f6b0d3 implement lookup plugins for arbitrary enumeration over arbitrary things. See the mailing list for some cool examples. 12 years ago
Jan-Piet Mens e0fb264a89 Module DOCUMENTATION: assemble, authorized_key, command, copy
plus a small fix in rst.j2 template
  manpages generated & checked
  modules.html generated & checked
12 years ago
Stephen Fromm f52624f6d2 Give nice error message if destination directory doesn't exist (issue #1048) 12 years ago
Brian Coca 88d1285f33 time is what i wanted, not gmtime
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
Brian Coca 06b914c5b3 small fix to prevent temp file from living past its succesful usage
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
Brian Coca f5481621f8 made copy atomic by creating tmp file in dest location (ensures same partition)
uses pid and epoch to prevent collisions, good enough for most cases
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
Michael DeHaan aa704a6111 backuplocal => backup_local for API standardization reasons 12 years ago
Daniel Hokka Zakrisson dfcb9d3c2d Move backup to module_common 12 years ago
Seth Vidal 588b129018 fix case where destination does not yet exist - no backup can be made 12 years ago
Seth Vidal 28e9b1128f add backup= option to copy. makes a backup of the file on the target
in a file named: $filename.YYYY-MM-DD@HH:MM~

backup=False is default
12 years ago
Michael DeHaan faed4b5a33 whitespace + remove deprecated YAML parser (migration script lives in examples/scripts and warning was added
in 0.6 release)
12 years ago
Michael DeHaan 7e9e29011e Add encoding lines to python modules such that they can take unicode options if they are fed them, since the
AnsibleModule stuff no longer base64 encodes for simplicity and speed reasons.
12 years ago
Will Thames 0e26ef9bdd Revert acceptance of directory as dest for copy
Although library/copy can be corrected to understand that dest is
a directory, I can't see how to let _execute_copy know this and let the
file module know.

As a better solution than before #733, the copy module now explicitly (rather
than silently) fails when dest is a directory.
12 years ago
Michael DeHaan ed14312ad6 reinstate invalid argument checks where possible, daisy chainee/chained modules turn it off 12 years ago
u348095 3cb51acd78 Allow copy dest argument to be a directory
Could have used shutil.copy rather than shutil.copyfile, but this
implementation preserves the md5 comparison to avoid unnecessary copies
13 years ago
Michael DeHaan 9f149c9f1a imports not needed 13 years ago
Michael DeHaan d0f4358730 Port the copy module over to the new "common module" logic. 13 years ago
John Kleint 375a1eaf43 Use iterative MD5 hashing. 13 years ago
Dave Hatton 55694db7c3 switch to hashlib.md5 or md5 instead of OS md5 commands 13 years ago
Dave Hatton ecaa794f7f copy always returned change=true 13 years ago
Dave Hatton 9d85a55434 switch to shutil.copy rather than os.system(cp) 13 years ago
Dave Hatton 263fcab594 md5 allow copy if file is missing 13 years ago
Jeremy Smitherman 3003aa2d47 Added IndexError catch for copy module, IndexError is thrown if a destination file doesn't exist 13 years ago
Dave Hatton d47de18b6c improve error trapping for md5 13 years ago
Ingo Gottwald a42167ca73 Copy module: Extended error handling and fixed error messages 13 years ago
Ingo Gottwald 270266e920 Added to copy module: Error handling for missing permissions on the copy destination 13 years ago
Michael DeHaan 25083953fc Merge pull request #495 from nafeger/devel
make copy module implemented closer to other newer modules when returning results
13 years ago
Nathan A. Feger 26816b72ec attempt to make copy more idiomatic. 13 years ago
Fred Alger 834f6a216d Make shell outs to md5sum work on FreeBSD and OS X
Tested with OS X local connection and Linux remote. The paths to the
md5sum and md5 commands are hardcoded to the most common location. This
will definitely fail if the commands are elsewhere, or if the md5
command doesn't support the -q 'quiet' option.
13 years ago
Stephen Fromm aea022b002 Apply logging of arguments to modules (issue #122)
The ohai and facter modules use /usr/bin/logger to log the fact that
they have been invoked.  I added 'import os' to the ping module
so that it could have the same syslog statements as the other modules.
I separated the condensed:
    shlex.split(open(argfile, 'r').read())
into two separate statements similar to the other modules.
13 years ago
Seth Vidal c701e59592 very minor indentation issue in librar/copy 13 years ago
Michael DeHaan 7794493952 Don't try to expand path for None values 13 years ago
Michael DeHaan 445e48b991 Call os.path.expanduser in modules so things work as expected even when using ./hacking/test-module script 13 years ago
Jeroen Hoekx 38a33c54a6 Make copy module idempotent.
Check md5sum before overwriting a file. Unconditionally copying changes the timestamp.
13 years ago
Michael DeHaan 4bde4926c3 Modules don't have to return JSON, key=value pairs is ok. 13 years ago
Michael DeHaan aeea46678d Fix the copy module to use the argsfile method 13 years ago
Michael DeHaan eaa7714ff8 Laying the groundwork for async mode, async status script still needs to be done, and async_wrapper
still needs to daemonize.  Then, once done, playbook can be taught how to poll async within the
timing window.
13 years ago
Michael DeHaan be4cb64c92 Relicensing to GPLv3, all previous committers ok'd on mailing list. 13 years ago
Michael DeHaan ba4e36a9a9 Rename 'ensure' to 'state' because I think it's a bit cleaner and doesn't imply
all modules take a common parameter name.  But more or less we still work idempotently
in modules.
13 years ago
Michael DeHaan 61d064d011 Fixed up KV munging in runner, misc fixes to copy, setup, and template modules 13 years ago
Michael DeHaan e5f62f20b1 make copy & template module take key/value parameters so we're consistent. Only the command
module works differently now

starter manpage for modules

allow template file location to be passed into template & setup modules
13 years ago
Michael DeHaan deb71da91e trim md5sum string so it does not contain the filename
also fix a bug/typo in the reporting from playbook
13 years ago
Michael DeHaan b44ae0af90 applying indentation patch from skvidal 13 years ago
Michael DeHaan 6cceaa5f6a Implment copy with an actual minion-side module such that we can get md5sum's and
onchange events like Puppet's file providers do.
13 years ago