Merge "SSH driver doesn't need to query database."

This commit is contained in:
Jenkins 2013-06-20 21:40:09 +00:00 committed by Gerrit Code Review
commit 5123cdc05b
2 changed files with 18 additions and 24 deletions

View File

@ -248,9 +248,9 @@ def _power_off(ssh_obj, driver_info):
def _get_nodes_mac_addresses(task, node):
"""Get all mac addresses for a node."""
interface_ports = task.dbapi.get_ports_by_node(node.get('id'))
macs = [p.address for p in interface_ports]
return macs
for r in task.resources:
if r.node.id == node['id']:
return [p.address for p in r.ports]
class SSHPower(base.PowerInterface):

View File

@ -366,29 +366,23 @@ class SSHDriverTestCase(db_base.DbTestCase):
self.sshclient = paramiko.SSHClient()
def test__get_nodes_mac_addresses(self):
class task(object):
dbapi = self.dbapi
ports = []
ports.append(
self.dbapi.create_port(
db_utils.get_test_port(
id=6,
address='aa:bb:cc',
uuid='bb43dc0b-03f2-4d2e-ae87-c02d7f33cc53')))
ports.append(
self.dbapi.create_port(
db_utils.get_test_port(
id=7,
address='dd:ee:ff',
uuid='4fc26c0b-03f2-4d2e-ae87-c02d7f33c234')))
ports = [
db_utils.get_test_port(
id=6,
address='aa:bb:cc',
uuid='bb43dc0b-03f2-4d2e-ae87-c02d7f33cc53'),
db_utils.get_test_port(
id=7,
address='dd:ee:ff',
uuid='4fc26c0b-03f2-4d2e-ae87-c02d7f33c234')]
ports[0] = self.dbapi.create_port(ports[0])
ports[1] = self.dbapi.create_port(ports[1])
self.mox.StubOutWithMock(self.dbapi, 'get_ports_by_node')
self.dbapi.get_ports_by_node(self.node.get('id')).\
AndReturn(ports)
self.mox.ReplayAll()
node_macs = ssh._get_nodes_mac_addresses(task(), self.node)
with task_manager.acquire([self.node['uuid']]) as task:
node_macs = ssh._get_nodes_mac_addresses(task, self.node)
self.assertEqual(node_macs, ['aa:bb:cc', 'dd:ee:ff'])
self.mox.VerifyAll()
def test_reboot_good(self):
info = ssh._parse_driver_info(self.node)