F5Networks / f5-openstack-agent

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.
http://clouddocs.f5.com/products/openstack/agent/latest
Apache License 2.0
14 stars 38 forks source link

error creating a non existing pool member in a SDN #403

Closed alonsocamaro closed 6 years ago

alonsocamaro commented 7 years ago

OpenStack Release

Mitaka

Description

The error that follows occurs when creating a pool member which doesn't exist. ie:

neutron lbaas-member-create --subnet int --address 10.0.3.4 --protocol-port 80 test190 Where 10.0.3.4 doesn't exist

Full error is shown

2016-11-0211:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver Traceback (most recent call last):
2016-11-02 11:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver   File "/usr/lib/python2.7/dist-packages/f5_openstack_agent/lbaasv2/drivers/bigip/icontrol_driver.py", line 1138, in _common_service_handler
2016-11-02 11:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver     service, all_subnet_hints)
2016-11-02 11:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver   File "/usr/lib/python2.7/dist-packages/f5_openstack_agent/lbaasv2/drivers/bigip/network_service.py", line 572, in post_service_networking
2016-11-02 11:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver     self.update_bigip_l2(service)
2016-11-02 11:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver   File "/usr/lib/python2.7/dist-packages/f5_openstack_agent/lbaasv2/drivers/bigip/network_service.py", line 621, in update_bigip_l2
2016-11-02 11:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver     self.update_bigip_member_l2(bigip, loadbalancer, member)
2016-11-02 11:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver   File "/usr/lib/python2.7/dist-packages/f5_openstack_agent/lbaasv2/drivers/bigip/network_service.py", line 653, in update_bigip_member_l2
2016-11-02 11:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver     'mac_address': member['port']['mac_address']}
2016-11-02 11:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver KeyError: 'port'
2016-11-02 11:28:36.048 26376 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver 

When deleting it the following error message is shown:

2016-11-03 16:11:44.304 12635 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.network_service [req-f020e974-a222-485e-bb72-cabd9d37551c 13eeaa5d6b8b4916b695e894968c9a93 8e9b22cab67040689dcf86f74275a911 - - -] Member on SDN has no port. Manual removal on the BIG-IP will be required. Was the vm instance deleted before the pool member was deleted?

I believe this error is triggered when using SDNs or at least VXLANs which is the SDN technology which i used. Agent configuration follows


[DEFAULT]
debug = True
periodic_interval = 10
f5_ha_type = scalen
f5_external_physical_mappings = default:1.1:True
f5_vtep_folder = 'Common'
f5_vtep_selfip_name = 'selfip.datanet'
advertised_tunnel_types = vxlan
f5_populate_static_arp = False

l2_population = True
f5_global_routed_mode = False
use_namespaces = True
max_namespaces_per_tenant = 1
f5_route_domain_strictness = True
f5_snat_mode = True
f5_snat_addresses_per_subnet = 1
f5_common_external_networks = False
f5_bigip_lbaas_device_driver = f5_openstack_agent.lbaasv2.drivers.bigip.icontrol_driver.iControlDriver
icontrol_hostname = 10.128.5.237,10.128.5.238
icontrol_username = admin
icontrol_password = admin
auth_version = v3
os_auth_url = http://localhost:5000/v3
os_username = admin
os_password = changeme
os_user_domain_name = default
os_project_name = admin
os_project_domain_name = default
f5_parent_ssl_profile = clientssl

Agent Version

9.1.0

Operating System

Mirantis 9

OpenStack Release

Mitaka

richbrowne commented 6 years ago

This is functioning correctly, members do not require a neutron port (e.g. hardware servers) as long as a route exists to the member.