Merge lp:~mpontillo/maas/fix-vlan-parent-1575945 into lp:~maas-committers/maas/trunk

Proposed by Mike Pontillo
Status: Merged
Approved by: Andres Rodriguez
Approved revision: no longer in the source branch.
Merged at revision: 4976
Proposed branch: lp:~mpontillo/maas/fix-vlan-parent-1575945
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 46 lines (+17/-1)
2 files modified
src/provisioningserver/utils/network.py (+1/-1)
src/provisioningserver/utils/tests/test_network.py (+16/-0)
To merge this branch: bzr merge lp:~mpontillo/maas/fix-vlan-parent-1575945
Reviewer Review Type Date Requested Status
Blake Rouse (community) Approve
Review via email: mp+293182@code.launchpad.net

Commit message

Fix rack registration for VLAN interfaces named "vlan<vid>".

 * Use parent metadata rather than name parsing to determine
   the parent interface of a VLAN.

To post a comment you must log in.
Revision history for this message
Blake Rouse (blake-rouse) wrote :

Looks good.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/provisioningserver/utils/network.py'
2--- src/provisioningserver/utils/network.py 2016-04-16 01:44:56 +0000
3+++ src/provisioningserver/utils/network.py 2016-04-27 23:13:17 +0000
4@@ -824,7 +824,7 @@
5 parents.append(bond_nic)
6 elif ipaddr["type"] == "ethernet.vlan":
7 iface_type = "vlan"
8- parents.append(name.split(".", 1)[0])
9+ parents.append(ipaddr['parent'])
10 vid = ipaddr["vid"]
11 elif ipaddr["type"] == "ethernet.bridge":
12 iface_type = "bridge"
13
14=== modified file 'src/provisioningserver/utils/tests/test_network.py'
15--- src/provisioningserver/utils/tests/test_network.py 2016-04-15 18:08:15 +0000
16+++ src/provisioningserver/utils/tests/test_network.py 2016-04-27 23:13:17 +0000
17@@ -1210,6 +1210,14 @@
18 "flags": ["UP"],
19 "vid": 10,
20 "inet": ["192.168.123.2/24", "192.168.123.3/32"],
21+ "parent": "bond0",
22+ },
23+ "vlan20": {
24+ "type": "ethernet.vlan",
25+ "mac": factory.make_mac_address(),
26+ "flags": ["UP"],
27+ "vid": 20,
28+ "parent": "eth0",
29 },
30 "wlan0": {
31 "type": "ethernet.wireless",
32@@ -1305,6 +1313,14 @@
33 "links": Equals([]),
34 "source": Equals("ipaddr"),
35 }),
36+ "vlan20": MatchesDict({
37+ "type": Equals("vlan"),
38+ "enabled": Is(True),
39+ "parents": Equals(["eth0"]),
40+ "links": Equals([]),
41+ "source": Equals("ipaddr"),
42+ "vid": Equals(20),
43+ }),
44 "br0": MatchesDict({
45 "type": Equals("bridge"),
46 "mac_address": Equals(ip_addr["br0"]["mac"]),