Robert Varga [Fri, 31 Jul 2020 10:44:27 +0000 (12:44 +0200)]
Instantiate distributed datastore asynchronously
With OSGi DS we can have very explicit control over component
activations. Use component factory pattern, which provides async
publish of DOMStore into service registry. This allows us to
make startup asynchronous).
JIRA: CONTROLLER-1882
Change-Id: Id09f956ec9088388ec5cbd3162d128310baddf51
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 31 Jul 2020 09:34:22 +0000 (11:34 +0200)]
Refactor DataStore readiness tracking
Using a CountDownLatch is not composable, which leads to current
layout. Switch to using a SettableFuture, which can be accessed
via AbstractDataStore.initialSettleFuture().
This allows us to externalize the settle policy, letting callers
decide what to actually do.
JIRA: CONTROLLER-1882
Change-Id: Iaf9a359cfc2507ae35688fca3673c13713c2b427
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 30 Jul 2020 17:07:38 +0000 (19:07 +0200)]
Convert netty-timer-config to OSGi DS
This is an extremely simple forwarder, convert it to OSGi DS.
JIRA: CONTROLLER-1882
Change-Id: I8fbb71fba704e273b8e1c8fa79b4e4dd90aeff31
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 30 Jul 2020 16:10:41 +0000 (18:10 +0200)]
Convert netty-event-executor-config to OSGi DS
This is an extremely simple forwarder, convert it to OSGi DS.
JIRA: CONTROLLER-1882
Change-Id: Iff74bad52a78adcb6398b09300f6bfa7457dea7d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 30 Jul 2020 14:56:40 +0000 (16:56 +0200)]
Convert sal-distributed-eos to OSGi DS
This is a simple component, there is just no need to use blueprint.
JIRA: CONTROLLER-1882
Change-Id: If64faff3cab0e66303b5e2d5db4af7f9ea2a2b50
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 30 Jul 2020 11:28:18 +0000 (13:28 +0200)]
Convert sal-distributed-datastore to OSGi DS
This is a follow-up patch, converting more of blueprint wiring to
OSGi Declarative Services.
JIRA: CONTROLLER-1882
Change-Id: Ibb0a9f57c470e5572b64e85fdf87a093594d0367
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 29 Jul 2020 10:09:34 +0000 (12:09 +0200)]
Convert FileModuleShardConfigProvider to OSGi DS
This is a simple injected holder, convert it to a full-blown
component.
JIRA: CONTROLLER-1882
Change-Id: I6676055801c178c4ffb4137ec6721128014dedde
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 28 Jul 2020 12:39:25 +0000 (14:39 +0200)]
Convert DatastoreSnapshotRestore to OSGi DS
This is a simple holder used extract restoration code, split it out
of manual blueprint.
JIRA: CONTROLLER-1882
Change-Id: Ic7f97fa1a2b0302c7f1ccc14a9a79fe7fce57412
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 17 Jul 2020 17:21:41 +0000 (19:21 +0200)]
Migrate DatastoreContextIntrospectorFactory to OSGi DS
We are slowly converting hand-written blueprint config to OSGi DS,
so that we can end up ditching blueprint completely. This is the
next small step towards that goal.
Change-Id: I398d71344bccfef752128c561d6d2ff851edc5c2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 26 Jul 2020 17:16:20 +0000 (19:16 +0200)]
Bump versions to 2.0.4-SNAPSHOT
This starts the next development iteration.
Change-Id: Ie6bdb44e3c37ad598206520556a2380708d44430
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
tadei.bilan [Thu, 25 Jun 2020 12:42:47 +0000 (15:42 +0300)]
Add optional lz4 compression for snapshots
Added ability to use lz4 compression both for snapshots sent to
followers and snapshots in storage.
JIRA: CONTROLLER-1936
Change-Id: I073120efddde869b10999450057b91e75f0ffe07
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tomas Cere [Fri, 29 Mar 2019 11:38:10 +0000 (12:38 +0100)]
Add optional timeout parameter for backup rpc
Once the snapshot size grows large the backup rpc can take more
time than the default timeout value causing it to fail.
Add the option to override the timeout in the backup rpc.
Change-Id: I878066668f45abcfe758a7b90d34576bff1b7db0
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 23 Jul 2020 21:05:37 +0000 (23:05 +0200)]
Bump odlparent/yangtools/mdsal to 7.0.5/5.0.5/6.0.4
Pick up latest upstream fixes.
Change-Id: Ia8b756565d22c5b6f39c77b1cc9b8ce3dc0b2aa0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Thanh Ha [Fri, 10 Jul 2020 14:57:46 +0000 (10:57 -0400)]
Do not fail on warnings for docs-linkcheck
This is a workaround due to sphinx-tabs being incompatible with the
Sphinx linkchecker which throws a warning. We mainly use linkchecker
to catch broken links so we don't really need to fail on warnings as
the main "docs" builder will still fail for warning level issues so
this is a reasonable workaround.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: If3e7cea79528ed31fadcea7c7a4c4e13315d1fcd
Robert Varga [Fri, 17 Jul 2020 16:52:12 +0000 (18:52 +0200)]
Speed up DatastoreContextIntrospector a bit
We can rely on static QNames and pre-computed YangInstanceIdentifier
to reduce the amount of transcoding we do.
Change-Id: Ibae5a6938703e12dc7584de002fb7cd0538d8289
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sat, 11 Jul 2020 18:58:08 +0000 (20:58 +0200)]
Bump odlparent/yangtools/mdsal to 7.0.4/5.0.4/6.0.3
Pick up latest upstream fixes.
Change-Id: Ic661675cfc75311d2dace18997f4626033a2cdd6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 12 Jul 2020 11:20:14 +0000 (13:20 +0200)]
Fix controller-docs
We are referencing a few provided annotations, make sure docs
are seeing them as well.
Change-Id: Iffd0d7e9441441f44cb0c2126812d872e707755e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 12 Jul 2020 10:22:35 +0000 (12:22 +0200)]
Convert sal-remoterpc-provided to OSGi DS
Declarative Services offer better integration with OSGi lifecycle,
use them instead of blueprint.
Change-Id: I49b41fa0fba4714f54e097820b85aefe7da67364
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 12 Jul 2020 08:23:57 +0000 (10:23 +0200)]
Factor out ActorSystemProvider from blueprint
ActorSystemProvider is quite simple, make it completely independent
of blueprint.
Change-Id: I45233cad19ec8580d45d387efe627ab0935ce2eb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 12 Jul 2020 07:55:19 +0000 (09:55 +0200)]
Turn FileAkkaConfigurationReader into a component
This is a clearly standalone implementation of a common service,
turn it into a properly-injected component.
Change-Id: I521c3433093ab3aa911aa870c10b3d4e2bff8418
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Anil Belur [Sat, 11 Jul 2020 04:00:35 +0000 (14:00 +1000)]
Add INFO.yaml for controller
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Change-Id: I6ea7fa47868c9cbfb5f8ff803a5ade7c38474aa8
Robert Varga [Fri, 10 Jul 2020 06:38:22 +0000 (08:38 +0200)]
Fix intermittent IT hangs
Integration tests may hang due to pax-exam/surefire interaction.
Switch to TCP communication channel to fix these.
Change-Id: Ic4713ff63b073fdf03b8ee072d5a4ccaa20bf48e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 25 Jun 2020 16:57:34 +0000 (18:57 +0200)]
Enable overwrite test suite
With data being split up correctly between shards, we can re-enable
the test suite for snapshot triggers.
JIRA: CONTROLLER-1913
JIRA: CONTROLLER-1950
Change-Id: Ibda02648682aee03cf4c5a0275f705d79dbe6b1c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 25 Jun 2020 14:31:24 +0000 (16:31 +0200)]
Split modifications on datastore root
When we are dealing with modifications, we must not assume they are
not spanning shards. Specifically, we need to make sure we split
data when the user is targeting datastore root, as for those cases
we need to split top-level containers to their appropriate shards,
not the default shard.
JIRA: CONTROLLER-1950
Change-Id: Ie8ad233fed993fddd54a1e4865884fd4474fc81f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 26 Jun 2020 10:43:50 +0000 (12:43 +0200)]
Add a missing space
Logging message was missing a space here, fix that up.
Change-Id: I6523e43601c447f5fccb40d1bc901da45060fd81
JIRA: CONTROLLER-1913
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 26 Jun 2020 10:33:43 +0000 (12:33 +0200)]
Fix NoSuchElementException in toString()
Original patch missed the fact that an empty set will throw, fix
that up.
Change-Id: I2d0588ec0499475935d285b3be6db299a9d4d525
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Stephen Kitt [Fri, 26 Jun 2020 09:31:19 +0000 (11:31 +0200)]
Simplify LocalTransactionContext
... by reverting to a variant of the previous executeModification()
implementation.
Change-Id: I9a0480868bce2682e4ecc0e635a4db9f897d8511
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Robert Varga [Thu, 25 Jun 2020 19:21:07 +0000 (21:21 +0200)]
Refactor TransactionContext.executeModification()
Shift allocation of modification objects to RemoteTransactionContext,
so that local and noop cases do not end up allocating remoting objects.
JIRA: CONTROLLER-1951
Change-Id: Iedddb54aa9e55ca0e4352ecb176077a25ef643f3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 25 Jun 2020 21:35:55 +0000 (23:35 +0200)]
Split TransactionChainProxy.combineWithPriorReadOnlyTxFutures()
There is a common and uncommon path here, where we expect majority
of high-performance uses to short-circuit to no combining at all.
Split that simple case out, so that we aid JIT inlining and also
know in profiling runs which branches are usually taken.
Change-Id: I18aaa12837c472308b46b770551e606096f7c983
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 25 Jun 2020 13:58:43 +0000 (15:58 +0200)]
Move checking/logging out of executeModification()
We will need specialized methods to deal with modifications,
similar to what we are doing for read(). As a first step, split
out common bits. This inlining has the added benefit of not touching
class reflection data.
JIRA: CONTROLLER-1950
Change-Id: I88030331ad8fe9299e8e824e18571047c87c90c6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 25 Jun 2020 13:53:30 +0000 (15:53 +0200)]
Clean up TransactionProxy a bit
An extra space and a superfluous else block.
Change-Id: I780f099c26ec60340f71054ab6cb31aca05ed441
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tibor Král [Fri, 21 Feb 2020 13:57:41 +0000 (14:57 +0100)]
Add an option to trigger snapshot creation on root overwrites
In some cases (such as DAEXIM import), it does not necessarily
make sense to retain previous data in the journal, as all of it
has been superseded.
JIRA: CONTROLLER-1913
Change-Id: I5d634faac06e6764a417c23e88c728373b900924
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Robert Varga [Mon, 22 Jun 2020 20:22:20 +0000 (22:22 +0200)]
Fix MD-SAL feature references
References should be using ranges to allow seamless version bumps,
make sure that happens.
Change-Id: I02fca32b29f25e6b59efdc3874c6315b94119dbf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tibor Král [Thu, 11 Jun 2020 08:28:55 +0000 (10:28 +0200)]
Add option to disable default ActorSystemQuarantinedEvent handling
The default reaction to ThisActorSystemQuarantinedEvent is to
restart the entire Karaf container. However some users may want
to process the event differently.
JIRA: CONTROLLER-1949
Change-Id: Id65d31749dd97cb067611f7cfe4df76a6fe12204
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tejas Nevrekar [Thu, 4 Jun 2020 12:44:23 +0000 (18:14 +0530)]
Apply a workaround for the isolation of quarantined node
Listen to the AssociationErrorEvent in addition to
the ThisActorSystemQuarantinedEvent so that in cases
like isolate followed by unisolate, the quarantine
restart is triggered.
JIRA: CONTROLLER-1941
Change-Id: I937a9411c90fbbbaad73769efbc4e996369448a8
Signed-off-by: Tejas Nevrekar <tejas.nevrekar@gmail.com>
Robert Varga [Mon, 15 Jun 2020 09:17:31 +0000 (11:17 +0200)]
Add UnsignedLongRangeSet.toString()
This makes the rangeset a wee bit more useful for debugging purposes.
Change-Id: Ie7a38fa980463be5255201996cd7b06ab50bde2f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tibor Král [Wed, 22 Jan 2020 11:53:41 +0000 (12:53 +0100)]
Allow incremental recovery
Expose configuration knob in DatastoreContext to specify the
amount of recovered journal entries after which a Snapshot should
be taken and the journal purged.
JIRA: CONTROLLER-1915
Change-Id: I4b20a0abe0329965ca5ac1ab5df7d9ca8480cfb2
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Robert Varga [Thu, 11 Jun 2020 17:13:41 +0000 (19:13 +0200)]
Bump versions to 2.0.3-SNAPSHOT
This starts the next development iteration.
Change-Id: Iafc37f7955df2e965fc6cc436f521416f7c9c4a3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 11 Jun 2020 16:17:07 +0000 (18:17 +0200)]
Register global PurchaseCarProvider
routed-rpc used to create a global registration, which we lost
during migration. Fix that.
JIRA: CONTROLLER-1947
Change-Id: Ifa3a13d8bb2a6caab9d58dd97903186c7c27dfed
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 10 Jun 2020 20:23:05 +0000 (22:23 +0200)]
Bump MRI versions
Bump to:
- odlparent-7.0.3
- yangtools-5.0.3
- mdsal-6.0.2
Change-Id: Ifbbdcc6d5e1691a9c59cc9b26b7fcd1ec09288cc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tibor Král [Thu, 4 Jun 2020 16:50:51 +0000 (18:50 +0200)]
Add sender actor to the ForwardingDataTreeChangeListener
The ForwardingDataTreeChangeListener is created when a shard
registers new listener. It then sends dataTreeChanges to said listener
but doesn't specify the sender. The RootListenerActor however needs
to know which shard produced the DataTreeChanged message.
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Change-Id: I4971cfaefa10c3136e0ddcc350ec7e00e68e6b42
Robert Varga [Wed, 3 Jun 2020 13:51:54 +0000 (15:51 +0200)]
Fix OpsManager registry instantiation
We have a day-zero bug with actions, as OpsManager ends up
instantiating the wrong actor -- hence we have two RpcRegistry
instances and no ActionRegistry instances.
JIRA: CONTROLLER-1943
Change-Id: I3b374454af3225cf13d5e23e4fb6744bf3f9ed99
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 3 Jun 2020 12:35:18 +0000 (14:35 +0200)]
Fix PeopleProvider activation
Detected by CSIT, this was broken during MD-SAL API removal. Rework
instantiation to use constructor injection and proper shutdown.
Fixes the following splat:
java.lang.NullPointerException: null
at org.opendaylight.controller.clustering.it.provider.PeopleProvider$1.onSuccess(PeopleProvider.java:74) ~[bundleFile:?]
at org.opendaylight.controller.clustering.it.provider.PeopleProvider$1.onSuccess(PeopleProvider.java:70) ~[bundleFile:?]
at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1078) ~[bundleFile:?]
at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30) ~[bundleFile:?]
at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1164) [bundleFile:?]
at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:958) [bundleFile:?]
at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:727) [bundleFile:?]
at com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture.setResult(AbstractTransformFuture.java:247) [bundleFile:?]
at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:163) [bundleFile:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
Change-Id: I08273c8112ec4d3592440975b77e4ce3467d78a2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 1 Jun 2020 13:02:33 +0000 (15:02 +0200)]
Drop scope=runtime from features declaration
features-controller* should have normal scope so they end up being
indexed in int/dist.
Change-Id: Id868c7dfbf894a23933698e4e4b868570c9b1059
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 31 May 2020 09:16:40 +0000 (11:16 +0200)]
Bump versions to 2.0.2-SNAPSHOT
This starts the next development iteration.
Change-Id: Ife4b9975651ca572624bf2ef7525a33d45f90620
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 29 May 2020 17:32:34 +0000 (19:32 +0200)]
Bump odlparent/yangtools/mdsal
Adopt updates from odlparent-7.0.2, yangtools-5.0.2, mdsal-6.0.1. This
improves dependency layout, leading to leaner features.
Also adjust for internals of IMDS being promoted to SPI -- disconnecting
CDS from IMDS.
Change-Id: Ia6c47206771f2f513d71f0b435512f638c597282
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sat, 30 May 2020 11:12:41 +0000 (13:12 +0200)]
Add odlparent docs reference
In cas ewe end up cross-referencing into odlparent infra, make sure
we have accurate links.
Change-Id: Ia9ae4f31c6e94f90aa504bf970e933914b367d18
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 29 May 2020 19:40:09 +0000 (21:40 +0200)]
Remove use of InMemoryDOMDataStoreConfigProperties
CDS does not use original IMDS tuning, as we have not used a captive
IMDS instance for almost five years now.
Remove references InMemoryDOMDataStoreConfigProperties and turn the
knobs to no-ops.
JIRA: CONTROLLER-1940
Change-Id: I527b8ba407f7de4ecadb82f7c24d6a782722f683
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 29 May 2020 17:41:39 +0000 (19:41 +0200)]
Clean up odl-mdsal-distributed-datastore dependency
We should not be packaging sal-common-util twice, make sure we have
the proper dependency.
Change-Id: Iff9f526ff3c7fa776328c5027da8812d2d11a634
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 28 May 2020 05:52:46 +0000 (07:52 +0200)]
Remove use of getDataChildByName()
findDataChildByName() provides a proper Optional-based interface,
use that instead of the deprecated method.
Change-Id: I7813e308f1fac5a07cfa9eba2f96e5df981378cf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 28 May 2020 05:16:01 +0000 (07:16 +0200)]
Remove FinalizableScheduledExecutorService
Use proper executor service shutdown after the handler has run
its course instead of relying on garbage collection.
Change-Id: I896ae5d28836f9dea48448c7c54a044279047a5c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 28 May 2020 04:12:51 +0000 (06:12 +0200)]
Remove use of SchemaContext.getQName()
The idea that SchemaContext has a QName is deprecated, and the methods
using it are themselves unused. Just remove the callers.
Change-Id: I507a96e7b0f2ecfd725e6b86623c80788f25b580
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 27 May 2020 12:51:37 +0000 (14:51 +0200)]
Convert to use EffectiveModelContext
These are mostly internal changes to eliminate warnings around
passing down SchemaContext instead of EffectiveModelContext.
Change-Id: I6ef307479abff013b0286e45cf4f822bff6fd6a6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 27 May 2020 14:28:55 +0000 (16:28 +0200)]
Remove use of ExpectedException
We have Assert.assertThrows(), hence we can simplify these two tests.
Change-Id: I7a30634c4ae8cd89fb317230bd94f12bac6d8953
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Thanh Ha [Thu, 26 Mar 2020 18:48:08 +0000 (14:48 -0400)]
Generate version from pom.xml
With controller becoming MRI generate docs version from pom.xml
as ODL version codenames are no longer relevant for MRI projects.
This reuses the code put into mdsal.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: I584d2e2c59ce0055699c804bffcd91bdf44aab94
Thanh Ha [Mon, 25 May 2020 23:09:09 +0000 (19:09 -0400)]
Add missing images from the docs project
Looks like we forgot to migrate these images when we moved the
controller docs over.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Id322b36488ed1b6ddcad2a666ebe5e2148627479
Robert Varga [Mon, 25 May 2020 17:44:44 +0000 (19:44 +0200)]
Add documentation about per-shard settings
Previous implementation of per-shard datastore properties did not
document this ability. Make sure we document it and properly test it.
JIRA: CONTROLLER-911
Change-Id: I5be13c73e76e612a93620710e6a00b78d9dee216
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tibor Král [Thu, 21 May 2020 16:27:08 +0000 (18:27 +0200)]
Add tests for new RootDataTreeChangeListenerProxy and Actor
Listening on root with multiple shards is not tested anywhere,
add some test coverage.
JIRA: CONTROLLER-1932
Change-Id: Ie0d94f2d9b90869a140b73d85f1696df712fad25
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tomas Cere [Fri, 22 May 2020 11:11:04 +0000 (13:11 +0200)]
Do not bump follower term while it is isolated
When a follower gets into a state that its isolated(ie cannot reach either peer)
it starts bumping its term every election timeout. Once the cluster heals it
would then disrupt the cluster because it has a higher term then the healthy part.
We can avoid this by not triggering new elections on followers that cannot
reach other peers while they are unreachable.
JIRA: CONTROLLER-1935
Change-Id: I8ee9f333740637ba5569287d405540f374bbc4bc
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Robert Varga [Tue, 19 May 2020 14:37:47 +0000 (16:37 +0200)]
Add support for root DTCL listening on all shards in DS
Devide DTCLProxy into DTCLSingleShardProxy, DTCLMultiShardProxy and
DTCLPrefixShardProxy to address the different registration mechanisms
used in all three cases.
JIRA: CONTROLLER-1932
Change-Id: I48732577f26fa5844b69a2feaddb02fe53909da7
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 19 May 2020 14:55:11 +0000 (16:55 +0200)]
Clean up legacy API bridging
Since we have removed controller APIs, there is no longer a need
to proxy interfaces and we can completely reference MD-SAL concepts.
Change-Id: I34d277bc86ab07c70d74bb23b381faf226f4f2e3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
tadei.bilan [Tue, 12 May 2020 14:03:37 +0000 (17:03 +0300)]
Fix DeleteEntries persisting with wrong index
During persisting we delete entries, so in case of persisting DeleteEntries with adjusted index,
index is being adjusted twice, that results in additional entries being deleted during recovery.
JIRA: CONTROLLER-1934
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Change-Id: Ib326f02630281ed52982dab2f48c01503b791ef7
Robert Varga [Tue, 12 May 2020 12:57:47 +0000 (14:57 +0200)]
Attach test-jar sources
We are distributing test infrastructure within test-jars, but do not
create -sources for those artifacts. Make sure we do, making it easier
on IDE users.
Change-Id: Icb1c1863ec98fc4f3fadb2c4d7e2b86df323ab7c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 11 May 2020 14:09:12 +0000 (16:09 +0200)]
Fix a feature typo
We have 'odl' prefix added twice, fix that.
Change-Id: If71674c4373040936eaacf0850712d387c295e54
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 22:58:31 +0000 (00:58 +0200)]
Bump version to 2.0.1-SNAPSHOT
This starts the next development iteration.
Change-Id: I2f401017e49f34077ffa71fbda5648e282868c04
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 28 Apr 2020 09:59:14 +0000 (11:59 +0200)]
Change distribution name to controller-test-karaf
Shorted the name of the distribution and use a directory which
is a wee bit more friendly. Also do not package mdsal's feature
repository, only features from controller.
Change-Id: I90d413ce20e6de25138a6096d0951eafa26d0b6f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 28 Apr 2020 09:19:05 +0000 (11:19 +0200)]
Remove NormalizedNodePruner
This one-shot class has been deprecated, remove it now.
Change-Id: I4a94e7ef191febcb76aa014b0175529ceee47e96
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 28 Apr 2020 07:20:20 +0000 (09:20 +0200)]
Remove superfluous groupId declarations
When we are inherinting from a controller parent, there is no point
in specifying the groupId again, remove such declarations.
Change-Id: I95acd155bf8c63cb29f727b8e0af8d77ad2efca6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 28 Apr 2020 07:09:28 +0000 (09:09 +0200)]
Remove use of deprecated addAugmentation()
The two-argument variant has been removed, do not use it.
Change-Id: Iae92f7215994dd46f237284acd295eb37c5f2950
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 20:31:34 +0000 (22:31 +0200)]
Cleanup versions across modules
This finishes up the audit of pom.xml files to eliminate
superfluous version declarations.
Change-Id: Id7c671ad1c16ffb7db15709709fec9d933c65170
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 20:19:09 +0000 (22:19 +0200)]
Move odl-toaster to experimental features
odl-toaster is not a production feature, move it to experimental
features.
Change-Id: I040af8543921cb861f2ccfca48d4154c1d5c6b17
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 20:40:25 +0000 (22:40 +0200)]
Remove unused declaration
We do not need this declaration, remove it.
Change-Id: I499b7525229cffb59b2526fdb6e9629cabcf5cdd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 20:17:38 +0000 (22:17 +0200)]
Update feature version declarations
We do not need to override parent's version, as it matches our
version. Also trim down use of project.version where the artifact
is already declared in artifacts.
Change-Id: I3692983e6853eb3f90e843a082d4ea19a8d7b279
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 20:17:10 +0000 (22:17 +0200)]
Cleanup docs use of versions
We can use project.version here, let's do that to keep explicit
versions down.
Change-Id: Ia652946ac279efb7c6568a78d53756c92934eec4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 20:06:35 +0000 (22:06 +0200)]
Update benchmark integration
Reuse mdsal-parent to get both the project version and dependency
declarations, eliminating some amount of duplication.
Change-Id: I08bbae324edc340daef748803284853ddbba5b2d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 19:58:51 +0000 (21:58 +0200)]
Update 1.15.0-SNAPSHOT to 2.0.0-SNAPSHOT
This performs the final part of version alignment. All artifacts
except config remnants are bumped to 2.0.0-SNAPSHOT, achieving
a consistent version across all non-deprecated functionality.
Change-Id: I8378059b05b32a2abf37ffe5356bb6f3a43628f6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 19:56:24 +0000 (21:56 +0200)]
Eliminate odl-jolokia-osgi.version
This version is aligned with project.version, hence we can
drop the custom property.
Change-Id: Iaa046cfff77b1be8ebcaee1e8e8561c1fa14adc7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 19:53:10 +0000 (21:53 +0200)]
Eliminate blueprint.version
We have achieved alignment of blueprint.version with project.version,
which means we can ditch the specialized property.
Change-Id: Iabd86c00b4a5134f528a844f061586b9dc7b8188
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 19:50:47 +0000 (21:50 +0200)]
Mass-update 1.12.0-SNAPSHOT to 2.0.0-SNAPSHOT
Update the primary version to 2.0.0-SNAPSHOT, reflecting the major
shakeup we have done in this release cycle.
Change-Id: I597dfa652ed636b0523853bdea97e1caa825d1f5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 19:48:16 +0000 (21:48 +0200)]
Update CDS versions to 1.12.0-SNAPSHOT
These versions are four versions behind artifacts, bump them to
1.12.0-SNAPSHOT.
Change-Id: I85ad5cade48048ba6edb0c575f142de01e6576cf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 19:45:10 +0000 (21:45 +0200)]
Align benchmark versions to 1.12.0-SNAPSHOT
These versions are trailing by two release, make sure they are
aligned.
Change-Id: I7e92f3bd701e6ab87d57a8508e0030e912589276
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 19:40:59 +0000 (21:40 +0200)]
Bump root and docs to 1.12.0-SNAPSHOT
This is the version advertized by artifacts, let's just align
on that for now.
Change-Id: I5ee4835b72ba35eb0cf75fc90c1636bb068f6860
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 19:39:24 +0000 (21:39 +0200)]
Align odl-jolokia-osgi version with project
Our project version (as defined by artifacts) is 1.12.0-SNAPSHOT,
make sure jolokia is using the same version.
Change-Id: I0ebeb8fa17f8ded15fe8a02b8310825bb2847996
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 19:36:18 +0000 (21:36 +0200)]
Align odl-controller-exp-netty-config version
We want to have feature versions aligned with the overall project
version -- do that for odl-controller-exp-netty-config.
Change-Id: I445f5d94d7ad9412c1ec0eb9eb89e7af303ebaef
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 19:33:55 +0000 (21:33 +0200)]
Promote blueprint version to 2.0.0
We want to coordinate all versions, and given the mix of versions
we are currently defining, 2.0.0 is the best candidate.
Change-Id: Ic6c0fb894816a65cd138ae36b96cb0c82cbb35e8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 11:22:03 +0000 (13:22 +0200)]
Remove benchmark-data-store
This code has been migrated to mdsal component, remove it.
Change-Id: I238f7e09a3907ce07cc4fc857a6fea72d69204cf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 10:10:25 +0000 (12:10 +0200)]
Fix datastore benchmark
The benchmark slid into disrepair, fix it up again and shorten
its run length.
Change-Id: I874c0979615f289ee726e4b6926b6d9d8aba5184
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 09:34:31 +0000 (11:34 +0200)]
Cleanup aggregator poms
We do not want expose our repository layout to outside world, hence
cleanup aggregators so they are just that and are not installed.
Change-Id: Ib9ec89e46ed4a966a0750778f6067096ebbb8a14
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 08:41:26 +0000 (10:41 +0200)]
Create features-controller
Squash features-mdsal and features-extras into a single production
features repository.
Change-Id: I76f3f8e575d9faa3979aeefa62d466d3c889dff3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 08:31:53 +0000 (10:31 +0200)]
Remove archetypes
Archetypes has been split into a separate project. remove its
remnants.
Change-Id: I586fef9a04c71a82ce56be519760cbc1e97eda40
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 27 Apr 2020 07:46:09 +0000 (09:46 +0200)]
Clean up odl-message-bus-collector
This is not an end-user feature and it is quite experimental, with
only provider being NETCONF, and that at beta quality. Move it out
to expertimental features, with adjusted name.
Change-Id: Ib16a322d81c6ac5aa7c8f7b059a949f0473fb2f8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 26 Apr 2020 20:24:18 +0000 (22:24 +0200)]
Clean up features-mdsal-benchmark
The benchmark features are not really used anywhere. Repurpose them
as features-controller-testing, so that our testing code has an
isolated feature repository.
Change-Id: I18502d99ef133694ee8bb33685af82209b3f57ad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 26 Apr 2020 19:37:09 +0000 (21:37 +0200)]
Clean up features-config-netty
This feature repository contains a single feature, odl-config-netty,
which really is a remnant of config subsystem.
It further attempts to unify configuration of various southbound
modules' use of Netty, which unfortunately does not work because
downstreams need have better control over verious aspects of Netty
configuration.
Furthermore not everyone is using this infrastructure, and even
then it is a bad idea, as it lowers the amount of isolation plugins
get.
Repurpose this feature repository as features-controller-experimental,
holding a single odl-controller-exp-netty-config feature. This
clearly indicates the amount of stability that can be expected
and the plan is to move downstreams away from this feature.
Change-Id: I2edb9da48795cf1ff7de68c943c1bf895f584577
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 26 Apr 2020 18:00:18 +0000 (20:00 +0200)]
Add controller's single-feature-parent
Sharing common knobs cuts down on duplication and allows us to
keep consistency.
Change-Id: I796218c981d3278f0fbe2b62e4a51a97577caad0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 26 Apr 2020 17:27:49 +0000 (19:27 +0200)]
Bump mdsal to 6.0.0
MD-SAL has been released, make sure we stabilize our reference to
it.
Change-Id: I77578b64916e02a6ed1a27aae859d50458865547
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 26 Apr 2020 16:36:11 +0000 (18:36 +0200)]
Move features
We want to flatten our structure, make sure we concentrate features
in the main directory.
Also eliminate odl-extras-all, as that is just an an aggregator for
jolokia.
Change-Id: I6b7d5a0a8c12e574500c410f6fd3829275f7034b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 26 Apr 2020 16:33:38 +0000 (18:33 +0200)]
Rename controller-features
This is an aggregator, which should not be installed. Fix its name
and stop publishing it.
Change-Id: I8444d8e5a5637e29843630328f9419fc00613dad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 24 Apr 2020 10:06:18 +0000 (12:06 +0200)]
Bump yangtools to 5.0.1
We need a few more changes from yangtools to get across the finish
line, pick them up.
Change-Id: Id026c2fdf1b69158f5d7fad19518fc7e00247023
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 23 Apr 2020 15:56:51 +0000 (17:56 +0200)]
Propagate EffectiveModelContext in blueprint
We are moving away from SchemaContext, start using its replacement.
Change-Id: If222b7ac2fa2004d1af72504d63b139cb42bd4ac
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 23 Apr 2020 18:53:28 +0000 (20:53 +0200)]
Partially revert "Adjust for RPCService methods changing"
This reverts commit
ba6824307ad4b3c272abefe9682d623adc3b42d2,
as it was overzealous with regards to ContainerNode conversion.
This reverts parts of it, so that we arrive at something sane.
JIRA: MDSAL-303
Change-Id: I9bd61b6dd1c88b53c39ac1b8791edaf38cad7885
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>