pprint(model1.get_node_interfaces('D'))
model1.update_simulation()
print()
print("Here is the network traffic after Node('D') failed:")
print(model1.display_interfaces_traffic())
print()

# Get unrouted demands
print("Here are the unrouted demands:")
for demand in model1.get_unrouted_demand_objects():
    pprint(demand)
print()

# Unfail Node('D')
print("Now unfail Node('D')")
model1.unfail_node('D')
print()
model1.update_simulation()


print("Here is the interface traffic after Node('D') is restored:")
print(model1.display_interfaces_traffic())
print()

# Unfail the B-to-A interface and display traffic
print('Unfail the interface from Node B to Node A')
model1.unfail_interface('B-to-A', 'B', True)
model1.update_simulation()
model1.display_interfaces_traffic()
print()
pprint(model1.get_node_interfaces("D"))
model1.update_simulation()
print()
print("Here is the network traffic after Node('D') failed:")
print(model1.display_interfaces_traffic())
print()

# Get unrouted demands
print("Here are the unrouted demands:")
for demand in model1.get_unrouted_demand_objects():
    pprint(demand)
print()

# Unfail Node('D')
print("Now unfail Node('D')")
model1.unfail_node("D")
print()
model1.update_simulation()


print("Here is the interface traffic after Node('D') is restored:")
print(model1.display_interfaces_traffic())
print()

# Unfail the B-to-A interface and display traffic
print("Unfail the interface from Node B to Node A")
model1.unfail_interface("B-to-A", "B", True)
model1.update_simulation()
model1.display_interfaces_traffic()
print()