+ def test_ip4_vrf_05(self):
+ """IP4 VRF Multi-instance test 5 - id allocation"""
+ # Config 5
+ # Create several VRFs
+ # Set vrf_id manually first
+ self.create_vrf_by_id_and_assign_interfaces(1, 1)
+ # Set vrf_id automatically a few times
+ auto_vrf_id = [
+ self.create_vrf_by_id_and_assign_interfaces(i) for i in range(2, 5)
+ ]
+
+ # Verify 5
+ self.assert_equal(self.verify_vrf(1, 1), VRFState.configured, VRFState)
+ for i, vrf in enumerate(auto_vrf_id):
+ self.assert_equal(
+ self.verify_vrf(vrf, i + 2), VRFState.configured, VRFState
+ )
+
+ # Test 5
+ self.run_verify_test()
+
+ # Config 5.1
+ # Reset VRFs
+ self.reset_vrf_and_remove_from_vrf_list(1)
+ for i, vrf in enumerate(auto_vrf_id):
+ self.reset_vrf_and_remove_from_vrf_list(vrf, i + 2)
+
+ # Verify 5.1
+ self.assert_equal(self.verify_vrf(1, 1), VRFState.reset, VRFState)
+ for i, vrf in enumerate(auto_vrf_id):
+ self.assert_equal(self.verify_vrf(vrf, i + 2), VRFState.reset, VRFState)
+
+ vrf_list_length = len(self.vrf_list)
+ self.assertEqual(
+ vrf_list_length,
+ 0,
+ "List of configured VRFs is not empty: %s != 0" % vrf_list_length,
+ )
+