plcdb = plccache.l_sites # database.dbLoad("l_plcsites")
-netid2ip = plccache.plcdb_netid2ip # database.dbLoad("plcdb_netid2ip")
+#netid2ip = plccache.plcdb_netid2ip # database.dbLoad("plcdb_netid2ip")
lb2hn = plccache.plcdb_lb2hn # database.dbLoad("plcdb_lb2hn")
def get_site_iplist(loginbase):
# TODO: if it is, then we need to break up the discovery rule.
ip_list = ""
for node in node_list:
- if len(node['nodenetwork_ids']) > 0:
- ip = netid2ip[node['nodenetwork_ids'][0]]
+ if len(node['interface_ids']) > 0:
+ ifs = plc.api.GetInterfaces({'interface_id' : node['interface_ids'], 'is_primary' : True})
+ print ifs
+ #ip = netid2ip[node['interface_ids'][0]]
+ ip = ifs[0]['ip']
if len(ip_list) > 0: ip_list += ","
ip_list += ip
from monitor import parser as parsermodule
parser = parsermodule.getParser(['cacheset'])
- parser.set_defaults( setupglobal=False, syncsite=True, site=None, setupids=False)
+ parser.set_defaults( setupglobal=False, syncsite=True, site=None, sitelist=None, setupids=False)
parser.add_option("", "--setupids", action="store_true", dest="setupids",
help="Setup global IDs.")
parser.add_option("", "--setupglobal", action="store_true", dest="setupglobal",
help="Do not sync sites.")
parser.add_option("", "--site", dest="site",
help="Sync only given site name.")
+ parser.add_option("", "--sitelist", dest="sitelist",
+ help="Sync only given site names in the list.")
opts = parsermodule.parse_args(parser)
os.system("""echo '' > /usr/share/monitor/nodelist.txt""")
query = {'peer_id' : None}
if opts.site:
query.update({'login_base' : opts.site})
+ elif opts.sitelist:
+ l = opts.sitelist.split(",")
+ query.update({'login_base' : l})
# ADD SITES
sites = api.GetSites(query, ['login_base'])
site_api_list = [ site['login_base'] for site in sites ]
- for site in sites[:20]:
+ for site in sites: # [:20]:
add_loginbase(site['login_base'])
session.flush()
in_db_not_plc = set(site_db_list) - set(site_api_list)
for login_base in in_db_not_plc:
print "Deleting %s" % login_base
- zabbixsite.delete_site(site['login_base'])
+ zabbixsite.delete_site(login_base)
+ session.flush()