Cloud Docs Home > F5 OpenStack LBaaSv2 Index

f5lbaasdriver.v2.bigip

agent_rpc module

RPC Calls to Agents for F5® LBaaSv2.

class f5lbaasdriver.v2.bigip.agent_rpc.LBaaSv2AgentRPC(driver=None)[source]

Bases: object

call(context, msg, **kwargs)[source]
cast(context, msg, **kwargs)[source]
create_health_monitor(*args, **kwargs)[source]
create_l7policy(*args, **kwargs)[source]
create_l7rule(*args, **kwargs)[source]
create_listener(*args, **kwargs)[source]
create_loadbalancer(*args, **kwargs)[source]
create_member(*args, **kwargs)[source]
create_pool(*args, **kwargs)[source]
delete_health_monitor(*args, **kwargs)[source]
delete_l7policy(*args, **kwargs)[source]
delete_l7rule(*args, **kwargs)[source]
delete_listener(*args, **kwargs)[source]
delete_loadbalancer(*args, **kwargs)[source]
delete_member(*args, **kwargs)[source]
delete_pool(*args, **kwargs)[source]
fanout_cast(context, msg, **kwargs)[source]
make_msg(method, **kwargs)[source]
update_health_monitor(*args, **kwargs)[source]
update_l7policy(*args, **kwargs)[source]
update_l7rule(*args, **kwargs)[source]
update_listener(*args, **kwargs)[source]
update_loadbalancer(*args, **kwargs)[source]
update_loadbalancer_stats(*args, **kwargs)[source]
update_member(*args, **kwargs)[source]
update_pool(*args, **kwargs)[source]

agent_scheduler module

Schedule agent to bind to a load balancer.

class f5lbaasdriver.v2.bigip.agent_scheduler.TenantScheduler[source]

Bases: neutron_lbaas.agent_scheduler.ChanceScheduler

Finds an available agent for the tenant/environment.

deserialize_agent_configurations(agent_conf)[source]

Return a dictionary for the agent configuration.

get_agents_in_env(context, plugin, env, group=None, active=None)[source]

Get an active agents in the specified environment.

get_capacity(configurations)[source]

Get environment capacity.

get_lbaas_agent_hosting_loadbalancer(plugin, context, loadbalancer_id, env=None)[source]

Return the agent that is hosting the loadbalancer.

schedule(plugin, context, loadbalancer_id, env=None)[source]

Schedule the loadbalancer to an active loadbalancer agent.

If there is no enabled agent hosting it.

constants_v2 module

Constants for F5® LBaaSv2 Driver.

disconnected_service module

class f5lbaasdriver.v2.bigip.disconnected_service.DisconnectedService[source]

Bases: object

get_network_segment(context, agent_configuration, network)[source]
get_network_segments(session)[source]

driver_v2 module

F5 Networks® LBaaSv2 Driver Implementation.

class f5lbaasdriver.v2.bigip.driver_v2.EntityManager(driver)[source]

Bases: object

Parent for all managers defined in this module.

class f5lbaasdriver.v2.bigip.driver_v2.F5DriverV2(plugin=None, env=None)[source]

Bases: object

F5 Networks® LBaaSv2 Driver.

post_fork_callback(resources, event, trigger)[source]
exception f5lbaasdriver.v2.bigip.driver_v2.F5NoAttachedLoadbalancerException(message=None)[source]

Bases: f5lbaasdriver.v2.bigip.exceptions.F5LBaaSv2DriverException

Exception thrown when an LBaaSv2 object has not parent Loadbalancer.

message = 'Entity has no associated loadbalancer'
class f5lbaasdriver.v2.bigip.driver_v2.HealthMonitorManager(driver)[source]

Bases: f5lbaasdriver.v2.bigip.driver_v2.EntityManager

HealthMonitorManager class handles Neutron LBaaS monitor CRUD.

create(*args, **kwargs)[source]

Create a health monitor.

delete(*args, **kwargs)[source]

Delete a health monitor.

