Set useful port name when hostname is provided

It is useful to see the purpose of a port when viewing a port list or
port details. This change will set the port name to
<hostname>-<net-name> when the hostname is provided to the NICs
constructor.

Change-Id: Ic5789c0c3808afaa6b45408bce51d6c4ca86dbe5
This commit is contained in:
Steve Baker 2019-08-08 22:52:59 +00:00
parent 6f316bbad4
commit a77cfb2ce6
3 changed files with 91 additions and 28 deletions

View File

@ -28,7 +28,7 @@ LOG = logging.getLogger(__name__)
class NICs(object):
"""Requested NICs."""
def __init__(self, connection, node, nics):
def __init__(self, connection, node, nics, hostname=None):
if nics is None:
nics = []
@ -43,6 +43,7 @@ class NICs(object):
self._connection = connection
self._nics = nics
self._validated = None
self._hostname = hostname
self.created_ports = []
self.attached_ports = []
@ -137,6 +138,8 @@ class NICs(object):
port_args = {'network_id': network.id}
if nic.get('fixed_ip'):
port_args['fixed_ips'] = [{'ip_address': nic['fixed_ip']}]
if self._hostname:
port_args['name'] = '%s-%s' % (self._hostname, network.name)
return port_args
@ -166,8 +169,11 @@ class NICs(object):
'Cannot find network %(net)s for subnet %(sub)s: %(error)s' %
{'net': subnet.network_id, 'sub': nic['subnet'], 'error': exc})
return {'network_id': network.id,
'fixed_ips': [{'subnet_id': subnet.id}]}
port_args = {'network_id': network.id,
'fixed_ips': [{'subnet_id': subnet.id}]}
if self._hostname:
port_args['name'] = '%s-%s' % (self._hostname, network.name)
return port_args
def detach_and_delete_ports(connection, node, created_ports, attached_ports):

View File

@ -382,7 +382,8 @@ class Provisioner(object):
{'node': node, 'exc': exc})
node, allocation = self._check_node_for_deploy(node, hostname)
nics = _nics.NICs(self.connection, node, nics)
nics = _nics.NICs(self.connection, node, nics,
hostname=allocation and allocation.name or None)
try:
root_size_gb = _utils.get_root_disk(root_size_gb, node)

View File

@ -518,7 +518,9 @@ class TestProvisionNode(Base):
self.assertEqual(inst.node, self.node)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -580,7 +582,9 @@ class TestProvisionNode(Base):
self.assertEqual(inst.node, self.node)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -604,7 +608,9 @@ class TestProvisionNode(Base):
config.generate.assert_called_once_with(self.node,
self.allocation.name)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -641,7 +647,9 @@ class TestProvisionNode(Base):
self.api.baremetal.update_allocation.assert_called_once_with(
self.allocation, name=hostname)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='control-0.example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -667,7 +675,9 @@ class TestProvisionNode(Base):
self.assertFalse(self.api.baremetal.update_allocation.called)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='control-0.example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -695,7 +705,9 @@ class TestProvisionNode(Base):
self.assertFalse(self.api.baremetal.update_allocation.called)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='control-0.example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -750,7 +762,9 @@ class TestProvisionNode(Base):
self.api.baremetal.update_allocation.assert_called_once_with(
self.allocation, name=self.node.name)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='control-0-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -781,7 +795,9 @@ class TestProvisionNode(Base):
self.assertIs(inst.allocation, self.allocation)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='000-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -813,7 +829,11 @@ class TestProvisionNode(Base):
mock.call(self.node.id)
])
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='%s-%s' % (
self.api.baremetal.wait_for_allocation.return_value.name,
self.api.network.find_network.return_value.name
))
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -846,7 +866,11 @@ class TestProvisionNode(Base):
mock.call(self.node.id)
])
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='%s-%s' % (
self.api.baremetal.wait_for_allocation.return_value.name,
self.api.network.find_network.return_value.name
))
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -908,6 +932,8 @@ class TestProvisionNode(Base):
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name,
fixed_ips=[{'ip_address': '10.0.0.2'}])
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
@ -929,6 +955,8 @@ class TestProvisionNode(Base):
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.get_network.return_value.id,
name='example.com-%s' %
self.api.network.get_network.return_value.name,
fixed_ips=[{'subnet_id':
self.api.network.find_subnet.return_value.id}])
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
@ -954,7 +982,9 @@ class TestProvisionNode(Base):
self.pr.provision_node(self.node, 'image', [{'network': 'network'}])
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -982,7 +1012,9 @@ class TestProvisionNode(Base):
self.assertFalse(self.api.image.find_image.called)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1017,7 +1049,9 @@ abcd image
self.assertFalse(self.api.image.find_image.called)
mock_get.assert_called_once_with('https://host/checksums')
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1048,7 +1082,9 @@ abcd image
self.assertFalse(self.api.image.find_image.called)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1076,7 +1112,9 @@ abcd image
self.assertFalse(self.api.image.find_image.called)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1107,7 +1145,9 @@ abcd image
self.assertFalse(self.api.image.find_image.called)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1126,7 +1166,9 @@ abcd image
root_size_gb=50)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1145,7 +1187,9 @@ abcd image
swap_size_mb=4096)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1168,7 +1212,9 @@ abcd image
self.assertEqual(inst.node, self.node)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1191,7 +1237,9 @@ abcd image
self.assertEqual(inst.node, self.node)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1216,7 +1264,9 @@ abcd image
self.assertEqual(inst.node, self.node)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1238,7 +1288,9 @@ abcd image
self.assertEqual(inst.node, self.node)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1261,7 +1313,9 @@ abcd image
self.assertEqual(inst.node, self.node)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(
@ -1282,7 +1336,9 @@ abcd image
wait=3600)
self.api.network.create_port.assert_called_once_with(
network_id=self.api.network.find_network.return_value.id)
network_id=self.api.network.find_network.return_value.id,
name='example.com-%s' %
self.api.network.find_network.return_value.name)
self.api.baremetal.attach_vif_to_node.assert_called_once_with(
self.node, self.api.network.create_port.return_value.id)
self.api.baremetal.update_node.assert_called_once_with(