if args.create_tables: roumiga.DeclarativeBase.metadata.create_all(roumiga.engine, checkfirst=True) if args.take_snapshot: snapshot = roumiga.Snapshot() roumiga.session.add(snapshot) roumiga.session.flush() for node in args.junos_node: ncj = NodeCaptureJnpr(snapshot, node, user, password) ncj.snap() roumiga.session.commit() if args.summary: s = roumiga.Snapshot.from_id(args.summary) print "Snapshot ID: %-5d taken at: %s" % (s.id, str(s.time)[:19]) for node in Node.from_snapshot(s): print " ", node.hostname if args.list_snapshots: for s in roumiga.Snapshot.list(): print "Snapshot ID: %-5d taken at: %s" % (s.id, str(s.time)[:19]) for node in Node.from_snapshot(s): print " Node: ", node.hostname if args.compare: s1 = roumiga.Snapshot.from_id(args.compare[0]) s2 = roumiga.Snapshot.from_id(args.compare[1]) nodes1 = {} for n in Node.from_snapshot(s1): nodes1[n.fqdn] = n