diff --git a/vmware_nsxlib/tests/unit/v3/test_resources.py b/vmware_nsxlib/tests/unit/v3/test_resources.py index 8c785b6f..63e9951f 100644 --- a/vmware_nsxlib/tests/unit/v3/test_resources.py +++ b/vmware_nsxlib/tests/unit/v3/test_resources.py @@ -1430,6 +1430,13 @@ class LogicalRouterPortTestCase(BaseTestResource): result = lrport.get_tier1_link_port(router_id) self.assertEqual(test_constants.FAKE_ROUTER_LINKT1_PORT, result) + def test_get_tier0_uplink_ports(self): + router_id = test_constants.FAKE_ROUTER_PORT['logical_router_id'] + lrport = self.get_mocked_resource(response={'results': [ + test_constants.FAKE_ROUTER_PORT]}) + result = lrport.get_tier0_uplink_ports(router_id) + self.assertEqual([test_constants.FAKE_ROUTER_PORT], result) + def test_get_tier0_uplink_port(self): """Test getting a Tier0 router uplink port by router id.""" router_id = test_constants.FAKE_ROUTER_PORT['logical_router_id'] diff --git a/vmware_nsxlib/v3/resources.py b/vmware_nsxlib/v3/resources.py index 60619b6e..7c071080 100644 --- a/vmware_nsxlib/v3/resources.py +++ b/vmware_nsxlib/v3/resources.py @@ -370,11 +370,18 @@ class LogicalRouterPort(utils.NsxLibApiBase): manager=self.client.nsx_api_managers, operation="get router link port") - def get_tier0_uplink_port(self, logical_router_id): + def get_tier0_uplink_ports(self, logical_router_id): logical_router_ports = self.get_by_router_id(logical_router_id) + ports = [] for port in logical_router_ports: if port['resource_type'] == nsx_constants.LROUTERPORT_UPLINK: - return port + ports.append(port) + return ports + + def get_tier0_uplink_port(self, logical_router_id): + ports = self.get_tier0_uplink_ports(logical_router_id) + if ports: + return ports[0] def get_tier0_uplink_subnets(self, logical_router_id): port = self.get_tier0_uplink_port(logical_router_id)