update(*args, **kwargs)[source]

Update a health monitor.

class f5lbaasdriver.v2.bigip.driver_v2.L7PolicyManager(driver)[source]

Bases: f5lbaasdriver.v2.bigip.driver_v2.EntityManager

L7PolicyManager class handles Neutron LBaaS L7 Policy CRUD.

create(*args, **kwargs)[source]

Create an L7 policy.

delete(*args, **kwargs)[source]

Delete a policy.

update(*args, **kwargs)[source]

Update a policy.

class f5lbaasdriver.v2.bigip.driver_v2.L7RuleManager(driver)[source]

Bases: f5lbaasdriver.v2.bigip.driver_v2.EntityManager

L7RuleManager class handles Neutron LBaaS L7 Rule CRUD.

create(*args, **kwargs)[source]

Create an L7 rule.

delete(*args, **kwargs)[source]

Delete a rule.

update(*args, **kwargs)[source]

Update a rule.

class f5lbaasdriver.v2.bigip.driver_v2.ListenerManager(driver)[source]

Bases: f5lbaasdriver.v2.bigip.driver_v2.EntityManager

ListenerManager class handles Neutron LBaaS listener CRUD.

create(*args, **kwargs)[source]

Create a listener.

delete(*args, **kwargs)[source]

Delete a listener.

update(*args, **kwargs)[source]

Update a listener.

class f5lbaasdriver.v2.bigip.driver_v2.LoadBalancerManager(driver)[source]

Bases: f5lbaasdriver.v2.bigip.driver_v2.EntityManager

LoadBalancerManager class handles Neutron LBaaS CRUD.

create(*args, **kwargs)[source]

Create a loadbalancer.

delete(*args, **kwargs)[source]

Delete a loadbalancer.

refresh(*args, **kwargs)[source]

Refresh a loadbalancer.

stats(*args, **kwargs)[source]
update(*args, **kwargs)[source]

Update a loadbalancer.

class f5lbaasdriver.v2.bigip.driver_v2.MemberManager(driver)[source]

Bases: f5lbaasdriver.v2.bigip.driver_v2.EntityManager

MemberManager class handles Neutron LBaaS pool member CRUD.

create(*args, **kwargs)[source]

Create a member.

delete(*args, **kwargs)[source]

Delete a member.

update(*args, **kwargs)[source]

Update a member.

class f5lbaasdriver.v2.bigip.driver_v2.PoolManager(driver)[source]

Bases: f5lbaasdriver.v2.bigip.driver_v2.EntityManager

PoolManager class handles Neutron LBaaS pool CRUD.

create(*args, **kwargs)[source]

Create a pool.

delete(*args, **kwargs)[source]

Delete a pool.

update(*args, **kwargs)[source]

Update a pool.

exceptions module

F5 Networks® LBaaSv2 Exceptions.

exception f5lbaasdriver.v2.bigip.exceptions.F5DeleteListenerWithAttachedPool(message=None)[source]

Bases: f5lbaasdriver.v2.bigip.exceptions.F5LBaaSv2DriverException

The listener cannot become unbound from the pool.

message = 'Cannot delete listener with an attached pool. Delete pool first.'
exception f5lbaasdriver.v2.bigip.exceptions.F5LBaaSv2DriverException(message=None)[source]

Bases: neutron_lib.exceptions.NeutronException

General F5 LBaaSv2 Driver Exception.

message = 'F5LBaaSv2DriverException'
exception f5lbaasdriver.v2.bigip.exceptions.F5MismatchedTenants(message=None)[source]

Bases: f5lbaasdriver.v2.bigip.exceptions.F5LBaaSv2DriverException

The loadbalancer tenant is not the same as the network tenant.

message = 'Tenant Id of network and loadbalancer mismatched'
exception f5lbaasdriver.v2.bigip.exceptions.PolicyHasMoreThanOneListener(message=None)[source]

Bases: f5lbaasdriver.v2.bigip.exceptions.F5LBaaSv2DriverException

A policy should have only one listener.

