neutron_fwaas.services.firewall.service_drivers.driver_api module

class neutron_fwaas.services.firewall.service_drivers.driver_api.FirewallDriver(service_plugin)

Bases: object

Firewall v2 interface for driver

That driver interface does not persist Firewall v2 data in any database. The driver needs to do it by itself.

abstract create_firewall_group(context, firewall_group)
abstract create_firewall_policy(context, firewall_policy)
abstract create_firewall_rule(context, firewall_rule)
abstract delete_firewall_group(context, id)
abstract delete_firewall_policy(context, id)
abstract delete_firewall_rule(context, id)
abstract get_firewall_group(context, id, fields=None)
abstract get_firewall_groups(context, filters=None, fields=None)
abstract get_firewall_policies(context, filters=None, fields=None)
abstract get_firewall_policy(context, id, fields=None)
abstract get_firewall_rule(context, id, fields=None)
abstract get_firewall_rules(context, filters=None, fields=None)
abstract insert_rule(context, policy_id, rule_info)
is_supported_l2_port(port)
is_supported_l3_port(port)
abstract remove_rule(context, policy_id, rule_info)
abstract update_firewall_group(context, id, firewall_group)
abstract update_firewall_policy(context, id, firewall_policy)
abstract update_firewall_rule(context, id, firewall_rule)
class neutron_fwaas.services.firewall.service_drivers.driver_api.FirewallDriverDB(*args, **kwargs)

Bases: FirewallDriverDBMixin

FirewallDriverDBMixin interface for driver with database.

Each firewall backend driver that needs a database persistency should inherit from this driver. It can overload needed methods from the following pre/postcommit methods. Any exception raised during a precommit method will result in not having related records in the databases.

create_firewall_group_postcommit(context, firewall_group)
create_firewall_group_precommit(context, firewall_group)
create_firewall_policy_postcommit(context, firewall_policy)
create_firewall_policy_precommit(context, firewall_policy)
create_firewall_rule_postcommit(context, firewall_rule)
create_firewall_rule_precommit(context, firewall_rule)
delete_firewall_group_postcommit(context, firewall_group)
delete_firewall_group_precommit(context, firewall_group)
delete_firewall_policy_postcommit(context, firewall_policy)
delete_firewall_policy_precommit(context, firewall_policy)
delete_firewall_rule_postcommit(context, firewall_rule)
delete_firewall_rule_precommit(context, firewall_rule)
insert_rule_postcommit(context, policy_id, rule_info)
insert_rule_precommit(context, policy_id, rule_info)
remove_rule_postcommit(context, policy_id, rule_info)
remove_rule_precommit(context, policy_id, rule_info)
update_firewall_group_postcommit(context, old_firewall_group, new_firewall_group)
update_firewall_group_precommit(context, old_firewall_group, new_firewall_group)
update_firewall_policy_postcommit(context, old_firewall_policy, new_firewall_policy)
update_firewall_policy_precommit(context, old_firewall_policy, new_firewall_policy)
update_firewall_rule_postcommit(context, old_firewall_rule, new_firewall_rule)
update_firewall_rule_precommit(context, old_firewall_rule, new_firewall_rule)
class neutron_fwaas.services.firewall.service_drivers.driver_api.FirewallDriverDBMixin(*args, **kwargs)

Bases: FirewallDriver

FirewallDriverDB mixin to provision the database on behalf of the driver

That driver interface persists Firewall data in its database and forwards the result to pre and post commit methods.

create_firewall_group(context, firewall_group)
abstract create_firewall_group_postcommit(context, firewall_group)
abstract create_firewall_group_precommit(context, firewall_group)
create_firewall_policy(context, firewall_policy)
abstract create_firewall_policy_postcommit(context, firewall_policy)
abstract create_firewall_policy_precommit(context, firewall_policy)
create_firewall_rule(context, firewall_rule)
abstract create_firewall_rule_postcommit(context, firewall_rule)
abstract create_firewall_rule_precommit(context, firewall_rule)
delete_firewall_group(context, id)
abstract delete_firewall_group_postcommit(context, firewall_group)
abstract delete_firewall_group_precommit(context, firewall_group)
delete_firewall_policy(context, id)
abstract delete_firewall_policy_postcommit(context, firewall_policy)
abstract delete_firewall_policy_precommit(context, firewall_policy)
delete_firewall_rule(context, id)
abstract delete_firewall_rule_postcommit(context, firewall_rule)
abstract delete_firewall_rule_precommit(context, firewall_rule)
get_firewall_group(context, id, fields=None)
get_firewall_groups(context, filters=None, fields=None)
get_firewall_policies(context, filters=None, fields=None)
get_firewall_policy(context, id, fields=None)
get_firewall_rule(context, id, fields=None)
get_firewall_rules(context, filters=None, fields=None)
insert_rule(context, policy_id, rule_info)
abstract insert_rule_postcommit(context, policy_id, rule_info)
abstract insert_rule_precommit(context, policy_id, rule_info)
remove_rule(context, policy_id, rule_info)
abstract remove_rule_postcommit(context, policy_id, rule_info)
abstract remove_rule_precommit(context, policy_id, rule_info)
update_firewall_group(context, id, firewall_group_delta)
abstract update_firewall_group_postcommit(context, old_firewall_group, new_firewall_group)
abstract update_firewall_group_precommit(context, old_firewall_group, new_firewall_group)
update_firewall_policy(context, id, firewall_policy_delta)
abstract update_firewall_policy_postcommit(context, old_firewall_policy, new_firewall_policy)
abstract update_firewall_policy_precommit(context, old_firewall_policy, new_firewall_policy)
update_firewall_rule(context, id, firewall_rule_delta)
abstract update_firewall_rule_postcommit(context, old_firewall_rule, new_firewall_rule)
abstract update_firewall_rule_precommit(context, old_firewall_rule, new_firewall_rule)
class neutron_fwaas.services.firewall.service_drivers.driver_api.FirewallDriverRPCMixin

Bases: object

FirewallAgent interface for driver with rpc callback listener.

Each firewall backend driver that needs a rpc callback listener should inherit from this driver.

abstract start_rpc_listener()