Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following are sample configurations that can be used in a JSON to define a cartridge group:

Excerpt

...

-include
Adding a Cartridge Group
Adding a Cartridge Group
nopaneltrue

Property definitions

All the properties that correspond to the cartridge group resource are explained as follows: 

...

PropertyWRUDescriptionMDVData
Type 
Example
JSONUI
Anchor
startupOrders
startupOrders
startupOrders
Startup Orders 

The order in which the group’s children (sub groups and cartridges) need to started up.

If it is a group, it should use the format of "group.<GROUP_ALIAS>" and if it is a cartridge, it should be "cartridge.<CARTRIDGE_ALIAS>" when defining startupOrder. Multiple startupOrders can also be defined as String array. However, the startupOrder should not create a cyclic dependency. By defining multiple startupOrders, parallel dependencies can be identified to start them in parallel.

  • If the startupOrder is as follows, group3, group1 should come before tomcat and php. However, tomcat or php can come up in any order.

    Code Block
    "startupOrders": [
      {
        "aliases": [
          "group.group3",
          "cartridge.tomcat"
        ]
      },
      {
        "aliases": [
          "group.group1",
          "cartridge.php"
        ]
      }
    ],
  • If the startupOrder is as follows, then group1 will come up first, then tomcat and then php.

    Code Block
    "startupOrders": [
      {
       "aliases":[ 
         "group.group1",
         "cartridge.tomcat",
         "cartridge.php"
         ]
       }
    ],
  • If the startupOrder has two independent rules defined as follows, then once group1 is brought up, tomcat and php can be brought up in parallel.

    Code Block
    "startupOrders": [
      {
        "aliases": [
          "group.group1",
          "cartridge.tomcat"
        ]
      },
      {
        "aliases": [
          "group.group1",
          "cartridge.php"
        ]
      }
    ],
  • If a startupOrder is not defined then the groups or cartridges will be started up parallel to each other.

NoN/AstartupOrders arraygroup.group1, cartridge.tomcat

Anchor
terminationBehaviour
terminationBehaviour
terminationBehaviour

Termination Behaviour 

This determines how the instances need to be terminated. The following is the example startupOrder used to explain the terminationBehaviour:

Code Block
"startupOrders": [
  {
    "aliases": [
      "group.group1",
      "cartridge.tomcat"
    ]
  },
  {
    "aliases": [
      "group.group1",
      "cartridge.php"
    ]
  }
],

The available terminationBehaviours are as follows:

  • terminate-none
    None of the children in a group will be terminated. For example, if something happens to group1, it will not have an impact on tomcat or php.
  • terminate-all
    All the elements in that dependency tree will be terminated. For example, if something happens to php, then all the children of the group that php belongs to, will be get terminated regardless of the other dependency information. Note that cartridges and sub-groups are considered as the children of a group.
  • terminate-dependents
    Only the dependents will be terminated.
    For example:
    • If something happens to group1, then tomcat and php will get terminated. However, if any other cartridge or group is found in the parent group that group1 belongs to, then that cartridge or group will remain as it is in WSO2 Private PaaS.
    • If something happens to php, nothing will get terminated as php does not have any dependancies.
NoN/AStringterminate-dependent,
terminate-all,
terminate-none
Anchor
scalingDependents
scalingDependents
scalingDependents
Scaling Dependents 

Defines if there are any dependencies with regard to scaling. When dependent scaling is defined among members (cartridge or a group), and scaling (scaling up or down) is taking place for any of the members, all other dependent members will also scale in order to maintain the defined ratio.

Info
iconfalse

For more information, see Dependent Scaling.

NoN/A

scalingDependents array 

group.group1,
cartridge.tomcat