From 85c25d2cff043cab6365579fb0e39e77092ffef2 Mon Sep 17 00:00:00 2001
From: Komal Thareja <kthare10@renci.org>
Date: Thu, 30 May 2024 09:09:28 -0400
Subject: [PATCH 1/3] use L2PTP only with no basic nics

---
 fabrictestbed_extensions/fablib/network_service.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fabrictestbed_extensions/fablib/network_service.py b/fabrictestbed_extensions/fablib/network_service.py
index 8208cf0d..e5d86f09 100644
--- a/fabrictestbed_extensions/fablib/network_service.py
+++ b/fabrictestbed_extensions/fablib/network_service.py
@@ -151,7 +151,7 @@ def calculate_l2_nstype(interfaces: List[Interface] = None) -> ServiceType:
             # L2PTP limitation for Facility Ports:
             # basically the layer-2 point-to-point server template applied is not popping
             # vlan tags over the MPLS tunnel between two facility ports.
-            if includes_facility_port and facility_port_interfaces < 2:
+            if includes_facility_port and facility_port_interfaces < 2 and not basic_nic_count:
                 # For now WAN FacilityPorts require L2PTP
                 rtn_nstype = NetworkService.network_service_map["L2PTP"]
             elif len(interfaces) >= 2:

From db4272f2812937c6c9dfe0520bb8053de04e03dd Mon Sep 17 00:00:00 2001
From: Komal Thareja <kthare10@renci.org>
Date: Thu, 30 May 2024 09:10:04 -0400
Subject: [PATCH 2/3] black

---
 fabrictestbed_extensions/fablib/network_service.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/fabrictestbed_extensions/fablib/network_service.py b/fabrictestbed_extensions/fablib/network_service.py
index e5d86f09..f1b812da 100644
--- a/fabrictestbed_extensions/fablib/network_service.py
+++ b/fabrictestbed_extensions/fablib/network_service.py
@@ -151,7 +151,11 @@ def calculate_l2_nstype(interfaces: List[Interface] = None) -> ServiceType:
             # L2PTP limitation for Facility Ports:
             # basically the layer-2 point-to-point server template applied is not popping
             # vlan tags over the MPLS tunnel between two facility ports.
-            if includes_facility_port and facility_port_interfaces < 2 and not basic_nic_count:
+            if (
+                includes_facility_port
+                and facility_port_interfaces < 2
+                and not basic_nic_count
+            ):
                 # For now WAN FacilityPorts require L2PTP
                 rtn_nstype = NetworkService.network_service_map["L2PTP"]
             elif len(interfaces) >= 2:

From b629f2ba244218d8d8478754ded3bd2ea5127728 Mon Sep 17 00:00:00 2001
From: Komal Thareja <kthare10@renci.org>
Date: Thu, 30 May 2024 09:11:06 -0400
Subject: [PATCH 3/3] update changelog

---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5f1b62a9..6b2688af 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 # Unreleased
 
 ### Fixed
+- Failures when adding interfaces to a network (Issue[#329](https://github.com/fabric-testbed/fabrictestbed-extensions/issues/329))
 - Add Facility Port to allow adding multiple interfaces (Issue [#289](https://github.com/fabric-testbed/fabrictestbed-extensions/issues/289))
 - validate_config errors out when config directory does not exist (Issue [#299](https://github.com/fabric-testbed/fabrictestbed-extensions/issues/299))
 - create_ssh_config adds extra indentation (Issue [#300](https://github.com/fabric-testbed/fabrictestbed-extensions/issues/300))