Commit aea022b0 by Stephen Fromm

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.
parent 036b7791
...@@ -25,6 +25,7 @@ import os ...@@ -25,6 +25,7 @@ import os
import sys import sys
import shlex import shlex
import subprocess import subprocess
import syslog
import traceback import traceback
APT_PATH = "/usr/bin/apt-get" APT_PATH = "/usr/bin/apt-get"
...@@ -113,6 +114,8 @@ if not os.path.exists(APT_PATH): ...@@ -113,6 +114,8 @@ if not os.path.exists(APT_PATH):
argfile = sys.argv[1] argfile = sys.argv[1]
args = open(argfile, 'r').read() args = open(argfile, 'r').read()
items = shlex.split(args) items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
if not len(items): if not len(items):
fail_json(msg='the module requires arguments -a') fail_json(msg='the module requires arguments -a')
......
...@@ -28,13 +28,18 @@ import subprocess ...@@ -28,13 +28,18 @@ import subprocess
import sys import sys
import datetime import datetime
import traceback import traceback
import syslog
# =========================================== # ===========================================
# FIXME: better error handling # FIXME: better error handling
argsfile = sys.argv[1] argsfile = sys.argv[1]
items = shlex.split(file(argsfile).read()) args = open(argsfile, 'r').read()
items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
params = {} params = {}
for x in items: for x in items:
......
...@@ -30,6 +30,7 @@ import datetime ...@@ -30,6 +30,7 @@ import datetime
import traceback import traceback
import signal import signal
import time import time
import syslog
def daemonize_self(): def daemonize_self():
# daemonizing code: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/66012 # daemonizing code: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/66012
...@@ -76,6 +77,9 @@ wrapped_module = sys.argv[3] ...@@ -76,6 +77,9 @@ wrapped_module = sys.argv[3]
argsfile = sys.argv[4] argsfile = sys.argv[4]
cmd = "%s %s" % (wrapped_module, argsfile) cmd = "%s %s" % (wrapped_module, argsfile)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % " ".join(sys.argv[1:]))
# setup logging directory # setup logging directory
logdir = os.path.expanduser("~/.ansible_async") logdir = os.path.expanduser("~/.ansible_async")
log_path = os.path.join(logdir, jid) log_path = os.path.join(logdir, jid)
......
...@@ -29,9 +29,12 @@ import datetime ...@@ -29,9 +29,12 @@ import datetime
import traceback import traceback
import shlex import shlex
import os import os
import syslog
argfile = sys.argv[1] argfile = sys.argv[1]
args = open(argfile, 'r').read() args = open(argfile, 'r').read()
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
shell = False shell = False
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
import sys import sys
import os import os
import shlex import shlex
import syslog
# =========================================== # ===========================================
# convert arguments of form a=b c=d # convert arguments of form a=b c=d
...@@ -32,7 +33,11 @@ if len(sys.argv) == 1: ...@@ -32,7 +33,11 @@ if len(sys.argv) == 1:
argfile = sys.argv[1] argfile = sys.argv[1]
if not os.path.exists(argfile): if not os.path.exists(argfile):
sys.exit(1) sys.exit(1)
items = shlex.split(open(argfile, 'r').read())
args = open(argfile, 'r').read()
items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
params = {} params = {}
......
...@@ -22,4 +22,5 @@ ...@@ -22,4 +22,5 @@
# facter # facter
# ruby-json # ruby-json
/usr/bin/logger -t ansible-facter Invoked as-is
/usr/bin/facter --json 2>/dev/null /usr/bin/facter --json 2>/dev/null
...@@ -25,6 +25,7 @@ import shutil ...@@ -25,6 +25,7 @@ import shutil
import stat import stat
import grp import grp
import pwd import pwd
import syslog
try: try:
import selinux import selinux
HAVE_SELINUX=True HAVE_SELINUX=True
...@@ -125,6 +126,8 @@ def selinux_context(path): ...@@ -125,6 +126,8 @@ def selinux_context(path):
argfile = sys.argv[1] argfile = sys.argv[1]
args = open(argfile, 'r').read() args = open(argfile, 'r').read()
items = shlex.split(args) items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
if not len(items): if not len(items):
fail_kv(msg='the module requires arguments -a') fail_kv(msg='the module requires arguments -a')
......
...@@ -31,6 +31,7 @@ import os ...@@ -31,6 +31,7 @@ import os
import sys import sys
import shlex import shlex
import subprocess import subprocess
import syslog
# =========================================== # ===========================================
# Basic support methods # Basic support methods
...@@ -57,6 +58,8 @@ if not os.path.exists(argfile): ...@@ -57,6 +58,8 @@ if not os.path.exists(argfile):
args = open(argfile, 'r').read() args = open(argfile, 'r').read()
items = shlex.split(args) items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
if not len(items): if not len(items):
fail_json(msg="the command module requires arguments (-a)") fail_json(msg="the command module requires arguments (-a)")
......
...@@ -26,6 +26,7 @@ import grp ...@@ -26,6 +26,7 @@ import grp
import shlex import shlex
import subprocess import subprocess
import sys import sys
import syslog
GROUPADD = "/usr/sbin/groupadd" GROUPADD = "/usr/sbin/groupadd"
GROUPDEL = "/usr/sbin/groupdel" GROUPDEL = "/usr/sbin/groupdel"
...@@ -131,6 +132,8 @@ if len(sys.argv) == 2 and os.path.exists(sys.argv[1]): ...@@ -131,6 +132,8 @@ if len(sys.argv) == 2 and os.path.exists(sys.argv[1]):
else: else:
args = ' '.join(sys.argv[1:]) args = ' '.join(sys.argv[1:])
items = shlex.split(args) items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
if not len(items): if not len(items):
fail_json(msg='the module requires arguments -a') fail_json(msg='the module requires arguments -a')
......
...@@ -18,4 +18,5 @@ ...@@ -18,4 +18,5 @@
# along with Ansible. If not, see <http://www.gnu.org/licenses/>. # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
# #
/usr/bin/logger -t ansible-ohai Invoked as-is
/usr/bin/ohai /usr/bin/ohai
...@@ -22,4 +22,10 @@ try: ...@@ -22,4 +22,10 @@ try:
except ImportError: except ImportError:
import simplejson as json import simplejson as json
import os
import syslog
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked as-is')
print json.dumps({ "ping" : "pong" }) print json.dumps({ "ping" : "pong" })
...@@ -25,6 +25,7 @@ import sys ...@@ -25,6 +25,7 @@ import sys
import shlex import shlex
import subprocess import subprocess
import os.path import os.path
import syslog
# TODO: switch to fail_json and other helper functions # TODO: switch to fail_json and other helper functions
# like other modules are using # like other modules are using
...@@ -95,6 +96,8 @@ def _do_enable(name, enable): ...@@ -95,6 +96,8 @@ def _do_enable(name, enable):
argfile = sys.argv[1] argfile = sys.argv[1]
args = open(argfile, 'r').read() args = open(argfile, 'r').read()
items = shlex.split(args) items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
if not len(items): if not len(items):
fail_json(dict(failed=True, msg='this module requires arguments (-a)')) fail_json(dict(failed=True, msg='this module requires arguments (-a)'))
......
...@@ -31,6 +31,7 @@ import socket ...@@ -31,6 +31,7 @@ import socket
import struct import struct
import subprocess import subprocess
import traceback import traceback
import syslog
try: try:
import json import json
...@@ -295,6 +296,9 @@ except: ...@@ -295,6 +296,9 @@ except:
(k,v) = opt.split("=") (k,v) = opt.split("=")
setup_options[k]=v setup_options[k]=v
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % setup_options)
ansible_file = os.path.expandvars(setup_options.get('metadata', DEFAULT_ANSIBLE_SETUP)) ansible_file = os.path.expandvars(setup_options.get('metadata', DEFAULT_ANSIBLE_SETUP))
ansible_dir = os.path.dirname(ansible_file) ansible_dir = os.path.dirname(ansible_file)
......
...@@ -21,6 +21,7 @@ import sys ...@@ -21,6 +21,7 @@ import sys
import os import os
import shlex import shlex
import base64 import base64
import syslog
try: try:
import json import json
...@@ -36,7 +37,11 @@ if len(sys.argv) == 1: ...@@ -36,7 +37,11 @@ if len(sys.argv) == 1:
argfile = sys.argv[1] argfile = sys.argv[1]
if not os.path.exists(argfile): if not os.path.exists(argfile):
sys.exit(1) sys.exit(1)
items = shlex.split(open(argfile, 'r').read())
args = open(argfile, 'r').read()
items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
params = {} params = {}
for x in items: for x in items:
......
...@@ -27,6 +27,7 @@ import grp ...@@ -27,6 +27,7 @@ import grp
import shlex import shlex
import subprocess import subprocess
import sys import sys
import syslog
try: try:
import spwd import spwd
HAVE_SPWD=True HAVE_SPWD=True
...@@ -264,6 +265,8 @@ if not os.path.exists(USERDEL): ...@@ -264,6 +265,8 @@ if not os.path.exists(USERDEL):
argfile = sys.argv[1] argfile = sys.argv[1]
args = open(argfile, 'r').read() args = open(argfile, 'r').read()
items = shlex.split(args) items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
if not len(items): if not len(items):
fail_json(msg='the module requires arguments -a') fail_json(msg='the module requires arguments -a')
......
...@@ -27,6 +27,7 @@ except ImportError: ...@@ -27,6 +27,7 @@ except ImportError:
import os import os
import sys import sys
import subprocess import subprocess
import syslog
try: try:
import libvirt import libvirt
except ImportError: except ImportError:
...@@ -366,6 +367,8 @@ def main(): ...@@ -366,6 +367,8 @@ def main():
args = open(argfile, 'r').read() args = open(argfile, 'r').read()
items = shlex.split(args) items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
if not len(items): if not len(items):
return VIRT_FAILED, msg return VIRT_FAILED, msg
......
...@@ -27,6 +27,7 @@ import datetime ...@@ -27,6 +27,7 @@ import datetime
import shlex import shlex
import re import re
import traceback import traceback
import syslog
try: try:
...@@ -299,6 +300,8 @@ def main(): ...@@ -299,6 +300,8 @@ def main():
args = open(argfile, 'r').read() args = open(argfile, 'r').read()
items = shlex.split(args) items = shlex.split(args)
syslog.openlog('ansible-%s' % os.path.basename(__file__))
syslog.syslog(syslog.LOG_NOTICE, 'Invoked with %s' % args)
if not len(items): if not len(items):
msg = "the yum module requires arguments (-a)" msg = "the yum module requires arguments (-a)"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment