stormdeployer #0

Supports: trusty


Storm Deployer . The Storm Deployer provides a mechanism for deploying Storm Topology Jar application files on Juju deployed Storm Servers. Deployed as a subordinate charm, applications may be subsequently upgraded across all of your Juju services/units.


The storm charm connector is a library used by the StormDeployer subordinate Juju charm that provides a Storm bolt, spout, etc. with the host, port, user, password, etc. for the services that are related to the subordinate charm.


The storm deployer is a tool to deploy topologies to a Storm cluster that was deployed via Juju. Deployment is possible via source code or via jar. A .storm yaml file is needed with deploy configurations. An example can be seen here.

Deploying with source code requires a .stom with the format:

    - name: name of the topology (this should be the same as the topologyname which is used in submitTopology())
      jar: jar of the topology
      topologyclass: full domain and class of the topology
      packaging: mvn package
      repository: the git url where the topology can be found
      scriptbeforepackaging: optional script to run before packaging
      scriptbeforedeploying: optional script to run before deployment
      - parameters:
        - {name: name1, value: value1}
        - {name: name2, value: value2}
        type: type, can my mysql/mongo/postgres/redis/kafka/etc.
        script: script to execute
    - name: another topology

Deploying with jar requires a .storm with the format:

    - name: WordCount
      jar: WordCountExample-1.0-SNAPSHOT.jar
      topologyclass: com.sborny.wordcountexample.WordCountTopology
      packaging: jar

Deploying from a private repository requires username and password wich can be entered as credentials in the config:

juju set stormdeployer "credentials=username:password"
juju set stormdeployer "deploy=[url to .storm file on github]"
juju set stormdeployer "undeploy=TopologyName"

Deploying a topology with starting parameters is possible by entering them after the name:

  -name: ExampleTopologyName Arg1 Arg2

Contact Information


Report bugs on Github.


This software was created in the IBCN research group of Ghent University in Belgium. This software is used in Tengu, a project that aims to make experimenting with data frameworks and tools as easy as possible.


(string) Github username and password to deploy from private repository. Example username:password
(string) Storm topologies that need to be deployed. Comma separated list of urls that point to a stormdeployer file. Example
(string) Storm topologies that need to be undeployed. Comma separated list of storm topology names.