class IpPayload(base.NotificationPayloadBase): # Version 1.0: Initial version VERSION = '1.0' fields = { 'label': fields.StringField(), 'mac': fields.MACAddressField(), 'meta': fields.DictOfStringsField(), 'port_uuid': fields.UUIDField(nullable=True), 'version': fields.IntegerField(), 'address': fields.IPV4AndV6AddressField(), 'device_name': fields.StringField(nullable=True) } @classmethod def from_network_info(cls, network_info): """Returns a list of IpPayload object based on the passed network_info. """ ips = [] if network_info is not None: for vif in network_info: for ip in vif.fixed_ips(): ips.append( cls(label=vif["network"]["label"], mac=vif["address"], meta=vif["meta"], port_uuid=vif["id"], version=ip["version"], address=ip["address"], device_name=vif["devname"])) return ips
class IpPayload(base.NotificationPayloadBase): # Version 1.0: Initial version VERSION = '1.0' fields = { 'label': fields.StringField(), 'mac': fields.MACAddressField(), 'meta': fields.DictOfStringsField(), 'port_uuid': fields.UUIDField(nullable=True), 'version': fields.IntegerField(), 'address': fields.IPV4AndV6AddressField(), 'device_name': fields.StringField(nullable=True) }
class NetworkInterfaceMetadata(DeviceMetadata): # Version 1.0: Initial version # Version 1.1: Add vlans field VERSION = '1.1' fields = { 'mac': fields.MACAddressField(), 'vlan': fields.IntegerField(), } def obj_make_compatible(self, primitive, target_version): target_version = versionutils.convert_version_to_tuple(target_version) if target_version < (1, 1) and 'vlan' in primitive: del primitive['vlan']
class NicDiagnostics(base.NovaObject): # Version 1.0: Initial version VERSION = '1.0' fields = { 'mac_address': fields.MACAddressField(nullable=True), 'rx_octets': fields.IntegerField(nullable=True), 'rx_errors': fields.IntegerField(nullable=True), 'rx_drop': fields.IntegerField(nullable=True), 'rx_packets': fields.IntegerField(nullable=True), 'rx_rate': fields.IntegerField(nullable=True), 'tx_octets': fields.IntegerField(nullable=True), 'tx_errors': fields.IntegerField(nullable=True), 'tx_drop': fields.IntegerField(nullable=True), 'tx_packets': fields.IntegerField(nullable=True), 'tx_rate': fields.IntegerField(nullable=True) }
class NetworkInterfaceMetadata(DeviceMetadata): VERSION = '1.0' fields = { 'mac': fields.MACAddressField(), }