Skip to content

Commit 34f498f

Browse files
committed
Split interface configuration tests from router functionality tests
The 'interface configuration' integration tests assumed the device is a router, causing Linux (and friends) to fail the tests. That requirement has been removed, so all working implementations should pass the 'interfaces' integration test. The original 'interface configuration' test has been moved to 'router' functionality test, where we check for packet forwarding and RA origination.
1 parent 7f46839 commit 34f498f

3 files changed

Lines changed: 87 additions & 33 deletions

File tree

tests/integration/initial/01-interfaces.yml

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,30 @@ message:
33
This scenario tests basic interface, IPv4, and IPv6 configuration,
44
including generation of IPv6 Router Advertisements
55

6+
defaults.sources.extra: [ ../wait_times.yml ]
7+
68
addressing:
79
loopback:
810
ipv6: 2001:db8:0::/48
911
lan:
1012
ipv6: 2001:db8:1::/48
1113

14+
groups:
15+
hosts:
16+
members: [ h1, h2 ]
17+
device: linux
18+
provider: clab
19+
module: [ routing ]
20+
routing.static:
21+
- pool: loopback
22+
nexthop.node: r
23+
1224
nodes:
1325
r:
1426
id: 132
15-
role: router
27+
loopback: True
1628
h1:
17-
device: linux
18-
provider: clab
1929
h2:
20-
device: linux
21-
provider: clab
2230

2331
links:
2432
- r:
@@ -30,21 +38,14 @@ links:
3038

3139
validate:
3240
ping:
33-
description: IPv4 ping H1 => H2
34-
wait: 10
41+
description: IPv4 ping H1,H2 => R
42+
wait: ping
3543
wait_msg: Wait for IPv4 interfaces to become operational
36-
nodes: [ h1 ]
37-
plugin: ping('h2')
38-
ra:
39-
description: Check RA-generated default route
40-
wait: 30
41-
wait_msg: Waiting for RA message to generate the default route
4244
nodes: [ h1, h2 ]
43-
plugin: default6()
44-
stop_on_error: True
45+
plugin: ping(nodes.r.loopback.ipv4)
4546
ping6:
46-
description: IPv6 ping H1 => H2
47-
wait: 10
47+
description: IPv6 ping H1,H2 => R
48+
wait: ping
4849
wait_msg: Wait for IPv6 interfaces to become operational
49-
nodes: [ h1 ]
50-
plugin: ping(nodes.h2.interfaces[0].ipv6,af='ipv6')
50+
nodes: [ h1, h2 ]
51+
plugin: ping(nodes.r.loopback.ipv6)

tests/integration/initial/02-loopback.yml

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
message:
33
This scenario tests additional loopback interfaces
44

5+
defaults.sources.extra: [ ../wait_times.yml ]
6+
57
addressing:
68
loopback:
79
ipv6: 2001:db8:0::/48
@@ -10,15 +12,23 @@ addressing:
1012
vrf_loopback:
1113
ipv6: 2001:db8:cafe::/48
1214

15+
groups:
16+
hosts:
17+
members: [ h1, h2 ]
18+
device: linux
19+
provider: clab
20+
module: [ routing ]
21+
routing.static:
22+
- pool: loopback
23+
nexthop.node: r
24+
- pool: vrf_loopback
25+
nexthop.node: r
26+
1327
nodes:
1428
r:
15-
role: router
29+
loopback: True
1630
h1:
17-
device: linux
18-
provider: clab
1931
h2:
20-
device: linux
21-
provider: clab
2232

2333
links:
2434
- r:
@@ -32,20 +42,13 @@ links:
3242
validate:
3343
ping4:
3444
description: IPv4 ping to device loopback
35-
wait: 10
45+
wait: ping
3646
wait_msg: Waiting for IPv4 interfaces to become ready
3747
nodes: [ h1, h2 ]
3848
plugin: ping(nodes.r.loopback.ipv4)
39-
ra:
40-
description: Check RA-generated default route
41-
wait: 30
42-
wait_msg: Waiting for RA message to generate the default route
43-
nodes: [ h1, h2 ]
44-
plugin: default6()
45-
stop_on_error: True
4649
ping6:
4750
description: IPv6 ping to device loopback
48-
wait: 10
51+
wait: ping
4952
wait_msg: Waiting for IPv6 interfaces to become ready
5053
nodes: [ h1, h2 ]
5154
plugin: ping(nodes.r.loopback.ipv6,af='ipv6')
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
message:
3+
This scenario tests basic interface, IPv4, and IPv6 configuration,
4+
including generation of IPv6 Router Advertisements
5+
6+
defaults.sources.extra: [ ../wait_times.yml ]
7+
8+
addressing:
9+
loopback:
10+
ipv6: 2001:db8:0::/48
11+
lan:
12+
ipv6: 2001:db8:1::/48
13+
14+
nodes:
15+
r:
16+
id: 132
17+
role: router
18+
h1:
19+
device: linux
20+
provider: clab
21+
h2:
22+
device: linux
23+
provider: clab
24+
25+
links:
26+
- r:
27+
h1:
28+
- r:
29+
h2:
30+
31+
validate:
32+
ping:
33+
description: IPv4 ping H1 => H2
34+
wait: ping
35+
wait_msg: Wait for IPv4 interfaces to become operational
36+
nodes: [ h1 ]
37+
plugin: ping('h2')
38+
ra:
39+
description: Check RA-generated default route
40+
wait: ra_send
41+
wait_msg: Waiting for RA message to generate the default route
42+
nodes: [ h1, h2 ]
43+
plugin: default6()
44+
stop_on_error: True
45+
ping6:
46+
description: IPv6 ping H1 => H2
47+
wait: ping
48+
wait_msg: Wait for IPv6 interfaces to become operational
49+
nodes: [ h1 ]
50+
plugin: ping(nodes.h2.interfaces[0].ipv6,af='ipv6')

0 commit comments

Comments
 (0)