# Directory always marked as changed

**URL:** <https://forum.ansible.com/t/directory-always-marked-as-changed/17013>\
**Category:** Ansible Project\
**Created:** [December 10, 2014, 7:46pm UTC](https://forum.ansible.com/t/directory-always-marked-as-changed/17013 "2014-12-10T19:46:03Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mirko\_Friedenhagen](https://avatars.discourse-cdn.com/v4/letter/m/838e76/32.png) [@Mirko\_Friedenhagen](https://forum.ansible.com/u/Mirko_Friedenhagen)\
**Post date:** [December 10, 2014, 7:46pm UTC](https://forum.ansible.com/t/directory-always-marked-as-changed/17013/1 "2014-12-10T19:46:03Z")

</div>

Hello,

I have the following in a role definition for jenkins:

- name: Ensure jenkins .vnc directory does exist.  
&nbsp;&nbsp;file:  
&nbsp;&nbsp;&nbsp;&nbsp;path: /var/lib/jenkins/.vnc/  
&nbsp;&nbsp;&nbsp;&nbsp;state: directory  
&nbsp;&nbsp;&nbsp;&nbsp;owner: jenkins  
&nbsp;&nbsp;&nbsp;&nbsp;group: jenkins  
&nbsp;&nbsp;&nbsp;&nbsp;mode: 0750

Whenever I run the playbook, this directory creation is always marked  
as changed.

Immediately before this I run:

- name: Ensure jenkins .m2 directory does exist.  
&nbsp;&nbsp;file:  
&nbsp;&nbsp;&nbsp;&nbsp;path: /var/lib/jenkins/.m2/  
&nbsp;&nbsp;&nbsp;&nbsp;state: directory  
&nbsp;&nbsp;&nbsp;&nbsp;owner: jenkins  
&nbsp;&nbsp;&nbsp;&nbsp;group: jenkins  
&nbsp;&nbsp;&nbsp;&nbsp;mode: 0750

and this one is only created once and marked as unchanged.

Regards Mirko

---

<div class="post-metadata">

**Author:** ![Mirko\_Friedenhagen](https://avatars.discourse-cdn.com/v4/letter/m/838e76/32.png) [@Mirko\_Friedenhagen](https://forum.ansible.com/u/Mirko_Friedenhagen)\
**Post date:** [December 10, 2014, 7:51pm UTC](https://forum.ansible.com/t/directory-always-marked-as-changed/17013/2 "2014-12-10T19:51:24Z")

</div>

This is the output when run with -vvvv:

TASK: [jenkins | Ensure jenkins .m2 directory does exist.] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

\<vagrant\> ESTABLISH CONNECTION FOR USER: mirko

\<vagrant\> REMOTE\_MODULE file group=jenkins state=directory  
path=/var/lib/jenkins/.m2/ owner=jenkins

\<vagrant\> EXEC ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s  
-o ControlPath="/Users/mirko/.ansible/cp/ansible-ssh-%h-%p-%r" -o  
KbdInteractiveAuthentication=no -o  
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey  
-o PasswordAuthentication=no -o ConnectTimeout=10 vagrant /bin/sh -c  
'sudo -k && sudo -H -S -p "[sudo via ansible,  
key=rbqtthfimuwodmabehkrbxsfieetegtb] password: " -u root /bin/sh -c  
'"'"'echo SUDO-SUCCESS-rbqtthfimuwodmabehkrbxsfieetegtb;  
LANG=en\_US.UTF-8 LC\_CTYPE=en\_US.UTF-8 /usr/bin/python'"'"''

ok: [vagrant] =\> {"changed": false, "gid": 108, "group": "jenkins",  
"mode": "0750", "owner": "jenkins", "path": "/var/lib/jenkins/.m2/",  
"size": 4096, "state": "directory", "uid": 105}

TASK: [jenkins | Ensure jenkins .vnc directory does exist.] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

\<vagrant\> ESTABLISH CONNECTION FOR USER: mirko

\<vagrant\> REMOTE\_MODULE file group=jenkins state=directory  
path=/var/lib/jenkins/.vnc/ owner=jenkins

\<vagrant\> EXEC ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s  
-o ControlPath="/Users/mirko/.ansible/cp/ansible-ssh-%h-%p-%r" -o  
KbdInteractiveAuthentication=no -o  
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey  
-o PasswordAuthentication=no -o ConnectTimeout=10 vagrant /bin/sh -c  
'sudo -k && sudo -H -S -p "[sudo via ansible,  
key=pwxhksukesiwspzugtteoadivjokjvaq] password: " -u root /bin/sh -c  
'"'"'echo SUDO-SUCCESS-pwxhksukesiwspzugtteoadivjokjvaq;  
LANG=en\_US.UTF-8 LC\_CTYPE=en\_US.UTF-8 /usr/bin/python'"'"''

changed: [vagrant] =\> {"changed": true, "gid": 108, "group":  
"jenkins", "mode": "0750", "owner": "jenkins", "path":  
"/var/lib/jenkins/.vnc/", "size": 4096, "state": "directory", "uid":  
105}

I am using ansible-1.8.2 on Mac OS X, the provisioned host is a  
vagrant instance.  
Regards Mirko

---

<div class="post-metadata">

**Author:** ![Mirko\_Friedenhagen](https://avatars.discourse-cdn.com/v4/letter/m/838e76/32.png) [@Mirko\_Friedenhagen](https://forum.ansible.com/u/Mirko_Friedenhagen)\
**Post date:** [December 14, 2014, 8:14pm UTC](https://forum.ansible.com/t/directory-always-marked-as-changed/17013/3 "2014-12-14T20:14:52Z")

</div>

Hello,

has no one a hint what might be going wrong :-).  
Regards Mirko

---

<div class="post-metadata">

**Author:** ![John\_Dewey](https://avatars.discourse-cdn.com/v4/letter/j/b9bd4f/32.png) [@John\_Dewey](https://forum.ansible.com/u/John_Dewey)\
**Post date:** [December 14, 2014, 10:09pm UTC](https://forum.ansible.com/t/directory-always-marked-as-changed/17013/4 "2014-12-14T22:09:06Z")

</div>

Things work as expected for me in my vagrant test.

[http://paste.openstack.org/show/150780/](http://paste.openstack.org/show/150780/)

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan1](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@Michael\_DeHaan1](https://forum.ansible.com/u/Michael_DeHaan1)\
**Post date:** [December 15, 2014, 12:06pm UTC](https://forum.ansible.com/t/directory-always-marked-as-changed/17013/5 "2014-12-15T12:06:02Z")

</div>

What version of Ansible were you using?

Thanks!

---

<div class="post-metadata">

**Author:** ![Mirko\_Friedenhagen](https://avatars.discourse-cdn.com/v4/letter/m/838e76/32.png) [@Mirko\_Friedenhagen](https://forum.ansible.com/u/Mirko_Friedenhagen)\
**Post date:** [December 15, 2014, 5:26pm UTC](https://forum.ansible.com/t/directory-always-marked-as-changed/17013/6 "2014-12-15T17:26:51Z")

</div>

Hello,

sorry for the noise and thanks for all answers. I had copied an old /etc/defaults/jenkins configuration file where the mode was always changed to 0700. So every time ansible checked whether Jenkins was running by calling the init.d script, the mode was reset to above value.

Regards  
Mirko
