Uploaded image for project: 'Fabric8'
  1. Fabric8
  2. FABRIC-1078

Terminating a container with the "exit" command after updating the ensemble resets the zookeeper.url

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 7.3.0.redhat-61
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:

      JBoss Fuse
      Fabric

    • Steps to Reproduce:
      Hide

      1) Using three JBoss Fuse instances start JBoss Fuse using the bin/fuse command.

      2) On one node create fabric

      3) On the other 2 nodes join the containers to the fabric using the fabric:join command

      Once this is complete the environment should look as follows:

      JBossFuse:karaf@fusepro> fabric:container-list
      [id]                           [version] [connected] [profiles]                                         [provision status]
      fusepro*                       1.0       true        fabric, fabric-ensemble-0000-1, jboss-fuse-full    success
      oxygen                         1.0       true        fabric                                             success
      oxygen-2                       1.0       true        fabric                                             success
      JBossFuse:karaf@fusepro>
      

      Add the remote root containers to the fabric:

      JBossFuse:karaf@fusepro> fabric:ensemble-add oxygen oxygen-2
      This will change of the zookeeper connection string.
      Are you sure want to proceed(yes/no):yes
      Updated Zookeeper connection string: 192.168.1.17:2182,10.211.55.6:2181,10.211.55.6:2182
      JBossFuse:karaf@fusepro>
      

      Verify profile have been updated:

      JBossFuse:karaf@fusepro> fabric:container-list
      [id]                           [version] [connected] [profiles]                                         [provision status]
      fusepro*                       1.0       true        fabric, jboss-fuse-full, fabric-ensemble-0001-1    success
      oxygen                         1.0       true        fabric, fabric-ensemble-0001-2                     success
      oxygen-2                       1.0       true        fabric, fabric-ensemble-0001-3                     success
      JBossFuse:karaf@fusepro> 
      

      Verify the zookeeper.url is properly set:

      JBossFuse:karaf@fusepro> config:proplist -p io.fabric8.zookeeper
         service.pid = io.fabric8.zookeeper
         zookeeper.password = ZKENC=YWRtaW4=
         zookeeper.url = 192.168.1.17:2182,10.211.55.6:2181,10.211.55.6:2182
         fabric.zookeeper.pid = io.fabric8.zookeeper
      JBossFuse:karaf@fusepro> 
      

      Terminate the container with the exit command:

      JBossFuse:karaf@fusepro> exit
      jasons-mbp:jboss-fuse-6.1.0.redhat-379 jsherman$ 
      

      Restart the container:

      jasons-mbp:jboss-fuse-6.1.0.redhat-379 jsherman$ ./bin/fuse
      

      Check the zookeeper.url property, it has now been reset to the default value:

      JBossFuse:karaf@fusepro> config:proplist -p io.fabric8.zookeeper
         service.pid = io.fabric8.zookeeper
         zookeeper.password = ZKENC=YWRtaW4=
         zookeeper.url = 192.168.1.17:2181
         fabric.zookeeper.pid = io.fabric8.zookeeper
      JBossFuse:karaf@fusepro> 
      

      Fabric commands no longer working:

      JBossFuse:karaf@fusepro> fabric:container-list
      Command not found: fabric:container-list
      JBossFuse:karaf@fusepro>
      

      Log shows the following:

      2014-06-09 12:14:00,630 | WARN  | s-mbp.home:2181) | ClientCnxn                       | ?                                   ? | 53 - io.fabric8.fabric-zookeeper - 1.0.0.redhat-379 | Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
      java.net.ConnectException: Connection refused
      	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)[:1.7.0_25]
      	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:708)[:1.7.0_25]
      	at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)[53:io.fabric8.fabric-zookeeper:1.0.0.redhat-379]
      	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)[53:io.fabric8.fabric-zookeeper:1.0.0.redhat-379]
      

      Show
      1) Using three JBoss Fuse instances start JBoss Fuse using the bin/fuse command. 2) On one node create fabric 3) On the other 2 nodes join the containers to the fabric using the fabric:join command Once this is complete the environment should look as follows: JBossFuse:karaf@fusepro> fabric:container-list [id] [version] [connected] [profiles] [provision status] fusepro* 1.0 true fabric, fabric-ensemble-0000-1, jboss-fuse-full success oxygen 1.0 true fabric success oxygen-2 1.0 true fabric success JBossFuse:karaf@fusepro> Add the remote root containers to the fabric: JBossFuse:karaf@fusepro> fabric:ensemble-add oxygen oxygen-2 This will change of the zookeeper connection string. Are you sure want to proceed(yes/no):yes Updated Zookeeper connection string: 192.168.1.17:2182,10.211.55.6:2181,10.211.55.6:2182 JBossFuse:karaf@fusepro> Verify profile have been updated: JBossFuse:karaf@fusepro> fabric:container-list [id] [version] [connected] [profiles] [provision status] fusepro* 1.0 true fabric, jboss-fuse-full, fabric-ensemble-0001-1 success oxygen 1.0 true fabric, fabric-ensemble-0001-2 success oxygen-2 1.0 true fabric, fabric-ensemble-0001-3 success JBossFuse:karaf@fusepro> Verify the zookeeper.url is properly set: JBossFuse:karaf@fusepro> config:proplist -p io.fabric8.zookeeper service.pid = io.fabric8.zookeeper zookeeper.password = ZKENC=YWRtaW4= zookeeper.url = 192.168.1.17:2182,10.211.55.6:2181,10.211.55.6:2182 fabric.zookeeper.pid = io.fabric8.zookeeper JBossFuse:karaf@fusepro> Terminate the container with the exit command: JBossFuse:karaf@fusepro> exit jasons-mbp:jboss-fuse-6.1.0.redhat-379 jsherman$ Restart the container: jasons-mbp:jboss-fuse-6.1.0.redhat-379 jsherman$ ./bin/fuse Check the zookeeper.url property, it has now been reset to the default value: JBossFuse:karaf@fusepro> config:proplist -p io.fabric8.zookeeper service.pid = io.fabric8.zookeeper zookeeper.password = ZKENC=YWRtaW4= zookeeper.url = 192.168.1.17:2181 fabric.zookeeper.pid = io.fabric8.zookeeper JBossFuse:karaf@fusepro> Fabric commands no longer working: JBossFuse:karaf@fusepro> fabric:container-list Command not found: fabric:container-list JBossFuse:karaf@fusepro> Log shows the following: 2014-06-09 12:14:00,630 | WARN | s-mbp.home:2181) | ClientCnxn | ? ? | 53 - io.fabric8.fabric-zookeeper - 1.0.0.redhat-379 | Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)[:1.7.0_25] at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:708)[:1.7.0_25] at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)[53:io.fabric8.fabric-zookeeper:1.0.0.redhat-379] at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)[53:io.fabric8.fabric-zookeeper:1.0.0.redhat-379]

      Description

      After updating the fabric's ensemble with additional nodes using the fabric:ensemble-add command, the container is terminated with the "exit" which appears to reset the zookeeper.url.

      See steps to recreate.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  grgrzybek Grzegorz Grzybek
                  Reporter:
                  jsherman Jason Sherman
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: