Пример #1
0
    def test_set_power_state_off_fail(self):
        info = ssh._parse_driver_info(self.node)
        info['macs'] = ["11:11:11:11:11:11", "52:54:00:cf:2d:31"]

        self.mox.StubOutWithMock(ssh, '_parse_driver_info')
        self.mox.StubOutWithMock(ssh, '_get_nodes_mac_addresses')
        self.mox.StubOutWithMock(ssh, '_get_connection')
        self.mox.StubOutWithMock(ssh, '_power_off')
        ssh._parse_driver_info(self.node).\
                AndReturn(info)
        ssh._get_nodes_mac_addresses(mox.IgnoreArg(), self.node).\
                AndReturn(info['macs'])
        ssh._get_connection(self.node).\
                AndReturn(self.sshclient)
        ssh._power_off(self.sshclient, info).\
                AndReturn(states.POWER_ON)
        self.mox.ReplayAll()

        with task_manager.acquire([info['uuid']], shared=False) as task:
            self.assertRaises(exception.PowerStateFailure,
                task.resources[0].driver.power.set_power_state,
                task,
                self.node,
                states.POWER_OFF)
        self.mox.VerifyAll()
Пример #2
0
    def test_reboot_good(self):
        info = ssh._parse_driver_info(self.node)
        info['macs'] = ["11:11:11:11:11:11", "52:54:00:cf:2d:31"]

        self.mox.StubOutWithMock(ssh, '_parse_driver_info')
        self.mox.StubOutWithMock(ssh, '_get_nodes_mac_addresses')
        self.mox.StubOutWithMock(ssh, '_get_connection')
        self.mox.StubOutWithMock(ssh, '_get_power_status')
        self.mox.StubOutWithMock(ssh, '_power_off')
        self.mox.StubOutWithMock(ssh, '_power_on')
        ssh._parse_driver_info(self.node).\
                AndReturn(info)
        ssh._get_nodes_mac_addresses(mox.IgnoreArg(), self.node).\
                AndReturn(info['macs'])
        ssh._get_connection(self.node).\
                AndReturn(self.sshclient)
        ssh._get_power_status(self.sshclient, info).\
                AndReturn(states.POWER_ON)
        ssh._power_off(self.sshclient, info).\
                AndReturn(None)
        ssh._power_on(self.sshclient, info).\
                AndReturn(states.POWER_ON)
        self.mox.ReplayAll()

        with task_manager.acquire([info['uuid']], shared=False) as task:
            task.resources[0].driver.power.reboot(task, self.node)
        self.mox.VerifyAll()
Пример #3
0
 def test__get_connection_client(self):
     with mock.patch.object(utils, 'ssh_connect') as ssh_connect_mock:
         ssh_connect_mock.return_value = self.sshclient
         client = ssh._get_connection(self.node)
         self.assertEqual(self.sshclient, client)
         driver_info = ssh._parse_driver_info(self.node)
         ssh_connect_mock.assert_called_once_with(driver_info)
Пример #4
0
 def test__get_connection_client(self):
     with mock.patch.object(
             utils, 'ssh_connect') as ssh_connect_mock:
         ssh_connect_mock.return_value = self.sshclient
         client = ssh._get_connection(self.node)
         self.assertEqual(self.sshclient, client)
         driver_info = ssh._parse_driver_info(self.node)
         ssh_connect_mock.assert_called_once_with(driver_info)
Пример #5
0
    def test_set_power_state_bad_state(self):
        info = ssh._parse_driver_info(self.node)
        info["macs"] = ["11:11:11:11:11:11", "52:54:00:cf:2d:31"]

        self.mox.StubOutWithMock(ssh, "_parse_driver_info")
        self.mox.StubOutWithMock(ssh, "_get_nodes_mac_addresses")
        self.mox.StubOutWithMock(ssh, "_get_connection")
        ssh._parse_driver_info(self.node).AndReturn(info)
        ssh._get_nodes_mac_addresses(mox.IgnoreArg(), self.node).AndReturn(info["macs"])
        ssh._get_connection(self.node).AndReturn(self.sshclient)
        self.mox.ReplayAll()

        with task_manager.acquire([info["uuid"]], shared=False) as task:
            self.assertRaises(
                exception.IronicException, task.resources[0].driver.power.set_power_state, task, self.node, "BAD_PSTATE"
            )
        self.mox.VerifyAll()
Пример #6
0
    def test_set_power_state_off_good(self):
        info = ssh._parse_driver_info(self.node)
        info["macs"] = ["11:11:11:11:11:11", "52:54:00:cf:2d:31"]

        self.mox.StubOutWithMock(ssh, "_parse_driver_info")
        self.mox.StubOutWithMock(ssh, "_get_nodes_mac_addresses")
        self.mox.StubOutWithMock(ssh, "_get_connection")
        self.mox.StubOutWithMock(ssh, "_power_off")
        ssh._parse_driver_info(self.node).AndReturn(info)
        ssh._get_nodes_mac_addresses(mox.IgnoreArg(), self.node).AndReturn(info["macs"])
        ssh._get_connection(self.node).AndReturn(self.sshclient)
        ssh._power_off(self.sshclient, info).AndReturn(states.POWER_OFF)
        self.mox.ReplayAll()

        with task_manager.acquire([info["uuid"]], shared=False) as task:
            task.resources[0].driver.power.set_power_state(task, self.node, states.POWER_OFF)
        self.assert_(True)
        self.mox.VerifyAll()
Пример #7
0
    def test_reboot_fail(self):
        info = ssh._parse_driver_info(self.node)
        info["macs"] = ["11:11:11:11:11:11", "52:54:00:cf:2d:31"]

        self.mox.StubOutWithMock(ssh, "_parse_driver_info")
        self.mox.StubOutWithMock(ssh, "_get_nodes_mac_addresses")
        self.mox.StubOutWithMock(ssh, "_get_connection")
        self.mox.StubOutWithMock(ssh, "_get_power_status")
        self.mox.StubOutWithMock(ssh, "_power_off")
        self.mox.StubOutWithMock(ssh, "_power_on")
        ssh._parse_driver_info(self.node).AndReturn(info)
        ssh._get_nodes_mac_addresses(mox.IgnoreArg(), self.node).AndReturn(info["macs"])
        ssh._get_connection(self.node).AndReturn(self.sshclient)
        ssh._get_power_status(self.sshclient, info).AndReturn(states.POWER_ON)
        ssh._power_off(self.sshclient, info).AndReturn(None)
        ssh._power_on(self.sshclient, info).AndReturn(states.POWER_OFF)
        self.mox.ReplayAll()

        with task_manager.acquire([info["uuid"]], shared=False) as task:
            self.assertRaises(exception.PowerStateFailure, task.resources[0].driver.power.reboot, task, self.node)
        self.mox.VerifyAll()
Пример #8
0
    def test_set_power_state_bad_state(self):
        info = ssh._parse_driver_info(self.node)
        info['macs'] = ["11:11:11:11:11:11", "52:54:00:cf:2d:31"]

        self.mox.StubOutWithMock(ssh, '_parse_driver_info')
        self.mox.StubOutWithMock(ssh, '_get_nodes_mac_addresses')
        self.mox.StubOutWithMock(ssh, '_get_connection')
        ssh._parse_driver_info(self.node).\
                AndReturn(info)
        ssh._get_nodes_mac_addresses(mox.IgnoreArg(), self.node).\
                AndReturn(info['macs'])
        ssh._get_connection(self.node).\
                AndReturn(self.sshclient)
        self.mox.ReplayAll()

        with task_manager.acquire([info['uuid']], shared=False) as task:
            self.assertRaises(exception.IronicException,
                task.resources[0].driver.power.set_power_state,
                task,
                self.node,
                "BAD_PSTATE")
        self.mox.VerifyAll()
Пример #9
0
 def test__get_connection_client(self, ssh_connect_mock):
     ssh_connect_mock.return_value = self.sshclient
     client = ssh._get_connection(self.node)
     self.assertEqual(self.sshclient, client)
     driver_info = ssh._parse_driver_info(self.node)
     ssh_connect_mock.assert_called_once_with(driver_info)
Пример #10
0
 def test__get_connection_client(self, ssh_connect_mock):
     ssh_connect_mock.return_value = self.sshclient
     client = ssh._get_connection(self.node)
     self.assertEqual(self.sshclient, client)
     driver_info = ssh._parse_driver_info(self.node)
     ssh_connect_mock.assert_called_once_with(driver_info)