Bug 1379130
Summary: | Unexpected client exception when glance server is not reachable | ||
---|---|---|---|
Product: | [oVirt] ovirt-engine | Reporter: | Yaniv Kaul <ykaul> |
Component: | BLL.Storage | Assignee: | Benny Zlotnik <bzlotnik> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Elad <ebenahar> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | --- | CC: | bugs, juan.hernandez, ratamir, tnisan |
Target Milestone: | ovirt-4.1.1 | Keywords: | AutomationBlocker |
Target Release: | 4.1.1 | Flags: | rule-engine:
ovirt-4.1+
rule-engine: planning_ack+ rule-engine: devel_ack+ ratamir: testing_ack+ |
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-04-21 09:36:27 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | Storage | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Yaniv Kaul
2016-09-25 09:48:03 UTC
Adding AutomationBlocker flag, as it affects CI (see http://jenkins.ovirt.org/job/ovirt_master_system-tests/692/testReport/junit/(root)/002_bootstrap/list_glance_images/ for example). The relevant error message from engine.log is the following: Caused by: java.net.UnknownHostException: glance.ovirt.org: Name or service not known at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) [rt.jar:1.8.0_111] at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) [rt.jar:1.8.0_111] at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) [rt.jar:1.8.0_111] at java.net.InetAddress.getAllByName0(InetAddress.java:1276) [rt.jar:1.8.0_111] at java.net.InetAddress.getAllByName(InetAddress.java:1192) [rt.jar:1.8.0_111] at java.net.InetAddress.getAllByName(InetAddress.java:1126) [rt.jar:1.8.0_111] This happens when the API queries the backend, also from server.log: 2016-10-22 11:56:56,704 ERROR [org.ovirt.engine.core.bll.storage.repoimage.GetImagesListQuery] (default task-7) [] Exception: java.lang.RuntimeException: Unexpected client exception at com.woorea.openstack.connector.RESTEasyConnector.request(RESTEasyConnector.java:107) [resteasy-connector.jar:] at com.woorea.openstack.base.client.OpenStackClient.request(OpenStackClient.java:51) [openstack-client.jar:] at com.woorea.openstack.base.client.OpenStackClient.execute(OpenStackClient.java:66) [openstack-client.jar:] at com.woorea.openstack.base.client.OpenStackRequest.execute(OpenStackRequest.java:98) [openstack-client.jar:] at org.ovirt.engine.core.bll.provider.storage.OpenStackImageProviderProxy.getAllImagesAsRepoImages(OpenStackImageProviderProxy.java:148) [bll.jar:] at org.ovirt.engine.core.bll.storage.domain.IsoDomainListSynchronizer.lambda$refreshImageDomain$1(IsoDomainListSynchronizer.java:237) [bll.jar:] at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInNewTransaction(TransactionSupport.java:204) [utils.jar:] at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:103) [utils.jar:] at org.ovirt.engine.core.bll.storage.domain.IsoDomainListSynchronizer.refreshImageDomain(IsoDomainListSynchronizer.java:232) [bll.jar:] at org.ovirt.engine.core.bll.storage.domain.IsoDomainListSynchronizer.refreshRepos(IsoDomainListSynchronizer.java:208) [bll.jar:] at org.ovirt.engine.core.bll.storage.domain.IsoDomainListSynchronizer.getUserRequestForStorageDomainRepoFileList(IsoDomainListSynchronizer.java:192) [bll.jar:] at org.ovirt.engine.core.bll.storage.repoimage.GetImagesListQueryBase.getUserRequestForStorageDomainRepoFileList(GetImagesListQueryBase.java:42) [bll.jar:] at org.ovirt.engine.core.bll.storage.repoimage.GetImagesListQueryBase.executeQueryCommand(GetImagesListQueryBase.java:27) [bll.jar:] at org.ovirt.engine.core.bll.QueriesCommandBase.executeCommand(QueriesCommandBase.java:103) [bll.jar:] at org.ovirt.engine.core.dal.VdcCommandBase.execute(VdcCommandBase.java:33) [dal.jar:] The backend should probably catch the exception and generate a meaningful error message. There is nothing to change. I am moving to the API component for further investigation, but most probably the changes will be done in the backend. Apparently the "execute" method of the OpenStack client throws unchecked exceptions, like UnknownHostException in this case, and we don't handle them correctly. I'd suggest to wrap calls to that "execute" method with code that handles them correctly, at least the one that causes this particular error. That needs to be changed in the backend, so I'm moving to the backend component and to the storage team. Got the following error message when tried to retrieve the images list of an unreachable Glance repository (127.0.0.1): 2017-02-15 13:28:05,719+02 ERROR [org.ovirt.engine.core.bll.storage.repoimage.GetImagesListQuery] (default task-21) [dc2c439d-8ee1-4dcd-91a4-b2eafab1cfc0] Failed to retrieve image list: Connection refused (Connection refused) Used: rhevm-4.1.1-0.1.el7.noarch |