Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
ansible
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
ansible
Commits
d545b73c
Commit
d545b73c
authored
Mar 24, 2014
by
James Cammarata
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'file_fixes_agg' of
https://github.com/bcoca/ansible
into bcoca-file_fixes_agg
parents
bc93732b
1b38bd8a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
12 deletions
+17
-12
library/files/file
+17
-12
No files found.
library/files/file
View file @
d545b73c
...
...
@@ -81,8 +81,8 @@ options:
default: null
choices: []
description:
- path of the file to link to (applies only to C(state=
link
)). Will accept absolute,
relative and nonexisting paths. Relative paths are not expanded.
- path of the file to link to (applies only to C(state=
link or hard
)). Will accept absolute,
relative and nonexisting
(with C(force))
paths. Relative paths are not expanded.
seuser:
required: false
default: null
...
...
@@ -266,8 +266,12 @@ def main():
elif
state
in
[
'link'
,
'hard'
]:
if
not
os
.
path
.
exists
(
src
)
and
not
force
:
module
.
fail_json
(
path
=
path
,
src
=
src
,
msg
=
'src file does not exist'
)
absrc
=
src
if
not
os
.
path
.
isabs
(
absrc
):
absrc
=
os
.
path
.
normpath
(
'
%
s/
%
s'
%
(
os
.
path
.
dirname
(
path
),
absrc
))
if
not
os
.
path
.
exists
(
absrc
)
and
not
force
:
module
.
fail_json
(
path
=
path
,
src
=
src
,
msg
=
'src file does not exist, use "force=yes" if you really want to create the link:
%
s'
%
absrc
)
if
state
==
'hard'
:
if
not
os
.
path
.
isabs
(
src
):
...
...
@@ -297,7 +301,7 @@ def main():
if
changed
and
not
module
.
check_mode
:
if
prev_state
!=
'absent'
:
# try to replace atomically
tmppath
=
".
%
s.
%
s.
%
s.tmp"
%
(
path
,
os
.
getpid
(),
time
.
time
()
)
tmppath
=
'/'
.
join
([
os
.
path
.
dirname
(
path
),
".
%
s.
%
s.tmp"
%
(
os
.
getpid
(),
time
.
time
())]
)
try
:
if
state
==
'hard'
:
os
.
link
(
src
,
tmppath
)
...
...
@@ -307,13 +311,14 @@ def main():
except
OSError
,
e
:
os
.
unlink
(
tmppath
)
module
.
fail_json
(
path
=
path
,
msg
=
'Error while replacing:
%
s'
%
str
(
e
))
try
:
if
state
==
'hard'
:
os
.
link
(
src
,
path
)
else
:
os
.
symlink
(
src
,
path
)
except
OSError
,
e
:
module
.
fail_json
(
path
=
path
,
msg
=
'Error while linking:
%
s'
%
str
(
e
))
else
:
try
:
if
state
==
'hard'
:
os
.
link
(
src
,
path
)
else
:
os
.
symlink
(
src
,
path
)
except
OSError
,
e
:
module
.
fail_json
(
path
=
path
,
msg
=
'Error while linking:
%
s'
%
str
(
e
))
changed
=
module
.
set_fs_attributes_if_different
(
file_args
,
changed
)
module
.
exit_json
(
dest
=
path
,
src
=
src
,
changed
=
changed
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment