How to temporarily disable fabric agent in Fuse

Solution Unverified - Updated -

Issue

We have 2 containers having the same fabric profile (these containers running the same application as active-active, load balanced). Now we need to update this application to the latest version, by updating the bundle versions in the fabric profile. We want to update container 1 first, then container 2 about 30 minutes later. However, as soon as we update the fabric profile, the changes are pushed to both containers, and they are updated at the same time.

The reasons why we don’t want to upgrade both containers at the same time are:
- We need to ensure the latest version of the application works
- We want to avoid any outage. Update (deployment of the latest version) takes about 2 minutes. So, we want to update only one container first, and during its outage the second container would be online.

We found the following solution, can you confirm if it is the correct way to do this?
Step 1. Log in to karaf console of the container 2 and stop the io.fabric8.fabric-configadmin using osgi:stop command

JBossFuse:admin@esb-app-node02> osgi:list -s | grep fabri
[  53] [Active     ] [            ] [       ] [   35] io.fabric8.fabric-zookeeper (1.0.0.redhat-423)
[  60] [Active     ] [            ] [       ] [   40] io.fabric8.fabric-agent (1.0.0.redhat-423)
[  62] [Active     ] [            ] [       ] [   40] io.fabric8.fabric-api (1.0.0.redhat-423)
[  65] [Active     ] [            ] [       ] [   45] io.fabric8.fabric-core (1.0.0.redhat-423)
[  67] [Active     ] [            ] [       ] [   50] io.fabric8.fabric-configadmin (1.0.0.redhat-423)
[  83] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-groups (1.0.0.redhat-423)
[  84] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-git (1.0.0.redhat-423)
[  85] [Active     ] [            ] [       ] [   60] io.fabric8.common-util (1.0.0.redhat-423)
[  86] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-extender-listener (1.0.0.redhat-423)
[  87] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-features-service (1.0.0.redhat-423)
[  88] [Active     ] [Created     ] [       ] [   60] io.fabric8.fabric-jaas (1.0.0.redhat-423)
[  89] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-jolokia (1.0.0.redhat-423)
[  90] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-web (1.0.0.redhat-423)
[ 117] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-camel (1.0.0.redhat-423)
JBossFuse:admin@node02> osgi:stop 67
JBossFuse:admin@node02> osgi:list -s | grep fabric
[  53] [Active     ] [            ] [       ] [   35] io.fabric8.fabric-zookeeper (1.0.0.redhat-423)
[  60] [Active     ] [            ] [       ] [   40] io.fabric8.fabric-agent (1.0.0.redhat-423)
[  62] [Active     ] [            ] [       ] [   40] io.fabric8.fabric-api (1.0.0.redhat-423)
[  65] [Active     ] [            ] [       ] [   45] io.fabric8.fabric-core (1.0.0.redhat-423)
[  67] [Resolved   ] [            ] [       ] [   50] io.fabric8.fabric-configadmin (1.0.0.redhat-423)
[  83] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-groups (1.0.0.redhat-423)
[  84] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-git (1.0.0.redhat-423)
[  85] [Active     ] [            ] [       ] [   60] io.fabric8.common-util (1.0.0.redhat-423)
[  86] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-extender-listener (1.0.0.redhat-423)
[  87] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-features-service (1.0.0.redhat-423)
[  88] [Active     ] [Created     ] [       ] [   60] io.fabric8.fabric-jaas (1.0.0.redhat-423)
[  89] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-jolokia (1.0.0.redhat-423)
[  90] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-web (1.0.0.redhat-423)
[ 117] [Active     ] [            ] [       ] [   60] io.fabric8.fabric-camel (1.0.0.redhat-423)

Step 2. Update the fabric profile. The changes will be pushed to container 1 only.
Step 3. Wait for container 1 deployment to complete. Do all the checks to ensure it is working as expected
Step 4. Restart container 2. During start, it will start “io.fabric8.fabric-configadmin” bundle and also update the container configuration from the fabric profile

Environment

  • Red Hat JBoss Fuse
    • 6.1.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.