GitHub user cestella opened a pull request:
https://github.com/apache/metron/pull/717
METRON-1134: Allow parser command line options to be specified in the
zookeeper parser config.
## Contributor Comments
It would be useful to maintain sensible defaults for various properties in
the construction of parser topologies within the sensor parser config in
zookeeper. This, along with a UI, would allow people to manage defaults per
sensor in a single place. CLI should take precedent and override anything
stored in zookeeper.
Manual testing via fulldev should focus on ensuring the following
conditions hold for the properties able to be specified in the config:
* Specify the property in the config.
* Start parser and ensure that the property is preserved.
* Specify the property via the CLI param
* Start parser and ensure that the CLI param is honored
The properties able to be specified in the config are as follows:
* `spoutParallelism` : The kafka spout parallelism (default to `1`). This
can be overridden on the command line.
* `spoutNumTasks` : The number of tasks for the spout (default to `1`).
This can be overridden on the command line.
* `parserParallelism` : The parser bolt parallelism (default to `1`). This
can be overridden on the command line.
* `parserNumTasks` : The number of tasks for the parser bolt (default to
`1`). This can be overridden on the command line.
* `errorWriterParallelism` : The error writer bolt parallelism (default to
`1`). This can be overridden on the command line.
* `errorWriterNumTasks` : The number of tasks for the error writer bolt
(default to `1`). This can be overridden on the command line.
* `spoutConfig` : A map representing a custom spout config. This can be
overridden on the command line.
* `securityProtocol` : The security protocol to use for reading from kafka.
This can be overridden on the command line and also specified in the spout
config via the `security.protocol` key. If both are specified, then they are
merged and the CLI will take precedence.
* `stormConfig` : The storm config to use. This can be overridden on the
command line. If both are specified, they are merged with CLI properties
taking precedence.
## Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our [Development
Guidelines](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61332235)
for the complete guide to follow for contributions.
Please refer also to our [Build Verification
Guidelines](https://cwiki.apache.org/confluence/display/METRON/Verifying+Builds?show-miniview)
for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow
these guidelines and ask you to double check the following:
### For all changes:
- [ ] Is there a JIRA ticket associated with this PR? If not one needs to
be created at [Metron
Jira](https://issues.apache.org/jira/browse/METRON/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel).
- [ ] Does your PR title start with METRON-XXXX where XXXX is the JIRA
number you are trying to resolve? Pay particular attention to the hyphen "-"
character.
- [ ] Has your PR been rebased against the latest commit within the target
branch (typically master)?
### For code changes:
- [ ] Have you included steps to reproduce the behavior or problem that is
being changed or addressed?
- [ ] Have you included steps or a guide to how the change may be verified
and tested manually?
- [ ] Have you ensured that the full suite of tests and checks have been
executed in the root metron folder via:
```
mvn -q clean integration-test install && build_utils/verify_licenses.sh
```
- [ ] Have you written or updated unit tests and or integration tests to
verify your changes?
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] Have you verified the basic functionality of the build by building
and running locally with Vagrant full-dev environment or the equivalent?
### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in
which it is rendered by building and verifying the site-book? If not then run
the following commands and the verify changes via
`site-book/target/site/index.html`:
```
cd site-book
mvn site
```
#### Note:
Please ensure that once the PR is submitted, you check travis-ci for build
issues and submit an update to your PR as soon as possible.
It is also recommended that [travis-ci](https://travis-ci.org) is set up
for your personal repository such that your branches are built there before
submitting a pull request.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/cestella/incubator-metron
parser_params_in_config
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/metron/pull/717.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #717
----
commit 06ad7bab66413984f12d19ac5e9012a29a5f25a1
Author: cstella <[email protected]>
Date: 2017-08-23T13:20:28Z
Initial commit, pending tests, docs, manual tests.
commit c1f7866bf3185b1e4431adba1d777398f1cb6b4a
Author: cstella <[email protected]>
Date: 2017-08-24T18:53:37Z
Fixing tests.
commit bc42a8935a6d46359207fc02ed7555c48b9fe94d
Author: cstella <[email protected]>
Date: 2017-08-24T19:26:02Z
updating cli.
commit 1aaaef684efe95a57ce271ffcf9c23ba5f9a40f0
Author: cstella <[email protected]>
Date: 2017-08-24T19:45:13Z
Merge branch 'master' into parser_params_in_config
commit 0ac1cb8bd9182159deef25cd5abc655382524dfe
Author: cstella <[email protected]>
Date: 2017-08-24T20:07:01Z
updating parser.
commit 68778d3c011d7fc1656a69e7bef8bd4c67f9dfca
Author: cstella <[email protected]>
Date: 2017-08-24T20:43:20Z
updating tests.
commit 3bbdeade3724c43933c4c936584fed97c0bce734
Author: cstella <[email protected]>
Date: 2017-08-25T15:11:34Z
Tests
commit e6b3eafcb2f3b70aad8e84ec71fcc703bbbd692a
Author: cstella <[email protected]>
Date: 2017-08-25T15:27:16Z
Added documentation.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---