Remove deprecated bmc_bm_pairs file
Now that nodes.json contains the name of the baremetal instances, there's no need to have a separate mapping file for the bmc ips. This has been deprecated for close to a year, so let's remove it in 2.0.
This commit is contained in:
parent
799154590f
commit
51b31cd9a2
|
@ -135,7 +135,6 @@ def _build_nodes(nova, glance, bmc_ports, bm_ports, provision_net_map,
|
||||||
if physical_network:
|
if physical_network:
|
||||||
node_template.pop('mac')
|
node_template.pop('mac')
|
||||||
nodes = []
|
nodes = []
|
||||||
bmc_bm_pairs = []
|
|
||||||
cache = {}
|
cache = {}
|
||||||
network_details = {}
|
network_details = {}
|
||||||
for bmc_port, baremetal_port in zip(bmc_ports, bm_ports):
|
for bmc_port, baremetal_port in zip(bmc_ports, bm_ports):
|
||||||
|
@ -145,7 +144,6 @@ def _build_nodes(nova, glance, bmc_ports, bm_ports, provision_net_map,
|
||||||
network_details[baremetal.name]['ips'] = baremetal.addresses
|
network_details[baremetal.name]['ips'] = baremetal.addresses
|
||||||
node = dict(node_template)
|
node = dict(node_template)
|
||||||
node['pm_addr'] = bmc_port['fixed_ips'][0]['ip_address']
|
node['pm_addr'] = bmc_port['fixed_ips'][0]['ip_address']
|
||||||
bmc_bm_pairs.append((node['pm_addr'], baremetal.name))
|
|
||||||
provision_net = provision_net_map.get(baremetal_port['id'])
|
provision_net = provision_net_map.get(baremetal_port['id'])
|
||||||
mac = baremetal.addresses[provision_net][0]['OS-EXT-IPS-MAC:mac_addr']
|
mac = baremetal.addresses[provision_net][0]['OS-EXT-IPS-MAC:mac_addr']
|
||||||
if physical_network:
|
if physical_network:
|
||||||
|
@ -216,7 +214,7 @@ def _build_nodes(nova, glance, bmc_ports, bm_ports, provision_net_map,
|
||||||
network_details[undercloud_name] = dict(
|
network_details[undercloud_name] = dict(
|
||||||
id=undercloud_instance.id,
|
id=undercloud_instance.id,
|
||||||
ips=undercloud_instance.addresses)
|
ips=undercloud_instance.addresses)
|
||||||
return nodes, bmc_bm_pairs, extra_nodes, network_details
|
return nodes, extra_nodes, network_details
|
||||||
|
|
||||||
|
|
||||||
def _write_nodes(nodes, extra_nodes, network_details, args):
|
def _write_nodes(nodes, extra_nodes, network_details, args):
|
||||||
|
@ -261,21 +259,6 @@ def _write_role_nodes(nodes, args):
|
||||||
(profile, outfile))
|
(profile, outfile))
|
||||||
|
|
||||||
|
|
||||||
# TODO(bnemec): This functionality was deprecated 2018-01-24. Remove it in
|
|
||||||
# about six months.
|
|
||||||
def _write_pairs(bmc_bm_pairs):
|
|
||||||
filename = 'bmc_bm_pairs'
|
|
||||||
with open(filename, 'w') as pairs_file:
|
|
||||||
pairs_file.write('# This file is DEPRECATED. The mapping is now '
|
|
||||||
'available in nodes.json.\n')
|
|
||||||
pairs_file.write('# A list of BMC addresses and the name of the '
|
|
||||||
'instance that BMC manages.\n')
|
|
||||||
for i in bmc_bm_pairs:
|
|
||||||
pair = '%s %s' % i
|
|
||||||
pairs_file.write(pair + '\n')
|
|
||||||
print(pair)
|
|
||||||
print('Wrote BMC to instance mapping file to %s' % filename)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
args = _parse_args()
|
args = _parse_args()
|
||||||
|
@ -284,7 +267,6 @@ def main():
|
||||||
bmc_ports, bm_ports, provision_net_map = _get_ports(neutron, bmc_base,
|
bmc_ports, bm_ports, provision_net_map = _get_ports(neutron, bmc_base,
|
||||||
baremetal_base)
|
baremetal_base)
|
||||||
(nodes,
|
(nodes,
|
||||||
bmc_bm_pairs,
|
|
||||||
extra_nodes,
|
extra_nodes,
|
||||||
network_details) = _build_nodes(nova, glance, bmc_ports, bm_ports,
|
network_details) = _build_nodes(nova, glance, bmc_ports, bm_ports,
|
||||||
provision_net_map, baremetal_base,
|
provision_net_map, baremetal_base,
|
||||||
|
@ -292,7 +274,6 @@ def main():
|
||||||
args.physical_network)
|
args.physical_network)
|
||||||
_write_nodes(nodes, extra_nodes, network_details, args)
|
_write_nodes(nodes, extra_nodes, network_details, args)
|
||||||
_write_role_nodes(nodes, args)
|
_write_role_nodes(nodes, args)
|
||||||
_write_pairs(bmc_bm_pairs)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -312,7 +312,6 @@ class TestBuildNodesJson(testtools.TestCase):
|
||||||
glance = mock.Mock()
|
glance = mock.Mock()
|
||||||
|
|
||||||
(nodes,
|
(nodes,
|
||||||
bmc_bm_pairs,
|
|
||||||
extra_nodes,
|
extra_nodes,
|
||||||
network_details) = build_nodes_json._build_nodes(
|
network_details) = build_nodes_json._build_nodes(
|
||||||
nova, glance, bmc_ports, bm_ports, provision_net_map, 'bm',
|
nova, glance, bmc_ports, bm_ports, provision_net_map, 'bm',
|
||||||
|
@ -320,8 +319,6 @@ class TestBuildNodesJson(testtools.TestCase):
|
||||||
expected_nodes = copy.deepcopy(TEST_NODES)
|
expected_nodes = copy.deepcopy(TEST_NODES)
|
||||||
expected_nodes[1]['disk'] = 100
|
expected_nodes[1]['disk'] = 100
|
||||||
self.assertEqual(expected_nodes, nodes)
|
self.assertEqual(expected_nodes, nodes)
|
||||||
self.assertEqual([('1.1.1.1', 'bm_0'), ('1.1.1.2', 'bm_1')],
|
|
||||||
bmc_bm_pairs)
|
|
||||||
self.assertEqual(1, len(extra_nodes))
|
self.assertEqual(1, len(extra_nodes))
|
||||||
self.assertEqual('undercloud', extra_nodes[0]['name'])
|
self.assertEqual('undercloud', extra_nodes[0]['name'])
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
@ -364,7 +361,6 @@ class TestBuildNodesJson(testtools.TestCase):
|
||||||
glance = mock.Mock()
|
glance = mock.Mock()
|
||||||
|
|
||||||
(nodes,
|
(nodes,
|
||||||
bmc_bm_pairs,
|
|
||||||
extra_nodes,
|
extra_nodes,
|
||||||
network_details) = build_nodes_json._build_nodes(
|
network_details) = build_nodes_json._build_nodes(
|
||||||
nova, glance, bmc_ports, bm_ports, provision_net_map, 'bm',
|
nova, glance, bmc_ports, bm_ports, provision_net_map, 'bm',
|
||||||
|
@ -374,8 +370,6 @@ class TestBuildNodesJson(testtools.TestCase):
|
||||||
for node in expected_nodes:
|
for node in expected_nodes:
|
||||||
node['pm_type'] = 'ipmi'
|
node['pm_type'] = 'ipmi'
|
||||||
self.assertEqual(expected_nodes, nodes)
|
self.assertEqual(expected_nodes, nodes)
|
||||||
self.assertEqual([('1.1.1.1', 'bm_0'), ('1.1.1.2', 'bm_1')],
|
|
||||||
bmc_bm_pairs)
|
|
||||||
self.assertEqual(1, len(extra_nodes))
|
self.assertEqual(1, len(extra_nodes))
|
||||||
self.assertEqual('undercloud', extra_nodes[0]['name'])
|
self.assertEqual('undercloud', extra_nodes[0]['name'])
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
@ -406,7 +400,7 @@ class TestBuildNodesJson(testtools.TestCase):
|
||||||
mock_image_get.get.return_value = 'uefi'
|
mock_image_get.get.return_value = 'uefi'
|
||||||
glance.images.get.return_value = mock_image_get
|
glance.images.get.return_value = mock_image_get
|
||||||
|
|
||||||
nodes, bmc_bm_pairs, extra_nodes, _ = build_nodes_json._build_nodes(
|
nodes, extra_nodes, _ = build_nodes_json._build_nodes(
|
||||||
nova, glance, bmc_ports, bm_ports, provision_net_map, 'bm-foo',
|
nova, glance, bmc_ports, bm_ports, provision_net_map, 'bm-foo',
|
||||||
None, 'pxe_ipmitool', physical_network)
|
None, 'pxe_ipmitool', physical_network)
|
||||||
expected_nodes = copy.deepcopy(TEST_NODES)
|
expected_nodes = copy.deepcopy(TEST_NODES)
|
||||||
|
@ -419,9 +413,6 @@ class TestBuildNodesJson(testtools.TestCase):
|
||||||
'boot_mode:uefi,'
|
'boot_mode:uefi,'
|
||||||
'profile:control')
|
'profile:control')
|
||||||
self.assertEqual(expected_nodes, nodes)
|
self.assertEqual(expected_nodes, nodes)
|
||||||
self.assertEqual([('1.1.1.1', 'bm-foo-control_0'),
|
|
||||||
('1.1.1.2', 'bm-foo-control_1')],
|
|
||||||
bmc_bm_pairs)
|
|
||||||
|
|
||||||
@mock.patch('openstack_virtual_baremetal.build_nodes_json.open',
|
@mock.patch('openstack_virtual_baremetal.build_nodes_json.open',
|
||||||
create=True)
|
create=True)
|
||||||
|
@ -482,23 +473,6 @@ class TestBuildNodesJson(testtools.TestCase):
|
||||||
f.write.assert_any_call(json.dumps({'nodes': [test_nodes[1]]},
|
f.write.assert_any_call(json.dumps({'nodes': [test_nodes[1]]},
|
||||||
indent=2))
|
indent=2))
|
||||||
|
|
||||||
@mock.patch('openstack_virtual_baremetal.build_nodes_json.open',
|
|
||||||
create=True)
|
|
||||||
def test_write_pairs(self, mock_open):
|
|
||||||
pairs = [('1.1.1.1', 'bm_0'), ('1.1.1.2', 'bm_1')]
|
|
||||||
mock_open.return_value = mock.MagicMock()
|
|
||||||
build_nodes_json._write_pairs(pairs)
|
|
||||||
calls = [mock.call('# This file is DEPRECATED. The mapping is now '
|
|
||||||
'available in nodes.json.\n'),
|
|
||||||
mock.call('# A list of BMC addresses and the name of the '
|
|
||||||
'instance that BMC manages.\n'),
|
|
||||||
mock.call('1.1.1.1 bm_0\n'),
|
|
||||||
mock.call('1.1.1.2 bm_1\n'),
|
|
||||||
]
|
|
||||||
f = mock_open.return_value.__enter__.return_value
|
|
||||||
self.assertEqual(calls, f.write.mock_calls)
|
|
||||||
|
|
||||||
@mock.patch('openstack_virtual_baremetal.build_nodes_json._write_pairs')
|
|
||||||
@mock.patch('openstack_virtual_baremetal.build_nodes_json.'
|
@mock.patch('openstack_virtual_baremetal.build_nodes_json.'
|
||||||
'_write_role_nodes')
|
'_write_role_nodes')
|
||||||
@mock.patch('openstack_virtual_baremetal.build_nodes_json._write_nodes')
|
@mock.patch('openstack_virtual_baremetal.build_nodes_json._write_nodes')
|
||||||
|
@ -509,7 +483,7 @@ class TestBuildNodesJson(testtools.TestCase):
|
||||||
@mock.patch('openstack_virtual_baremetal.build_nodes_json._parse_args')
|
@mock.patch('openstack_virtual_baremetal.build_nodes_json._parse_args')
|
||||||
def test_main(self, mock_parse_args, mock_get_names, mock_get_clients,
|
def test_main(self, mock_parse_args, mock_get_names, mock_get_clients,
|
||||||
mock_get_ports, mock_build_nodes, mock_write_nodes,
|
mock_get_ports, mock_build_nodes, mock_write_nodes,
|
||||||
mock_write_role_nodes, mock_write_pairs):
|
mock_write_role_nodes):
|
||||||
args = mock.Mock()
|
args = mock.Mock()
|
||||||
mock_parse_args.return_value = args
|
mock_parse_args.return_value = args
|
||||||
bmc_base = mock.Mock()
|
bmc_base = mock.Mock()
|
||||||
|
@ -526,10 +500,9 @@ class TestBuildNodesJson(testtools.TestCase):
|
||||||
bm_ports = mock.Mock()
|
bm_ports = mock.Mock()
|
||||||
mock_get_ports.return_value = (bmc_ports, bm_ports, provision_net_map)
|
mock_get_ports.return_value = (bmc_ports, bm_ports, provision_net_map)
|
||||||
nodes = mock.Mock()
|
nodes = mock.Mock()
|
||||||
pairs = mock.Mock()
|
|
||||||
extra_nodes = mock.Mock()
|
extra_nodes = mock.Mock()
|
||||||
network_details = mock.Mock()
|
network_details = mock.Mock()
|
||||||
mock_build_nodes.return_value = (nodes, pairs, extra_nodes,
|
mock_build_nodes.return_value = (nodes, extra_nodes,
|
||||||
network_details)
|
network_details)
|
||||||
|
|
||||||
build_nodes_json.main()
|
build_nodes_json.main()
|
||||||
|
@ -548,4 +521,3 @@ class TestBuildNodesJson(testtools.TestCase):
|
||||||
mock_write_nodes.assert_called_once_with(nodes, extra_nodes,
|
mock_write_nodes.assert_called_once_with(nodes, extra_nodes,
|
||||||
network_details, args)
|
network_details, args)
|
||||||
mock_write_role_nodes.assert_called_once_with(nodes, args)
|
mock_write_role_nodes.assert_called_once_with(nodes, args)
|
||||||
mock_write_pairs.assert_called_once_with(pairs)
|
|
||||||
|
|
Loading…
Reference in New Issue