ironic.drivers.modules.network.common.
NeutronVIFPortIDMixin
[source]¶Bases: ironic.drivers.modules.network.common.VIFPortIDMixin
VIF port ID mixin class for neutron network interfaces.
Mixin class that provides VIF-related network interface methods for neutron network interfaces. On VIF attach/detach, the associated neutron port will be updated.
port_changed
(task, port_obj)[source]¶Handle any actions required when a port changes
Parameters: |
|
---|---|
Raises: | FailedToUpdateDHCPOptOnPort, Conflict |
portgroup_changed
(task, portgroup_obj)[source]¶Handle any actions required when a portgroup changes
Parameters: |
|
---|---|
Raises: | FailedToUpdateDHCPOptOnPort, Conflict |
vif_attach
(task, vif_info)[source]¶Attach a virtual network interface to a node
Attach a virtual interface to a node. When selecting a port or portgroup to attach the virtual interface to, the following ordered criteria are applied:
Parameters: |
|
---|---|
Raises: | NetworkError, VifAlreadyAttached, NoFreePhysicalPorts |
Raises: | PortgroupPhysnetInconsistent if one of the node’s portgroups has ports which are not all assigned the same physical network. |
ironic.drivers.modules.network.common.
VIFPortIDMixin
[source]¶Bases: object
VIF port ID mixin class for non-neutron network interfaces.
Mixin class that provides VIF-related network interface methods for non-neutron network interfaces. There are no effects due to VIF attach/detach that are external to ironic.
NOTE: This does not yet support the full set of VIF methods, as it does not provide vif_attach, vif_detach, port_changed, or portgroup_changed.
get_current_vif
(task, p_obj)[source]¶Returns the currently used VIF associated with port or portgroup
We are booting the node only in one network at a time, and presence of cleaning_vif_port_id means we’re doing cleaning, of provisioning_vif_port_id - provisioning, of rescuing_vif_port_id - rescuing. Otherwise it’s a tenant network
Parameters: |
|
---|---|
Returns: | VIF ID associated with p_obj or None. |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.