Bug 923196
| Summary: | [RHEVM-RHS] Error "error: type "brick" does not exist." seen when trying to perform replace-brick from rhevm-shell. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Virtualization Manager | Reporter: | Shruti Sampat <ssampat> | ||||
| Component: | ovirt-engine-restapi | Assignee: | Sahina Bose <sabose> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | SATHEESARAN <sasundar> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 3.2.0 | CC: | acathrow, bazulay, dtsang, grajaiya, iheim, jkt, juan.hernandez, knarra, mmahoney, oramraz, pprakash, Rhev-m-bugs, sabose, sbonazzo, scohen, sdharane, yeylon | ||||
| Target Milestone: | --- | Flags: | scohen:
Triaged+
|
||||
| Target Release: | 3.4.0 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | gluster | ||||||
| Fixed In Version: | org.ovirt.engine-root-3.4.0-14 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | Type: | Bug | |||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | Gluster | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Shruti Sampat
2013-03-19 12:13:19 UTC
I am seeing the following error on trying to replace a brick via the rhevm-shell -
[RHEVM shell (connected)]# action brick 0d5aeed2-aec0-4ea5-966c-0e348943e17f replace --glustervolume-identifier fb288143-b5c1-47fd-bbb0-5a8a0bb44d3b --cluster-identifier cluster1 --brick-server_id ac336c91-0825-427d-aea7-37196d3939c2 --brick-brick_dir /tmp/vb2
error:
status: 400
reason: Bad Request
detail: Internal Engine Error
The following exception is seen in the engine logs -
2013-04-29 08:46:50,582 INFO [org.ovirt.engine.core.bll.gluster.ReplaceGlusterVolumeBrickCommand] (ajp-/127.0.0.1:8702-14) [33ff6751] Running command: ReplaceGlusterVolumeBrickCommand internal: false. Entities affected : ID: fb288143-b5c1-47fd-bbb0-5a8a0bb44d3b Type: GlusterVolume
2013-04-29 08:46:50,583 INFO [org.ovirt.engine.core.vdsbroker.gluster.ReplaceGlusterVolumeBrickVDSCommand] (ajp-/127.0.0.1:8702-14) [33ff6751] START, ReplaceGlusterVolumeBrickVDSCommand(HostName = 10.70.35.154, HostId = ba1323b8-8151-499d-82a5-9559b154a3d2), log id: d165701
2013-04-29 08:46:51,535 INFO [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (QuartzScheduler_Worker-11) FINISH, GlusterVolumesListVDSCommand, return: {88281bf4-8261-42ee-8bf9-a47a9435a156=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@f621d257, fb288143-b5c1-47fd-bbb0-5a8a0bb44d3b=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@db6eaffa}, log id: 7e3f6431
2013-04-29 08:46:51,549 INFO [org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListVDSCommand] (QuartzScheduler_Worker-11) START, GlusterServersListVDSCommand(HostName = 10.70.35.96, HostId = c31516ff-0915-4b3e-b0d5-ac2e7a91ee48), log id: 6ff23d92
2013-04-29 08:46:53,194 INFO [org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListVDSCommand] (QuartzScheduler_Worker-11) FINISH, GlusterServersListVDSCommand, return: [org.ovirt.engine.core.common.businessentities.gluster.GlusterServerInfo@960860ea, org.ovirt.engine.core.common.businessentities.gluster.GlusterServerInfo@2a9be40a], log id: 6ff23d92
2013-04-29 08:46:53,196 INFO [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (QuartzScheduler_Worker-11) START, GlusterVolumesListVDSCommand(HostName = 10.70.35.96, HostId = c31516ff-0915-4b3e-b0d5-ac2e7a91ee48), log id: 2cb61789
2013-04-29 08:46:54,190 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (QuartzScheduler_Worker-88) No string for UNASSIGNED type. Use default Log
2013-04-29 08:46:54,191 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (QuartzScheduler_Worker-88) No string for UNASSIGNED type. Use default Log
2013-04-29 08:46:54,624 INFO [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (QuartzScheduler_Worker-11) FINISH, GlusterVolumesListVDSCommand, return: {a3fc2f28-4245-4392-8265-0da3c52c492d=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@41dd9d02, da9380c3-aacd-4bba-ba20-4fb03d6520a6=org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@1753230b}, log id: 2cb61789
2013-04-29 08:46:59,640 INFO [org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListVDSCommand] (QuartzScheduler_Worker-14) START, GlusterServersListVDSCommand(HostName = 10.70.35.154, HostId = ba1323b8-8151-499d-82a5-9559b154a3d2), log id: 6350147a
2013-04-29 08:47:00,831 INFO [org.ovirt.engine.core.vdsbroker.gluster.ReplaceGlusterVolumeBrickVDSCommand] (ajp-/127.0.0.1:8702-14) [33ff6751] FINISH, ReplaceGlusterVolumeBrickVDSCommand, log id: d165701
2013-04-29 08:47:00,832 ERROR [org.ovirt.engine.core.bll.gluster.ReplaceGlusterVolumeBrickCommand] (ajp-/127.0.0.1:8702-14) [33ff6751] Command org.ovirt.engine.core.bll.gluster.ReplaceGlusterVolumeBrickCommand throw exception: java.lang.NullPointerException
at org.ovirt.engine.core.bll.gluster.ReplaceGlusterVolumeBrickCommand.executeCommand(ReplaceGlusterVolumeBrickCommand.java:80) [engine-bll.jar:]
at org.ovirt.engine.core.bll.CommandBase.executeWithoutTransaction(CommandBase.java:1042) [engine-bll.jar:]
at org.ovirt.engine.core.bll.CommandBase.executeActionInTransactionScope(CommandBase.java:1127) [engine-bll.jar:]
at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:1513) [engine-bll.jar:]
at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInSuppressed(TransactionSupport.java:166) [engine-utils.jar:]
at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:108) [engine-utils.jar:]
at org.ovirt.engine.core.bll.CommandBase.execute(CommandBase.java:1145) [engine-bll.jar:]
at org.ovirt.engine.core.bll.CommandBase.executeAction(CommandBase.java:315) [engine-bll.jar:]
at org.ovirt.engine.core.bll.Backend.runActionImpl(Backend.java:361) [engine-bll.jar:]
at org.ovirt.engine.core.bll.Backend.RunAction(Backend.java:307) [engine-bll.jar:]
at sun.reflect.GeneratedMethodAccessor136.invoke(Unknown Source) [:1.7.0_09-icedtea]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_09-icedtea]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_09-icedtea]
at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jboss-as-ee.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:58) [jboss-as-ee.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.ovirt.engine.core.utils.ThreadLocalSessionCleanerInterceptor.injectWebContextToThreadLocal(ThreadLocalSessionCleanerInterceptor.java:11) [engine-utils.jar:]
at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) [:1.7.0_09-icedtea]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_09-icedtea]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_09-icedtea]
at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:123) [jboss-as-ee.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:58) [jboss-as-ee.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43) [jboss-as-ejb3.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) [jboss-as-ee.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ejb3.component.singleton.SingletonComponentInstanceAssociationInterceptor.processInvocation(SingletonComponentInstanceAssociationInterceptor.java:52) [jboss-as-ejb3.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInNoTx(CMTTxInterceptor.java:235) [jboss-as-ejb3.jar:7.2.0.Final-redhat-3]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.supports(CMTTxInterceptor.java:374) [jboss-as-ejb3.jar:7.2.0.Final-redhat-3]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:218) [jboss-as-ejb3.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [jboss-as-ejb3.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee.jar:7.2.0.Final-redhat-3]
at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182) [jboss-as-ee.jar:7.2.0.Final-redhat-3]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation.jar:1.1.1.Final-redhat-2]
at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72) [jboss-as-ee.jar:7.2.0.Final-redhat-3]
at org.ovirt.engine.core.common.interfaces.BackendLocal$$$view9.RunAction(Unknown Source) [engine-common.jar:]
at org.ovirt.engine.api.restapi.resource.BackendResource.doAction(BackendResource.java:191)
at org.ovirt.engine.api.restapi.resource.AbstractBackendActionableResource.doAction(AbstractBackendActionableResource.java:77)
at org.ovirt.engine.api.restapi.resource.AbstractBackendActionableResource.doAction(AbstractBackendActionableResource.java:119)
at org.ovirt.engine.api.restapi.resource.gluster.BackendGlusterBrickResource.replace(BackendGlusterBrickResource.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_09-icedtea]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_09-icedtea]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_09-icedtea]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_09-icedtea]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:159) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:107) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:154) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:107) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:154) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:107) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:154) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:107) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:154) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:92) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs.jar:2.3.5.Final-redhat-1]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec.jar:1.0.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
at org.jboss.web.rewrite.RewriteValve.invoke(RewriteValve.java:465)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:488)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09-icedtea]
2013-04-29 08:47:00,837 WARN [org.ovirt.engine.core.compat.backendcompat.PropertyInfo] (ajp-/127.0.0.1:8702-14) Unable to get value of property: glusterVolume for class org.ovirt.engine.core.bll.gluster.ReplaceGlusterVolumeBrickCommand
2013-04-29 08:47:00,837 WARN [org.ovirt.engine.core.compat.backendcompat.PropertyInfo] (ajp-/127.0.0.1:8702-14) Unable to get value of property: vds for class org.ovirt.engine.core.bll.gluster.ReplaceGlusterVolumeBrickCommand
2013-04-29 08:47:00,869 ERROR [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (ajp-/127.0.0.1:8702-14) Operation Failed: [Internal Engine Error]
Moving the bug to ASSIGNED state.
(In reply to comment #1) > I am seeing the following error on trying to replace a brick via the > rhevm-shell - > [RHEVM shell (connected)]# action brick 0d5aeed2-aec0-4ea5-966c-0e348943e17f > replace --glustervolume-identifier fb288143-b5c1-47fd-bbb0-5a8a0bb44d3b > --cluster-identifier cluster1 --brick-server_id > ac336c91-0825-427d-aea7-37196d3939c2 --brick-brick_dir /tmp/vb2 > > > error: > status: 400 > reason: Bad Request > detail: Internal Engine Error > AFAICS the error you see ain't related to the originally reported bug for cli, please consider opening new one for api/engine instead. Have posted patch to remove replace-brick, as this operation is planned to be removed from gluster as well. Replace brick is marked deprecated. Checked that the following command does not give a Null Pointer exception action brick 9831a197-4efb-44a8-846a-2e7555d7aeaa replace --glustervolume-identifier 0b83bb0b-5a1a-4000-a489-1a95c044f683 --cluster-identifier Default --brick-server_id d3f5b6d8-fa84-4267-8dff-cd24bb119967 --brick-brick_dir /export/td3 Tested with IS30 and glusterfs-3.4.0.53rhs-1
I hit NPE here in this context, when did tried to replace the brick as follows :
[RHEVM shell (connected)]# action brick e93eeec7-d2b6-49da-b340-6d8837901b04 replace --glustervolume-identifier b6e2ed30-370d-46b1-9071-fe851aa57caf --cluster-identifier 155234fe-976e-43af-ad30-7b760d7e7ca7 --brick-server_id fa1b1b2e-a433-4718-b3fd-13fcafa8fddd --brick-brick_dir /rhs/brick1/sbr1
error:
status: 400
reason: Bad Request
detail: Internal Engine Error
[RHEVM shell (connected)]# action brick e93eeec7-d2b6-49da-b340-6d8837901b04 replace --glustervolume-identifier b6e2ed30-370d-46b1-9071-fe851aa57caf --cluster-identifier 155234fe-976e-43af-ad30-7b760d7e7ca7 --brick-server_id fa1b1b2e-a433-4718-b3fd-13fcafa8fddd --brick-brick_dir /rhs/brick1/sbr1
error:
status: 400
reason: Bad Request
detail: volume replace brick start failed
error: replace brick is already started for volume
return code: -1
I also see the following error snip from engine.log :
<snip>
nd, log id: 43978848
2014-01-06 03:18:21,275 ERROR [org.ovirt.engine.core.bll.gluster.ReplaceGlusterVolumeBrickCommand] (ajp-/127.0.0.1:8702-7) [62678f59] Command org.ovirt.engine.core.bll.gluster.ReplaceG
lusterVolumeBrickCommand throw exception: java.lang.NullPointerException
at org.ovirt.engine.core.bll.gluster.ReplaceGlusterVolumeBrickCommand.executeCommand(ReplaceGlusterVolumeBrickCommand.java:80) [bll.jar:]
at org.ovirt.engine.core.bll.CommandBase.executeWithoutTransaction(CommandBase.java:1134) [bll.jar:]
at org.ovirt.engine.core.bll.CommandBase.executeActionInTransactionScope(CommandBase.java:1219) [bll.jar:]
at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:1895) [bll.jar:]
at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInSuppressed(TransactionSupport.java:174) [utils.jar:]
at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:116) [utils.jar:]
at org.ovirt.engine.core.bll.CommandBase.execute(CommandBase.java:1239) [bll.jar:]
at org.ovirt.engine.core.bll.CommandBase.executeAction(CommandBase.java:362) [bll.jar:]
at org.ovirt.engine.core.bll.Backend.runAction(Backend.java:416) [bll.jar:]
at org.ovirt.engine.core.bll.Backend.runActionImpl(Backend.java:395) [bll.jar:]
at org.ovirt.engine.core.bll.Backend.RunAction(Backend.java:353) [bll.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_45]
at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jbo
ss-as-ee.jar:7.3.0.Final-redhat-14]
</snip>
SETUP INFORMATION
==================
1. Created a GlusterFS Datacenter (3.3)
2. Created a gluster enabled cluster (by name gluster-cluster-1)
3. Added 2 RHSS Nodes to the cluster
4. Created a distribute-replicate volume of 2X2
5. Optimized the volume for virt-store
6. Started the volume
7. Tried to replace one of the brick, using rhevm-shell as follows :
[RHEVM shell (connected)]# action brick e93eeec7-d2b6-49da-b340-6d8837901b04 replace --glustervolume-identifier b6e2ed30-370d-46b1-9071-fe851aa57caf --cluster-identifier 155234fe-976e-43af-ad30-7b760d7e7ca7 --brick-server_id fa1b1b2e-a433-4718-b3fd-13fcafa8fddd --brick-brick_dir /rhs/brick1/sbr1
error:
status: 400
reason: Bad Request
detail: Internal Engine Error
Got the error and engine.log pointed to NPE
Created attachment 845935 [details]
engine.log
engine.log is attached and it contains the NULL POINTER EXCEPTION error, while doing replace brick from rhevm-shell
Sahina, is this still going to make 3.4? If not, please retarget. I think that this can't be closed as WONTFIX, even if the replace-brick operation is deprecated. We need to either make it work (and that is what I prefer) or at least generate a clear error message for the user. What is the impact for the user of not fixing this? Is the replace-brick operation something that users did frequently? Is there any alternative? No, replace-brick is not done frequently. replace-brick is no longer supported in the underlying glusterfs. Users should do a remove-brick (with migrate) and add-brick instead. We could change the REST API to return an error from the replace-brick call. Yes, please modify the REST API so that it returns an error when the replace-brick call is performed. The error message should clearly indicate that the command isn't supported. Also, open a new bug to remove the command completely in 4.0. In the bug for 4.0, please add [DEPRECATION] as a prefix to the subject of the bug. Sahina, it isn't clear to me if you finally modified the RESTAPI as suggested in comment 14. If you did, where is the patch? Sorry - missed this...Yes..patch submitted as per comment 14. http://gerrit.ovirt.org/#/c/25259/ All referenced patches have been merged, shouldn't this be in modified state? Verified with RHEV 3.4 [ av9.1] and RHS 3.0 nightly [ glusterfs-3.6.0.3-1.el6rhs ] [RHEVM shell (connected)]# action brick 38c9bb58-5de8-46cd-a0f4-ee663a1df4fc replace --cluster-identifier gluster-cluster-1-3_4 --glustervolume-identifier vol-vol1 --brick-server_id 2eaad963-3be5-472f-b4d6-1c42e931e0d4 --brick-brick_dir /rhs/brick4/newbrick =================================================================================================== ERROR ================================================================================================= status: 503 reason: Service Unavailable detail: Replace brick is not supported. First migrate brick and add new brick instead. =========================================================================================================================================================================================================== Based on the above output moving this bug as VERIFIED Closing as part of 3.4.0 |