ironic.objects.port module

ironic.objects.port module

class ironic.objects.port.Port(context=None, **kwargs)[source]

Bases: ironic.objects.base.IronicObject, oslo_versionedobjects.base.VersionedObjectDictCompat

VERSION = '1.8'
address
create(context=None)[source]

Create a Port record in the DB.

Parameters:context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Port(context)
Raises:MACAlreadyExists if ‘address’ column is not unique
Raises:PortAlreadyExists if ‘uuid’ column is not unique
created_at
dbapi = <oslo_db.api.DBAPI object>
destroy(context=None)[source]

Delete the Port from the DB.

Parameters:context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Port(context)
Raises:PortNotFound
extra
fields = {'address': MACAddress(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'extra': FlexibleDict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'id': Integer(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'internal_info': FlexibleDict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'local_link_connection': FlexibleDict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'node_id': Integer(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'physical_network': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'portgroup_id': Integer(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'pxe_enabled': Boolean(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'uuid': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}
classmethod get(context, port_id)[source]

Find a port.

Find a port based on its id or uuid or MAC address and return a Port object.

Parameters:
  • context – Security context
  • port_id – the id or uuid or MAC address of a port.
Returns:

a Port object.

Raises:

InvalidIdentity

classmethod get_by_address(context, address)[source]

Find a port based on address and return a Port object.

Parameters:
  • cls – the Port
  • context – Security context
  • address – the address of a port.
Returns:

a Port object.

Raises:

PortNotFound

classmethod get_by_id(context, port_id)[source]

Find a port based on its integer ID and return a Port object.

Parameters:
  • cls – the Port
  • context – Security context
  • port_id – the ID of a port.
Returns:

a Port object.

Raises:

PortNotFound

classmethod get_by_uuid(context, uuid)[source]

Find a port based on UUID and return a Port object.

Parameters:
  • cls – the Port
  • context – Security context
  • uuid – the UUID of a port.
Returns:

a Port object.

Raises:

PortNotFound

id
internal_info
classmethod list(context, limit=None, marker=None, sort_key=None, sort_dir=None)[source]

Return a list of Port objects.

Parameters:
  • context – Security context.
  • limit – maximum number of resources to return in a single result.
  • marker – pagination marker for large data sets.
  • sort_key – column to sort results by.
  • sort_dir – direction to sort. “asc” or “desc”.
Returns:

a list of Port object.

Raises:

InvalidParameterValue

classmethod list_by_node_id(context, node_id, limit=None, marker=None, sort_key=None, sort_dir=None)[source]

Return a list of Port objects associated with a given node ID.

Parameters:
  • context – Security context.
  • node_id – the ID of the node.
  • limit – maximum number of resources to return in a single result.
  • marker – pagination marker for large data sets.
  • sort_key – column to sort results by.
  • sort_dir – direction to sort. “asc” or “desc”.
Returns:

a list of Port object.

classmethod list_by_portgroup_id(context, portgroup_id, limit=None, marker=None, sort_key=None, sort_dir=None)[source]

Return a list of Port objects associated with a given portgroup ID.

Parameters:
  • context – Security context.
  • portgroup_id – the ID of the portgroup.
  • limit – maximum number of resources to return in a single result.
  • marker – pagination marker for large data sets.
  • sort_key – column to sort results by.
  • sort_dir – direction to sort. “asc” or “desc”.
Returns:

a list of Port object.

node_id
physical_network
portgroup_id
pxe_enabled
refresh(context=None)[source]

Loads updates for this Port.

Loads a port with the same uuid from the database and checks for updated attributes. Updates are applied from the loaded port column by column, if there are any updates.

Parameters:context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Port(context)
Raises:PortNotFound
save(context=None)[source]

Save updates to this Port.

Updates will be made column by column based on the result of self.what_changed().

Parameters:context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Port(context)
Raises:PortNotFound
Raises:MACAlreadyExists if ‘address’ column is not unique
classmethod supports_physical_network()[source]

Return whether the physical_network field is supported.

Returns:Whether the physical_network field is supported
Raises:ovo_exception.IncompatibleObjectVersion
updated_at
uuid
class ironic.objects.port.PortCRUDNotification(context=None, **kwargs)[source]

Bases: ironic.objects.notification.NotificationBase

Notification emitted when ironic creates, updates or deletes a port.

VERSION = '1.0'
created_at
event_type
fields = {'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'event_type': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'level': NotificationLevel(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False,valid_values=('debug', 'info', 'warning', 'error', 'critical')), 'payload': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'publisher': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}
level
payload
publisher
updated_at
class ironic.objects.port.PortCRUDPayload(port, node_uuid, portgroup_uuid)[source]

Bases: ironic.objects.notification.NotificationPayloadBase

SCHEMA = {'address': ('port', 'address'), 'created_at': ('port', 'created_at'), 'extra': ('port', 'extra'), 'local_link_connection': ('port', 'local_link_connection'), 'physical_network': ('port', 'physical_network'), 'pxe_enabled': ('port', 'pxe_enabled'), 'updated_at': ('port', 'updated_at'), 'uuid': ('port', 'uuid')}
VERSION = '1.2'
address
created_at
extra
fields = {'address': MACAddress(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'extra': FlexibleDict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'local_link_connection': FlexibleDict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'node_uuid': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'physical_network': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'portgroup_uuid': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'pxe_enabled': Boolean(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'uuid': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False)}
node_uuid
physical_network
portgroup_uuid
pxe_enabled
updated_at
uuid
ironic.objects.port.migrate_vif_port_id(context, max_count)[source]

Copy port’s VIF info from extra to internal_info.

Parameters:
  • context – The context.
  • max_count – The maximum number of objects to migrate. Must be >= 0. If zero, all the objects will be migrated.
Returns:

A 2-tuple – the total number of objects that need to be migrated (at the beginning of this call) and the number of migrated objects.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.