hey everyone, i just got started with ansible today and have a question 
about the core git module - does it always make remote requests when a repo 
is specified, even when it's in the desired state?

i ask because ansible is taking considerable time at that step, which is 
annoying during this early fast iteration and is going to get *really* 
annoying once i have 20-30 repos in there. i haven't dug into the git 
module code, but i can only realistically attribute the delay to a remote 
request - the git module correctly reports that *nothing has changed*, but 
a run that includes the repo dependency takes 25 seconds, versus 1.2 
seconds when the dependency is commented out (see output dumps at bottom).

i understand that remote requests might be necessary to make 
*absolutely sure* that things are correct and maybe deal with some nasty 
edge cases, but for obvious reasons i would like to have the module not 
contact the remote if the repo is already present in the specified state. 
any way to get this behavior?

*with the git repo:*

imac:ansible nrser$ time ansible-playbook -v all.yaml

PLAY [all] 
********************************************************************

GATHERING FACTS 
***************************************************************
ok: [localhost]

TASK: [github_repo | clone kcrawford/dockutil from github] 
********************
ok: [localhost] => {"after": "7e7b56dae7a118c256748c2f69c82b912d64c6e2", 
"before": "7e7b56dae7a118c256748c2f69c82b912d64c6e2", "changed": false}

TASK: [dock | clean dock] 
*****************************************************
changed: [localhost] => {"changed": true, "cmd": "PYTHONIOENCODING=utf-8 
~/dev/gh/kcrawford/dockutil/scripts/dockutil --remove all", "delta": 
"0:00:00.095622", "end": "2015-02-18 19:33:21.744730", "rc": 0, "start": 
"2015-02-18 19:33:21.649108", "stderr": "", "stdout": "", "warnings": []}

TASK: [dock | add apps] 
*******************************************************
skipping: [localhost] => (item=apps)

TASK: [dock | add folders] 
****************************************************
changed: [localhost] => (item={'path': '/Applications', 'view': 'list'}) => 
{"changed": true, "cmd": "PYTHONIOENCODING=utf-8 
~/dev/gh/kcrawford/dockutil/scripts/dockutil --add '/Applications' --view 
list --display folder --sort name", "delta": "0:00:00.096044", "end": 
"2015-02-18 19:33:21.943452", "item": {"path": "/Applications", "view": 
"list"}, "rc": 0, "start": "2015-02-18 19:33:21.847408", "stderr": "", 
"stdout": "", "warnings": []}
changed: [localhost] => (item={'path': '~/', 'view': 'list'}) => 
{"changed": true, "cmd": "PYTHONIOENCODING=utf-8 
~/dev/gh/kcrawford/dockutil/scripts/dockutil --add '~/' --view list 
--display folder --sort name", "delta": "0:00:00.097483", "end": 
"2015-02-18 19:33:22.112191", "item": {"path": "~/", "view": "list"}, "rc": 
0, "start": "2015-02-18 19:33:22.014708", "stderr": "", "stdout": "", 
"warnings": []}
changed: [localhost] => (item={'sort': 'datemodified', 'path': 
'~/Downloads', 'view': 'list'}) => {"changed": true, "cmd": 
"PYTHONIOENCODING=utf-8 ~/dev/gh/kcrawford/dockutil/scripts/dockutil --add 
'~/Downloads' --view list --display folder --sort datemodified", "delta": 
"0:00:00.099095", "end": "2015-02-18 19:33:22.288923", "item": {"path": 
"~/Downloads", "sort": "datemodified", "view": "list"}, "rc": 0, "start": 
"2015-02-18 19:33:22.189828", "stderr": "", "stdout": "", "warnings": []}

PLAY RECAP 
********************************************************************
localhost                  : ok=5    changed=2    unreachable=0    failed=0


real 0m25.046s
user 0m0.810s
sys 0m0.584s


* without the git repo:*

imac:ansible nrser$ time ansible-playbook -v all.yaml

PLAY [all] 
********************************************************************

GATHERING FACTS 
***************************************************************
ok: [localhost]

TASK: [dock | clean dock] 
*****************************************************
changed: [localhost] => {"changed": true, "cmd": "PYTHONIOENCODING=utf-8 
~/dev/gh/kcrawford/dockutil/scripts/dockutil --remove all", "delta": 
"0:00:00.092592", "end": "2015-02-18 19:33:29.696049", "rc": 0, "start": 
"2015-02-18 19:33:29.603457", "stderr": "", "stdout": "", "warnings": []}

TASK: [dock | add apps] 
*******************************************************
skipping: [localhost] => (item=apps)

TASK: [dock | add folders] 
****************************************************
changed: [localhost] => (item={'path': '/Applications', 'view': 'list'}) => 
{"changed": true, "cmd": "PYTHONIOENCODING=utf-8 
~/dev/gh/kcrawford/dockutil/scripts/dockutil --add '/Applications' --view 
list --display folder --sort name", "delta": "0:00:00.100975", "end": 
"2015-02-18 19:33:29.917863", "item": {"path": "/Applications", "view": 
"list"}, "rc": 0, "start": "2015-02-18 19:33:29.816888", "stderr": "", 
"stdout": "", "warnings": []}
changed: [localhost] => (item={'path': '~/', 'view': 'list'}) => 
{"changed": true, "cmd": "PYTHONIOENCODING=utf-8 
~/dev/gh/kcrawford/dockutil/scripts/dockutil --add '~/' --view list 
--display folder --sort name", "delta": "0:00:00.097106", "end": 
"2015-02-18 19:33:30.092658", "item": {"path": "~/", "view": "list"}, "rc": 
0, "start": "2015-02-18 19:33:29.995552", "stderr": "", "stdout": "", 
"warnings": []}
changed: [localhost] => (item={'sort': 'datemodified', 'path': 
'~/Downloads', 'view': 'list'}) => {"changed": true, "cmd": 
"PYTHONIOENCODING=utf-8 ~/dev/gh/kcrawford/dockutil/scripts/dockutil --add 
'~/Downloads' --view list --display folder --sort datemodified", "delta": 
"0:00:00.097929", "end": "2015-02-18 19:33:30.265187", "item": {"path": 
"~/Downloads", "sort": "datemodified", "view": "list"}, "rc": 0, "start": 
"2015-02-18 19:33:30.167258", "stderr": "", "stdout": "", "warnings": []}

PLAY RECAP 
********************************************************************
localhost                  : ok=4    changed=2    unreachable=0    failed=0


real 0m1.215s
user 0m0.653s
sys 0m0.418s


 

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/b78893fc-a7bb-4b71-af6f-aa72d9da42aa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to