mirror of
https://github.com/valitydev/salt.git
synced 2024-11-08 17:33:54 +00:00
Merge pull request #359 from SEJeff/module-cleanups
RFC: Module cleanups
This commit is contained in:
commit
8be963fb09
@ -2,18 +2,22 @@
|
||||
Support for Apache
|
||||
'''
|
||||
|
||||
from re import sub
|
||||
import re
|
||||
|
||||
__outputter__ = {
|
||||
'signal': 'txt',
|
||||
}
|
||||
|
||||
|
||||
def __detect_os():
|
||||
'''
|
||||
Apache commands and paths differ depending on packaging
|
||||
'''
|
||||
httpd = 'CentOS Scientific RedHat Fedora'
|
||||
apache2 = 'Ubuntu'
|
||||
if httpd.count(__grains__['os']):
|
||||
httpd = ('CentOS', 'Scientific', 'RedHat', 'Fedora')
|
||||
apache2 = ('Ubuntu',)
|
||||
if __grains__['os'] in httpd:
|
||||
return 'apachectl'
|
||||
elif apache2.count(__grains__['os']):
|
||||
elif __grains__['os'] in apache2:
|
||||
return 'apache2ctl'
|
||||
else:
|
||||
return 'apachectl'
|
||||
@ -46,10 +50,10 @@ def fullversion():
|
||||
ret['compiled_with'] = []
|
||||
out = __salt__['cmd.run'](cmd).split('\n')
|
||||
for line in out:
|
||||
if not line.count(' '):
|
||||
continue
|
||||
if ': ' in line:
|
||||
comps = line.split(': ')
|
||||
if not comps:
|
||||
continue
|
||||
ret[comps[0].strip().lower().replace(' ', '_')] = comps[1].strip()
|
||||
elif ' -D' in line:
|
||||
cw = line.strip(' -D ')
|
||||
@ -71,9 +75,9 @@ def modules():
|
||||
ret['shared'] = []
|
||||
out = __salt__['cmd.run'](cmd).split('\n')
|
||||
for line in out:
|
||||
if not line.count(' '):
|
||||
continue
|
||||
comps = line.split()
|
||||
if not comps:
|
||||
continue
|
||||
if '(static)' in line:
|
||||
ret['static'].append(comps[0])
|
||||
if '(shared)' in line:
|
||||
@ -93,7 +97,7 @@ def servermods():
|
||||
ret = []
|
||||
out = __salt__['cmd.run'](cmd).split('\n')
|
||||
for line in out:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
if '.c' in line:
|
||||
ret.append(line.strip())
|
||||
@ -114,7 +118,7 @@ def directives():
|
||||
out = __salt__['cmd.run'](cmd)
|
||||
out = out.replace('\n\t', '\t')
|
||||
for line in out.split('\n'):
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
comps = line.split('\t')
|
||||
desc = '\n'.join(comps[1:])
|
||||
@ -138,7 +142,7 @@ def vhosts():
|
||||
namevhost = ''
|
||||
out = __salt__['cmd.run'](cmd)
|
||||
for line in out.split('\n'):
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
comps = line.split()
|
||||
if 'is a NameVirtualHost' in line:
|
||||
@ -148,11 +152,11 @@ def vhosts():
|
||||
if comps[0] == 'default':
|
||||
ret[namevhost]['default'] = {}
|
||||
ret[namevhost]['default']['vhost'] = comps[2]
|
||||
ret[namevhost]['default']['conf'] = sub(r'\(|\)', '', comps[3])
|
||||
ret[namevhost]['default']['conf'] = re.sub(r'\(|\)', '', comps[3])
|
||||
if comps[0] == 'port':
|
||||
ret[namevhost][comps[3]] = {}
|
||||
ret[namevhost][comps[3]]['vhost'] = comps[3]
|
||||
ret[namevhost][comps[3]]['conf'] = sub(r'\(|\)', '', comps[4])
|
||||
ret[namevhost][comps[3]]['conf'] = re.sub(r'\(|\)', '', comps[4])
|
||||
ret[namevhost][comps[3]]['port'] = comps[1]
|
||||
return ret
|
||||
|
||||
@ -165,8 +169,28 @@ def signal(signal=None):
|
||||
|
||||
salt '*' apache.signal restart
|
||||
'''
|
||||
valid_signals = 'start stop restart graceful graceful-stop'
|
||||
if not valid_signals.count(signal):
|
||||
no_extra_args = ('configtest', 'status', 'fullstatus')
|
||||
valid_signals = ('start', 'stop', 'restart', 'graceful', 'graceful-stop')
|
||||
|
||||
if signal not in valid_signals and signal not in no_extra_args:
|
||||
return
|
||||
cmd = __detect_os() + ' -k %s' % signal
|
||||
out = __salt__['cmd.run'](cmd)
|
||||
# Make sure you use the right arguments
|
||||
if signal in valid_signals:
|
||||
arguments = ' -k {0}'.format(signal)
|
||||
else:
|
||||
arguments = ' {0}'.format(signal)
|
||||
cmd = __detect_os() + arguments
|
||||
out = __salt__['cmd.run_all'](cmd)
|
||||
|
||||
# A non-zero return code means fail
|
||||
if out['retcode'] and out['stderr']:
|
||||
ret = out['stderr'].strip()
|
||||
# 'apachectl configtest' returns 'Syntax OK' to stderr
|
||||
elif out['stderr']:
|
||||
ret = out['stderr'].strip()
|
||||
elif out['stdout']:
|
||||
ret = out['stdout'].strip()
|
||||
# No output for something like: apachectl graceful
|
||||
else:
|
||||
ret = 'Command: "{0}" completed successfully!'.format(cmd)
|
||||
return ret
|
||||
|
@ -69,7 +69,7 @@ def refresh_db():
|
||||
if not len(cols):
|
||||
continue
|
||||
ident = " ".join(cols[1:4])
|
||||
if cols[0].count('Get'):
|
||||
if 'Get' in cols[0]:
|
||||
servers[ident] = True
|
||||
else:
|
||||
servers[ident] = False
|
||||
@ -222,7 +222,7 @@ def list_pkgs(regex_string=""):
|
||||
|
||||
for line in out.split('\n'):
|
||||
cols = line.split()
|
||||
if len(cols) and cols[0].count('ii'):
|
||||
if len(cols) and 'ii' in cols[0]:
|
||||
ret[cols[1]] = cols[2]
|
||||
|
||||
return ret
|
||||
|
@ -100,6 +100,9 @@ def list_tab(user):
|
||||
ret['pre'].append(line)
|
||||
return ret
|
||||
|
||||
# For consistency's sake
|
||||
ls = list_tab
|
||||
|
||||
|
||||
def set_special(user, special, cmd):
|
||||
'''
|
||||
@ -188,3 +191,5 @@ def rm_job(user, minute, hour, dom, month, dow, cmd):
|
||||
# Failed to commit, return the error
|
||||
return comdat['stderr']
|
||||
return ret
|
||||
|
||||
rm = rm_job
|
||||
|
@ -2,9 +2,6 @@
|
||||
Module for gathering disk information
|
||||
'''
|
||||
|
||||
# FIXME: we want module internal calls rather than using subprocess directly
|
||||
import subprocess
|
||||
|
||||
|
||||
def usage():
|
||||
'''
|
||||
@ -16,20 +13,49 @@ def usage():
|
||||
'''
|
||||
cmd = 'df -P'
|
||||
ret = {}
|
||||
out = subprocess.Popen(cmd,
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).communicate()[0].split('\n')
|
||||
out = __salt__['cmd.run'](cmd).split('\n')
|
||||
for line in out:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
if line.startswith('Filesystem'):
|
||||
continue
|
||||
comps = line.split()
|
||||
ret[comps[0]] = {
|
||||
'1K-blocks': comps[1],
|
||||
'available': comps[3],
|
||||
'capacity': comps[4],
|
||||
'mountpoint': comps[5],
|
||||
'used': comps[2]
|
||||
ret[comps[5]] = {
|
||||
'filesystem': comps[0],
|
||||
'1K-blocks': comps[1],
|
||||
'used': comps[2],
|
||||
'available': comps[3],
|
||||
'capacity': comps[4],
|
||||
}
|
||||
return ret
|
||||
|
||||
def inodeusage():
|
||||
'''
|
||||
Return inode usage information for volumes mounted on this minion
|
||||
|
||||
CLI Example::
|
||||
|
||||
salt '*' disk.inodeusage
|
||||
'''
|
||||
cmd = 'df -i'
|
||||
ret = {}
|
||||
out = __salt__['cmd.run'](cmd).split('\n')
|
||||
for line in out:
|
||||
if line.startswith('Filesystem'):
|
||||
continue
|
||||
comps = line.split()
|
||||
# Don't choke on empty lines
|
||||
if not comps:
|
||||
continue
|
||||
|
||||
try:
|
||||
ret[comps[5]] = {
|
||||
'inodes': comps[1],
|
||||
'used': comps[2],
|
||||
'free': comps[3],
|
||||
'use': comps[4],
|
||||
'filesystem': comps[0],
|
||||
}
|
||||
except IndexError:
|
||||
print "DEBUG: comps='%s'" % comps
|
||||
return ret
|
||||
|
@ -5,7 +5,7 @@ Support for Portage
|
||||
try:
|
||||
import portage
|
||||
except ImportError:
|
||||
None
|
||||
pass
|
||||
|
||||
def __virtual__():
|
||||
'''
|
||||
@ -101,7 +101,7 @@ def install(pkg, refresh=False):
|
||||
new_pkgs = list_pkgs()
|
||||
|
||||
for pkg in new_pkgs:
|
||||
if old_pkgs.has_key(pkg):
|
||||
if pkg in old_pkgs:
|
||||
if old_pkgs[pkg] == new_pkgs[pkg]:
|
||||
continue
|
||||
else:
|
||||
@ -136,7 +136,7 @@ def update(pkg, refresh=False):
|
||||
new_pkgs = list_pkgs()
|
||||
|
||||
for pkg in new_pkgs:
|
||||
if old_pkgs.has_key(pkg):
|
||||
if pkg in old_pkgs:
|
||||
if old_pkgs[pkg] == new_pkgs[pkg]:
|
||||
continue
|
||||
else:
|
||||
@ -170,7 +170,7 @@ def upgrade(refresh=False):
|
||||
new_pkgs = list_pkgs()
|
||||
|
||||
for pkg in new_pkgs:
|
||||
if old_pkgs.has_key(pkg):
|
||||
if pkg in old_pkgs:
|
||||
if old_pkgs[pkg] == new_pkgs[pkg]:
|
||||
continue
|
||||
else:
|
||||
@ -200,7 +200,7 @@ def remove(pkg):
|
||||
new_pkgs = list_pkgs()
|
||||
|
||||
for pkg in old_pkgs:
|
||||
if not new_pkgs.has_key(pkg):
|
||||
if not pkg in new_pkgs:
|
||||
ret_pkgs.append(pkg)
|
||||
|
||||
return ret_pkgs
|
||||
|
@ -52,7 +52,7 @@ def available():
|
||||
for path in __salt__['cmd.run']('ls /boot/kernel | grep .ko$').split('\n'):
|
||||
bpath = os.path.basename(path)
|
||||
comps = bpath.split('.')
|
||||
if comps.count('ko'):
|
||||
if 'ko' in comps:
|
||||
# This is a kernel module, return it without the .ko extension
|
||||
ret.append('.'.join(comps[:comps.index('ko')]))
|
||||
return ret
|
||||
@ -66,7 +66,7 @@ def check_available(mod):
|
||||
|
||||
salt '*' kmod.check_available kvm
|
||||
'''
|
||||
if available().count(mod):
|
||||
if mod in available():
|
||||
# the module is available, return True
|
||||
return True
|
||||
return False
|
||||
|
@ -23,7 +23,7 @@ def items():
|
||||
return __grains__
|
||||
|
||||
|
||||
def item(key):
|
||||
def item(key=None):
|
||||
'''
|
||||
Return a singe component of the grains data
|
||||
|
||||
@ -31,11 +31,9 @@ def item(key):
|
||||
|
||||
salt '*' grains.item os
|
||||
'''
|
||||
if key in __grains__:
|
||||
return __grains__[key]
|
||||
return ''
|
||||
return __grains__.get(key, '')
|
||||
|
||||
def list():
|
||||
def ls():
|
||||
'''
|
||||
Return a list of all available grains
|
||||
|
||||
@ -43,7 +41,4 @@ def list():
|
||||
|
||||
salt '*' grains.list
|
||||
'''
|
||||
return sorted(__grains__.keys())
|
||||
|
||||
# Keep the wise 'nix beards happy
|
||||
ls = list
|
||||
return sorted(__grains__)
|
||||
|
@ -42,7 +42,7 @@ def get_ip(host):
|
||||
return ''
|
||||
# Look for the op
|
||||
for addr in hosts:
|
||||
if hosts[addr].count(host):
|
||||
if host in hosts[addr]:
|
||||
return addr
|
||||
# ip not found
|
||||
return ''
|
||||
@ -71,7 +71,7 @@ def has_pair(ip, alias):
|
||||
hosts = list_hosts()
|
||||
if ip not in hosts:
|
||||
return False
|
||||
if hosts[ip].count(alias):
|
||||
if alias in hosts[ip]:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
@ -52,10 +52,10 @@ def available():
|
||||
for path in __salt__['cmd.run']('modprobe -l').split('\n'):
|
||||
bpath = os.path.basename(path)
|
||||
comps = bpath.split('.')
|
||||
if comps.count('ko'):
|
||||
if 'ko' in comps:
|
||||
# This is a kernel module, return it without the .ko extension
|
||||
ret.append('.'.join(comps[:comps.index('ko')]))
|
||||
return ret
|
||||
return sorted(list(ret))
|
||||
|
||||
|
||||
def check_available(mod):
|
||||
@ -66,10 +66,7 @@ def check_available(mod):
|
||||
|
||||
salt '*' kmod.check_available kvm
|
||||
'''
|
||||
if available().count(mod):
|
||||
# the module is available, return True
|
||||
return True
|
||||
return False
|
||||
return mod in available()
|
||||
|
||||
|
||||
def lsmod():
|
||||
@ -87,10 +84,11 @@ def lsmod():
|
||||
continue
|
||||
if comps[0] == 'Module':
|
||||
continue
|
||||
mdat = {}
|
||||
mdat['module'] = comps[0]
|
||||
mdat['size'] = comps[1]
|
||||
mdat['depcount'] = comps[2]
|
||||
mdat = {
|
||||
'size': comps[1],
|
||||
'module': comps[0],
|
||||
'depcount': comps[2],
|
||||
}
|
||||
if len(comps) > 3:
|
||||
mdat['deps'] = comps[3].split(',')
|
||||
else:
|
||||
|
@ -24,9 +24,9 @@ def show():
|
||||
ret = {}
|
||||
out = __salt__['cmd.run'](cmd).split('\n')
|
||||
for line in out:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
if not line.count(' = '):
|
||||
if ' = ' not in line:
|
||||
continue
|
||||
comps = line.split(' = ')
|
||||
ret[comps[0]] = comps[1]
|
||||
@ -80,7 +80,7 @@ def persist(name, value, config='/etc/sysctl.conf'):
|
||||
if line.startswith('#'):
|
||||
nlines.append(line)
|
||||
continue
|
||||
if not line.count('='):
|
||||
if '=' not in line:
|
||||
nlines.append(line)
|
||||
continue
|
||||
comps = line.split('=')
|
||||
|
@ -20,7 +20,7 @@ def dirinfo(path, opts=None):
|
||||
|
||||
output = out['stdout'].split('\n')
|
||||
for line in output:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
comps = line.split(':')
|
||||
ret[comps[0].strip()] = comps[1].strip()
|
||||
@ -42,7 +42,7 @@ def fileinfo(path):
|
||||
|
||||
output = out['stdout'].split('\n')
|
||||
for line in output:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
if '/' in line:
|
||||
comps = line.split('/')
|
||||
@ -85,7 +85,7 @@ def mounts():
|
||||
|
||||
output = out['stdout'].split('\n')
|
||||
for line in output:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
if 'fuse.mfs' in line:
|
||||
comps = line.split(' ')
|
||||
@ -130,7 +130,7 @@ def getgoal(path, opts=None):
|
||||
}
|
||||
else:
|
||||
for line in output:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
if path in line:
|
||||
continue
|
||||
|
@ -4,7 +4,13 @@ Module for gathering and managing network information
|
||||
|
||||
from string import ascii_letters, digits
|
||||
import socket
|
||||
import subprocess
|
||||
import salt.utils
|
||||
|
||||
__outputter__ = {
|
||||
'dig': 'txt',
|
||||
'ping': 'txt',
|
||||
'netstat': 'txt',
|
||||
}
|
||||
|
||||
|
||||
def _sanitize_host(host):
|
||||
@ -25,13 +31,10 @@ def ping(host):
|
||||
salt '*' network.ping archlinux.org -c 4
|
||||
'''
|
||||
cmd = 'ping -c 4 %s' % _sanitize_host(host)
|
||||
|
||||
out = subprocess.Popen(cmd,
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).communicate()[0]
|
||||
return out
|
||||
return __salt__['cmd.run'](cmd)
|
||||
|
||||
|
||||
# FIXME: Does not work with: netstat 1.42 (2001-04-15) from net-tools 1.6.0 (Ubuntu 10.10)
|
||||
def netstat():
|
||||
'''
|
||||
Return information on open ports and states
|
||||
@ -40,14 +43,10 @@ def netstat():
|
||||
|
||||
salt '*' network.netstat
|
||||
'''
|
||||
cmd = 'netstat -tulpnea'
|
||||
ret = []
|
||||
out = subprocess.Popen(cmd,
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).communicate()[0].split('\n')
|
||||
cmd = 'netstat -tulpnea'
|
||||
out = __salt__['cmd.run'](cmd)
|
||||
for line in out:
|
||||
if not line.count(' '):
|
||||
continue
|
||||
comps = line.split()
|
||||
if line.startswith('tcp'):
|
||||
ret.append({
|
||||
@ -73,6 +72,8 @@ def netstat():
|
||||
return ret
|
||||
|
||||
|
||||
# FIXME: This is broken on: Modern traceroute for Linux, version 2.0.14, May 10 2010 (Ubuntu 10.10)
|
||||
# FIXME: traceroute is deprecated, make this fall back to tracepath
|
||||
def traceroute(host):
|
||||
'''
|
||||
Performs a traceroute to a 3rd party host
|
||||
@ -81,13 +82,12 @@ def traceroute(host):
|
||||
|
||||
salt '*' network.traceroute archlinux.org
|
||||
'''
|
||||
cmd = 'traceroute %s' % _sanitize_host(host)
|
||||
ret = []
|
||||
out = subprocess.Popen(cmd,
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).communicate()[0].split('\n')
|
||||
cmd = 'traceroute %s' % _sanitize_host(host)
|
||||
out = __salt__['cmd.run'](cmd)
|
||||
|
||||
for line in out:
|
||||
if not line.count(' '):
|
||||
if not ' ' in line:
|
||||
continue
|
||||
if line.startswith('traceroute'):
|
||||
continue
|
||||
@ -115,11 +115,7 @@ def dig(host):
|
||||
salt '*' network.dig archlinux.org
|
||||
'''
|
||||
cmd = 'dig %s' % _sanitize_host(host)
|
||||
|
||||
out = subprocess.Popen(cmd,
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).communicate()[0]
|
||||
return out
|
||||
return __salt__['cmd.run'](cmd)
|
||||
|
||||
|
||||
def isportopen(host, port):
|
||||
@ -138,4 +134,3 @@ def isportopen(host, port):
|
||||
out = sock.connect_ex((_sanitize_host(host), int(port)))
|
||||
|
||||
return out
|
||||
|
||||
|
@ -62,7 +62,7 @@ def list_pkgs():
|
||||
ret = {}
|
||||
out = __salt__['cmd.run'](cmd).split('\n')
|
||||
for line in out:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
comps = line.split()
|
||||
ret[comps[0]] = comps[1]
|
||||
@ -88,9 +88,9 @@ def refresh_db():
|
||||
if not line:
|
||||
continue
|
||||
key = line.strip().split()[0]
|
||||
if line.count('is up to date'):
|
||||
if 'is up to date' in line:
|
||||
ret[key] = False
|
||||
elif line.count('downloading'):
|
||||
elif 'downloading' in line:
|
||||
ret[key] = True
|
||||
return ret
|
||||
|
||||
|
@ -621,7 +621,7 @@ def is_replication_enabled(host=None, core_name=None):
|
||||
replication_enabled = 'false'
|
||||
master_url = slave['masterUrl']
|
||||
#check for errors on the slave
|
||||
if slave.has_key('ERROR'):
|
||||
if 'ERROR' in slave:
|
||||
success=False
|
||||
err = "{0}: {1} - {2}".format(name, slave['ERROR'], master_url)
|
||||
resp['errors'].append(err)
|
||||
@ -691,7 +691,7 @@ def match_index_versions(host=None,core_name=None):
|
||||
if response['success']:
|
||||
slave = resp['data']['details']['slave']
|
||||
master_url = resp['data']['details']['slave']['masterUrl']
|
||||
if slave.has_key('ERROR'):
|
||||
if 'ERROR' in slave:
|
||||
error = slave['ERROR']
|
||||
success=False
|
||||
err = "{0}: {1} - {2}".format(name, error, master_url)
|
||||
@ -931,9 +931,13 @@ def signal(signal=None):
|
||||
'''
|
||||
|
||||
ret = _get_return_dict()
|
||||
valid_signals = 'start stop restart'
|
||||
if not valid_signals.count(signal):
|
||||
return
|
||||
valid_signals = ('start', 'stop', 'restart')
|
||||
|
||||
# Give a friendly error message for invalid signals
|
||||
# TODO: Fix this logic to be reusable and used by apache.signal
|
||||
if signal not in valid_signals:
|
||||
msg = valid_signals[:-1] + ('or {0}'.format(valid_signals[-1]),)
|
||||
return '{0} is an invalid signal. Try: one of: {1}'.format(signal, ', '.join(msg))
|
||||
|
||||
cmd = "{0} {1}".format(__opts__['solr.init_script'], signal)
|
||||
out = __salt__['cmd.run'](cmd)
|
||||
|
@ -12,9 +12,9 @@ def _refine_enc(enc):
|
||||
'''
|
||||
rsa = ['r', 'rsa', 'ssh-rsa']
|
||||
dss = ['d', 'dsa', 'dss', 'ssh-dss']
|
||||
if rsa.count(enc):
|
||||
if enc in rsa:
|
||||
return 'ssh-rsa'
|
||||
elif dss.count(enc):
|
||||
elif enc in dss:
|
||||
return 'ssh-dss'
|
||||
else:
|
||||
return 'ssh-rsa'
|
||||
@ -86,7 +86,7 @@ def host_keys(keydir=None):
|
||||
# Set up the default keydir - needs to support sshd_config parsing in the
|
||||
# future
|
||||
if not keydir:
|
||||
if __grains__['Linux']:
|
||||
if __grains__['kernel'] == 'Linux':
|
||||
keydir = '/etc/ssh'
|
||||
keys = {}
|
||||
for fn_ in os.listdir(keydir):
|
||||
|
@ -6,8 +6,6 @@ These data can be useful for compiling into stats later.
|
||||
import fnmatch
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
|
||||
|
||||
__opts__ = {}
|
||||
|
||||
@ -71,8 +69,7 @@ def uptime():
|
||||
|
||||
salt '*' status.uptime
|
||||
'''
|
||||
return subprocess.Popen(['uptime'],
|
||||
stdout=subprocess.PIPE).communicate()[0].strip()
|
||||
return __salt__['cmd.run']('uptime').strip()
|
||||
|
||||
|
||||
def loadavg():
|
||||
@ -107,7 +104,7 @@ def cpustats():
|
||||
stats = open(procf, 'r').read().split('\n')
|
||||
ret = {}
|
||||
for line in stats:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
comps = line.split()
|
||||
if comps[0] == 'cpu':
|
||||
@ -144,7 +141,7 @@ def meminfo():
|
||||
stats = open(procf, 'r').read().split('\n')
|
||||
ret = {}
|
||||
for line in stats:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
comps = line.split()
|
||||
comps[0] = comps[0].replace(':', '')
|
||||
@ -170,7 +167,7 @@ def cpuinfo():
|
||||
stats = open(procf, 'r').read().split('\n')
|
||||
ret = {}
|
||||
for line in stats:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
comps = line.split(':')
|
||||
comps[0] = comps[0].strip()
|
||||
@ -195,7 +192,7 @@ def diskstats():
|
||||
stats = open(procf, 'r').read().split('\n')
|
||||
ret = {}
|
||||
for line in stats:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
comps = line.split()
|
||||
ret[comps[2]] = {'major': _number(comps[0]),
|
||||
@ -285,7 +282,7 @@ def vmstats():
|
||||
stats = open(procf, 'r').read().split('\n')
|
||||
ret = {}
|
||||
for line in stats:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
comps = line.split()
|
||||
ret[comps[0]] = _number(comps[1])
|
||||
@ -307,7 +304,7 @@ def netstats():
|
||||
ret = {}
|
||||
headers = ['']
|
||||
for line in stats:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
comps = line.split()
|
||||
if comps[0] == headers[0]:
|
||||
@ -339,7 +336,7 @@ def netdev():
|
||||
stats = open(procf, 'r').read().split('\n')
|
||||
ret = {}
|
||||
for line in stats:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
if line.find(':') < 0:
|
||||
continue
|
||||
@ -376,12 +373,10 @@ def w():
|
||||
|
||||
salt '*' status.w
|
||||
'''
|
||||
users = subprocess.Popen(['w -h'],
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).communicate()[0].split('\n')
|
||||
user_list = []
|
||||
users = __salt__['cmd.run']('w -h').split('\n')
|
||||
for row in users:
|
||||
if not row.count(' '):
|
||||
if not row:
|
||||
continue
|
||||
comps = row.split()
|
||||
rec = {'idle': comps[3],
|
||||
|
@ -27,7 +27,7 @@ def version():
|
||||
out = __salt__['cmd.run'](cmd).split('\n')
|
||||
ret = out[0].split(': ')
|
||||
for line in out:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
if 'Server version' in line:
|
||||
comps = line.split(': ')
|
||||
@ -46,7 +46,7 @@ def fullversion():
|
||||
ret = {}
|
||||
out = __salt__['cmd.run'](cmd).split('\n')
|
||||
for line in out:
|
||||
if not line.count(' '):
|
||||
if not line:
|
||||
continue
|
||||
if ': ' in line:
|
||||
comps = line.split(': ')
|
||||
|
@ -40,7 +40,7 @@ def _get_dom(vm_):
|
||||
Return a domain object for the named vm
|
||||
'''
|
||||
conn = __get_conn()
|
||||
if not list_vms().count(vm_):
|
||||
if vm_ not in list_vms():
|
||||
raise Exception('The specified vm is not present')
|
||||
return conn.lookupByName(vm_)
|
||||
|
||||
@ -169,12 +169,12 @@ def get_disks(vm_):
|
||||
target = targets[0]
|
||||
else:
|
||||
continue
|
||||
if target.attributes.keys().count('dev')\
|
||||
and source.attributes.keys().count('file'):
|
||||
disks[target.getAttribute('dev')] =\
|
||||
if 'dev' in target.attributes.keys() \
|
||||
and 'file' in source.attributes.keys():
|
||||
disks[target.getAttribute('dev')] = \
|
||||
{'file': source.getAttribute('file')}
|
||||
for dev in disks:
|
||||
disks[dev].update(yaml.safe_load(subprocess.Popen('qemu-img info '\
|
||||
disks[dev].update(yaml.safe_load(subprocess.Popen('qemu-img info ' \
|
||||
+ disks[dev]['file'],
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).communicate()[0]))
|
||||
@ -509,11 +509,9 @@ def is_kvm_hyper():
|
||||
'''
|
||||
if __grains__['virtual'] != 'physical':
|
||||
return False
|
||||
if not open('/proc/modules').read().count('kvm_'):
|
||||
if 'kvm_' not in open('/proc/modules').read():
|
||||
return False
|
||||
libvirt_ret = subprocess.Popen('ps aux',
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).communicate()[0].count('libvirtd')
|
||||
libvirt_ret = __salt__['cmd.run'](__grains__['ps']).count('libvirtd')
|
||||
if not libvirt_ret:
|
||||
return False
|
||||
return True
|
||||
|
@ -11,14 +11,14 @@ def __virtual__():
|
||||
'''
|
||||
# Return this for pkg on RHEL/Fedora based distros that ship with python
|
||||
# 2.6 or greater.
|
||||
dists = 'CentOS Scientific RedHat'
|
||||
dists = ('CentOS', 'Scientific', 'RedHat')
|
||||
if __grains__['os'] == 'Fedora':
|
||||
if int(__grains__['osrelease'].split('.')[0]) >= 11:
|
||||
return 'pkg'
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
if dists.count(__grains__['os']):
|
||||
if __grains__['os'] in dists:
|
||||
if int(__grains__['osrelease'].split('.')[0]) >= 6:
|
||||
return 'pkg'
|
||||
else:
|
||||
|
@ -7,14 +7,14 @@ def __virtual__():
|
||||
'''
|
||||
# Return this for pkg on RHEL/Fedora based distros that do not ship with
|
||||
# python 2.6 or greater.
|
||||
dists = 'CentOS Scientific RedHat'
|
||||
dists = ('CentOS', 'Scientific', 'RedHat')
|
||||
if __grains__['os'] == 'Fedora':
|
||||
if int(__grains__['osrelease'].split('.')[0]) < 11:
|
||||
return 'pkg'
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
if dists.count(__grains__['os']):
|
||||
if __grains__['os'] in dists:
|
||||
if int(__grains__['osrelease'].split('.')[0]) <= 5:
|
||||
return 'pkg'
|
||||
else:
|
||||
@ -84,7 +84,7 @@ def list_pkgs():
|
||||
ret = {}
|
||||
out = __salt__['cmd.run_stdout'](cmd)
|
||||
for line in out.split(';'):
|
||||
if not line.count(':'):
|
||||
if ':' not in line:
|
||||
continue
|
||||
comps = line.split(':')
|
||||
ret[comps[0]] = comps[1]
|
||||
|
Loading…
Reference in New Issue
Block a user