Skip to content

Commit 5c7e91e

Browse files
committed
fixes: HomePort needs broadcast domain
Otherwise NetApp refuses to create a logical interface.
1 parent e157bd7 commit 5c7e91e

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

python/understack-workflows/understack_workflows/netapp_manager.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ def from_nautobot_response(cls, response: VirtualMachineNetworkInfo):
8282
def base_port_name(self):
8383
return f"e4{self.side.lower()}"
8484

85+
@cached_property
86+
def broadcast_domain_name(self):
87+
return f"Fabric-{self.side}"
88+
8589

8690
class NetAppManager:
8791
"""Manages NetApp ONTAP operations including SVM and volume creation."""
@@ -269,12 +273,16 @@ def create_lif(self, project_id, config: NetappIPInterfaceConfig):
269273

270274
interface = IpInterface()
271275
interface.name = config.name
272-
interface.ip = {"address": config.address, "netmask": config.network.netmask}
276+
interface.ip = {
277+
"address": str(config.address),
278+
"netmask": str(config.network.netmask),
279+
}
273280
interface.enabled = True
274281
interface.svm = {"name": self._svm_name(project_id)}
275282
interface.location = {
276283
"auto_revert": True,
277-
"home_port": {"uuid": str(self.create_home_port(config))},
284+
"home_port": {"uuid": str(self.create_home_port(config).uuid)},
285+
"broadcast_domain": {"name": config.broadcast_domain_name},
278286
}
279287
interface.service_policy = {"name": "default-data-nvme-tcp"}
280288
logger.debug("Creating IpInterface: %s", interface)
@@ -289,6 +297,10 @@ def create_home_port(self, config: NetappIPInterfaceConfig):
289297
resource.type = "vlan"
290298
resource.node = {"name": home_node.name}
291299
resource.enabled = True
300+
resource.broadcast_domain = {
301+
"name": config.broadcast_domain_name,
302+
"ipspace": {"name": "Default"},
303+
}
292304
resource.vlan = {
293305
"tag": config.vlan_id,
294306
"base_port": {

0 commit comments

Comments
 (0)