neutron_lib.plugins.utils module¶
-
neutron_lib.plugins.utils.
can_port_be_bound_to_virtual_bridge
(port)¶ Returns if port can be bound to a virtual bridge (e.g.: LB, OVS)
- Parameters
port – (dict) A port dictionary.
- Returns
True if the port VNIC type is ‘normal’ or ‘smart-nic’; False in any other case.
-
neutron_lib.plugins.utils.
create_network
(core_plugin, context, net, check_allow_post=True)¶
-
neutron_lib.plugins.utils.
create_port
(core_plugin, context, port, check_allow_post=True)¶
-
neutron_lib.plugins.utils.
create_subnet
(core_plugin, context, subnet, check_allow_post=True)¶
-
neutron_lib.plugins.utils.
delete_port_on_error
(core_plugin, context, port_id)¶ A decorator that deletes a port upon exception.
This decorator can be used to wrap a block of code that should delete a port if an exception is raised during the block’s execution.
- Parameters
core_plugin – The core plugin implementing the delete_port method to call.
context – The context.
port_id – The port’s ID.
- Returns
None
-
neutron_lib.plugins.utils.
get_deployment_physnet_mtu
()¶ Retrieves global physical network MTU setting.
Plugins should use this function to retrieve the MTU set by the operator that is equal to or less than the MTU of their nodes’ physical interfaces. Note that it is the responsibility of the plugin to deduct the value of any encapsulation overhead required before advertising it to VMs.
Note that this function depends on the global_physnet_mtu config option being registered in the global CONF.
- Returns
The global_physnet_mtu from the global CONF.
-
neutron_lib.plugins.utils.
get_interface_name
(name, prefix='', max_len=15)¶ Construct an interface name based on the prefix and name.
The interface name can not exceed the maximum length passed in. Longer names are hashed to help ensure uniqueness.
-
neutron_lib.plugins.utils.
get_port_binding_by_status_and_host
(bindings, status, host='', raise_if_not_found=False, port_id=None)¶ Returns from an iterable the binding with the specified status and host.
The input iterable can contain zero or one binding in status ACTIVE and zero or many bindings in status INACTIVE. As a consequence, to unequivocally retrieve an inactive binding, the caller must specify a non empty value for host. If host is the empty string, the first binding satisfying the specified status will be returned. If no binding is found with the specified status and host, None is returned or PortBindingNotFound is raised if raise_if_not_found is True
- Parameters
bindings – An iterable containing port bindings
status – The status of the port binding to return. Possible values are ACTIVE or INACTIVE as defined in
neutron_lib/constants.py
.host – str representing the host of the binding to return.
raise_if_not_found – If a binding is not found and this parameter is True, a PortBindingNotFound exception is raised
port_id – The id of the binding’s port
- Returns
The searched for port binding or None if it is not found
- Raises
PortBindingNotFound if the binding is not found and raise_if_not_found is True
-
neutron_lib.plugins.utils.
in_pending_status
(status)¶ Return True if status is a form of pending
-
neutron_lib.plugins.utils.
is_valid_geneve_vni
(vni)¶ Validate a Geneve VNI
- Parameters
vni – The VNI to validate.
- Returns
True if vni is a number that’s a valid Geneve VNI.
-
neutron_lib.plugins.utils.
is_valid_gre_id
(gre_id)¶ Validate a GRE ID.
- Parameters
gre_id – The GRE ID to validate.
- Returns
True if gre_id is a number that’s a valid GRE ID.
-
neutron_lib.plugins.utils.
is_valid_vlan_tag
(vlan)¶ Validate a VLAN tag.
- Parameters
vlan – The VLAN tag to validate.
- Returns
True if vlan is a number that is a valid VLAN tag.
-
neutron_lib.plugins.utils.
is_valid_vxlan_vni
(vni)¶ Validate a VXLAN VNI.
- Parameters
vni – The VNI to validate.
- Returns
True if vni is a number that’s a valid VXLAN VNI.
-
neutron_lib.plugins.utils.
parse_network_vlan_range
(network_vlan_range)¶ Parse a well formed network VLAN range string.
- The network VLAN range string has the format:
network[:vlan_begin:vlan_end]
- Parameters
network_vlan_range – The network VLAN range string to parse.
- Returns
A tuple who’s 1st element is the network name and 2nd element is the VLAN range parsed from network_vlan_range.
- Raises
NetworkVlanRangeError if network_vlan_range is malformed. PhysicalNetworkNameError if network_vlan_range is missing a network name.
-
neutron_lib.plugins.utils.
parse_network_vlan_ranges
(network_vlan_ranges_cfg_entries)¶ Parse a list of well formed network VLAN range string.
Behaves like parse_network_vlan_range, but parses a list of network VLAN strings into an ordered dict.
- Parameters
network_vlan_ranges_cfg_entries – The list of network VLAN strings to parse.
- Returns
An OrderedDict who’s keys are network names and values are the list of VLAN ranges parsed.
- Raises
See parse_network_vlan_range.
-
neutron_lib.plugins.utils.
update_port_on_error
(core_plugin, context, port_id, revert_value)¶ A decorator that updates a port upon exception.
This decorator can be used to wrap a block of code that should update a port if an exception is raised during the block’s execution.
- Parameters
core_plugin – The core plugin implementing the update_port method to call.
context – The context.
port_id – The port’s ID.
revert_value – The value to revert on the port object.
- Returns
None
-
neutron_lib.plugins.utils.
verify_tunnel_range
(tunnel_range, tunnel_type)¶ Verify a given tunnel range is valid given it’s tunnel type.
Existing validation is done for GRE, VXLAN and GENEVE types as per _TUNNEL_MAPPINGS.
- Parameters
tunnel_range – An iterable who’s 0 index is the min tunnel range and who’s 1 index is the max tunnel range.
tunnel_type – The tunnel type of the range.
- Returns
None if the tunnel_range is valid.
- Raises
NetworkTunnelRangeError if tunnel_range is invalid.
-
neutron_lib.plugins.utils.
verify_vlan_range
(vlan_range)¶ Verify a VLAN range is valid.
- Parameters
vlan_range – An iterable who’s 0 index is the min tunnel range and who’s 1 index is the max tunnel range.
- Returns
None if the vlan_range is valid.
- Raises
NetworkVlanRangeError if vlan_range is not valid.