Hi JB,

Yes, it works for Cellar,  I can confirm this from a test I did with a slightly 
modified CellarTestSupport.  However, if I move this same class to my project, 
then it fails.  So, something is different, perhaps in the dependencies, that 
is causing this.   I will keep researching and report back here any findings. 

 Thanks for taking the time to help!

> On Dec 3, 2015, at 2:05 AM, Jean-Baptiste Onofré <[email protected]> wrote:
> 
> Hi Alex,
> 
> I added an itest in Karaf that does:
> 
>    @Test
>    public void createStartCommand() throws Exception {
>        System.out.println(executeCommand("instance:create itest"));
>        assertContains("itest", executeCommand("instance:list"));
>        System.out.println(executeCommand("instance:start itest"));
>        Thread.sleep(5000);
>        String output = executeCommand("instance:status itest");
>        System.out.println("itest instance status: " + output);
>        assertContains("Started", output);
>        System.out.println(executeCommand("instance:stop itest"));
>        Thread.sleep(5000);
>        output = executeCommand("instance:status itest");
>        System.out.println("itest instance status: " + output);
>        assertContains("Stopped", output);
>    }
> 
> and it works fine: the itest instance goes in Started instance. I added a 
> sleep just to give time to the instance to start (else we may have Starting 
> during the interval).
> 
> We are using Pax Exam 4.6.0 for now, I'm upgrading to 4.7.0 to see if there's 
> an impact.
> 
> Regards
> JB
> 
> On 12/02/2015 06:54 PM, Alex Soto wrote:
>> Correct.
>> 
>>> On Dec 2, 2015, at 12:52 PM, Jean-Baptiste Onofré <[email protected]
>>> <mailto:[email protected]>> wrote:
>>> 
>>> You use Karaf 4.0.3 right ?
>>> 
>>> Let me check in Karaf itest.
>>> 
>>> Regards
>>> JB
>>> 
>>> On 12/02/2015 06:15 PM, Alex Soto wrote:
>>>> Hi JB,
>>>> 
>>>> I was able to narrow it down to this line in my @Configuration method:
>>>> 
>>>> configureConsole().ignoreLocalConsole().ignoreRemoteShell(),
>>>> 
>>>> With the above option, the root instance never finishes initializing:
>>>> 
>>>>   SSH Port | RMI Registry | RMI Server | State    | PID  | Name
>>>>   -------------------------------------------------------------
>>>>        8101 |         1099 |      44444 | Starting | 7354 | root
>>>>        8102 |         1100 |      44445 | Stopped  | 0    | LA1
>>>> 
>>>> 
>>>> Without it, the root instance initializes successfully, but not the
>>>> child instance:
>>>> 
>>>>   SSH Port | RMI Registry | RMI Server | State   | PID  | Name
>>>>   ------------------------------------------------------------
>>>>        8101 |         1099 |      44444 | Started | 7240 | root
>>>>        8102 |         1100 |      44445 | Stopped | 0    | LA1
>>>> 
>>>> 
>>>> and this exception is thrown in the logs:
>>>> 
>>>>   2015-12-02 12:08:03,103 | INFO  | 1]-nio2-thread-2 | ServerSession
>>>>                      | 1 - org.apache.sshd.core - 0.14.0 | Server
>>>>   session created from /127.0.0.1:53673
>>>>   2015-12-02 12:08:03,103 | WARN  | 1]-nio2-thread-2 | ServerSession
>>>>                      | 1 - org.apache.sshd.core - 0.14.0 | Exception
>>>>   caught
>>>>   java.io.IOException: Connection reset by peer
>>>>   at sun.nio.ch.FileDispatcherImpl.read0(Native Method)[:1.8.0_45]
>>>>   at
>>>> sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)[:1.8.0_45]
>>>>   at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)[:1.8.0_45]
>>>>   at sun.nio.ch.IOUtil.read(IOUtil.java:197)[:1.8.0_45]
>>>>   at
>>>>   
>>>> sun.nio.ch.UnixAsynchronousSocketChannelImpl.implRead(UnixAsynchronousSocketChannelImpl.java:508)[:1.8.0_45]
>>>>   at
>>>>   
>>>> sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:276)[:1.8.0_45]
>>>>   at
>>>>   
>>>> sun.nio.ch.AsynchronousSocketChannelImpl.read(AsynchronousSocketChannelImpl.java:297)[:1.8.0_45]
>>>>   at
>>>>   
>>>> java.nio.channels.AsynchronousSocketChannel.read(AsynchronousSocketChannel.java:420)[:1.8.0_45]
>>>>   at
>>>>   
>>>> org.apache.sshd.common.io.nio2.Nio2Session.startReading(Nio2Session.java:170)[1:org.apache.sshd.core:0.14.0]
>>>>   at
>>>>   
>>>> org.apache.sshd.common.io.nio2.Nio2Acceptor$AcceptCompletionHandler.onCompleted(Nio2Acceptor.java:135)[1:org.apache.sshd.core:0.14.0]
>>>>   at
>>>>   
>>>> org.apache.sshd.common.io.nio2.Nio2Acceptor$AcceptCompletionHandler.onCompleted(Nio2Acceptor.java:120)[1:org.apache.sshd.core:0.14.0]
>>>>   at
>>>>   
>>>> org.apache.sshd.common.io.nio2.Nio2CompletionHandler$1.run(Nio2CompletionHandler.java:32)
>>>>   at java.security.AccessController.doPrivileged(Native
>>>> Method)[:1.8.0_45]
>>>>   at
>>>>   
>>>> org.apache.sshd.common.io.nio2.Nio2CompletionHandler.completed(Nio2CompletionHandler.java:30)[1:org.apache.sshd.core:0.14.0]
>>>>   at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)[:1.8.0_45]
>>>>   at sun.nio.ch.Invoker$2.run(Invoker.java:218)[:1.8.0_45]
>>>>   at
>>>>   
>>>> sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)[:1.8.0_45]
>>>>   at
>>>>   
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_45]
>>>>   at
>>>>   
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_45]
>>>>   at java.lang.Thread.run(Thread.java:745)[:1.8.0_45]
>>>> 
>>>> 
>>>> Any idea what is going on?
>>>> 
>>>> 
>>>> 
>>>>> On Dec 2, 2015, at 11:12 AM, Alex Soto <[email protected]
>>>>> <mailto:[email protected]>
>>>>> <mailto:[email protected]>> wrote:
>>>>> 
>>>>> I am using very similar method, using the executeCommand,  almost
>>>>> identical to how Cellar is doing it.
>>>>> I see the instance directory being created but there is nothing in the
>>>>> log file of the child instance.
>>>>> 
>>>>> Thanks for the help!
>>>>> 
>>>>> 
>>>>>> On Dec 2, 2015, at 10:34 AM, Jean-Baptiste Onofré <[email protected]
>>>>>> <mailto:[email protected]>
>>>>>> <mailto:[email protected]>> wrote:
>>>>>> 
>>>>>> It's @Ignore due to some hazelcast issue. I will re-enable it.
>>>>>> 
>>>>>> With Karaf 4.0.0, you can see:
>>>>>> 
>>>>>>  protected void createCellarChild(String name, boolean debug, int
>>>>>> port) {
>>>>>>      int instances = 0;
>>>>>>      String createCommand = "instance:create --featureURL " +
>>>>>> System.getProperty("cellar.feature.url") + " --feature cellar ";
>>>>>>      if (debug && port > 0) {
>>>>>>          createCommand = createCommand + String.format(DEBUG_OPTS,
>>>>>> port);
>>>>>>      }
>>>>>>      System.err.println(executeCommand(createCommand + " " + name));
>>>>>>      System.err.println(executeCommand("instance:start " + name));
>>>>>> 
>>>>>>      //Wait till the node is listed as Starting
>>>>>>      System.err.print("Waiting for " + name + " to start ");
>>>>>>      for (int i = 0; i < 5 && instances == 0; i++) {
>>>>>>          String response = executeCommand("instance:list | grep " +
>>>>>> name + " | grep -c " + INSTANCE_STARTED, COMMAND_TIMEOUT, true);
>>>>>>          instances = Integer.parseInt(response.trim());
>>>>>>          System.err.print(".");
>>>>>>          try {
>>>>>>              Thread.sleep(3000);
>>>>>>          } catch (InterruptedException e) {
>>>>>>              //Ignore
>>>>>>          }
>>>>>>      }
>>>>>> 
>>>>>>      if (instances > 0) {
>>>>>>          System.err.println(".Started!");
>>>>>>      } else {
>>>>>>          System.err.println(".Timed Out!");
>>>>>>      }
>>>>>> 
>>>>>>  }
>>>>>> 
>>>>>> It's what I used and it should work.
>>>>>> 
>>>>>> Do you do the same ?
>>>>>> 
>>>>>> Do you use the Instance service directly or the commands ?
>>>>>> 
>>>>>> Regards
>>>>>> JB
>>>>>> 
>>>>>> On 12/02/2015 04:27 PM, Alex Soto wrote:
>>>>>>> Downloaded Cellar from the
>>>>>>> Headathttps://github.com/apache/karaf-cellar
>>>>>>> All Integration Tests have the @Ignore annotation.
>>>>>>> 
>>>>>>> Is anybody able to launch a second Karaf instance from a Pax-Exam
>>>>>>> integration test?
>>>>>>> If so, can you point me to a working example?
>>>>>>> 
>>>>>>> 
>>>>>>>> On Dec 1, 2015, at 3:12 PM, Alex Soto <[email protected]
>>>>>>>> <mailto:[email protected]>
>>>>>>>> <mailto:[email protected]>
>>>>>>>> <mailto:[email protected]>> wrote:
>>>>>>>> 
>>>>>>>> Hmm,  I tried downloading Cellar and all the mirrors fail with not
>>>>>>>> found error.
>>>>>>>> How do I get the source code?
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Dec 1, 2015, at 3:00 PM, Alex Soto <[email protected]
>>>>>>>>> <mailto:[email protected]>
>>>>>>>>> <mailto:[email protected]>
>>>>>>>>> <mailto:[email protected]>> wrote:
>>>>>>>>> 
>>>>>>>>> JB:
>>>>>>>>> 
>>>>>>>>> Yes, it works outside of Pax-Exam.
>>>>>>>>> I will take a look at Cellar.
>>>>>>>>> 
>>>>>>>>> Thanks
>>>>>>>>> 
>>>>>>>>>> On Dec 1, 2015, at 2:54 PM, Jean-Baptiste Onofré
>>>>>>>>>> <[email protected] <mailto:[email protected]>
>>>>>>>>>> <mailto:[email protected]>
>>>>>>>>>> <mailto:[email protected]>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hey Alex,
>>>>>>>>>> 
>>>>>>>>>> I guess it works fine "outside" of Pax Exam, right ?
>>>>>>>>>> 
>>>>>>>>>> You can take a look on Cellar as I use instance to simulate
>>>>>>>>>> multiple
>>>>>>>>>> nodes.
>>>>>>>>>> 
>>>>>>>>>> Let me try with 4.0.3.
>>>>>>>>>> 
>>>>>>>>>> Regards
>>>>>>>>>> JB
>>>>>>>>>> 
>>>>>>>>>> On 12/01/2015 08:16 PM, Alex Soto wrote:
>>>>>>>>>>> Hello,
>>>>>>>>>>> 
>>>>>>>>>>> I am using Karaf version 4.0.3. In my integration test I want to
>>>>>>>>>>> launch
>>>>>>>>>>> a second instance of Karaf, but it always times out, so I am now
>>>>>>>>>>> wondering if it is because the root instance is not yet finished
>>>>>>>>>>> starting.
>>>>>>>>>>> 
>>>>>>>>>>> In order to troubleshoot this issue, I have now added the
>>>>>>>>>>> ‘instance:list’ command to my test:
>>>>>>>>>>> 
>>>>>>>>>>> String listOutput = executeCommand("instance:list");
>>>>>>>>>>> log.info(listOutput);
>>>>>>>>>>> 
>>>>>>>>>>> I call the above from my @Test method, but the output always
>>>>>>>>>>> shows:
>>>>>>>>>>> 
>>>>>>>>>>> SSH Port | RMI Registry | RMI Server | State    | PID  | Name
>>>>>>>>>>> -------------------------------------------------------------
>>>>>>>>>>> 8101 |         1099 |      44444 | Starting | 2914 | root
>>>>>>>>>>> 
>>>>>>>>>>> No matter how much I wait, it always shows the same status.
>>>>>>>>>>> Meaning the
>>>>>>>>>>> container never finishes starting. I can manually run the
>>>>>>>>>>> exact same
>>>>>>>>>>> container that was created under 'target/exam/<guid>’ folder,
>>>>>>>>>>> and issue
>>>>>>>>>>> the above command and get:
>>>>>>>>>>> 
>>>>>>>>>>> SSH Port | RMI Registry | RMI Server | State   | PID  | Name
>>>>>>>>>>> ------------------------------------------------------------
>>>>>>>>>>> 8101 |         1099 |      44444 | Started | 3409 | root
>>>>>>>>>>> 
>>>>>>>>>>> So, it appears to be some kind of issue with the way the
>>>>>>>>>>> PAM-EXAM test
>>>>>>>>>>> is wired.  I have added this dependency to try to cope with the
>>>>>>>>>>> problem:
>>>>>>>>>>> 
>>>>>>>>>>> @Inject
>>>>>>>>>>> @Filter(timeout = SERVICE_TIMEOUT)
>>>>>>>>>>> protected BootFinished bootFinished;
>>>>>>>>>>> 
>>>>>>>>>>> but so far, I have not been able to solve it.  As I said
>>>>>>>>>>> before, my
>>>>>>>>>>> ultimate goal is to run a child instance, but I suspect that won’t
>>>>>>>>>>> happen until the main instance is successfully started.  Any
>>>>>>>>>>> hints?
>>>>>>>>>>> 
>>>>>>>>>>> Best regards,
>>>>>>>>>>> Alex Soto
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> --
>>>>>>>>>> Jean-Baptiste Onofré
>>>>>>>>>> [email protected] <mailto:[email protected]>
>>>>>>>>>> <mailto:[email protected]><mailto:[email protected]>
>>>>>>>>>> http://blog.nanthrax.net
>>>>>>>>>> <http://blog.nanthrax.net/><http://blog.nanthrax.net/>
>>>>>>>>>> Talend -http://www.talend.com
>>>>>>>>>> <http://www.talend.com/><http://www.talend.com/>
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> Jean-Baptiste Onofré
>>>>>> [email protected]
>>>>>> <mailto:[email protected]><mailto:[email protected]>
>>>>>> http://blog.nanthrax.net
>>>>>> <http://blog.nanthrax.net/><http://blog.nanthrax.net/>
>>>>>> Talend -http://www.talend.com
>>>>>> <http://www.talend.com/><http://www.talend.com/>
>>>>> 
>>>> 
>>> 
>>> --
>>> Jean-Baptiste Onofré
>>> [email protected] <mailto:[email protected]>
>>> http://blog.nanthrax.net <http://blog.nanthrax.net/>
>>> Talend -http://www.talend.com <http://www.talend.com/>
>> 
> 
> -- 
> Jean-Baptiste Onofré
> [email protected]
> http://blog.nanthrax.net
> Talend - http://www.talend.com

Reply via email to