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