-
Feature
-
Resolution: Obsolete
-
Major
-
jboss-fuse-6.2.1
-
Todo
Using container-start ssh-container command multiple times when container is stopped creates multiple karaf processes. I know it is not common usage but if by some mistake you call the container-start command two times then two karaf processes are started on ssh machine. After that you are unable to stop the container again from root.
Stopping the container and calling container-start two times results into this:
JBossFuse:karaf@root> container-list
[id] [version] [type] [connected] [profiles] [provision status]
root* 1.0 karaf yes fabric success
fabric-ensemble-0000-1
jboss-fuse-full
ssh1 1.0 karaf no default stopped
JBossFuse:karaf@root> container-start ssh1
The list of container names: [ssh1]
JBossFuse:karaf@root> container-start ssh1
The list of container names: [ssh1]
Machine when ssh container is running:
[fuse@rjakubco-test ~]$ ps -ef | grep karaf.base fuse 3735 3627 99 09:42 ? 00:00:28 java -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -Dkaraf.restart.jvm.supported=true -Djava.endorsed.dirs=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/jre/lib/endorsed:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/lib/endorsed:/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/lib/endorsed -Djava.ext.dirs=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/jre/lib/ext:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/lib/ext:/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/lib/ext -Dkaraf.instances=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/instances -Dkaraf.home=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071 -Dkaraf.base=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071 -Dkaraf.data=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/data -Dkaraf.etc=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/etc -Djava.io.tmpdir=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/data/tmp -Djava.util.logging.config.file=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/etc/java.util.logging.properties -Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder -Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -classpath /home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/lib/karaf-jaas-boot.jar:/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/lib/karaf.jar:/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/lib/karaf-jmx-boot.jar org.apache.karaf.main.Main fuse 3973 3854 17 09:42 ? 00:00:01 java -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -Dkaraf.restart.jvm.supported=true -Djava.endorsed.dirs=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/jre/lib/endorsed:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/lib/endorsed:/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/lib/endorsed -Djava.ext.dirs=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/jre/lib/ext:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/lib/ext:/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/lib/ext -Dkaraf.instances=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/instances -Dkaraf.home=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071 -Dkaraf.base=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071 -Dkaraf.data=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/data -Dkaraf.etc=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/etc -Djava.io.tmpdir=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/data/tmp -Djava.util.logging.config.file=/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/etc/java.util.logging.properties -Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder -Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -classpath /home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/lib/karaf-jaas-boot.jar:/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/lib/karaf.jar:/home/fuse/containers/ssh1/fabric8-karaf-1.2.0.redhat-621071/lib/karaf-jmx-boot.jar org.apache.karaf.main.Main fuse 4055 2572 0 09:42 pts/0 00:00:00 grep --color=auto karaf.base
Looking into root again we see that container is running and has provision status is success but we will be unable to stop the container because the second process is still running. Calling container-stop multiple doesn't help.
JBossFuse:karaf@root> container-list [id] [version] [type] [connected] [profiles] [provision status] root* 1.0 karaf yes fabric success fabric-ensemble-0000-1 jboss-fuse-full ssh1 1.0 karaf yes default success JBossFuse:karaf@root> container-stop ssh1 The list of container names: [ssh1] Container 'ssh1' stopped successfully. waiting 3 minutes: JBossFuse:karaf@root> container-list [id] [version] [type] [connected] [profiles] [provision status] root* 1.0 karaf yes fabric success fabric-ensemble-0000-1 jboss-fuse-full ssh1 1.0 karaf yes default stopped
I am not really sure if this can be fixed in some way because ssh container is working in asynchronous way but maybe at least some warning would be nice. This is not a bug maybe but more like enhancement in a sense.