https://wiki.openstack.org/wiki/Neutron/LBaaS/Architecture
https://wiki.openstack.org/wiki/Neutron/LBaaS/API_1.0
Implementation of the Neutron Loadbalancer Service Plugin.
This class manages the workflow of LBaaS request/response. Most DB related works are implemented in class loadbalancer_db.LoadBalancerPluginDb.
Populate the vip with: pool, members, healthmonitors.
Wraps loadbalancer with SQLAlchemy models.
A class that wraps the implementation of the Neutron loadbalancer plugin database access interface using SQLAlchemy models.
Delete health monitor object from DB
Raises an error if the monitor has associations with pools
Update a pool with new stats structure.
Abstract lbaas driver that expose ~same API as lbaas plugin.
The configuration elements (Vip,Member,etc) are the dicts that are returned to the tenant. Get operations are not part of the API - it will be handled by the lbaas plugin.
Driver may call the code below in order to update the status. self.plugin.update_status(context, Member, member[“id”], constants.ACTIVE)
Driver may call the code below in order to update the status. self.plugin.update_status(context, Pool, pool[“id”], constants.ACTIVE)
Driver may call the code below in order to update the status. self.plugin.update_pool_health_monitor(context, health_monitor[“id”], pool_id, constants.ACTIVE)
A real driver would invoke a call to his backend and set the Vip status to ACTIVE/ERROR according to the backend call result self.plugin.update_status(context, Vip, vip[“id”],
constants.ACTIVE)
Driver can call the code below in order to delete the pool. self.plugin._delete_db_pool(context, pool[“id”]) or set the status to ERROR if deletion failed
A real driver would invoke a call to his backend and try to delete the Vip. if the deletion was successful, delete the record from the database. if the deletion has failed, set the Vip status to ERROR.
Driver may call the code below in order to update the status. self.plugin.update_status(context, Member, member[“id”], constants.ACTIVE)
Driver may call the code below in order to update the status. self.plugin.update_status(context, Pool, pool[“id”], constants.ACTIVE)
Driver may call the code below in order to update the status. self.plugin.update_status(context, Vip, id, constants.ACTIVE)