ironic.common.trait_based_networking.base module

class ironic.common.trait_based_networking.base.Actions(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

ATTACH_PORT = 'attach_port'
ATTACH_PORTGROUP = 'attach_portgroup'
BOND_PORTS = 'bond_ports'
GROUP_AND_ATTACH_PORTS = 'group_and_attach_ports'
class ironic.common.trait_based_networking.base.AttachPort(trait_action, node_uuid, port_uuid, network_id)[source]

Bases: RenderedAction

class ironic.common.trait_based_networking.base.AttachPortgroup(trait_action, node_uuid, portgroup_uuid, network_id)[source]

Bases: RenderedAction

class ironic.common.trait_based_networking.base.Comparator(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

EQUALITY = '=='
GT = '>'
GT_OR_EQ = '>='
INEQUALITY = '!='
LT = '<'
LT_OR_EQ = '<='
PREFIX_MATCH = '=~'
eval(variable, value)[source]
class ironic.common.trait_based_networking.base.CompoundExpression(left_expression, operator, right_expression)[source]

Bases: object

eval(port, network)[source]
class ironic.common.trait_based_networking.base.FilterExpression(expression)[source]

Bases: object

eval(port, network)[source]
classmethod parse(expression)[source]
class ironic.common.trait_based_networking.base.FunctionExpression(variable)[source]

Bases: object

eval(port, network)[source]
class ironic.common.trait_based_networking.base.Network(network_id, name, tags)[source]

Bases: object

class ironic.common.trait_based_networking.base.NetworkTrait(name, actions)[source]

Bases: object

class ironic.common.trait_based_networking.base.NoMatch(trait_action, node_uuid, reason)[source]

Bases: RenderedAction

class ironic.common.trait_based_networking.base.NotImplementedAction(action)[source]

Bases: RenderedAction

class ironic.common.trait_based_networking.base.Operator(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

AND = '&&'
OR = '||'
eval(variable, value)[source]
class ironic.common.trait_based_networking.base.ParenExpression(expression)[source]

Bases: object

eval(port, network)[source]
class ironic.common.trait_based_networking.base.Port(ironic_port_like_obj)[source]

Bases: PrimordialPort

classmethod from_ironic_port(ironic_port)[source]
is_port()[source]
is_portgroup()[source]
class ironic.common.trait_based_networking.base.Portgroup(ironic_port_like_obj)[source]

Bases: PrimordialPort

classmethod from_ironic_portgroup(ironic_portgroup)[source]
is_port()[source]
is_portgroup()[source]
class ironic.common.trait_based_networking.base.PrimordialPort(ironic_port_like_obj)[source]

Bases: object

class ironic.common.trait_based_networking.base.RenderedAction(trait_action, node_uuid)[source]

Bases: object

class ironic.common.trait_based_networking.base.SingleExpression(variable, comparator, literal)[source]

Bases: object

eval(port, network)[source]
class ironic.common.trait_based_networking.base.TraitAction(trait_name, action, filter_expression, min_count=None, max_count=None)[source]

Bases: object

ALL_KEYS = ['max_count', 'min_count', 'action', 'filter']
NECESSARY_KEYS = ['action', 'filter']
OPTIONAL_KEYS = ['max_count', 'min_count']
matches(portlike, network)[source]

Check if filter expression matches the port, network pairing.

class ironic.common.trait_based_networking.base.Variables(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

NETWORK_NAME = 'network.name'
NETWORK_TAGS = 'network.tags'
PORT_ADDRESS = 'port.address'
PORT_CATEGORY = 'port.category'
PORT_IS_PORT = 'port.is_port'
PORT_IS_PORTGROUP = 'port.is_portgroup'
PORT_PHYSICAL_NETWORK = 'port.physical_network'
PORT_VENDOR = 'port.vendor'
attribute_name()[source]
object_name()[source]
ironic.common.trait_based_networking.base.retrieve_attribute(attribute_name, tbn_obj)[source]