Skip to content
Snippets Groups Projects
Commit ee6a25f9 authored by Sven Mäder's avatar Sven Mäder :speech_balloon:
Browse files

Use fast search in xymon check

parent c69fb372
No related branches found
No related tags found
No related merge requests found
......@@ -72,26 +72,33 @@ def search_ldap():
ldap.search('(objectClass=posixAccount)', search_base=people, attributes=['uid', 'blocked', 'homeDirectory'])
ldap_users = ldap.response
for user in ldap_users:
uid = user['attributes']['uid'][0]
blocked = user['attributes']['blocked']
home_dir = user['attributes']['homeDirectory']
user_attrs = {}
user_attrs['homeDirectory'] = user['attributes']['homeDirectory']
if user['attributes']['blocked']:
user_attrs['blocked'] = user['attributes']['blocked']
user_attrs['homeDirectory'] = home_dir
if blocked:
user_attrs['blocked'] = blocked
else:
no_blocked.append(user['attributes']['uid'][0])
no_blocked.append(uid)
user_attrs['blocked'] = 'no'
users[user['attributes']['uid'][0]] = user_attrs
users[uid] = user_attrs
ldap.search('(&(objectClass=nisObject)(cn=*)(nisMapEntry=phd-home*))',
search_base=auto_home, attributes=['cn', 'nisMapEntry'])
entries = ldap.response
for entry in entries:
nis_homes[entry['attributes']['cn'][0]] = entry['attributes']['nisMapEntry']
cn = entry['attributes']['cn'][0]
nis_map = entry['attributes']['nisMapEntry']
nis_homes[cn] = nis_map
ldap.search('(&(objectClass=nisObject)(cn=*)(!(nisMapEntry=phd-home*)))',
search_base=auto_home, attributes=['cn', 'nisMapEntry'])
entries = ldap.response
for entry in entries:
nis_shares[entry['attributes']['cn'][0]] = entry['attributes']['nisMapEntry']
cn = entry['attributes']['cn'][0]
nis_map = entry['attributes']['nisMapEntry']
nis_shares[cn] = nis_map
def check_homes(top):
......
......@@ -72,28 +72,39 @@ class Home(object):
def search_ldap():
ldap = dphysldap.Ldap()
ldap_users = dphysldap.Users(ldap, ['uid', 'uidNumber', 'gidNumber', 'homeDirectory'])
entries = dphysldap.Entries(ldap, ['cn', 'nisMapEntry'])
people = 'ou=people,dc=phys,dc=ethz,dc=ch'
auto_home = 'nisMapName=auto.home,ou=automount,dc=phys,dc=ethz,dc=ch'
ldap_users.search('*')
ldap.search('(objectClass=posixAccount)', search_base=people, attributes=['uid', 'blocked', 'homeDirectory'])
ldap_users = ldap.response
for user in ldap_users:
uid = user['attributes']['uid'][0]
blocked = user['attributes']['blocked']
home_dir = user['attributes']['homeDirectory']
user_attrs = {}
user_attrs['homeDirectory'] = user['homeDirectory'][0]
if user['blocked']:
user_attrs['blocked'] = user['blocked'][0]
user_attrs['homeDirectory'] = home_dir
if blocked:
user_attrs['blocked'] = blocked
else:
no_blocked.append(user['uid'][0])
no_blocked.append(uid)
user_attrs['blocked'] = 'no'
users[user['uid'][0]] = user_attrs
users[uid] = user_attrs
entries.search('cn: *, nisMapEntry: phd-home*', ['nisObject'], base=auto_home)
ldap.search('(&(objectClass=nisObject)(cn=*)(nisMapEntry=phd-home*))',
search_base=auto_home, attributes=['cn', 'nisMapEntry'])
entries = ldap.response
for entry in entries:
nis_homes[entry['cn'][0]] = entry['nisMapEntry'][0]
cn = entry['attributes']['cn'][0]
nis_map = entry['attributes']['nisMapEntry']
nis_homes[cn] = nis_map
entries.search('cn: *, nisMapEntry: != phd-home*', ['nisObject'], base=auto_home)
ldap.search('(&(objectClass=nisObject)(cn=*)(!(nisMapEntry=phd-home*)))',
search_base=auto_home, attributes=['cn', 'nisMapEntry'])
entries = ldap.response
for entry in entries:
nis_shares[entry['cn'][0]] = entry['nisMapEntry'][0]
cn = entry['attributes']['cn'][0]
nis_map = entry['attributes']['nisMapEntry']
nis_shares[cn] = nis_map
def check_homes(top):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment