Ejemplo n.º 1
0
 def test_get_server(self):
     self.mock_shade_client = mock.Mock()
     _uuid = uuidutils.generate_uuid()
     self.mock_shade_client.get_server.return_value = {
         'name': 'server_name', 'id': _uuid}
     output = openstack_utils.get_server(self.mock_shade_client,
                                         'server_name_or_id')
     self.assertEqual({'name': 'server_name', 'id': _uuid}, output)
Ejemplo n.º 2
0
 def test_get_server_exception(self, mock_logger):
     self.mock_shade_client = mock.Mock()
     self.mock_shade_client.get_server.side_effect = (
         exc.OpenStackCloudException('error message'))
     output = openstack_utils.get_server(self.mock_shade_client,
                                         'server_name_or_id')
     mock_logger.error.assert_called_once()
     self.assertIsNone(output)
Ejemplo n.º 3
0
    def run(self, result):
        """execute the test"""

        server = openstack_utils.get_server(self.shade_client,
                                            name_or_id=self.server_name_or_id,
                                            filters=self.filters,
                                            detailed=self.detailed,
                                            bare=self.bare)

        if not server:
            result.update({'get_server': 0})
            LOG.error('Get Server failed!')
            raise exceptions.ScenarioGetServerError

        result.update({'get_server': 1})
        LOG.info('Get Server successful!')
        keys = self.scenario_cfg.get('output', '').split()
        values = [server]
        return self._push_to_outputs(keys, values)
Ejemplo n.º 4
0
    def _get_physical_node_for_server(self, server_name):
        node_name, ctx_name = self.split_host_name(server_name)
        if ctx_name is None or self.name != ctx_name:
            return None

        matching_nodes = [s for s in self.servers if s.name == node_name]
        if len(matching_nodes) == 0:
            return None

        server = openstack_utils.get_server(self.shade_client,
                                            name_or_id=server_name)

        if server:
            server = server.toDict()
            list_hypervisors = self.operator_client.list_hypervisors()

            for hypervisor in list_hypervisors:
                if hypervisor.hypervisor_hostname == server['OS-EXT-SRV-ATTR:hypervisor_hostname']:
                    for node in self.nodes:
                        if node['ip'] == hypervisor.host_ip:
                            return "{}.{}".format(node['name'], self._name)

        return None