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

Service validation error after upgrading from LIberty to Newton release #1117

Closed jlongstaf closed 6 years ago

jlongstaf commented 6 years ago

Agent Version

10.1.0

Operating System

Unknown.

OpenStack Release

Newton

Description

The following error is reported in the agent log. This error happens repeatedly: 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager [-] Service validation error: object of type 'NoneType' has no len() 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager Traceback (most recent call last): 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager File "/usr/lib/python2.7/site-packages/f5_openstack_agent/lbaasv2/drivers/bigip/agent_manager.py", line 575, in validate_service 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager if not self.lbdriver.service_exists(service) or \ 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager File "/usr/lib/python2.7/site-packages/f5_openstack_agent/lbaasv2/drivers/bigip/icontrol_driver.py", line 772, in service_exists 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager return self._service_exists(service) 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager File "/usr/lib/python2.7/site-packages/f5_openstack_agent/lbaasv2/drivers/bigip/icontrol_driver.py", line 1340, in _service_exists 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager monitor = self.service_adapter.get_healthmonitor(svc) 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager File "/usr/lib/python2.7/site-packages/f5_openstack_agent/lbaasv2/drivers/bigip/service_adapter.py", line 169, in get_healthmonitor 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager healthmonitor) 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager File "/usr/lib/python2.7/site-packages/f5_openstack_agent/lbaasv2/drivers/bigip/service_adapter.py", line 214, in _map_healthmonitor 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager lbaas_healthmonitor) 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager File "/usr/lib/python2.7/site-packages/f5_openstack_agent/lbaasv2/drivers/bigip/service_adapter.py", line 79, in get_resource_description 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager if len(full_description): 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager TypeError: object of type 'NoneType' has no len() 2017-11-22 03:20:56.788 87792 ERROR f5_openstack_agent.lbaasv2.drivers.bigip.agent_manager

Deployment

This error started after upgrading from Liberty to Newton.

jlongstaf commented 6 years ago

This problem has been traced to an error in how the agent processes the name of health monitors. In Liberty, health monitors did not have a name attribute, but the ability to name monitors was added in Mitaka. Users that migrate their deployment from Liberty will have monitors defined with NULL value for name in the lbaa_healthmonitor table.. The agent fails to handle this resulting in the error.