h1. Cellar groups You can define groups in Cellar. A group allows you to define specific nodes and resources that are to be working together. This permits some nodes (those outside the group) not to need to sync'ed with changes of a node within a group. By default, the Cellar nodes go into the default group: {code} karaf@root> cluster:group-list Node Group * node1.local:5701 default node2.local:5702 default {code} As for node, the starting * shows the local node/group. h2. New group You can create a new group using the group-create command: {code} karaf@root> cluster:group-create test Name test Members [] {code} For now, the test group hasn't any nodes: {code} kaaf@root> cluster:group-list Node Group node1.local:5701 default * node2.local:5702 default test {code} h2. Group configuration You can see the configuration PID associated with a given group, for instance the default group: {code} karaf@root> cluster:config-list default PIDs for group:default PID org.apache.felix.fileinstall.3e4e22ea-8495-4612-9839-a537c8a7a503 org.apache.felix.fileinstall.1afcd688-b051-4b12-a50e-97e40359b24e org.apache.karaf.features org.apache.karaf.log org.apache.karaf.features.obr org.ops4j.pax.logging org.apache.karaf.cellar.groups org.ops4j.pax.url.mvn org.apache.karaf.jaas org.apache.karaf.shell {code} You can use the cluster:config-proplist and config-propset commands to list, add and edit the configuration. For instance, in the test group, we don't have any configuration: {code} karaf@root> cluster:config-list test No PIDs found for group:test {code} We can create a tstcfg config in the test group, containing name=value property: {code} karaf@root> cluster:config-propset test tstcfg name value {code} Now, we have this property in the test group: {code} karaf@root> cluster:config-list test PIDs for group:test PID tstcfg karaf@root> cluster:config-proplist test tstcfg Property list for PID:tstcfg for group:test Key Value name value {code} h2. Group nodes You can define a node member of one of more group: {code} karaf@root> cluster:group-join test node1.local:5701 Node Group node1:5701 default * node2:5702 default node1:5701 test {code} The node can be local or remote. Now, the nodes of a given group will inherit of all configuration defined in the group. This means that node1 now knows the tstcfg configuration because it's a member of the test group: {code} karaf@root> config:edit tstcfg karaf@root> proplist service.pid = tstcfg name = value {code} h2. Group features Configuration and features can be assigned to a given group. {code} karaf@root> cluster:features-list default Features for group:default Name Version Status spring-dm 1.2.1 true kar 2.2.1 false config 2.2.1 true http-whiteboard 2.2.1 false application-without-isolation 0.3 false war 2.2.1 false standard 2.2.1 false management 2.2.1 true http 2.2.1 false transaction 0.3 false jetty 7.4.2.v20110526 false wrapper 2.2.1 false jndi 0.3 false obr 2.2.1 false jpa 0.3 false webconsole-base 2.2.1 false hazelcast 1.9.3 true eventadmin 2.2.1 false spring-dm-web 1.2.1 false ssh 2.2.1 true spring-web 3.0.5.RELEASE false hazelcast-monitor 1.9.3 false jasypt-encryption 2.2.1 false webconsole 2.2.1 false spring 3.0.5.RELEASE true {code} {code} karaf@root> cluster:features-list test Features for group:test Name Version Status webconsole 2.2.1 false spring-dm 1.2.1 true eventadmin 2.2.1 false http 2.2.1 false war 2.2.1 false http-whiteboard 2.2.1 false obr 2.2.1 false spring 3.0.5.RELEASE true hazelcast-monitor 1.9.3 false webconsole-base 2.2.1 false management 2.2.1 true hazelcast 1.9.3 true jpa 0.3 false jndi 0.3 false standard 2.2.1 false jetty 7.4.2.v20110526 false application-without-isolation 0.3 false config 2.2.1 true spring-web 3.0.5.RELEASE false wrapper 2.2.1 false transaction 0.3 false spring-dm-web 1.2.1 false ssh 2.2.1 true jasypt-encryption 2.2.1 false kar 2.2.1 false {code} Now we can "install" a feature for a given cluster group: {code} karaf@root> cluster:feature-install test eventadmin karaf@root> cluster:feature-list test|grep -i event eventadmin 2.2.1 true {code} Below, we see that the eventadmin feature has been installed on this member of the test group: {code} karaf@root> features:list|grep -i event [installed ] [2.2.1 ] eventadmin karaf-2.2.1 {code}