You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "James Xu (JIRA)" <ji...@apache.org> on 2013/12/14 17:19:08 UTC

[jira] [Created] (STORM-115) Allow bin/storm to take a config as a parameter

James Xu created STORM-115:
------------------------------

             Summary: Allow bin/storm to take a config as a parameter
                 Key: STORM-115
                 URL: https://issues.apache.org/jira/browse/STORM-115
             Project: Apache Storm (Incubating)
          Issue Type: New Feature
            Reporter: James Xu


https://github.com/nathanmarz/storm/issues/243

We're running a cluster on EC2 and have opened the thrift port to our office so we can deploy easily. But every now and then i need to deploy from other networks. Hence i need to set up a tunnel.
This causes problems since i need to change my deploy configuration back and forth. I know i can specify -c nimbus.host=hostname but there's a bug so i can't specify a different port this way (since it's expecting an int).
It's a big annoyance having to change ~/.storm/storm.yaml for this.

A good solution in my eyes would be to specify a path to a yaml-file, so i can have different yaml-files to tunnel/office deploys. 
I.e.

storm jar allmycode.jar -config conf/tunnel.yaml org.me.MyTopology arg1 arg2 arg3

----------
tomdz: As implemented, this requires that the config file is in the classpath. Unfortunately this is a major hassle as it forces config files to be in either ~/.storm or the conf directory of the storm installation. Ideally I can specify a file path here so I can for instance bundle config files with my topologies or structure them in some other way. Reasons for this are:

Storm only reads the config file from the classpath, it does not try to load it as a file.
Most commands only have ~/.storm and the the conf folder in the storm distribution in the classpath and there is no commandline option to add additional entries.
The storm script uses -cp but does not check whether CLASSPATH is already set. Since -cp makes java ignore CLASSPATH this means that the environment variable can't be used to specify additional classpath entries.
Ideally either Utils.findAndReadConfigFile or Utils.findResources test if the path can be loaded as a file after loading as a classpath resource failed.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)