def _generate_lbaas_spec(self, vip, targets, project_id, subnet_id): return obj_lbaas.LBaaSServiceSpec( ip=vip, project_id=project_id, subnet_id=subnet_id, ports=[ obj_lbaas.LBaaSPortSpec(name=str(port), protocol='TCP', port=port) for port in set(t[0] for t in targets.values()) ])
def test_is_lbaas_spec_in_sync(self): names = ['a', 'b', 'c'] endpoints = {'subsets': [{'ports': [{'name': n} for n in names]}]} lbaas_spec = obj_lbaas.LBaaSServiceSpec( ports=[obj_lbaas.LBaaSPortSpec(name=n) for n in reversed(names)]) m_handler = mock.Mock(spec=h_lbaas.LoadBalancerHandler) ret = h_lbaas.LoadBalancerHandler._is_lbaas_spec_in_sync( m_handler, endpoints, lbaas_spec) self.assertEqual(True, ret)
def test_generate_lbaas_port_specs_udp(self, m_get_service_ports): m_handler = mock.Mock(spec=h_lbaas.LBaaSSpecHandler) m_get_service_ports.return_value = [{ 'port': 1, 'name': 'X', 'protocol': 'TCP' }, { 'port': 2, 'name': 'Y', 'protocol': 'UDP' }] expected_ports = [ obj_lbaas.LBaaSPortSpec(name='X', protocol='TCP', port=1), obj_lbaas.LBaaSPortSpec(name='Y', protocol='UDP', port=2), ] ret = h_lbaas.LBaaSSpecHandler._generate_lbaas_port_specs( m_handler, mock.sentinel.service) self.assertEqual(expected_ports, ret) m_get_service_ports.assert_called_once_with(mock.sentinel.service)
def test_has_port_changes(self): m_handler = mock.Mock(spec=h_lbaas.LBaaSSpecHandler) m_service = mock.MagicMock() m_handler._get_service_ports.return_value = [ { 'port': 1, 'name': 'X', 'protocol': 'TCP' }, ] m_lbaas_spec = mock.MagicMock() m_lbaas_spec.ports = [ obj_lbaas.LBaaSPortSpec(name='X', protocol='TCP', port=1), obj_lbaas.LBaaSPortSpec(name='Y', protocol='TCP', port=2), ] ret = h_lbaas.LBaaSSpecHandler._has_port_changes( m_handler, m_service, m_lbaas_spec) self.assertTrue(ret)
def _generate_lbaas_spec(self, vip, targets, project_id, subnet_id, prot='TCP', lbaas_type='ClusterIP'): return obj_lbaas.LBaaSServiceSpec( ip=vip, project_id=project_id, subnet_id=subnet_id, ports=[obj_lbaas.LBaaSPortSpec(name=str(t[0]), protocol=prot, port=t[0], targetPort=t[1]) for t in targets.values()], type=lbaas_type)
def _generate_lbaas_port_specs(self, service): return [ obj_lbaas.LBaaSPortSpec(**port) for port in utils.get_service_ports(service) ]