I am using a high level python script to orchestrate an ns3 simulation that uses imported topologies from graphml files. As such, my python script is more of a manager that parses the graphml files and generates input for NS3 readable instances.
I call ns3 from this python manager script using subprocess.check_call, but doing so prevents any of the PCAP files from being generated/produced. Running my ns3 script on its own outside of the python script results in the pcap files, but this prevents me from having an automated pipeline of topology parsing -> ns3 -> output.
I have tried using subprocess.Popen with a communicate() call after spawning the subprocess to wait for the waf call to finish, but this still results in no pcap files--any ideas? I am not sure how ns3 handles the generation of the pcap files, but it seems it's some type of cleanup task after the simulation has concluded.