summaryrefslogtreecommitdiffstats
path: root/infra/data-impl
AgeCommit message (Collapse)AuthorFilesLines
2018-10-08HONEYCOMB-431: add support for <validate> RPCMichal Cmarada15-22/+470
This patch introduces ValidableTransaction interface, used by Honeycomb's DataBroker to implement Netconf's DOMDataTransactionValidator. WriteTransaction implements ValidableTransaction by delegating validate to DataModification for both config and operational modifications. This patch requires ODL Fluorine (HONEYCOMB-433), which brings support for <candidate> validation to Netconf. Alternatively custom ODL Oxygen build with patches from stable/oxygen/oxygen-hc-improvements. Change-Id: Ic3eaffaef0314d22da3ea37f9416f18ccb0b99ae Signed-off-by: Marek Gradzki <mgradzki@cisco.com> Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2018-09-25Bump ODL dependencies to Fluorine (HONEYCOMB-433)Michal Cmarada8-69/+89
Change-Id: I142ebd2899272feff00abe7d4bae708f093ee3ec Signed-off-by: Michal Cmarada <michal.cmarada@pantheon.tech>
2018-08-21Mark improvements with TODO instead of FIXMEMarek Gradzki4-5/+4
Sonar reports FIXMES as issues with higher priority as TODOs. FIXMEs should only be used for known bugs, not for improvements. Also include JIRA issue ID in the TODO message. Change-Id: I47461d948421ff17532f17ecec3ddae84239511f Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-08-17HONEYCOMB-431: delegate DataModification.validate to WriterRegistryMarek Gradzki5-36/+114
This patch introduces ModifiableDataTreeDelegator.validateCandidate that translates DataTreeCandidate to DataObjectUpdates and delegates validation to WriterRegistry (similarly as for bulk update). ModifiableDataTreeManager.commit implementation invokes validation before bulk update. To make it efficient, DataObjectUpdates are computed once and stored in DataTreeContext. Change-Id: If4bd558e64ed84c11c9c50c7a98a2aaa8db841bb Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-08-17HONEYCOMB-431: make DataModification.validate idempotentMarek Gradzki3-24/+59
This patch modifies contract of DataModification.validate to make it idempotent. ModifiableDataTreeManager.validate now invokes dataTree.validate on a copy of DataTreeModification. ModifiableDataTreeManager.validateCandidate was introduced to allow additional validation. Change-Id: I86fc101faff9b04afde2f3eb16fff4d4df2867ad Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-08-03Do not use FQN of DataBroker in ModifiableDataTreeDelegatorMarek Gradzki1-2/+3
Change-Id: I5944e9fd9388fbc533bf909b171b0672d798ad82 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-07-20Bump honeycomb version to 1.18.10-SNAPSHOTMarek Gradzki1-2/+2
Change-Id: Ibd371b845debac895fad97b4e15732d858e00a3c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-27DelegatingRewriteDeleteProducer: remove useles instanceof checkMarek Gradzki1-1/+0
DataContainerNode is DataContainerChild. Change-Id: I9122f9f3c27951f2d498f714d2ea15ebc96abdf3 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-11ModifiableDataTreeManager: remove redundant non-default constructorMarek Gradzki1-5/+1
Change-Id: I17dba7ad77f4d7865f887056062d0748ca699d44 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-06-11WriteTransaction: make sure TransactionCommitFailedException is thrownMarek Gradzki1-3/+1
DataTreeModification.ready() used by DataModification.validate() might throw IllegalArgumentException in case of missing mandatory nodes. Use broader Exception type in WriteTransaction.submit() to make sure contract defined by AsyncWriteTransaction is preserved. Change-Id: I95cb3e1e8c6db36df90d2c78e7d63c854189e2fd Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-04-16WriteTransaction: log exception with error level when submit failsMarek Gradzki1-1/+1
Change-Id: Ibc269946c08702805531a62c40be295fecc6b4ce Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-04-10Fix various Sonar warningsMarek Gradzki1-2/+2
Change-Id: I0883042a80525b72f33e66fdb0d5b9e600dcc713 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-04-09Bump Honeycomb version to 1.18.07-SNAPSHOTMarek Gradzki1-2/+2
Change-Id: Ib0b9a2a2369730cd8a21e35e4dce0b62e45e8ad3 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-03-23HONEYCOMB-424: bump ODL dependencies to OxygenMarek Gradzki12-66/+70
Change-Id: I3160e5df4e66b3b3c732619fc1fc7599459fda76 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-03-07Post HONEYCOMB-161 cleanupMarek Gradzki1-1/+0
Change-Id: I46652c9f109a6ede60cfb3143d945fe8b6f1f042 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-02-02Use YangParserTestUtils instead of CrossSourceStatementReactor.BuildActionMarek Gradzki2-7/+8
Simplifies code and removes usages of deprecated YangStatementSourceImpl. Change-Id: I012e2de7a5a902927eaec87370f1850d54fbf4ee Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-02-02Remove usages of deprecated BindingNormalizedNodeSerializer from yantoolsMarek Gradzki3-3/+3
Use mdsal version: org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer instead of org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer Change-Id: Idfb977acee95de40183d4574565c46ac9ab54a27 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2018-01-09Bump honeycomb version to 1.18.04-SNAPSHOTMarek Gradzki1-2/+2
Change-Id: Idb0fec8ab45ec76431ab6d05d70a61eee1929628 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-12-04Fixed bug in ModificationDiffMartin Sunal1-1/+3
when leaf is modified in augmentation modification type is subtree-modified. Implementation expected only type write or delete. Change-Id: I3146b1a7322bd73d7972fecaceeafa654eeb84a4 Signed-off-by: Martin Sunal <msunal@frinx.io> Signed-off-by: Maros Marsalek <maros.mars@gmail.com>
2017-11-24Fix getRevertTransactionContext() closeMarek Gradzki1-8/+17
Also suppress Sonar warnings casused by SONARJAVA-1670. until SonarCube is upgraded (HONEYCOMB-419). Change-Id: Id5b775dfdd97180f6627192bd04aaac4f1e4e4c0 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-23Fix method/modifiers ordering to comply with JLSMarek Gradzki1-2/+2
Change-Id: I2b886a118ff5167df89a2922802b343ce5978c95 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-11-22Cleanup various Sonar waringsMarek Gradzki4-14/+6
Unused code, imports, etc. Change-Id: Icb19d6a877d5ddbfd85caa86c4e62880e4db3c44 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-10-23HONEYCOMB-405 - Revert fix for indirect updatesJan Srnicek6-167/+791
If indirect update(delete+create) fails in a way, that delete passed, but update part failed, delete part must be reverted Moves reverter creation to MDTG and test cases related too it to ModifiableDataTreeDelegatorRevertTest Fixes tracking of allready processed changes by tracking them from perspective of processModifications() method Introduces UpdateFailedException as replacement for BulkUpdateException(now thrown also for single updates) Separates ReverterImpl from FlatWriterRegistry and ads unit tests Change-Id: If0066d0716d9476be89b1d99985b6745becac15e Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-10-03Bump honeycomb version to 1.18.01-SNAPSHOTMarek Gradzki1-2/+2
Change-Id: I64bcd7e45da5d7431ba436ff6ad1ac62cd1d1051 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-09-13Make data stored in ModificationCache eligible for GC earlierMarek Gradzki1-2/+8
ModificationCache might store huge amount of data. After DOs are retreved from readers it is not used anymore. Change-Id: I66d57047212fed02321c416af3608c4998315ce7 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-09-05Make DataModification closeableMaros Marsalek2-4/+12
and close the modification from transactions. This enables cleanup of underlay resources per transaction. It is not needed when managing VPP, but might be useful for other use-cases where underlay transactions are involved. Change-Id: If14197052172be0158fd7efb5ee1794935d576bc Signed-off-by: Maros Marsalek <maros.mars@gmail.com>
2017-08-16HONEYCOMB-386 - Make update optionalJan Srnicek2-13/+79
If customizer does not support update directly, updates for its handled nodes are broken up to delete + create pairs. Change-Id: I2929109e8c9a1db0bef108367cf7d839135ce173 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-07-06Bump honeycomb version to 1.17.10-SNAPSHOTMarek Gradzki1-2/+2
Change-Id: I6294fc266b704568d4e093a50d615f96eac153be Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-05-26Include ODL's BGP to HC minimal distroMarek Gradzki1-0/+4
Features: - static bgp instance - static peer registry (both remote & app peers supported) - bgp operational state exposed via RESTCONF/NETCONF - bgp-inet support - postman collection with examples TODOs: - make bgp disabled by default in honeycomb.json (probably bgp should be build using profile or allow to filter yangs loaded by SchemaCtx, otherwise footprint will grow) - update asciidocs for infra module - SPI for VPP integration: - allow RIB changes listeners - or writers (that can reject changes) to mirror netconf/restconf design - expose bgp server & peer cfg via netconf/restconf (currently read from json files) - test support for all BGP extensions (flowspec BGP needs additional care) - make bgp extensions fully configurable (probably requires changes in ODL) Testing 1) start hc distro: ./infra/minimal-distribution/target/minimal-distribution-1.17.07-SNAPSHOT-hc/minimal-distribution-1.17.07-SNAPSHOT/honeycomb 2) run bgp-testtool: java -jar ./target/bgp-testtool-0.6.3-Boron-SR3-executable.jar -ra 127.0.0.1:1790 -la 127.0.0.2:17900 -pr 2 -ll DEBUG --active true -as 65000 -mp true then GET http://localhost:8183/restconf/operational/bgp-rib:bgp-rib Change-Id: I156d6a1c79174279db8c8936c40ac1f28e14794c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-05-09HONEYCOMB-350 - APPEAR/DISAPPEAR modification handlingJan Srnicek22-553/+2026
Allows these types of modifications to check in depth, to see if some of their children nodes were not modified Change-Id: Ice2f988732c2d9ecad8e960c4f10d01863fb0cfd Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-03-31Bump version to 1.17.07-SNAPSHOTMarek Gradzki1-2/+2
Change-Id: Ie7b486c266ea34df999e7122b5ef12d26aded863 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-02-14Added debug logs for transactionsJan Srnicek2-1/+36
Change-Id: I4585cbc2100ef0a76e50e870d57b28221debf2f6 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2017-02-10Fix support for nested augmentations when augmenting listsMarek Gradzki1-8/+26
Change-Id: I96e7db8f295c9c3d5b14395c7785574d12d76ea9 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-01-23HONEYCOMB-302: add support for nested augmentationsMarek Gradzki1-23/+91
Change-Id: I60f1b3f79ddb578d6fca157fe5736de40b30623e Signed-off-by: Marek Gradzki <mgradzki@cisco.com> (cherry picked from commit 78886acd688284585c2e219e18d7289f49cc8a45)
2017-01-04Bump Honeycomb version to 17.04Marek Gradzki1-2/+2
Change-Id: I99bc2593d50e59a6d4293e2d98ef3a9569a55008 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-07Set honeycomb version to 17.01 to allign with vpp releaseMarek Gradzki1-2/+2
Change-Id: I47f37a60f276928672fc2bd53e948641d9278014 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-11-24Fix leaf list modification detectionMaros Marsalek3-1/+58
Change-Id: Ib7bcde546faf8e9bf73d16adaf87c2f8c43ec4aa Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-11-23HONEYCOMB-170 Add more information to RevertFailedExMaros Marsalek3-9/+12
Change-Id: I6b24a1d061c94d57730b20cde4c5b3c39444b119 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-11-03Properly close open files(persistence)Maros Marsalek1-4/+4
Change-Id: I0b6a01c7360e056059b0c8ed1821a0fdddc59308 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-11-01HONEYCOMB-272: bump mockito version to 2.2.9Marek Gradzki1-2/+7
ArgumentMatchers.any() does not match null anymore, so some of the tests has been updated. Change-Id: I5de0fdfe87fc8e5c8ce24bfae8daeaba032195ff Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-28HONEYCOMB-274 Fix checkstyle license checksMaros Marsalek2-13/+30
Change-Id: I9a7783bf072b2e2396f0fa1a784bcb57adb689b4 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-10-24HONEYCOMB-255 - Cutting identifiers to prevent failing of revertsJan Srnicek3-11/+38
Mapping allready processes changes for reverting by InstanceIdentifier instead of using KeyedInstanceIdentifier(to prevent failing to identify handleable nodes) Modified logging to prevent double/triple logging of detailed cause of failed bulk update Reusing WriteContext for revert(removed try with resource to prevent closing of write context before revert) Change-Id: Ie939ebe443629f9cdad5b5b449aa8c5dac40ea67 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com> Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-10-20HONEYCOMB-261 Make ModificationDiff schema awareMaros Marsalek6-105/+238
to check presence statement on containers for starters + update all checks in ModificationDiff to be performed on schema instead of data Change-Id: I6ec1a0f9e1ca821ef9f6835072d075dd0994bdb6 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-10-14HONEYCOMB-229 Introduce NAT to HCMaros Marsalek4-6/+66
Reflects SNAT from VPP: - 1:1 Static IPv4 mapping - interface in/out NAT feature management Bonus: - Support presence containers in infra Change-Id: Ieb38526f83edbae5e605d5c7e39bb22bbafc50e5 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-09-26HONEYCOMB-209 Configure maven siteMaros Marsalek2-0/+1
To produce site for Honeycomb + javadoc asciidoc To build the site: mvn clean install site:attach-descriptor site mvn site:stage -DstagingDirectory=/home/mmarsale/tmp/stage Change-Id: I4246bb09ba02b74a2a9c84ee73f8dba02384fffa Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-09-23HONEYCOMB-145 - Utility Class RefactoringJan Srnicek1-1/+1
problematic mockito-all changed to mockito-core( https://github.com/mockito/mockito/issues/324) Translate Utils Splitted to multiple Trait Interfaces Ipv4Translator - Logic for translation of ipv4-based data Ipv6Translator - Logic for translation of ipv6-based data MacTranslator - Logic for translation of mac-based data AddressTranslator - Aggregation trait for Ipv4/Ipv6/Mac JvppReplyConsumer - Logic for extracting replies from jvpp calls ByteDataTranslator - any byte-based conversions Plus some existing utility classes changed to traits Change-Id: I342b625954223966802e65dca0fabf8456c89345 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-09-07HONEYCOMB-194 Increase data-impl coverage to 87%Maros Marsalek7-49/+238
Change-Id: I1bd6d6ad2e8d35322346aa658e74413ce2d889f0 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-09-07Cleanup TODOs and FIXMEsMaros Marsalek5-26/+10
- Fix minor ones - Report bigger and include issue number in comment - Pull common dependencies into dependency management of common/parents Change-Id: I06a6ac37c52b603fd73ed42023d6b2e7fa18010f Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-08-31Fixing sonar issues #1Maros Marsalek2-7/+9
Change-Id: I4c27d0ad2fd1655db2237ae914361f029093084c Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-08-31Bump version to 1.16.12-SNAPSHOTMaros Marsalek1-2/+2
Change-Id: I27b09dc1fdf7597c8b0751d8cbf950500e03fa23 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>