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)
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)
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)
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