Hi List,
I’m trying to securely place a vhost file for apache.
Before I place a new chost from template, I want it to be checked for
correct behaviour before really deploying it:
- name: Plaats de verschillende extra vhosts
template: src=vhost.j2 dest=/etc/httpd/conf.d/vhosts.conf backup=yes
validate="/usr/sbin/apachectl -tf /etc/httpd/conf/httpd.conf"
notify: reload httpd
tags: httpd
Well, this will result in this error message:
TASK: [httpd | Plaats de verschillende extra vhosts] **************************
<10.34.34.66> ESTABLISH CONNECTION FOR USER: root on PORT 22 TO 10.34.34.66
<10.34.34.66> EXEC /bin/sh -c 'mkdir -p
$HOME/.ansible/tmp/ansible-tmp-1412077952.61-262594095082263 && echo
$HOME/.ansible/tmp/ansible-tmp-1412077952.61-262594095082263'
<10.34.34.66> EXEC /bin/sh -c 'rc=0; [ -r "/etc/httpd/conf.d/vhosts.conf" ] ||
rc=2; [ -f "/etc/httpd/conf.d/vhosts.conf" ] || rc=1; [ -d
"/etc/httpd/conf.d/vhosts.conf" ] && echo 3 && exit 0; (/usr/bin/md5sum
/etc/httpd/conf.d/vhosts.conf 2>/dev/null) || (/sbin/md5sum -q
/etc/httpd/conf.d/vhosts.conf 2>/dev/null) || (/usr/bin/digest -a md5
/etc/httpd/conf.d/vhosts.conf 2>/dev/null) || (/sbin/md5 -q
/etc/httpd/conf.d/vhosts.conf 2>/dev/null) || (/usr/bin/md5 -n
/etc/httpd/conf.d/vhosts.conf 2>/dev/null) || (/bin/md5 -q
/etc/httpd/conf.d/vhosts.conf 2>/dev/null) || (/usr/bin/csum -h MD5
/etc/httpd/conf.d/vhosts.conf 2>/dev/null) || (/bin/csum -h MD5
/etc/httpd/conf.d/vhosts.conf 2>/dev/null) || (echo "${rc}
/etc/httpd/conf.d/vhosts.conf")'
<10.34.34.66> PUT /tmp/tmpJob224 TO
/root/.ansible/tmp/ansible-tmp-1412077952.61-262594095082263/source
<10.34.34.66> PUT /tmp/tmpAvdktD TO
/root/.ansible/tmp/ansible-tmp-1412077952.61-262594095082263/copy
<10.34.34.66> EXEC /bin/sh -c 'LANG=C LC_CTYPE=C /usr/bin/python
/root/.ansible/tmp/ansible-tmp-1412077952.61-262594095082263/copy; rm -rf
/root/.ansible/tmp/ansible-tmp-1412077952.61-262594095082263/ >/dev/null 2>&1'
failed: [ISUFD4ACCPRES03] => {"failed": true}
msg: validate must contain %s: /usr/sbin/apachectl -tf
/etc/httpd/conf/httpd.conf
FATAL: all hosts have already failed -- aborting
Apparantly I need to add %s to the validate command. But validating in
apachectl does not work that way, it just needs the “top” config and then
works it’s way through that one and all “include” directories inside that
file and validate the complete setup for me.
I tried altering the command to: “validate=”/usr/sbin/apachectl -tf
/etc/httpd/conf/httpd.conf #%s” but ansible then thinks I forgot the
closing quotes (Because it’s behind a comment sign ;-)
Then I tried “validate=”/usr/sbin/apachectl -tf /etc/httpd/conf/httpd.conf
\#%s” you see? trying to escape the hash sign, which then gets translated
to the command as: “/usr/sbin/apachectl -tf /etc/httpd/conf/httpd.conf
\#/etc/httpd/confd./vhosts.conf” which then causes apachectl to fail again
;-)
A bit stuck here. Can we make %s optional?
Thanks,
Mark
--
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/50a60728-40b1-4552-8249-edf59a339044%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.