Bug 804102 - [as7] start, shutdown, restart, and reload operations should block/poll until the underlying task has completed
Summary: [as7] start, shutdown, restart, and reload operations should block/poll until...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RHQ Project
Classification: Other
Component: Plugins
Version: 4.3
Hardware: Unspecified
OS: Unspecified
urgent
high
Target Milestone: ---
: RHQ 4.4.0
Assignee: Libor Zoubek
QA Contact: Mike Foley
URL:
Whiteboard:
: 803783 807942 (view as bug list)
Depends On:
Blocks: as7-plugin
TreeView+ depends on / blocked
 
Reported: 2012-03-16 14:42 UTC by Ian Springer
Modified: 2015-11-02 00:42 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-09-01 10:04:39 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 893802 0 unspecified CLOSED [as7] Restart operation fails to start AS when shutdown hasn't completed when start script is invoked 2021-02-22 00:41:40 UTC
Red Hat Knowledge Base (Solution) 282603 0 None None None Never

Internal Links: 893802

Description Ian Springer 2012-03-16 14:42:47 UTC
This way the RHQ user knows that if the RHQ operation succeeded, they can be fairly confident the task did as well. 

The as4 and as5 plugins both worked this way. For example, in the as5 plugin, see ApplicationServerOperationsDelegate.waitForServerToStart() and ApplicationServerOperationsDelegate.waitForServerToShutdown().

Comment 1 Mike Foley 2012-03-19 15:34:53 UTC
per BZ triage (crouch, loleary, mfoley)

Comment 2 Heiko W. Rupp 2012-03-23 17:04:44 UTC
master 394af648a52f1a

Comment 3 Ian Springer 2012-03-23 20:56:00 UTC
This doesn't seem to be working quite right.

When I invoke the domain shutdown operation, I can see from the log that the server gets shutdown:

=== Invoking operation [shutdown] with parameters [null] on Resource[id=27, uuid=9bc273fb-3d79-4ae3-b887-83277850615e, type={jboss-as-7}JBossAS7 Host Controller, key=DomainController, name=DomainController, parent=pc, version=7.1.2.Final-SNAPSHOT]...
16:34:31,947 INFO  [org.jboss.as.process] (Thread-14) JBAS012016: Shutting down process controller
16:34:31,947 INFO  [org.jboss.as.process.Host Controller.status] (Thread-14) JBAS012018: Stopping process 'Host Controller'
16:34:31,963 ERROR [ASConnection] Failed to get data: Connection refused
16:34:31,966 ERROR [ASConnection] Failed to get data: Connection refused
16:34:31,966 DEBUG [BaseServerComponent] waitUntilDown: Used 1 delay round(s) to shut down
[Host Controller] 16:34:31,966 INFO  [org.jboss.as.host.controller] (pool-2-thread-16) JBAS010923: Stopping server server-two
16:34:31,972 INFO  [org.jboss.as.process.Server:server-two.status] (ProcessController-threads - 3) JBAS012018: Stopping process 'Server:server-two'
[Host Controller] 16:34:31,972 INFO  [org.jboss.as.host.controller] (pool-2-thread-16) JBAS010923: Stopping server server-one
16:34:31,973 INFO  [org.jboss.as.process.Server:server-one.status] (ProcessController-threads - 3) JBAS012018: Stopping process 'Server:server-one'

However, the operation returns an error:

testDomainServerShutdownAndStartOperations(org.rhq.modules.plugins.jbossas7.itest.domain.DomainServerComponentTest)  Time elapsed: 0.065 sec  <<< FAILURE!
java.lang.AssertionError: Operation [shutdown] with parameters null returned an error: Connection refused, rolled-back=false, rolled-back=false expected:<null> but was:<Connection refused, rolled-back=false, rolled-back=false>
	at org.testng.Assert.fail(Assert.java:89)
	at org.testng.Assert.failNotSame(Assert.java:485)
	at org.testng.Assert.assertNull(Assert.java:421)
	at org.rhq.core.plugin.testutil.AbstractAgentPluginTest.assertOperationSucceeded(AbstractAgentPluginTest.java:337)
	at org.rhq.core.plugin.testutil.AbstractAgentPluginTest.invokeOperationAndAssertSuccess(AbstractAgentPluginTest.java:315)
	at org.rhq.modules.plugins.jbossas7.itest.AbstractServerComponentTest.testShutdownAndStartOperations(AbstractServerComponentTest.java:102)



