Adam Collard has proposed merging
~adam-collard/maas:create-discovered-subnet-in-correct-fabric into maas:master.
Commit message:
LP:2011853 create discovered subnets in correct fabric.
Requested reviews:
MAAS Maintainers (maas-maintainers)
Related bugs:
Bug #2011853 in MAAS: "Auto-discovered subnet does not get correct VLAN"
https://bugs.launchpad.net/maas/+bug/2011853
For more details, see:
https://code.launchpad.net/~adam-collard/maas/+git/maas/+merge/444258
--
Your team MAAS Committers is subscribed to branch maas:master.
diff --git a/src/maasserver/models/interface.py b/src/maasserver/models/interface.py
index 3d33de0..83b0a10 100644
--- a/src/maasserver/models/interface.py
+++ b/src/maasserver/models/interface.py
@@ -887,7 +887,9 @@ class Interface(CleanSave, TimestampedModel):
# so that the user gets a chance to configure it. Note,
# however, that if this is already a managed cluster
# interface, a Fabric/VLAN will already have been created.
- subnet = Subnet.objects.create_from_cidr(cidr)
+ subnet = Subnet.objects.create_from_cidr(
+ cidr, vlan=self.vlan
+ )
maaslog.info(
f"Creating subnet {cidr} connected to interface "
f"{self} of node {self.get_node()}."
diff --git a/src/maasserver/models/tests/test_interface.py b/src/maasserver/models/tests/test_interface.py
index 620a706..78ca70d 100644
--- a/src/maasserver/models/tests/test_interface.py
+++ b/src/maasserver/models/tests/test_interface.py
@@ -42,7 +42,6 @@ from maasserver.models import (
Subnet,
VLAN,
)
-from maasserver.models import Fabric
from maasserver.models import interface as interface_module
from maasserver.models.config import NetworkDiscoveryConfig
from maasserver.models.interface import (
@@ -2519,25 +2518,22 @@ class TestUpdateIpAddresses(MAASServerTestCase):
def test_creates_missing_subnet(self):
interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL)
+ self.assertEqual(0, interface.ip_addresses.count())
network = factory.make_ip4_or_6_network()
cidr = str(network)
address = str(network.ip)
interface.update_ip_addresses([cidr])
- default_fabric = Fabric.objects.get_default_fabric()
subnets = Subnet.objects.filter(
- cidr=str(network.cidr), vlan__fabric=default_fabric
+ cidr=str(network.cidr), vlan=interface.vlan
)
self.assertEqual(1, len(subnets))
self.assertEqual(1, interface.ip_addresses.count())
- self.assertThat(
- interface.ip_addresses.first(),
- MatchesStructure.byEquality(
- alloc_type=IPADDRESS_TYPE.DISCOVERED,
- subnet=subnets[0],
- ip=address,
- ),
- )
+
+ ip = interface.ip_addresses.first()
+ self.assertEqual(ip.alloc_type, IPADDRESS_TYPE.DISCOVERED)
+ self.assertEqual(ip.subnet, subnets[0])
+ self.assertEqual(ip.ip, address)
def test_creates_discovered_ip_addresses(self):
interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL)
--
Mailing list: https://launchpad.net/~sts-sponsors
Post to : [email protected]
Unsubscribe : https://launchpad.net/~sts-sponsors
More help : https://help.launchpad.net/ListHelp