exception f5lbaasdriver.v2.bigip.exceptions.RuleHasMoreThanOnePolicy(message=None)[source]

Bases: f5lbaasdriver.v2.bigip.exceptions.F5LBaaSv2DriverException

A rule should have only one policy.

plugin_rpc module

RPC Callbacks for F5® LBaaSv2 Plugins.

class f5lbaasdriver.v2.bigip.plugin_rpc.LBaaSv2PluginCallbacksRPC(driver=None)[source]

Bases: object

Agent to plugin RPC API.

add_allowed_address(*args, **kwargs)[source]

Add allowed addresss.

create_port_on_subnet(*args, **kwargs)[source]

Create port on subnet.

create_port_on_subnet_with_specific_ip(*args, **kwargs)[source]

Create port on subnet with specific ip address.

create_rpc_listener()[source]
delete_port(*args, **kwargs)[source]

Delete port.

delete_port_by_name(*args, **kwargs)[source]

Delete port by name.

get_active_loadbalancers(*args, **kwargs)[source]

Get all loadbalancers for this group in this env.

get_active_loadbalancers_for_agent(*args, **kwargs)[source]

Get a list of loadbalancers active on this host.

get_all_loadbalancers(*args, **kwargs)[source]

Get all loadbalancers for this group in this env.

get_pending_loadbalancers(*args, **kwargs)[source]

Get all loadbalancers for this group in this env.

get_port_by_name(*args, **kwargs)[source]

Get port by name.

get_ports_for_mac_addresses(*args, **kwargs)[source]

Get ports for mac addresses.

get_ports_on_network(*args, **kwargs)[source]

Get ports for network.

get_service_by_loadbalancer_id(*args, **kwargs)[source]

Get the complete service definition by loadbalancer_id.

healthmonitor_destroyed(*args, **kwargs)[source]

Agent confirmation hook that health_monitor has been destroyed.

l7policy_destroyed(*args, **kwargs)[source]
l7rule_destroyed(*args, **kwargs)[source]

Agent confirmation hook that l7 policy has been destroyed.

listener_destroyed(*args, **kwargs)[source]

Agent confirmation hook that listener has been destroyed.

loadbalancer_destroyed(*args, **kwargs)[source]

Agent confirmation hook that loadbalancer has been destroyed.

member_destroyed(*args, **kwargs)[source]

Agent confirmation hook that member has been destroyed.

pool_destroyed(*args, **kwargs)[source]

Agent confirmation hook that pool has been destroyed.

remove_allowed_address(*args, **kwargs)[source]

Remove allowed addresss.

update_health_monitor_status(*args, **kwargs)[source]

Agent confirmation hook to update health monitor status.

update_l7policy_status(*args, **kwargs)[source]

Agent confirmation hook to update l7 policy status.

update_l7rule_status(*args, **kwargs)[source]

Agent confirmation hook to update l7 policy status.

update_listener_status(*args, **kwargs)[source]

Agent confirmation hook to update listener status.

update_loadbalancer_stats(*args, **kwargs)[source]

Update service stats.

update_loadbalancer_status(*args, **kwargs)[source]

Agent confirmation hook to update loadbalancer status.

update_member_status(*args, **kwargs)[source]

Agent confirmations hook to update member status.

update_pool_status(*args, **kwargs)[source]

Agent confirmations hook to update pool status.

service_builder module

Service Module for F5® LBaaSv2.

class f5lbaasdriver.v2.bigip.service_builder.LBaaSv2ServiceBuilder(driver)[source]

Bases: object

The class creates a service definition from neutron database.

A service definition represents all the information required to construct a load-balancing service on BigIP.

Requests come in to agent as full service definitions, not incremental changes. The driver looks up networks, mac entries, segmentation info, etc and places all information in a service object (which is a python dictionary variable) and passes that to the agent.

build(context, loadbalancer, agent)[source]

Get full service definition from loadbalancer ID.

deserialize_agent_configurations(configurations)[source]

Return a dictionary for the agent configuration.