Add a new Hardware Manager for Mellanox NICs
This patch add Mellanox Manager to support Mellanox InfiniBand NICs. It adds client_id to the NetworkInterface for the InfiniBand network interface. The Mellanox Manager provides it own implementation of get_interface_info. The mlnx get_interface_info generate InfiniBand MAC and client-id from the InfiniBand network interface address. Closes-Bug: #1532534 Change-Id: I4e7f7649a1bdeaa3ee99b2748037b0f37fea486c
This commit is contained in:

committed by
Szymon Borkowski

parent
f9236682f7
commit
1bdcd4449f
ironic_python_agent
releasenotes/notes
setup.cfg@@ -207,10 +207,11 @@ class BlockDevice(encoding.SerializableComparable):
|
||||
class NetworkInterface(encoding.SerializableComparable):
|
||||
serializable_fields = ('name', 'mac_address', 'switch_port_descr',
|
||||
'switch_chassis_descr', 'ipv4_address',
|
||||
'has_carrier', 'lldp', 'vendor', 'product')
|
||||
'has_carrier', 'lldp', 'vendor', 'product',
|
||||
'client_id')
|
||||
|
||||
def __init__(self, name, mac_addr, ipv4_address=None, has_carrier=True,
|
||||
lldp=None, vendor=None, product=None):
|
||||
lldp=None, vendor=None, product=None, client_id=None):
|
||||
self.name = name
|
||||
self.mac_address = mac_addr
|
||||
self.ipv4_address = ipv4_address
|
||||
@@ -218,6 +219,10 @@ class NetworkInterface(encoding.SerializableComparable):
|
||||
self.lldp = lldp
|
||||
self.vendor = vendor
|
||||
self.product = product
|
||||
# client_id is used for InfiniBand only. we calculate the DHCP
|
||||
# client identifier Option to allow DHCP to work over InfiniBand.
|
||||
# see https://tools.ietf.org/html/rfc4390
|
||||
self.client_id = client_id
|
||||
# TODO(sambetts) Remove these fields in Ocata, they have been
|
||||
# superseded by self.lldp
|
||||
self.switch_port_descr = None
|
||||
|
Reference in New Issue
Block a user