def snap(self): dev = Device(host=self.hostname, user=user, password=password) dev.open() # get basic Node facts node = Node(self.snapshot, self.hostname) node.fqdn = dev.facts['fqdn'] node.hostname = dev.facts['hostname'] node.model = dev.facts['model'] node.personality = dev.facts['personality'] node.serialnumber = dev.facts['serialnumber'] node.switch_style = dev.facts['switch_style'] node.version = dev.facts['version'] node.uptime = dev.facts['RE0']['up_time'] node.reboot_reason = dev.facts['RE0']['last_reboot_reason'] roumiga.session.add(node) roumiga.session.flush() # do the ARP dance import jnpr.junos.op.arp raw_arp = jnpr.junos.op.arp.ArpTable(dev) for a in raw_arp.get(): arp_entry = ArpEntry.from_dict(snapshot, node, a) roumiga.session.add(arp_entry) self.arp.append(arp_entry) # do the BGP dance import jnpr.junos.op.bgppeer raw_bgp = jnpr.junos.op.bgppeer.BgpPeerTable(dev) for b in raw_bgp.get(): bgp_peer = BgpPeer.from_dict(snapshot, node, b) roumiga.session.add(bgp_peer) self.bgp.append(bgp_peer) dev.close()