---

On the standalone side, reload is similar. It appears to work from the logs:

=== Invoking operation [reload] with parameters [null] on Resource[id=2, uuid=11522549-c610-42fd-b079-fdd974361bc2, type={jboss-as-7}JBossAS7 Standalone Server, key=/tmp/jboss-as-7.1.2.Final-SNAPSHOT, name=/tmp/jboss-as-7.1.2.Final-SNAPSHOT, parent=pc, version=7.1.2.Final-SNAPSHOT]...
16:42:21,387 ERROR [ASConnection] Failed to get data: Connection refused
16:42:21,392 ERROR [ASConnection] Failed to get data: Connection refused
16:42:21,393 DEBUG [BaseServerComponent] waitUntilReloaded: Used 1 delay round(s) to reload

but the operation returns an error:

java.lang.AssertionError: Operation [reload] with parameters null returned an error: Connection refused, rolled-back=false, rolled-back=false expected:<null> but was:<Connection refused, rolled-back=false, rolled-back=false>
	at org.testng.Assert.fail(Assert.java:89)
	at org.testng.Assert.failNotSame(Assert.java:485)
	at org.testng.Assert.assertNull(Assert.java:421)
	at org.rhq.core.plugin.testutil.AbstractAgentPluginTest.assertOperationSucceeded(AbstractAgentPluginTest.java:337)
	at org.rhq.core.plugin.testutil.AbstractAgentPluginTest.invokeOperationAndAssertSuccess(AbstractAgentPluginTest.java:315)
	at org.rhq.modules.plugins.jbossas7.itest.standalone.StandaloneServerComponentTest.testReloadOperation(StandaloneServerComponentTest.java:79)


And for shutdown and restart on the standalone side I get:

java.lang.AssertionError: expected:<UP> but was:<DOWN>
	at org.testng.Assert.fail(Assert.java:89)
	at org.testng.Assert.failNotEquals(Assert.java:489)
	at org.testng.Assert.assertEquals(Assert.java:118)
	at org.testng.Assert.assertEquals(Assert.java:160)
	at org.rhq.modules.plugins.jbossas7.itest.standalone.StandaloneServerComponentTest.testRestartOperation(StandaloneServerComponentTest.java:92)


and:

java.lang.AssertionError: expected:<UP> but was:<DOWN>
	at org.testng.Assert.fail(Assert.java:89)
	at org.testng.Assert.failNotEquals(Assert.java:489)
	at org.testng.Assert.assertEquals(Assert.java:118)
	at org.testng.Assert.assertEquals(Assert.java:160)
	at org.rhq.modules.plugins.jbossas7.itest.AbstractServerComponentTest.testShutdownAndStartOperations(AbstractServerComponentTest.java:101)
	at org.rhq.modules.plugins.jbossas7.itest.standalone.StandaloneServerComponentTest.testStandaloneServerShutdownAndStartOperations(StandaloneServerComponentTest.java:85)


So these may actually be bugs in getAvailability() and not restart and shutdown, because the first thing both of these tests do is check that the servers are UP before trying to restart/shutdown them.

Comment 4 Heiko W. Rupp 2012-03-26 15:15:17 UTC
*** Bug 803783 has been marked as a duplicate of this bug. ***

Comment 5 Charles Crouch 2012-03-26 19:04:37 UTC
(1:58:53 PM) ips: the only remaining failures are the start/stop/restart operations
(1:58:59 PM) ips: those tests are currently disabled
(1:59:12 PM) ips: because enabling them would cause all the other tests to fail  
...
(2:02:07 PM) ccrouch: so when this BZ is fixed, we can re-enabled the tests?
(2:02:51 PM) ips: yep

Comment 6 Charles Crouch 2012-04-02 14:36:53 UTC
*** Bug 807942 has been marked as a duplicate of this bug. ***

Comment 7 Charles Crouch 2012-04-02 14:37:39 UTC
Example of where the start op is not working correctly: Bug #807942

Comment 8 Heiko W. Rupp 2012-04-11 11:59:26 UTC
This has been implemented and the hudson tests that test this also work. See also 
Bug 811188  for a (not so realistic) corner case.

Comment 10 Heiko W. Rupp 2013-09-01 10:04:39 UTC
Bulk closing of items that are on_qa and in old RHQ releases, which are out for a long time and where the issue has not been re-opened since.


Note You need to log in before you can comment on or make changes to this bug.