aboutsummaryrefslogtreecommitdiffstats
path: root/hv-collector-utils
AgeCommit message (Collapse)AuthorFilesLines
2018-11-29Custom detekt rule for logger usage checkPiotr Jaszczyk17-1555/+0
Check if logger invocations don't use unoptimal invocations, eg. concatenation `debug("a=" + a)` instead of lambda use `debug {"a=" + a}` Unfortunately to avoid defining dependencies in many places and having circural dependencies it was necessarry to reorganize the maven module structure. The goal was to have `sources` module with production code and `build` module with build-time tooling (detekt rules among them). Issue-ID: DCAEGEN2-1002 Change-Id: I36e677b98972aaae6905d722597cbce5e863d201 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-11-28Bump checkstyle versionFilip Krzywka3-11/+2
- changed plugin invocation due to backwards incompatible changes made in detekt's RC9 version - disabled few rules that we actually don't follow in our code and we seem to be fine with it - turned on UnusedPrivateMember as it actually is a code smell/debt - supressed warnings in where it was plausible (according to common sense) - fixed warnings wherever possible Change-Id: I7be97f471ff46786ef1fca3432b759e7820ac681 Issue-ID: DCAEGEN2-996 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2018-11-15Update project and dependenciesPiotr Jaszczyk3-17/+14
* Changed version from 4.0.0-SNAPSHOT to 1.1.0-SNAPSHOT as per Vijay suggestion * Updated Reactor to BOM Californium-SR2 * Updated mockito-kotlin to 2.0.0 * Introduced some fixes to support OpenJDK 11 compilation Change-Id: Ib25979ef50c7241a019bf98efd9759e0b8792d58 Issue-ID: DCAEGEN2-961 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-11-13Handle stream error earlyFilip Krzywka2-1/+29
Should fix inconsistent logging due to Reactor Signal sometimes propagating from WireChunkDecoder stream to VesHvCollector stream as Signal.CANCEL instead of Signal.ERROR and thus not being handled correctly. As a drawback however we will log error twice in case it comes from WireChunkDecoder as we want to terminate connection in such case and so we need to propagate error. In WireChunkDecoder `doOnTerminate` was changed to `doFinally` as this method handles also cancellation signals and not only terminal signals. Also fixed minor checkstyle reported issues. Change-Id: I6e91d96c5a1a3ecf30603db9a71e032c770d507f Issue-ID: DCAEGEN2-955 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2018-11-05Change version numbers for Dublin releasePiotr Jaszczyk1-1/+1
Change-Id: I4e1a53ea95ec8d880ff00aa94d3ba5511c23eadf Issue-ID: DCAEGEN2-943 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-10-05Introduce configurable payload size limitationPiotr Jaszczyk1-0/+6
Maximum payload size will be configurable (from command line parameter or environment variable). The default value is same as previous hardcoded value, ie. 1 MiB = 1024 * 1024 bytes. Change-Id: Iec83d8295252bac353d3794b13454fdbbc80ecc4 Issue-ID: DCAEGEN2-856 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-09-24Use JDK security providerPiotr Jaszczyk3-35/+45
Replace netty-tcnative bindings for OpenSSL with JDK provided implementation by default. Change-Id: I59a4797ce43d15a791eab00bfd25cb730a271207 Issue-ID: DCAEGEN2-816 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-09-17Read flags from env variablesFilip Krzywka1-1/+2
The application configuration should be read from command line options as well as from environment variables. The priority: cmd-line over env over defaults. Change-Id: Ib62d5d68003a006901d9be8a81fca354def8fea4 Issue-ID: DCAEGEN2-748 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
2018-09-11Increase of UT coverage in projectkjaniak3-12/+75
Change-Id: I8ac9ce21b5034f795da19e27e42ba95ce87db10d Issue-ID: DCAEGEN2-741 Signed-off-by: kjaniak <kornel.janiak@nokia.com>
2018-09-10Enable env parameters readkjaniak4-24/+46
Disabling require option on mandatory parameters to fetch them from env variables. Change-Id: I007dea1a7f369a04479801aa508cf1034ac1341a Issue-ID: DCAEGEN2-741 Signed-off-by: kjaniak <kornel.janiak@nokia.com>
2018-09-06Improve coverage of xNF simulatorPiotr Jaszczyk7-36/+289
Also refactor to make it possible. Change-Id: I6da6d3f33e57c524a7e353ecebd3e045d8ceed2a Issue-ID: DCAEGEN2-739 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-09-04Read config from environment variablesPiotr Jaszczyk5-5/+169
The application configuration should be read from command line options as well as from environment variables. The priority: cmd-line over env over defaults. Change-Id: I785fd1fbaf66f3eab84a162f037153f1688ed791 Issue-ID: DCAEGEN2-748 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-08-31Improve DCAE APP Simulator coveragePiotr Jaszczyk3-1/+83
Also there was a need to refactor the code, because application logic was placed inside Ratpack handlers. Change-Id: Iba3d4d039a98ba88e0dba580c1b7726b53440538 Issue-ID: DCAEGEN2-732 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-08-21Rename artifacts to match LF requirementsPiotr Jaszczyk1-1/+1
Group ID has been changed from org.onap.dcaegen2.collectors.veshv to org.onap.dcaegen2.collectors.hv-ves. Change-Id: I077e244ed56df22dd45bfe8dd1eee238f811a552 Issue-ID: DCAEGEN2-719 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-08-16Remove Ratpack dependency for HV-VES health checksPiotr Jaszczyk2-1/+47
In order to minimize complexity and possibly improve performance (thread count) reactor-netty should be used instead of Ratpack. Also reorganize code to be more consistent and differentiated readiness and liveness endpoints (for future use in K8s Pod definition). As an example I've defined health check probe in docker-compose YAML. Change-Id: I1b5ce3d685e7ae5b0515b2146ae4fa88b3b41186 Issue-ID: DCAEGEN2-705 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
2018-08-09Implement simple health check mechanismJakub Dudycz1-0/+31
Change-Id: Ic4b8b59ced9dc19c9ebf26131036a9e1a752164f Issue-ID: DCAEGEN2-659 Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com>
2018-08-08Create health check moduleJakub Dudycz2-0/+9
Create ves-hv-collector-health-check module with dummy api server and connect it with ves-hv-collector-main This is a preparation for health check mechanism implementation Change-Id: I2f668ab7337b1ed7e2afea6c56f34880de3ef1b5 Issue-ID: DCAEGEN2-659 Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com>
2018-08-03Remove default consul configurationJakub Dudycz1-0/+1
Default consul configuration is not needed in real life use case and it doesnt even bring anything useful in our test environment, since it's immediately overriden. Tasks: - remove default consul configuration - make "config-url" argument required Closes ONAP-727 Change-Id: I4a01cebfc6b2918fa3aa6020504def60572b09da Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-03Move MessageParametersParserfkrzywka5-269/+1
To avoid dependency of utilities module on modules other than domain Change-Id: I90ef8640a86501315d84848118d3e748aafd095c Signed-off-by: fkrzywka <filip.krzywka@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-03DCAE APP simulator reworkJakub Dudycz5-17/+172
- Extract message parameters parsing logic to standalone class in utils - Make DCAE APP simulator store whole received messages history - Add validation endpoint - Add new messege type: FIXED_PAYLOAD Closes ONAP-686 Change-Id: I865804716ad5e46a7503a8eee70cfe9ac75a6c1e Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-03Pass CommonEventHeader to XNF simulator apiJakub Dudycz3-0/+114
This change makes XNF simulator more configurable and allows to validate more message parameters in robot integration tests Closes ONAP-689 Change-Id: Ic0a10f1e1cdd84ac415c00050b4cca1ac496c56b Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-03Rework argument configurationJakub Dudycz3-10/+21
- Unify names of argument configuration classes in DCAE APP simulator, XNF simualtor and VES HV Collector - Make some of the arguments required - Adjust docker-compose and Dockerfiles - Adjust test cases and error handling Closes ONAP-683 Change-Id: I4a9d43791cced9dcb52eb83e2f7956462e8712d9 Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-03Configure xnf simulator api listen portJakub Dudycz1-7/+1
Closes ONAP-664 Closes ONAP-647 Change-Id: I8d1e57c0c66f1968925660fe47fa96a2a634c039 Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-03Fix consul request timeout issueJakub Dudycz1-1/+7
Fix timeout issue when using consul blocking query calls by switching to standard requests peformed in given interval Closes ONAP-628 Change-Id: Ifaf7ddfa27045015a7a90c178e0d6d38955c0c58 Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-03Add command line option to disable SSL/TLSkjaniak1-0/+5
Closes ONAP-508 Change-Id: If6c3935ede7b00dea9b36747c6cd1422c1c8d330 Signed-off-by: kjaniak <kornel.janiak@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-03Include msg generator module in coverage reportfkrzywka1-1/+0
* Reordered alphabetically modules in main pom file * Removed unused imports * Corrected visibility for fields/methods * Fix typos in tests Change-Id: I35c515b3844bc8517cc6ffb0c6557596505536c9 Signed-off-by: fkrzywka <filip.krzywka@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-02Implement blocking consul callsJakub Dudycz1-3/+3
Replaced interval based requesting for consul configuration with blocking query calls Closes ONAP-80 Change-Id: If70365bae9fde513d99b047209d085122a5df0dd Signed-off-by: Jakub Dudycz <jdudycz@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-02Use IO monad when starting serversPiotr Jaszczyk6-32/+108
Change-Id: I3e97161535fc721dda6109c4cb5f23a1db0afde3 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-02Change Consul configuration update policyJakub Dudycz1-0/+6
- At startup default config is applied - Configuration is updated in intervals given at VES-HV service startup to allow dynamic changes - Included consul service startup in docker-compose file - VES-HV now exits when fails to acquire confguration from consul Closes ONAP-229 Change-Id: I896cfd177fa45381f9822278c2dffc113dd3df72 Signed-off-by: jakub.dudycz@nokia.com Issue-ID: DCAEGEN2-601
2018-08-02Various improvementsPiotr Jaszczyk6-20/+107
* Kotlin upgrade * Monad usage on APIs * Idle timeout * Simulator enhancements Closes ONAP-390 Change-Id: I3c00fcfe38c722caf661ddaad428cf089eeefcaa Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-02Implemented rest server in client simulatorJakub Dudycz1-17/+21
Change-Id: I212b79fe2a0272f340c5ca889beff60b469f7f24 Signed-off-by: Jakub Dudycz <jakub.dudycz@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-02Start DCAE App Simulator from command linefkrzywka3-0/+83
Closes ONAP-377 Change-Id: Iab959835dfafcfcfaf1322ead4ea83eff1e9284c Signed-off-by: fkrzywka <filip.krzywka@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-02Refactor ArgBasedConfigurationfkrzywka5-76/+253
Extracted duplicate code from Client/Server ArgBasedConfiguration, as it probably would be used third time in future work Change-Id: I581abbcd5f1dd4a1a049e1d28e68a7e4d82a84f8 Signed-off-by: fkrzywka <filip.krzywka@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-01Fix TCP stream framing issuePiotr Jaszczyk1-0/+11
Because of the nature of TCP protocol we receive consecutive IO buffer snapshots - not separate messages. That means that we need to join incomming buffers and then split it into separate WireFrames. Closes ONAP-312 Change-Id: I84ba0ec58a41ff9026f2fca24d2b15f3adcf0a19 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Issue-ID: DCAEGEN2-601
2018-08-01Copyright notice correctionfkrzywka3-3/+3
Change-Id: I8a8ca4cb4c1cc0d437edfe4f43f3063f135161c3 Signed-off-by: fkrzywka <filip.krzywka@nokia.com> Issue-ID: DCAEGEN2-601
2018-07-26HV VES Collector seed codePiotr Jaszczyk3-0/+391
Contains squashed commits up to 11fe6b63 (2018-05-30). The whole contains a basic project structure. We are trying to put rest of the commits one by one so we do not loose the history. Bellow there are messages of the single commits in this squashed bulk: Basic project setup Create base maven project with Gitlab CI configuration. Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Merging guildeline Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Add remote branch delete command Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Sample runtime in Kotlin - PoC Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Setup project internal architecture Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Message routing Determine target topic and partition by VES Common Header. Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Parse GPB message header fkrzywka <filip.krzywka@nokia.com> Set listen port based on command line args Use Apache Commons CLI to parse cmd line args. Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Drop invalid GPB messages Instead of propagating error and closing stream just drop the message and proceed. Final handling logic may include closing the connection or sending some message depending on the specification. Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Add Apache license file Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Convert to maven multi-module project fkrzywka <filip.krzywka@nokia.com> Component tests with current GPB schema * Using v5 draft protobuf definition * Code reorganized to so component boundaries are more visible Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Thin logging facade over slf4j Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Introduce code analysis tools Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Implemented reading configuration from consul Ves Common Header validation added (required parameters existance check) Micro benchmark for direct vs on-heap NIO buffers Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Decode wire protocol and fix (most?) memory leaks Proposed wire protocol is just a suggestion and will (should) change in the future. Netty's ByteBuf is a reference-counted wrapper over a memory chunk. It is crucial to free unused buffers by means of release() method. The general rule regarding memory management was suggested. Let's put all memory-cleanup logic in main VesHvCollector class so other classes could focus on their job. Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Minor cleanup Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Add license info in files Piotr Jaszczyk <piotr.jaszczyk@nokia.com> Change-Id: Ic484aa107eba48ad48f8ab222799e1795dffa865 Issue-ID: DCAEGEN2-601 Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>