The vmware_nsx.plugins.nsx_v3.plugin Module

class vmware_nsx.plugins.nsx_v3.plugin.NsxV3Plugin(*args, **kwargs)

Bases: neutron.db.agentschedulers_db.AZDhcpAgentSchedulerDbMixin, vmware_nsx.db.extended_security_group.ExtendedSecurityGroupPropertiesMixin, neutron.db.allowedaddresspairs_db.AllowedAddressPairsMixin, vmware_nsx.plugins.common.plugin.NsxPluginBase, vmware_nsx.db.extended_security_group_rule.ExtendedSecurityGroupRuleMixin, neutron.db.securitygroups_db.SecurityGroupDbMixin, neutron.db.external_net_db.External_net_db_mixin, neutron.db.extraroute_db.ExtraRoute_db_mixin, neutron.db.availability_zone.router.RouterAvailabilityZoneMixin, neutron.db.l3_gwmode_db.L3_NAT_db_mixin, neutron.db.portbindings_db.PortBindingMixin, neutron.db.portsecurity_db.PortSecurityDbMixin, neutron.db.extradhcpopt_db.ExtraDhcpOptMixin, neutron.db.dns_db.DNSDbMixin, neutron.db.vlantransparent_db.Vlantransparent_db_mixin, vmware_nsx.db.maclearning.MacLearningDbMixin, vmware_nsx.common.availability_zones.NSXAvailabilityZonesPluginCommon, neutron.db.l3_attrs_db.ExtraAttributesMixin, vmware_nsx.extensions.housekeeper.Housekeeper

add_port_binding(context, port_id)
add_router_interface(context, router_id, interface_info)
base_create_port(context, port)
create_floatingip(context, floatingip)
create_network(context, network)
create_port(context, port, l2gw_port_check=False)
create_router(context, router)
create_security_group(context, security_group, default_sg=False)
create_security_group_rule(context, security_group_rule)
create_security_group_rule_bulk(context, security_group_rules)
create_subnet(context, subnet)
create_subnet_bulk(context, subnets)
delete_floatingip(context, fip_id)
delete_network(context, network_id)
delete_port(context, port_id, l3_port_check=True, l2gw_port_check=True, force_delete_dhcp=False, force_delete_vpn=False)
delete_router(context, router_id)
delete_security_group(context, id)
delete_security_group_rule(context, id)
delete_subnet(context, subnet_id)
disassociate_floatingips(context, port_id)
extend_port_portbinding(port_res, binding)
get_extra_fw_rules(context, router_id, port_id=None)

Return firewall rules that should be added to the router firewall

This method should return a list of allow firewall rules that are required in order to enable different plugin features with north/south traffic. The returned rules will be added after the FWaaS rules, and before the default drop rule. if port_id is specified, only rules relevant for this router interface port should be returned, and the rules should be ingress/egress (but not both) and include the source/dest nsx logical port.

get_network(context, id, fields=None)
get_network_availability_zones(net_db)
get_networks(context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False)
get_port(context, id, fields=None)
get_ports(context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False)
get_router_availability_zones(router)

Return availability zones which a router belongs to.

get_subnets(context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False)
init_availability_zones()
init_complete(resource, event, trigger, payload=None)
static is_tvd_plugin()
static plugin_type()
recalculate_snat_rules_for_router(context, router, subnets)

Recalculate router snat rules for specific subnets. Invoked when subnetpool address scope changes.

remove_router_interface(context, router_id, interface_info)
save_security_group_rule_mappings(context, firewall_rules)
start_rpc_listeners()
supported_extension_aliases = ['allowed-address-pairs', 'address-scope', 'quotas', 'binding', 'extra_dhcp_opt', 'agent', 'dhcp_agent_scheduler', 'ext-gw-mode', 'security-group', 'secgroup-rule-local-ip-prefix', 'port-security', 'provider', 'external-net', 'extraroute', 'router', 'availability_zone', 'network_availability_zone', 'router_availability_zone', 'subnet_allocation', 'security-group-logging', 'provider-security-group', 'housekeeper', 'port-security-groups-filtering']
update_floatingip(context, fip_id, floatingip)
update_network(context, id, network)
update_port(context, id, port)
update_router(context, router_id, router)
update_router_firewall(context, router_id)

Rewrite all the rules in the router edge firewall

This method should be called on FWaaS v1/v2 updates, and on router interfaces changes. When FWaaS is disabled, there is no need to update the NSX router FW, as the default rule is allow-all.

update_security_group(context, id, security_group)
update_subnet(context, subnet_id, subnet)
validate_availability_zones(context, resource_type, availability_zones, force=False)
validate_router_dhcp_relay(context)

Fail router creation dhcp relay is configured without IPAM

vmware_nsx.plugins.nsx_v3.plugin.inject_headers()
vmware_nsx.plugins.nsx_v3.plugin.inject_requestid_header()

This Page