The vmware_nsx.db.nsx_models Module

NSX data models.

This module defines data models used by the VMware NSX plugin family.

class vmware_nsx.db.nsx_models.Lsn(net_id, lsn_id)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

created_at
lsn_id
net_id
updated_at
class vmware_nsx.db.nsx_models.LsnPort(lsn_port_id, subnet_id, mac_address, lsn_id)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

created_at
lsn_id
lsn_port_id
mac_addr
sub_id
updated_at
class vmware_nsx.db.nsx_models.MacLearningState(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

created_at
mac_learning_enabled
port
port_id
updated_at
class vmware_nsx.db.nsx_models.MultiProviderNetworks(network_id)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Networks provisioned through multiprovider extension.

created_at
network_id
updated_at
class vmware_nsx.db.nsx_models.NetworkConnection(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, neutron_lib.db.model_base.HasProject, oslo_db.sqlalchemy.models.TimestampMixin

Defines a connection between a network gateway and a network.

created_at
network_gateway_id
network_id
port_id
project_id
segmentation_id
segmentation_type
tenant_id
updated_at
class vmware_nsx.db.nsx_models.NetworkGateway(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, neutron_lib.db.model_base.HasId, neutron_lib.db.model_base.HasProject, oslo_db.sqlalchemy.models.TimestampMixin

Defines the data model for a network gateway.

created_at
default
devices
id
name
network_connections
project_id
tenant_id
updated_at
class vmware_nsx.db.nsx_models.NetworkGatewayDevice(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, neutron_lib.db.model_base.HasId, neutron_lib.db.model_base.HasProject, oslo_db.sqlalchemy.models.TimestampMixin

connector_ip
connector_type
created_at
id
name
nsx_id
project_id
status
tenant_id
updated_at
class vmware_nsx.db.nsx_models.NetworkGatewayDeviceReference(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

created_at
id
interface_name
network_gateway_id
updated_at
class vmware_nsx.db.nsx_models.NetworkQueueMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

created_at
network
network_id
queue_id
updated_at
class vmware_nsx.db.nsx_models.NeutronNsxDhcpBinding(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Represents a binding of a Neutron port with DHCP address binding.

created_at
ip_address
nsx_binding_id
nsx_service_id
port_id
subnet_id
updated_at
class vmware_nsx.db.nsx_models.NeutronNsxFirewallSectionMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Backend mappings for Neutron Security-group associated fw sections.

created_at
neutron_id
nsx_id
updated_at
class vmware_nsx.db.nsx_models.NeutronNsxNetworkMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Maps neutron network identifiers to NSX identifiers.

Because of chained logical switches more than one mapping might exist for a single Neutron network. For a VLAN network, one neutron network may map to multiple logical switches(port groups) created on multiple DVSes in the backend for NSX-V plugin. DVS-ID will store the moref of the DVS where the nsx id is being created. For other types and plugins, this value will remain null.

created_at
dvs_id
neutron_id
nsx_id
updated_at
class vmware_nsx.db.nsx_models.NeutronNsxPortMapping(neutron_id, nsx_switch_id, nsx_port_id)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Represents the mapping between neutron and nsx port uuids.

created_at
neutron_id
nsx_port_id
nsx_switch_id
updated_at
class vmware_nsx.db.nsx_models.NeutronNsxRouterMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Maps neutron router identifiers to NSX identifiers.

created_at
neutron_id
nsx_id
updated_at
class vmware_nsx.db.nsx_models.NeutronNsxRuleMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Backend mappings for firewall rules.

This class maps a neutron security group rule with NSX firewall rule.

created_at
neutron_id
nsx_id
updated_at
class vmware_nsx.db.nsx_models.NeutronNsxSecurityGroupMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Backend mappings for Neutron Security Group identifiers.

This class maps a neutron security group identifier to the corresponding NSX security profile identifier.

created_at
neutron_id
nsx_id
updated_at
class vmware_nsx.db.nsx_models.NeutronNsxServiceBinding(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Represents a binding of a Neutron network with enabled NSX services.

created_at
network_id
nsx_service_id
nsx_service_type
port_id
updated_at
class vmware_nsx.db.nsx_models.NsxCertificateRepository(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Stores certificate and private key per logical purpose.

For now, will have zero or one rows with nsxv3 client certificate

certificate
created_at
private_key
purpose
updated_at
class vmware_nsx.db.nsx_models.NsxL2GWConnectionMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Define a mapping between L2 gateway connection and bridge endpoint.

bridge_endpoint_id
connection_id
created_at
port_id
updated_at
class vmware_nsx.db.nsx_models.NsxLbaasL7Policy(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Stores the mapping between LBaaS l7policy and NSX LB rule

created_at
l7policy_id
lb_rule_id
lb_vs_id
updated_at
class vmware_nsx.db.nsx_models.NsxLbaasL7Rule(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Stores the mapping between LBaaS monitor and NSX LB monitor

This table is only used in Pike and obsoleted since Queen as the mapping has been stored in nsxv3_lbaas_l7policies table instead. This original table was added in pike so that we cannot change DB migration script there, but instead we update the table with a new db migration script in Queen.

created_at
l7policy_id
l7rule_id
lb_rule_id
lb_vs_id
loadbalancer_id
updated_at
class vmware_nsx.db.nsx_models.NsxLbaasListener(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Stores the mapping between LBaaS listener and NSX LB virtual server

app_profile_id
created_at
lb_vs_id
listener_id
loadbalancer_id
updated_at
class vmware_nsx.db.nsx_models.NsxLbaasLoadbalancer(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Stores mapping of LBaaS loadbalancer and NSX LB service and router

Since in NSXv3, multiple loadbalancers may share the same LB service on NSX backend. And the in turn LB service attaches to a logical router. This stores the mapping between LBaaS loadbalancer and NSX LB service id and NSX logical router id.

created_at
fk_name = ‘fk_nsxv3_lbaas_loadbalancers_id’
lb_router_id
lb_service_id
loadbalancer_id
updated_at
vip_address
class vmware_nsx.db.nsx_models.NsxLbaasMonitor(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Stores the mapping between LBaaS monitor and NSX LB monitor

created_at
hm_id
lb_monitor_id
lb_pool_id
loadbalancer_id
pool_id
updated_at
class vmware_nsx.db.nsx_models.NsxLbaasPool(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Stores the mapping between LBaaS pool and NSX LB Pool

created_at
lb_pool_id
lb_vs_id
loadbalancer_id
pool_id
updated_at
class vmware_nsx.db.nsx_models.NsxPortMirrorSessionMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base

Define a mapping between Tap Flow and PortMirrorSession object.

port_mirror_session_id
tap_flow_id
class vmware_nsx.db.nsx_models.NsxProjectPluginMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Stores the mapping between the neutron plugin and the project id

created_at
plugin
project
updated_at
class vmware_nsx.db.nsx_models.NsxSubnetIpam(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Map Subnets with their backend pool id.

created_at
nsx_pool_id
subnet_id
updated_at
class vmware_nsx.db.nsx_models.NsxVpnConnectionMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Stores the mapping between VPNaaS connections and NSX objects

created_at
dpd_profile_id
ike_profile_id
ipsec_profile_id
neutron_id
peer_ep_id
session_id
updated_at
class vmware_nsx.db.nsx_models.PortQueueMapping(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

created_at
port
port_id
queue_id
updated_at
class vmware_nsx.db.nsx_models.QoSQueue(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, neutron_lib.db.model_base.HasId, neutron_lib.db.model_base.HasProject, oslo_db.sqlalchemy.models.TimestampMixin

created_at
default
dscp
id
max
min
name
project_id
qos_marking
tenant_id
updated_at
class vmware_nsx.db.nsx_models.QosPolicySwitchProfile(**kwargs)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

created_at
qos_policy_id
switch_profile_id
updated_at
class vmware_nsx.db.nsx_models.TzNetworkBinding(network_id, binding_type, phy_uuid, vlan_id)

Bases: sqlalchemy.ext.declarative.api.Base, oslo_db.sqlalchemy.models.TimestampMixin

Represents a binding of a virtual network with a transport zone.

This model class associates a Neutron network with a transport zone; optionally a vlan ID might be used if the binding type is ‘bridge’

binding_type
created_at
network_id
phy_uuid
updated_at
vlan_id