D Arunprakash [Wed, 10 Jan 2018 08:22:55 +0000 (13:52 +0530)]
OPNFLWPLUG-972 : Move liblldp from controller to openflowplugin
Change-Id: Ibda729f50b51282591d9d06bb3ba1863e62c732a
Signed-off-by: D Arunprakash <d.arunprakash@ericsson.com>
Robert Varga [Thu, 5 Apr 2018 14:49:06 +0000 (16:49 +0200)]
Fix TransactionContextWrapper limiter accounting
The fix for CONTROLLER-1814 wrecked the fragile OperationLimiter
accounting between TransactionContextWrapper and
RemoteTransactionContext. The problem is that during initial
connect time TransactionContextWrapper acquires limiter operations
and the state of the OperationLimiter is inherited by
RemoteTransactionContext. This though means that we need to know
which operation actually acquired a permit and which did not.
As it turns out, this needs to make TransactionContext methods take
an additional hint as to whether a limit attempt was made and what
was the result of it.
Furthermore the internal TransactionContextWrapper logic needs to
be changed from 'enqueue and wait' to 'wait and enqueue' strategy,
so when an operation is added to the queue and potentially picked
up by executePriorTransactionOperations() we already know whether
a permit was acquired or not.
JIRA: CONTROLLER-1823
Change-Id: I78d43a1abde8c6da6e3da2f56823bba130499133
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
b69500a51978c3d3ef639345a1a97a58cc3f6bb8)
(cherry picked from commit
dc295d9be77748d7e695d003a02d299d493abc8d)
Tom Pantelis [Fri, 6 Apr 2018 13:45:21 +0000 (09:45 -0400)]
Remove serialization settings in sal-akka-raft-example
Followup to https://git.opendaylight.org/gerrit/#/c/70417/.
These are not needed and avoids potential future failures.
Change-Id: I151e3cd91b2c6a249420129ccbf7976d57284059
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Robert Varga [Fri, 6 Apr 2018 11:49:49 +0000 (13:49 +0200)]
Migrate ShardTestKit to javadsl.TestKit
JavaTestKit is deprecated, use its equivalent from javadsl.
Change-Id: Id32c6e41c80ba05f2076852bf9d3b26c5aca07b5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 6 Apr 2018 11:46:27 +0000 (13:46 +0200)]
Migrate RaftActorTestKit to javadsl.TestKit
JavaTestKit is deprecated, migrate RaftActorTestKit to the new
equivalent.
Change-Id: Id7f051aaac0154795c4242bb0ffc275dad06aaa4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 6 Apr 2018 11:32:45 +0000 (13:32 +0200)]
Migrate test to use javadsl.TestKit
Forward-porting of this patch missed the need to change to new
TestKit instead of legacy JavaTestKit. Fix that.
Change-Id: Ic7bc6edae198c785ca4473eeff83cdbc516c8d2e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Stephen Kitt [Fri, 6 Apr 2018 08:55:02 +0000 (10:55 +0200)]
Finish SimpleReplicatedLogEntry migration
sal-akka-raft-example still refers to ReplicatedLogImplEntry, fix
that.
Change-Id: I6574b0acfd0d8c755b5cbc69485fa4d0ea116865
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Tom Pantelis [Wed, 4 Apr 2018 16:28:05 +0000 (12:28 -0400)]
Remove AsyncWriteTransaction#commit
Downstream patches have been merged - safe to remove.
Change-Id: I357aaac04f7569fc42590fbb0ce00459c6c3204a
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Robert Varga [Sat, 31 Mar 2018 13:06:35 +0000 (15:06 +0200)]
Update IdentityAttributeRefTest
Identities are mapped to interfaces, so we need to adjust for that.
Change-Id: Ic121793e049f25eb87e5252e07583f33a87d9ac5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sat, 31 Mar 2018 13:06:00 +0000 (15:06 +0200)]
Adjust unit test to YangModuleInfo API change
YangModuleInfo has better interface, hence we can take advantage
of it.
Change-Id: I971bd0bd9fe521b63bb0133fdac3a1b1a30504a7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tom Pantelis [Sat, 24 Mar 2018 00:33:03 +0000 (20:33 -0400)]
Remove SingletonHolder
It is not used except for the static JAVASSIST field.
This was moved to BindingToNormalizedNodeCodecFactory.
Change-Id: I6e503696f7f625b257b8a377099d113cd6a85fd3
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Fri, 23 Mar 2018 14:33:46 +0000 (10:33 -0400)]
Remove deprecated Rpcs and RpcErrors
The only user was in snmp4sdn and a patch has been submitted
for that.
Change-Id: I751a6c1181187e1bd0207f31965f61d6d494434d
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Fri, 23 Mar 2018 22:02:03 +0000 (18:02 -0400)]
Deprecate Broker and related APIs
These are remnants of the config system and not needed for
blueprint. If we remove the config system in Flourine, perhaps we
can just remove these classes as well but deprecate for now.
Change-Id: I6c14ab3a86b11137da12a8655848a6810e47a5f6
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Fri, 23 Mar 2018 01:13:14 +0000 (21:13 -0400)]
Add default implementation for AsyncWriteTransaction#commit
This method has been deprecated for quite some time and time for
removal. There are still sub-classes in other projects that
override it so first add a default implementation to throw
UnsupportedOperationException. When patches are merged in the
pther projects, we can remkve this method (and TransactionStatus).
Change-Id: I5e3581d50a4f92df3984a663d04ce026a52252b2
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Robert Varga [Thu, 22 Mar 2018 12:34:56 +0000 (13:34 +0100)]
Remove AbstractRegistrationTree
This class has been deprecated in favor of the MDSAL version,
remove it.
Change-Id: I28af7908969d7969f864a4e04d454270f948a807
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 22 Mar 2018 12:29:11 +0000 (13:29 +0100)]
Remove DOMDataTreeService and related classes
DOMDataTreeService has been deprecated and it lives in MD-SAL,
remove it from the controller, taking related classes along for
the ride.
Change-Id: I30a4e3ac493e16e37bd812be4ac470691a0b2b5a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 22 Mar 2018 15:01:36 +0000 (16:01 +0100)]
Fix odl-config-persister
It should not be pulling in facade-xml bundle, but feature.
Change-Id: I02af053c3d3c1484a527a7a7864ab8562e3b3059
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 22 Mar 2018 14:44:37 +0000 (15:44 +0100)]
Fix duplicate benchmark packaging
mvn:org.opendaylight.controller/dsbenchmark and
mvn:org.opendaylight.controller/ntfbenchmark are being repackaged
in odl-mdsal-benchmark. Pull corresponding features instead.
Change-Id: I0a2fdbd8047a00f3953d33d0299acc6f5cea271f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 22 Mar 2018 12:17:51 +0000 (13:17 +0100)]
Add missing DOMDataTreeService method
DOMDataTreeService is an extensible service, hence we need to report
our supported (none) extensions.
Change-Id: I209dee750f3bef822c15dd472f1097b64c585e96
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Peter Nosal [Mon, 19 Mar 2018 07:57:29 +0000 (08:57 +0100)]
Change transformation from DOMRpcResult to RpcResult
When RpcResult was created, it was always as successful RpcResult,
this is changed so in presence of RpcErrors, RcpResult is build as
failed RpcResult with RpcErrors and binding result.
Change-Id: Ibb74e5f5675e33e0103d1a7d4962176bb320fce3
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
fd643adb6b413aac90c4f5a23874beeee486f257)
Robert Varga [Tue, 20 Mar 2018 16:36:07 +0000 (17:36 +0100)]
Fix compilation after mdsal implementation movement
MDSAL's generator has moved its implementation classes and interfaces,
fix this up.
Change-Id: Ie2607800b67affda966cd0fafb05437263ee9379
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tom Pantelis [Fri, 9 Mar 2018 19:10:14 +0000 (14:10 -0500)]
Enable findbugs in md-sal parent pom
Change-Id: Icaf43a93ac28bf77fe85a75513d46fb4f0f1778a
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Fri, 9 Mar 2018 02:35:37 +0000 (21:35 -0500)]
Fix findbugs violations in md-sal - part 3
- sal-binding-broker
- sal-connector-api
- sal-dummy-distributed-datastore
- messagebus-impl
- mdsal-trace-dom-impl
- May expose internal representation by returning reference to mutable object
- May expose internal representation by incorporating reference to mutable object
- Private method is never called
- Non-transient non-serializable instance field in serializable class
- Class is Serializable, but doesn't define serialVersionUID
- Parameter must be non-null but is marked as nullable
- Unread field
- Consider returning a zero length array rather than null
- Useless object created
- Method ignores return value
- Incorrect lazy initialization of static field
- Should be a static inner class
Change-Id: Ia8847db80bca98c6f7ff7aae267efc408a5dd8fd
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Thu, 8 Mar 2018 22:41:36 +0000 (17:41 -0500)]
Fix findbugs violations in md-sal - part 2
- sal-broker-impl
- sal-dom-broker-config
- sal-binding-config
- sal-akka-raft-example
- clustering-it-provider
Violations:
- Method may return null, but is declared @Nonnull
- Method with Optional return type returns explicit null
- Method ignores exceptional return value
- Field not guarded against concurrent access
- Unchecked/unconfirmed cast of return value from method
- Load of known null value
- Parameter must be non-null but is marked as nullable
- Class implements same interface as superclass
- Redundant nullcheck of value known to be non-null
- Unread field
- Reliance on default encoding
- Should be a static inner class
- Questionable cast to concrete collection
- Dead store to local variable
- Dereference of the result of readLine() without nullcheck
- Method ignores return value
- Finalizer does not call superclass finalizer
- An increment to a volatile field isn't atomic
- Dead store to local variable
- Redundant nullcheck of value known to be non-null
Change-Id: Iec7205b49a0cbafff33db97c9c753a5425f929a6
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Thu, 8 Mar 2018 02:54:09 +0000 (21:54 -0500)]
Fix findbugs violations in md-sal - part 1
- sal-common-util
- sal-common-impl
- sal-dom-api
- sal-dom-spi
- sal-binding-api
- sal-inmemory-datastore
Violations:
- Non-transient non-serializable instance field in serializable class
- Field isn't final but should be
- Unchecked/unconfirmed cast
- Class names shouldn't shadow simple name of implemented interface
- Redundant nullcheck of value known to be non-null
- Field not initialized in constructor but dereferenced without null check
- Equals checks for incompatible operand
- Method ignores return value
Change-Id: I57ceba7dae12114eba962c01aea259004f4a2983
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Robert Varga [Tue, 13 Mar 2018 12:59:56 +0000 (13:59 +0100)]
odl-controller-model-topology should not pull in yangtools
This feature's explicit dependency on odl-yangtools-codec is bogus,
remove it.
Change-Id: Idbade3e1a0edb63988c92f62c3b727c6446b094d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 6 Feb 2018 18:25:32 +0000 (19:25 +0100)]
Bump yangtools to 2.0.2
This updates the artifacts to latest release and fixes JMX
generator tests to match whitespace description changes --
see I5796275a80bc1989061fd745270d51a4a37f97bd.
Change-Id: I5796275a80bc1989061fd745270d51a4a37f97bd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tom Pantelis [Tue, 3 Jan 2017 11:09:47 +0000 (06:09 -0500)]
Convert CDS implementation to use msdal APIs
The LegacyDOMDataBrokerAdapter is the proxy for the controller API.
Change-Id: I697e2979bef4dcffe544717af1380aa7d7b89d50
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Tom Pantelis [Thu, 8 Mar 2018 01:14:08 +0000 (20:14 -0500)]
Enable checkstyle in the mdsal-parent pom
Change-Id: I0e499c0c8726141d91abb86c70642f6ac4e71834
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Wed, 7 Mar 2018 21:25:57 +0000 (16:25 -0500)]
Fix checkstyle violations in messagebus
Change-Id: I4af49c607bbbd607f8ea4fbcbe43ba4f078329d0
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Wed, 7 Mar 2018 21:06:58 +0000 (16:06 -0500)]
Fix checkstyle violations in /sal-connector-api and sal-dummy-distributed-datastore
Change-Id: I9ff8db03ca921517595dc133c1b3869c3a29fa34
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Wed, 7 Mar 2018 20:51:18 +0000 (15:51 -0500)]
Fix checkstyle violations in clustering-it-provider
Change-Id: Ic592165a0e8963001c361195e3ba0b4ca9a68ea4
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Tue, 6 Mar 2018 23:39:59 +0000 (18:39 -0500)]
Fix checkstyle violations in sal-akka-raft-example
Change-Id: Ie9da2e69c47efeb89312eaf3e513e83b7785b422
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Tue, 6 Mar 2018 23:23:30 +0000 (18:23 -0500)]
Fix checkstyle violations in sal-dom-broker-config and sal-binding-config
Change-Id: I5cbd04bfb598481fc6b107f426cf01819ab8d4b2
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Tue, 6 Mar 2018 15:14:07 +0000 (10:14 -0500)]
Fix checkstyle violations in sal-binding-broker
Change-Id: Ia5bcaa7073ff3fb4c004864649e8f5bc2bf23281
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Tue, 6 Mar 2018 14:05:40 +0000 (09:05 -0500)]
Fix checkstyle violations in sal-binding-util and sal-schema-service
Change-Id: I96c37055e8f632ab5ea7dd5c6111039a57430887
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Michael Vorburger [Tue, 16 Jan 2018 02:23:33 +0000 (03:23 +0100)]
no config-persister-api inline in config-persister-directory-xml-adapter
and avoid this violation flagged by my ClasspathHellDuplicatesCheckRule:
>> jHades - scanning classpath for overlapping jars:
file:/home/vorburger/.m2/repository/org/opendaylight/controller/config-persister-directory-xml-adapter/0.8.0-SNAPSHOT/config-persister-directory-xml-adapter-0.8.0-SNAPSHOT.jar
overlaps with
file:/home/vorburger/.m2/repository/org/opendaylight/controller/config-persister-file-xml-adapter/0.8.0-SNAPSHOT/config-persister-file-xml-adapter-0.8.0-SNAPSHOT.jar
- total overlapping classes: 5 - same classloader ! This is an ERROR!
Change-Id: If0c442d48c14f69121744dccd5c15fbc3aa13694
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Tom Pantelis [Tue, 6 Mar 2018 04:23:21 +0000 (23:23 -0500)]
Fix checkstyle violations in sal-inmemory-datastore
Change-Id: I4e8dec800b8e5a2871e51ec4cd150f06c8af1bd1
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Tue, 6 Mar 2018 03:11:05 +0000 (22:11 -0500)]
Fix checkstyle violations in sal-binding-api
Change-Id: Ic39062434dccf9616675b3616e142600f250c814
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Tue, 6 Mar 2018 02:34:04 +0000 (21:34 -0500)]
Fix checkstyle violations in sal-dom-spi
Change-Id: Ifc0955a9dcd162879681cb30ef925b05f37a1fd6
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Tue, 6 Mar 2018 01:59:41 +0000 (20:59 -0500)]
Fix checkstyle violations in sal-dom-api
Change-Id: I2be21dbde5cca70ca327828fd479779ceb958c3e
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Mon, 5 Mar 2018 23:41:23 +0000 (18:41 -0500)]
Fix checkstyle violations in sal-common-impl
Change-Id: Iff4edfb67a169cc6075be7ae87b9e2fd40e43055
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Mon, 5 Mar 2018 23:27:24 +0000 (18:27 -0500)]
Fix checkstyle violations in sal-common-util
Change-Id: I5a552d2bdadda3715b92717a90ed60db39253fd3
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Mon, 5 Mar 2018 23:14:18 +0000 (18:14 -0500)]
Fix checkstyle violations in sal-common-api
Change-Id: I66ec5ec7c5066a5a95b7d40ca7e902d9f415f4ed
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Wed, 7 Mar 2018 04:03:52 +0000 (23:03 -0500)]
Reinstate the AbstractConfigTestBase.logConfiguration method
https://git.opendaylight.org/gerrit/#/c/68992/ removed this method
but there are downstream users so to avoid API breakage the method
was added back but as deprecated.
Change-Id: I8e8eb452724451792c9ac6a140047d063b5d2441
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Lorand Jakab [Tue, 6 Mar 2018 14:27:36 +0000 (16:27 +0200)]
Update integration test base classes to use Log4J2
The config-it-base and mdsal-it-base components contain abstract classes
to be used for integration tests. This commit migrates those classes to
Log4J2.
See also: https://lists.opendaylight.org/pipermail/odlparent-dev/2018-March/001769.html
Change-Id: Ia19cb2f1d91cc2df7e9fc632a5b82731260652f1
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
Tom Pantelis [Mon, 5 Mar 2018 16:49:03 +0000 (11:49 -0500)]
Create a parent pom for md-sal sub-projects
This will contain common configurations for checkstyle and
findbugs (once all violations are fixed). Also, isolates the
config system dependencies in one place which will make it
easier to remove CSS.
Change-Id: Ifcf4bcd5e1b96483714bad51858264f511c21237
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Sun, 4 Mar 2018 03:19:34 +0000 (22:19 -0500)]
Add default implementation of registerDataChangeListener
registerDataChangeListener is scheduled for removal howver
there are a few DataBroker implementations scattered about
that stub out this method. To facilitate smmooth removal,
add a default implementation in AsyncDataBroker that throws
UnsupportedOperationException - this will allow for the stubbed
implementations to be removed.
Change-Id: I784c5320f6c236cbb736799b9cf93f232d22e289
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Michael Vorburger [Fri, 2 Mar 2018 14:09:13 +0000 (15:09 +0100)]
remove sal-common-testutil with TestEntityOwnershipService
because it is no longer used, and the only remaining
dependency from genius to this got removed in
https://git.opendaylight.org/gerrit/#/c/68986/
a better alternative is to use the
SimpleDOMEntityOwnershipService (with BindingDOMEntityOwnershipServiceAdapter)
Change-Id: Ibea71db52fd0b014aff8764a77d4689cb2165adf
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Robert Varga [Tue, 23 Jan 2018 16:42:44 +0000 (17:42 +0100)]
Move OperationLimiter.acquire() warnings to callers
We have two distinct call sites from where we are acquiring permits,
where failure to acquire has different root cause:
RemoteTransactionContext's failure to acquire indicates a slow leader,
while TransactionContextWrapper indicates a failure to discover a leader
in time.
Modify acquire() to report success and log failures to acquire from
the two call sites, with different messages so it is immediately clear
what is going on.
Change-Id: Ie828984c6a984690224494af1a9fdd0e4f257fab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 9 Feb 2018 15:55:27 +0000 (16:55 +0100)]
Fix RemoteTransactionContext limiter accounting
In case we lose connectivity between the frontend and backend
at the early stages of a big transaction, e.g. after the transaction
is created at the backend and before it is submitted, we can run into
OperationLimiter preventing recovery.
The reason for this is that OperationLimiter itself does not know
how many permits a BatchedModification request contained, hence
on AskTimeoutException it would only decrement permits by one
and the operations would remain throttled. With large transactions
this means the application will suddenly become bogged down
by the OperationLimiter, preventing it from submitting the transaction
or otherwise recovering.
Once any BatchedModifications request fails, the transaction is
doomed anyway, as the message counts on frontend and backend will not
match. Furthermore we must not issue any reads -- the backed does
not have all the modifications, hence it could return an incorrect
result.
Move permit tracking to RemoteTransactionContext, where we can capture
the number of permits in the OnComplete that gets invoked, properly
returning permits which correspond to the BatchedModifications message.
If we have failed to acquire a permit, we also note that and do not
underflow the semaphore.
In case a BatchedModifications message fails, we mark that fact and
turn into a bypass mode: we fail any subsequent reads and do not send
any further BatchedModifications until we see ready being set -- at
which point we coordinate with backend to shoot down the transaction.
An alternative strategy would be to continue transmitting
BatchedModifications, but that would incur an AskTimeout during split,
slowing down the time it takes us to kill flush the doomed transaction
out of the system.
JIRA: CONTROLLER-1814
Change-Id: I919bae0e7173910665e8ec2342d076a710c1c7bf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Stephen Kitt [Mon, 26 Feb 2018 12:04:18 +0000 (13:04 +0100)]
Switch model-topology to odlparent 3.0.2
This module was still on 2.0.5...
Change-Id: I4afe2fffcb3fbad1264f50c41115168843b5b945
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Robert Varga [Wed, 24 Jan 2018 01:39:50 +0000 (02:39 +0100)]
Measure follower activity in nanoseconds
We get more precise tracking and also fewer conversions on the fast
path.
Change-Id: Iea9700bce0b2c75ff26447f2b65022dbfb8dda37
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Stephen Kitt [Fri, 26 Jan 2018 15:40:08 +0000 (16:40 +0100)]
Depend on aries.util explicitly
The blueprint module needs aries.util, declare the dependency
explicitly instead of relying on blueprint.core for it (it’s no longer
pulled in transitively in later versions).
Change-Id: I44063bd5d258eedbd0fa545ce16e81df87992ae1
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Anil Belur [Mon, 26 Feb 2018 07:41:41 +0000 (17:41 +1000)]
Bump versions by x.(y+1).z for next dev cycle
Change-Id: I9711fa7d6a0b05730b4fedc2903d9e7ddd3d276c
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Faseela K [Thu, 15 Feb 2018 19:08:38 +0000 (00:38 +0530)]
Export model-topology as a feature
This is required by openflowplugin.
They should be consumable as feature, not bundle.
For detailed discussion, please refer to the followings
https://lists.opendaylight.org/pipermail/release/2018-January/013604.html
https://lists.opendaylight.org/pipermail/release/2017-September/012356.html
Change-Id: I3fb42770efec22a84b143f05ba0329d591eb2a16
Signed-off-by: Faseela K <faseela.k@ericsson.com>
Robert Varga [Mon, 8 Jan 2018 12:22:08 +0000 (13:22 +0100)]
Fix ReadyLocalTransactionSerializer
The following exception was seen in the field:
2017-12-20 19:37:05,507 | ERROR | ult-dispatcher-2 | Remoting | 174 - com.typesafe.akka.slf4j - 2.4.7 | java.lang.ClassNotFoundException: org.opendaylight.controller.cluster.datastore.messages.BatchedModifications
org.apache.commons.lang3.SerializationException: java.lang.ClassNotFoundException: org.opendaylight.controller.cluster.datastore.messages.BatchedModifications
at org.apache.commons.lang3.SerializationUtils.deserialize(SerializationUtils.java:229)
at org.apache.commons.lang3.SerializationUtils.deserialize(SerializationUtils.java:267)
at org.opendaylight.controller.cluster.datastore.messages.ReadyLocalTransactionSerializer.fromBinaryJava(ReadyLocalTransactionSerializer.java:49)
at akka.serialization.JSerializer.fromBinary(Serializer.scala:177)
at akka.serialization.Serialization$$anonfun$deserialize$2.apply(Serialization.scala:124)
at scala.util.Try$.apply(Try.scala:192)
at akka.serialization.Serialization.deserialize(Serialization.scala:114)
at akka.remote.serialization.MessageContainerSerializer.fromBinary(MessageContainerSerializer.scala:80)
at akka.serialization.Serialization$$anonfun$deserialize$2.apply(Serialization.scala:124)
at scala.util.Try$.apply(Try.scala:192)
at akka.serialization.Serialization.deserialize(Serialization.scala:114)
at akka.remote.MessageSerializer$.deserialize(MessageSerializer.scala:24)
at akka.remote.DefaultMessageDispatcher.payload$lzycompute$1(Endpoint.scala:60)
at akka.remote.DefaultMessageDispatcher.payload$1(Endpoint.scala:60)
at akka.remote.DefaultMessageDispatcher.dispatch(Endpoint.scala:78)
at akka.remote.EndpointReader$$anonfun$receive$2.applyOrElse(Endpoint.scala:978)
at akka.actor.Actor$class.aroundReceive(Actor.scala:484)
at akka.remote.EndpointActor.aroundReceive(Endpoint.scala:447)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
at akka.actor.ActorCell.invoke(ActorCell.scala:495)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
at akka.dispatch.Mailbox.run(Mailbox.scala:224)
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.ClassNotFoundException: org.opendaylight.controller.cluster.datastore.messages.BatchedModifications
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:683)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1863)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1746)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2037)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1568)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:428)
at org.apache.commons.lang3.SerializationUtils.deserialize(SerializationUtils.java:223)
... 26 more
As it turns out, ReadyLocalTransactionSerializer is not following JSerializer
documentation recommendations of loading classes via ExtendedActorSystem.
Change-Id: Idef62f8c7a50d607ef152083693fac63c7e92447
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 23 Jan 2018 18:13:10 +0000 (19:13 +0100)]
Add AbstractDOMBrokerTransaction.toString()
It is quite common for applications to mis-synchronize transaction
chain closure, which may lead to stale transactions. Unfortunately
the message produced in such situations:
2017-12-21 14:21:56,008 | ERROR | CommitFutures-48 | ExecutionList | 38 - com.google.guava - 18.0.0 | RuntimeException while executing runnable com.google.common.util.concurrent.Futures$6@
6d954ae with executor INSTANCE
java.lang.IllegalStateException: Attempted to close chain with outstanding transaction PingPongTransaction{delegate=org.opendaylight.controller.cluster.databroker.DOMBrokerReadWriteTransaction@
7523c916}
does not give us enough information to correlate the impact of such
failures.
Add AbstractDOMBrokerTransaction.toString(), which results
in the message having actual transaction identifier, so that these
failures can be correlated.
Change-Id: Id4620df4285ec6d3ba24bbcd8f5ab8c1a29e0687
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 24 Jan 2018 01:26:58 +0000 (02:26 +0100)]
Make FollowerLogInformation a class
This really is a mutable state holder, there is no good reason why
it should be split into an interface and an implementation.
Change-Id: I63a080a4f04bfa4baf1eb291a06140605a50762c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 14 Feb 2018 15:36:00 +0000 (16:36 +0100)]
Add clustering IT tests to mdsal-artifacts
All artifacts produced should be listed here, fix that.
Change-Id: Ic8c198a69553b471f934e3052742bdc36664ccec
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 13 Feb 2018 19:00:14 +0000 (20:00 +0100)]
Package config-util into odl-config-util
Netconf is using the XML packages in config-util extensively,
so we should package it separately from odl-config-core to express
the dependency correctly.
JIRA: NETCONF-508
Change-Id: Id3f0b88f1ebcb9bd41292ecb948e15e6ffcde49d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Ryan Goulding [Thu, 8 Feb 2018 19:04:53 +0000 (14:04 -0500)]
AAA-147: Jolokia credentials are backed by AAA
Upgrade jolokia-osgi to enable use of "authMode=service-all". This
was added by:
https://github.com/rhuss/jolokia/commit/ \
1441b0df476e7bb5728d32210e13d18aaaa783cb
A corresponding patch is added in AAA to add an Authenticator to the
OSGi service registry which is backed by ODL AAA.
This closes the vulnerability of using plaintext credentials for
odl-jolokia, and also centralizes credential management.
Change-Id: I5d3a63e47adefbcae96f3794b51da69a3f4980c5
Signed-off-by: Ryan Goulding <ryandgoulding@gmail.com>
Jaime Caamaño Ruiz [Mon, 5 Feb 2018 11:07:42 +0000 (12:07 +0100)]
Delay snapshot backed transaction ready error
Delay snapshot backed transaction ready error to 3PC canCommit.
Change-Id: Ief659423b401936a286f04c2f6c3732722c5aabf
JIRA: CONTROLLER-1812
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
Jaime Caamaño Ruiz [Thu, 1 Feb 2018 09:02:46 +0000 (10:02 +0100)]
Fix infinite loop on cancel transaction
This patch fixes a problem where you would run into an infinite loop
after cancelling DOMForwardedWriteTransaction following an exception
thrown by the backed transaction ready or submit methods.
Change-Id: I24ce3706dcc52e35890246b4796090cd6b1c99b9
JIRA: CONTROLLER-1812
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
Robert Varga [Mon, 29 Jan 2018 13:22:35 +0000 (14:22 +0100)]
MDSAL-298: properly handle unkeyed lists
Unkeyed lists are not representable in binding, which means they
cannot be reported as modified children, either. This has implications
for any data change which contains unrepresentable fields as child
modifications.
Previously we would report SUBTREE_MODIFIED for the container node,
but would fail to report any children, which is obviously wrong, as the
user is left guessing as to what exactly happened.
This patch modifies LazyDataObjectModification to report a WRITE event
if modifications to unrepresentable children are found in SUBTREE_MODIFIED
case.
It also reuses BindingStructuralType from md-sal, so that we do not have
two copies of this critical class lying around requiring maintenance.
Change-Id: I30599bc26d3c993c5b6c5e2f9e6f66144a530cb5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tom Pantelis [Fri, 5 Jan 2018 01:04:41 +0000 (20:04 -0500)]
CONTROLLER-1641: Handle commit cohorts async
Modified CompositeDataTreeCohort to handle response messages from
the DataTreeCohortActor async. The canCommit, preCommit, and commit
methods now return an Optional CompletionStage that is present when
there are commit cohorts. On completion of the cohort actor Futures, a
Runnable is executed in the shard actor to process the responses and
complete the returned CompletionStage. The call sites in
SimpleShardDataTreeCohort execute their own callbacks on completion.
Change-Id: Ib1a22e059dabfe87a1ee141baae655601f9ce700
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Michael Vorburger [Thu, 1 Feb 2018 16:40:38 +0000 (17:40 +0100)]
Disable archetype self testing
because it breaks autorelease, see
https://lists.opendaylight.org/pipermail/controller-dev/2018-February/014185.html
Change-Id: Ice64ff8b87d57faa7442767a39b84420671cb8d4
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Robert Varga [Thu, 25 Jan 2018 15:26:27 +0000 (16:26 +0100)]
Rename odl-mdsal-common to odl-controller-mdsal-common
Feature names are a flat namespace and odl-mdsal-common is conflicting
with a feature provided by mdsal. Since odl-mdsal- is mdsal's part
of the namespace, rename the feature to be in controller's namespace.
Change-Id: I986ae7574caea1f2a32b802a5b2a5873d6ac8c60
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 29 Jan 2018 11:02:41 +0000 (12:02 +0100)]
Fix ModificationType.APPEARED mapping
When a node appears, it is an event equivalent to a WRITE,
not SUBTREE_MODIFIED, otherwise we are logically crossing
a non-existent node.
Change-Id: I0876a18ec4af799db30c384fe4a7e38b9b2833c7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tom Pantelis [Thu, 4 Jan 2018 04:52:12 +0000 (23:52 -0500)]
CONTROLLER-1641: Integrate DataTreeCohortActor with pipe-lining
The DataTreeCohortActor was originally written assuming that only
one 3-phase commit was in progress at any time and thus maintained
a single state. However with transaction pipe-lining there can be
multiple simultaneous 3-phase commits so DataTreeCohortActor was
modified to maintain/track state per transaction.
In addition, it now also handles the DOMDataTreeCommitCohort
Futures async.
Change-Id: Ib7588ea2e32b297a2db0b532726549f9ec61a1a4
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Stephen Kitt [Mon, 27 Nov 2017 16:25:18 +0000 (17:25 +0100)]
CONTROLLER-1764: avoid refreshes
odl-mdsal-trace can no longer be installed with Karaf 4, because of a
number of bundle refreshes which result in the datastore restarting
while changing classloaders, resulting in chaos. This patch enforces a
number of optional dependencies, avoiding the refreshes.
Change-Id: I8f5c75c454c40a19f9a4996571f6f8505de00fb0
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Tom Pantelis [Fri, 26 Jan 2018 05:48:41 +0000 (00:48 -0500)]
Fix intermittent RemoteRpcRegistryMXBeanImplTest failures
testFindRpcByRoute(org.opendaylight.controller.remote.rpc.registry.mbeans.RemoteRpcRegistryMXBeanImplTest) Time elapsed: 0.98 sec <<< ERROR!
java.lang.IllegalStateException: Attempted to access local bucket before recovery completed
at com.google.common.base.Preconditions.checkState(Preconditions.java:501)
at org.opendaylight.controller.remote.rpc.registry.gossip.BucketStoreActor.getLocalBucket(BucketStoreActor.java:384)
at org.opendaylight.controller.remote.rpc.registry.gossip.BucketStoreActor.getLocalData(BucketStoreActor.java:110)
at org.opendaylight.controller.remote.rpc.registry.mbeans.RemoteRpcRegistryMXBeanImpl.findRpcByRoute(RemoteRpcRegistryMXBeanImpl.java:91)
at org.opendaylight.controller.remote.rpc.registry.mbeans.RemoteRpcRegistryMXBeanImplTest.testFindRpcByRoute(RemoteRpcRegistryMXBeanImplTest.java:142)
The problem is that the RemoteRpcRegistryMXBeanImpl access the enclosing
RpcRegistry Actor instance directly and violates actor encapsulation.
RemoteRpcRegistryMXBeanImpl should access the RpcRegistry via messages
sent to its ActorRef.
Change-Id: Icfd67c38e5d1bc3de283949207009d7aa34ab855
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Michael Vorburger [Thu, 18 Jan 2018 02:15:23 +0000 (03:15 +0100)]
DataBrokerTestModule getBindingToNormalizedNodeCodec() & Co.
need these exposed for a new standalone component style test I'm on
Change-Id: I5efd3a6e507d46d035067a561aaca7c2f80f51e6
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Robert Varga [Thu, 25 Jan 2018 14:50:46 +0000 (15:50 +0100)]
Remove stax-utils from features
This dependency should not be needed, removed it.
Change-Id: I712f1ee6a4f525a4053e5082fd3fe8b0fa4aa8a9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
何运波10202176 [Mon, 15 Jan 2018 01:32:32 +0000 (09:32 +0800)]
Fix the inner order of switchBehavior in RaftAcotr
updateAndPersist should be called before switchBehavior.
Otherwise, when the EntityOwnershipShard trigger a new write transaction
in onLeaderChanged base on last term, It will lead to fail in this
transaction because of the term value is inconsistent between AppendEntries
and AppendEntriesReply
Change-Id: I9118f7ec283f23e02dc285ccf6a3fbbce47dc508
Signed-off-by: HeYunBo <he.yunbo@zte.com.cn>
Robert Varga [Thu, 16 Nov 2017 13:59:36 +0000 (14:59 +0100)]
Migrate from JavaTestKit to javadsl.TestKit
Remove use of deprecated class and use its 2.5.0 replacement. This
leaves a single instance of this class are RaftActorTestKit
and ShartTestKit which will need to be migrated in a follow-up patch.
Change-Id: I5c112f9984bec3ecf2da530f3505aceb83fa1e05
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tom Pantelis [Tue, 23 Jan 2018 16:27:08 +0000 (11:27 -0500)]
CONTROLLER-1811: Fix IT hang in startup archetype
The IT uses the local karaf distro which adds the feature to
the featuresBoot which seems to cause an issue as the test code
also installs the feature. I also changed the test to just install
the impl feature and not the rest feature as the latter is not needed
for IT.
Change-Id: I471c1c1bef444f528f2703b0931416fb3dfcf6cd
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Mon, 22 Jan 2018 22:43:44 +0000 (17:43 -0500)]
CONTROLLER-1809: De-deplicate extraneous ManagedService updates
For some strange reason, the ComponentProcessor gets an extraneous
duplicate update from the ConfigAdmin when running the netvirt
integration/CSIT which causes it to restart the container b/c it
thinks there was an update. There is no cfg file so both updates
pass a null Properties. Oddly, I do not see this behavior when
installing the toaster feature from the controller karaf.
I added logic to store the last update and only restart if it
changed. In my testing though, the ConfigAdmin does not notify
unless a change actually occurred.
Change-Id: I692dbd7fcaf921b90f828059d6104138c16a0508
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Mon, 22 Jan 2018 22:15:22 +0000 (17:15 -0500)]
Fix blueprint event handling
The BlueprintBundleTracker registers for blueprint events so it can
log when a bundle finished creating its container, successful or not,
and also has logic to restart the container on dependency failure.
However this was broken due to changes in Aries. You now have to
register a specific BlueprintListener onstead of a general OGSI
EventHandler.
Also this affected the BlueprintContainerRestartServiceImpl as it
relies on blueprint events to now when all bundles have completed
restart.
Change-Id: Ibb121b3995147a56be7f606ed88e9c1f59e3cd4c
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Sun, 17 Dec 2017 06:44:59 +0000 (01:44 -0500)]
Fix issues with the maven startup-archetype
- The features-* pom only lists the odl-*-api feature as a
dependency - it needs to also list the impl feature, and the
cli and rest features.
- With the above fix, we can uncomment the karaf.localFeature property
in the karaf/pom so the rest feature is added to the featuresBoot.
- Replaced the hardcoded X in the feature directory names (eg odl-X-api)
with the variable __artifactId__. Also removed the <fileSet> elements
for the hardcoded directory names in the archetype-metadata.xml and
wildcarded the features <fileSet> so all child poms are included.
- Fixed the "LineLength" checkstyle error in the *CliTestCommand class.
However this class and *CliCommandsImpl contain imports for the
generated package bame and thus could be in the incorrect
lexicographical order for the CustomImportOrder checking.
I tried @SuppressWarnings but it didn't work for that check
but I placed the generated imports such that
"org.opemdaylight.example" will work w/o error :)
- The Integration Test (it/) is commented out in the modules due to CONTROLLER-1811.
- The Integration Test (it/) project has an @Ignore due to CONTROLLER-1810.
- The "it" project didn't build - this was b/c the pom had the incorrect
<type> for the features-* <dependency>.
- Changed the *IT class name to *Test so it runs with the normal "test"
command rather than having to run "integration-test" which some users may
not know to do.
- Removed the left-over maven site generation stuff.
Change-Id: I91c5747bf0defd635649d6f822e84bed810ee344
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Robert Varga [Mon, 22 Jan 2018 17:01:12 +0000 (18:01 +0100)]
Lower verbosity of TransactionProxy logging
Logging the contents of modifications is quite space-hungry,
drop them to trace level.
Change-Id: Ie63c45b92b03cd2b3a52404d439b35307d356cac
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tom Pantelis [Sat, 20 Jan 2018 00:19:03 +0000 (19:19 -0500)]
Handle empty type in NormalizedNode streaming
The yang "empty" type is now represented as
org.opendaylight.yangtools.yang.common.Empty so handle it.
NormalizedNode no longer allows a null value but we still need
to handle NULL_TYPE on input for backwards compatibility. NULL_TYPE
is translated to Empty.
Change-Id: I99b87138d7358d37170cf603d993cd1a4f6a2087
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Michael Vorburger [Mon, 22 Jan 2018 15:56:43 +0000 (16:56 +0100)]
restart-dependents-on-updates=false for CONTROLLER-1809
Change-Id: If6a1d7c0f22e98b9078404c3fd116a75603dd561
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Michael Vorburger [Mon, 27 Nov 2017 18:24:25 +0000 (19:24 +0100)]
Enable archetype self testing
this requires https://git.opendaylight.org/gerrit/#/c/65940/
see https://jira.opendaylight.org/browse/CONTROLLER-1799
Change-Id: I1cecbad50abf595f164463deb55bdcda797f5a9e
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Robert Varga [Thu, 18 Jan 2018 20:34:10 +0000 (21:34 +0100)]
Eliminate unneeded dependencies on yangtools features
yangtools features are mostly brought in transitively, hence
we do not need to reference them at all. Those that we do need
to pull in are turned into range imports.
Change-Id: I7ef03aa9f4504e2dfa6d73322f59b5b78b80c94c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 17 Jan 2018 22:32:47 +0000 (23:32 +0100)]
Bump yangtools to 2.0.1
This picks up the latest fixes, ensuring they are present at deployment
time.
Change-Id: Idef26b28dfb41b24b86ad6a6a8900cc46f94f591
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Michael Vorburger [Tue, 16 Jan 2018 00:54:13 +0000 (01:54 +0100)]
Do not inline javax.annotation in config-manager
as in If36ced7ad72b19d1240f49c3224ff65c29ee22a0: "We should not be
including a private copy of javax.annotation, as we do not need it."
This one was found by the odl.simple's ClasspathHellDuplicatesCheckRule:
>> jHades - scanning classpath for overlapping jars:
file:/home/vorburger/.m2/repository/org/opendaylight/controller/config-manager/0.8.0-SNAPSHOT/config-manager-0.8.0-SNAPSHOT.jar
overlaps with
file:/home/vorburger/.m2/repository/com/google/code/findbugs/annotations/3.0.0/annotations-3.0.0.jar
- total overlapping classes: 35 - same classloader ! This is an ERROR!
Change-Id: I8b11ed8de2b31aef5e8410f0673a2ed85017287e
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Tom Pantelis [Fri, 12 Jan 2018 03:18:11 +0000 (22:18 -0500)]
Uncomment @Test in ShardManagerTest
I wanted to run one only test in ShardManagerTest and
commented out @Test for the rest but forgot to uncomment
before submitting.
Change-Id: I81d38b62da50c4118a30b0255ba97ba244b8daa5
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Stephen Kitt [Mon, 15 Jan 2018 13:44:47 +0000 (14:44 +0100)]
CSS: handle features with no version
When a feature has no version, it can end up interpreted as having
version 0.0.0 (which is the default version). CSS ends up looking for
features with version 0.0.0, which fail to compare with versionless
features. This patch deals with this case explicitly.
Change-Id: I354c7d679e194c38a6aa6883deb2da2b24cda29e
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Robert Varga [Sun, 26 Nov 2017 23:20:42 +0000 (00:20 +0100)]
Do not inline karaf.features.internal.model
Since karaf-4.1.2+ exposes proper model-level indicator of version
non-presence, we do not need to muck around in internals -- leading
to us not inlining ~90KiB of classes.
Also trims duplicate dependencies, as features-core already contains
a copy of felix.utils -- eliminating a bundle warning.
Change-Id: Ic6e3645a56a2e4a3072c50da52a34effe4a0b71a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 15 Jan 2018 13:58:55 +0000 (14:58 +0100)]
Do not inline javax.annotation
We should not be including a private copy of javax.annotation,
as we do not need it.
Change-Id: If36ced7ad72b19d1240f49c3224ff65c29ee22a0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tom Pantelis [Mon, 18 Dec 2017 21:40:25 +0000 (16:40 -0500)]
Reduce log level in FeatureConfigPusher to eliminate noise
With the upgrade to karaf 4.1.3, we're seeing a lot of these log
messages:
2017-12-18T15:56:14,593 | INFO | ConfigFeatureListener - ConfigPusher | FeatureConfigPusher | 72 - config-persister-feature-adapter - 0.8.0.SNAPSHOT | Karaf Feature Service has not yet finished installing feature wrap/0.0.0 (retry 78)
03:16:08.712 [ConfigFeatureListener - ConfigPusher] ERROR
org.opendaylight.controller.configpusherfeature.internal.FeatureConfigPusher
- Giving up (after 100 retries) on Karaf featuresService.listInstalledFeatures()
which has not yet finished installing feature *wrap* 0.0.0
They only occur for system features "jaas-boot" and "wrap". Reduce them to debug.
Change-Id: I8c421f34f9c49d4e5a70649ad9af55e8cffe197d
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Tom Pantelis [Fri, 12 Jan 2018 02:01:15 +0000 (21:01 -0500)]
Work around ShardManagerTest.testOnReceiveFindPrimaryForRemoteShard failure
This test fails frequently on jenkins for some reason but passes locally
(I ran it 50 times). It's the last part of the test that fails so I
commented it out for now.
Change-Id: I016f112bf0e58fe0e49498453557be4453656ae9
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Robert Varga [Sat, 25 Nov 2017 01:06:30 +0000 (02:06 +0100)]
Migrate WordUtils users
WordUtils is being moved to commons-text, move to using that.
Change-Id: I23a899c955071140c4e1948cf4bfa998f7bd1218
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tom Pantelis [Thu, 14 Dec 2017 23:29:22 +0000 (18:29 -0500)]
Bump to odlparent 3.0.2
Change-Id: Ifb16521edc9fa7209c0af8e13745c6b5611d77b7
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Robert Varga [Wed, 11 Oct 2017 19:31:07 +0000 (21:31 +0200)]
Adjust to yangtools-2.0.0 changes
Change-Id: Ib86747e5ed19c0c00bb46b8d7e4936f4d90c4364
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Stephen Kitt <skitt@redhat.com>
Robert Varga [Wed, 11 Oct 2017 18:54:53 +0000 (20:54 +0200)]
Bump yangtools to 2.0.0
This bumps odlparent to 3.0.1 and yangtools to 2.0.0. Also fixes
references to features, so that the build reactor is consistent.
Compilation fixes are addressed in a follow-up patch.
Change-Id: I24f9997c2ec22861e674b74fb01d43f783e3dbc1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Tom Pantelis [Tue, 2 Jan 2018 14:59:07 +0000 (09:59 -0500)]
Prevent non-voting member from becoming entity owner
The use case for a non-voting member is as a backup node so
it makes sense not to allow a non-voting member to become an
entity owner. Also, when a voting state change occurs,
ownership is re-evauated for all entities.
Change-Id: Id8d75c4ae2f91be10aa20e97bdc4448776ae4445
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
wusandi [Wed, 20 Dec 2017 07:09:12 +0000 (15:09 +0800)]
register RemoteRpcRegistryMXBean
The RemoteRpcRegistryMXBean had not registered because of code refactoring.
I'm sure that it had been removed from one of history commits,
But I think it should be added back to support jmx for query rpcs
when one of rpcs breaks down.
Change-Id: I506ed5c25c7615b8bb7ac9c0102bf671ff40bb78
Signed-off-by: wusandi <wusandi@163.com>
YIN Kangqian [Thu, 21 Dec 2017 05:44:54 +0000 (13:44 +0800)]
Compare member names in leader identifier and member event instead of by leader identifier contains member name.
ShardManager#markMemberUnavailable/markMemberAvailable now decide whether current leader shards
are on the unavailable/available member by the leader identifier contains the member name.
This way will make a wrong decision when the member name on which leader shard reside contains
the member name which becomes unavailable/available.
New added UT ShardManagerTest#testShardAvailabilityChangeOnMemberWithNameContainedInLeaderIdUnreachable
captures this radical case. And two lines change in ShardManager will pass this UT.
Change-Id: Ib7cd02316c192aeaa8cdac14ff9ece0f872386a6
Signed-off-by: YIN Kangqian <yin.kangqian@zte.com.cn>