From 3b6bb8e880d3b56afb7767ea7d0505ceb49f8890 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Thu, 3 May 2018 14:47:23 -0400 Subject: Fix various problems in pooling Renamed META-INF SessionAPI to EngineAPI, as it implements the latter. Created default PoolingFeature.factory object. Don't delete a controller's pooling manager when stop is called; do that in afterHalt and afterShutdown. This enables it to be restarted as long as the controller still exists. Only stop & start the internal DMaaP topic at the engine level instead of the controller level. This is necessary to prevent sinks for ALL controllers from being started each time an individual controller starts. Clear all bucket assignments when controller is stopped. Mark test methods with @Override annotation. Add default property file for pooling feature. Add license to default property file. Remove tests for doDeleteManager(), as it no longer exists. Changed " = " to "=" in the property file. Change-Id: I80c0c3f1879b5a320044db93e3dfa3b7281cda51 Issue-ID: POLICY-774 Signed-off-by: Jim Hahn --- .../config/feature-pooling-dmaap.properties | 89 ++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 feature-pooling-dmaap/src/main/feature/config/feature-pooling-dmaap.properties (limited to 'feature-pooling-dmaap/src/main/feature') diff --git a/feature-pooling-dmaap/src/main/feature/config/feature-pooling-dmaap.properties b/feature-pooling-dmaap/src/main/feature/config/feature-pooling-dmaap.properties new file mode 100644 index 00000000..64a6b063 --- /dev/null +++ b/feature-pooling-dmaap/src/main/feature/config/feature-pooling-dmaap.properties @@ -0,0 +1,89 @@ +### +# ============LICENSE_START======================================================= +# feature-pooling-dmaap +# ================================================================================ +# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +# In general, the feature-specific properties begin with "pooling", +# and they may be made specific to a controller by prepending with +# "pooling.", instead. +# +# The available properties and their default values are shown below. + +# Whether or not the feature is enabled. +#pooling.enabled=false + +# The internal DMaaP topic used by a controller. Note: the controller +# name is required for this property. +#pooling..topic = + +# Maximum number of events to retain in the queue while a new host waits +# to be assigned work. +#pooling.offline.queue.limit=1000 + +# Maximum age, in milliseconds, of events to be retained in the queue. +# Events older than this are discarded. +#pooling.offline.queue.age.milliseconds=60000 + +# Time, in milliseconds, to wait for an "Offline" message to be published +# to DMaaP before the connection may be closed. +#pooling.offline.publish.wait.milliseconds=3000 + +# Time, in milliseconds, to wait for this host's initial heart beat. This +# is used to verify connectivity to the internal DMaaP topic. +#pooling.start.heartbeat.milliseconds=100000 + +# Time, in milliseconds, to wait before attempting to re-active this +# host when it was not assigned any work. +#pooling.reactivate.milliseconds=50000 + +# Time, in milliseconds, to wait for other hosts to identify themselves +# when this host is started. +#pooling.identification.milliseconds=50000 + +# Time, in milliseconds, to wait for heart beats from this host, or its +# predecessor, during the active state. +#pooling.active.heartbeat.milliseconds=50000 + +# Time, in milliseconds, to wait between heart beat generations. +#pooling.inter.heartbeat.milliseconds=15000 + +# Topic used for inter-host communication for a particular controller +# pooling..topic=XXX + +# These specify how the request id is to be extracted from each type of +# object that may be presented to a controller from distributed topics +# (i.e., topics whose events are to be distributed among multiple hosts) +extractor.requestId.org.onap.policy.controlloop.VirtualControlLoopEvent=${requestId} +extractor.requestId.org.onap.policy.appc.Response=${commonHeader.requestId} +extractor.requestId.org.onap.policy.appclcm.LcmResponseWrapper=${body.commonHeader.requestId} + + +pooling.amsterdam.enabled=true +pooling.amsterdam.topic=${{AMSTERDAM_POOLING_TOPIC}} + +# the list of sources and sinks should be identical +ueb.source.topics=${{AMSTERDAM_POOLING_TOPIC}} +ueb.sink.topics=${{AMSTERDAM_POOLING_TOPIC}} + +ueb.source.topics.${{AMSTERDAM_POOLING_TOPIC}}.servers=${{DMAAP_SERVERS}} +ueb.source.topics.${{AMSTERDAM_POOLING_TOPIC}}.apiKey= +ueb.source.topics.${{AMSTERDAM_POOLING_TOPIC}}.apiSecret= + +ueb.sink.topics.${{AMSTERDAM_POOLING_TOPIC}}.servers=${{DMAAP_SERVERS}} +ueb.sink.topics.${{AMSTERDAM_POOLING_TOPIC}}.apiKey= +ueb.sink.topics.${{AMSTERDAM_POOLING_TOPIC}}.apiSecret= -- cgit 1.2.3-korg