aboutsummaryrefslogtreecommitdiffstats
path: root/appc-provider
diff options
context:
space:
mode:
authorPatrick Brady <pb071s@att.com>2017-07-28 11:29:23 -0700
committerPatrick Brady <pb071s@att.com>2017-08-02 15:43:44 +0000
commit38713207b817ed4700f630748c681116338d32f0 (patch)
tree9eb2097cee8d85ac14f17e3a280ae8aefb69d9de /appc-provider
parent771ac55e29d099d8bbf783612de975047d75ab12 (diff)
Merging in bug fixes
Change-Id: I85da90b9ba0d03149f42035a820c76ef0285e413 Signed-off-by: Patrick Brady <pb071s@att.com> Issue: APPC-100
Diffstat (limited to 'appc-provider')
-rw-r--r--appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/AppcProviderLcm.java28
-rw-r--r--appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/lcm/util/RequestInputBuilder.java12
-rw-r--r--appc-provider/appc-provider-bundle/src/main/resources/org/openecomp/appc/org.ops4j.pax.logging.cfg144
3 files changed, 30 insertions, 154 deletions
diff --git a/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/AppcProviderLcm.java b/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/AppcProviderLcm.java
index de77c8ea6..90097aea8 100644
--- a/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/AppcProviderLcm.java
+++ b/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/AppcProviderLcm.java
@@ -25,6 +25,7 @@
package org.openecomp.appc.provider;
import java.text.ParseException;
+import java.util.Collection;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
@@ -42,6 +43,7 @@ import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
import org.openecomp.appc.Constants;
import org.openecomp.appc.configuration.Configuration;
import org.openecomp.appc.configuration.ConfigurationFactory;
+import org.openecomp.appc.domainmodel.lcm.ActionLevel;
import org.openecomp.appc.domainmodel.lcm.ResponseContext;
import org.openecomp.appc.domainmodel.lcm.RuntimeContext;
import org.openecomp.appc.executor.objects.LCMCommandStatus;
@@ -59,6 +61,7 @@ import com.att.eelf.configuration.EELFManager;
import com.att.eelf.i18n.EELFResourceManager;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
import com.google.common.util.concurrent.Futures;
@@ -179,7 +182,7 @@ public class AppcProviderLcm implements AutoCloseable, AppcProviderLcmService {
/**
* Restarts a specific VNF
*
- * @see org.opendaylight.yang.gen.v1.org.openecomp.appc.rev160108.AppcProviderLcmService#restart(RestartInput)
+ * @see org.opendaylight.yang.gen.v1.org.openecomp.appc.lcm.rev160108.AppcProviderLcmService#restart(RestartInput)
*/
@Override
public Future<RpcResult<RestartOutput>> restart(RestartInput input) {
@@ -402,7 +405,7 @@ public class AppcProviderLcm implements AutoCloseable, AppcProviderLcmService {
private RequestHandlerOutput executeRequest(RequestHandlerInput request){
- RequestHandler handler = getRequestHandler();
+ RequestHandler handler = getRequestHandler(request.getRequestContext().getActionLevel());
RequestHandlerOutput requestHandlerOutput;
try {
requestHandlerOutput = handler.handleRequest(request);
@@ -432,16 +435,21 @@ public class AppcProviderLcm implements AutoCloseable, AppcProviderLcmService {
return requestHandlerOutput;
}
- private RequestHandler getRequestHandler(){
+ private RequestHandler getRequestHandler(ActionLevel actionLevel){
RequestHandler handler ;
final BundleContext context = FrameworkUtil.getBundle(RequestHandler.class).getBundleContext();
- final ServiceReference reference = context.getServiceReference(RequestHandler.class.getName());
-
- if (reference != null) {
- handler = (RequestHandler) context.getService(reference);
- } else {
- logger.error("Cannot find service reference for " + RequestHandler.class.getName());
- throw new RuntimeException();
+ String filter = "(level=" + actionLevel.name() + ")";
+ try {
+ Collection<ServiceReference<RequestHandler>> serviceReferences = context.getServiceReferences(RequestHandler.class, filter);
+ if (serviceReferences.size() != 1) {
+ logger.error("Cannot find service reference for " + RequestHandler.class.getName());
+ throw new RuntimeException();
+ }
+ ServiceReference<RequestHandler> serviceReference = serviceReferences.iterator().next();
+ handler = context.getService(serviceReference);
+ } catch (InvalidSyntaxException e) {
+ logger.error("Cannot find service reference for " + RequestHandler.class.getName() + ": Invalid Syntax " + filter, e);
+ throw new RuntimeException(e);
}
return handler ;
}
diff --git a/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/lcm/util/RequestInputBuilder.java b/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/lcm/util/RequestInputBuilder.java
index 0c4fc7341..495fa82a6 100644
--- a/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/lcm/util/RequestInputBuilder.java
+++ b/appc-provider/appc-provider-bundle/src/main/java/org/openecomp/appc/provider/lcm/util/RequestInputBuilder.java
@@ -28,11 +28,13 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
+import org.apache.commons.lang.StringUtils;
import org.opendaylight.yang.gen.v1.org.openecomp.appc.lcm.rev160108.Payload;
import org.opendaylight.yang.gen.v1.org.openecomp.appc.lcm.rev160108.action.identifiers.ActionIdentifiers;
import org.opendaylight.yang.gen.v1.org.openecomp.appc.lcm.rev160108.common.header.CommonHeader;
import org.opendaylight.yang.gen.v1.org.openecomp.appc.lcm.rev160108.common.header.common.header.Flags;
import org.openecomp.appc.domainmodel.lcm.Flags.Mode;
+import org.openecomp.appc.domainmodel.lcm.ActionLevel;
import org.openecomp.appc.domainmodel.lcm.RequestContext;
import org.openecomp.appc.domainmodel.lcm.VNFOperation;
import org.openecomp.appc.requesthandler.objects.RequestHandlerInput;
@@ -139,11 +141,21 @@ public class RequestInputBuilder {
actionIds.setvServerId(actionIdentifiers.getVserverId());
actionIds.setVnfId(actionIdentifiers.getVnfId());
this.requestContext.setActionIdentifiers(actionIds);
+
+ ActionLevel actionLevel = readActionLevel(actionIds);
+ this.requestContext.setActionLevel(actionLevel);
return this;
}else{
throw new ParseException("Missing action identifier" , 0);
}
}
+ private ActionLevel readActionLevel(org.openecomp.appc.domainmodel.lcm.ActionIdentifiers actionIds) {
+ if(!StringUtils.isEmpty(actionIds.getVserverId())){
+ return ActionLevel.VM;
+ }
+ return ActionLevel.VNF;
+ }
+
}
diff --git a/appc-provider/appc-provider-bundle/src/main/resources/org/openecomp/appc/org.ops4j.pax.logging.cfg b/appc-provider/appc-provider-bundle/src/main/resources/org/openecomp/appc/org.ops4j.pax.logging.cfg
deleted file mode 100644
index be5863291..000000000
--- a/appc-provider/appc-provider-bundle/src/main/resources/org/openecomp/appc/org.ops4j.pax.logging.cfg
+++ /dev/null
@@ -1,144 +0,0 @@
- ################################################################################
- #
- # Licensed to the Apache Software Foundation (ASF) under one or more
- # contributor license agreements. See the NOTICE file distributed with
- # this work for additional information regarding copyright ownership.
- # The ASF licenses this file to You 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,
- # WITH WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- ################################################################################
-
- # Root
- #log4j.rootLogger=TRACE, osgi:VmLogAppender
- log4j.rootLogger=TRACE, out, sift, osgi:*
- log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
-
- # CONSOLE appender not used by default
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
- log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
-
- # Async appender forwarding to file appender
- log4j.appender.async=org.apache.log4j.AsyncAppender
- log4j.appender.async.appenders=out
-
- # Karaf appenders
- # File appender
- log4j.appender.out=org.apache.log4j.RollingFileAppender
- log4j.appender.out.layout=org.apache.log4j.PatternLayout
- log4j.appender.out.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
- log4j.appender.out.file=${karaf.data}/log/karaf.log
- log4j.appender.out.append=true
- log4j.appender.out.maxFileSize=10MB
- log4j.appender.out.maxBackupIndex=100
-
-
- # Sift appender
- log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
- log4j.appender.sift.key=bundle.name
- log4j.appender.sift.default=karaf
- log4j.appender.sift.appender=org.apache.log4j.RollingFileAppender
- log4j.appender.sift.appender.layout=org.apache.log4j.PatternLayout
- log4j.appender.sift.appender.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName} - %X{bundle.id} - %X{bundle.name} - %X{bundle.version}|%-5.5p|%X{AlertSeverity}|%X{ServerFQDN}|%X{ServerIPAddress}|[%c{3}]|%m%n
- log4j.appender.sift.appender.file=${karaf.data}/log/eelf/karaf.log
- log4j.appender.sift.appender.append=true
-
- log4j.category.org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPusherImpl=DEBUG
- log4j.category.org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPersisterActivator=DEBUG
-
-
- #ECOMP Debug appender
- log4j.appender.debug=org.apache.log4j.RollingFileAppender
- log4j.appender.debug.key=bundle.name
- log4j.appender.debug.default=karaf
-
- log4j.appender.debug.appName=EELFDebug
- log4j.appender.debug.layout=org.apache.log4j.PatternLayout
- log4j.appender.debug.layout.ConversionPattern=%d{yyyy-MM-dd'T'hh:mm:ss.SSSXXX}|%X{RequestId}|%m%n
- #log4j.appender.debug.filter.f1=org.apache.log4j.varia.LevelRangeFilter
- #log4j.appender.debug.filter.f1.LevelMax=WARN
- #log4j.appender.debug.filter.f1.LevelMin=TRACE
-
-
- log4j.appender.debug.file=${karaf.data}/log/APPC/appc-debug.log
- log4j.appender.debug.append=true
- log4j.appender.debug.maxFileSize=100MB
- log4j.appender.debug.maxBackupIndex=10
-
-
- #Error appender
- log4j.appender.error=org.apache.log4j.RollingFileAppender
- log4j.appender.error.appName=EELFError
- log4j.appender.error.File=${karaf.data}/log/APPC/appc-error.log
- log4j.appender.error.Threshold=ERROR
- log4j.appender.error.MaxBackupIndex=1
- log4j.appender.error.MaxFileSize=100MB
- log4j.appender.error.layout=org.apache.log4j.PatternLayout
- log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd'T'hh:mm:ss.SSSXXX}|%X{RequestId}|%t|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%-5.5p|%X{ErrorCode}|%X{ErrorDescription}|%m%n
-
- #Metrics appender
- log4j.appender.metric=org.apache.log4j.RollingFileAppender
- log4j.appender.metric.appName=EELFMetrics
- log4j.appender.metric.File=${karaf.data}/log/APPC/appc-metric.log
- log4j.appender.metric.MaxBackupIndex=1
- log4j.appender.metric.MaxFileSize=100MB
- log4j.appender.metric.layout=org.apache.log4j.PatternLayout
- log4j.appender.metric.layout.ConversionPattern=%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%-5.5p|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%m%n
-
- #Audit appender
- log4j.appender.audit=org.apache.log4j.RollingFileAppender
- log4j.appender.audit.appName=EELFAudit
- log4j.appender.audit.File=${karaf.data}/log/APPC/appc-audit.log
- log4j.appender.audit.MaxBackupIndex=1
- log4j.appender.audit.MaxFileSize=100MB
- log4j.appender.audit.layout=org.apache.log4j.PatternLayout
- log4j.appender.audit.layout.ConversionPattern=%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%-5.5p|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}||%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%m%n
-
- #Loggers
- #Routing of all messages from root logger
- log4j.logger.com.att=TRACE, debug, error
- #Store to the same log file messages from upper level appender or not
- log4j.additivity.com.att=false
-
- #EELFManager loggers
- #EELF parent logger
- log4j.logger.com.att.eelf=TRACE, debug
- log4j.additivity.com.att.eelf=false
-
- #Audit logger routing
- log4j.logger.com.att.eelf.audit=DEBUG, audit
- log4j.additivity.com.att.eelf.audit=false
-
- #Metric logger routing
- log4j.logger.com.att.eelf.metrics=DEBUG, metric
- log4j.additivity.com.att.eelf.metrics=false
-
- #Performance logger routing
- log4j.logger.com.att.eelf.perf=DEBUG, metric
- log4j.additivity.com.att.eelf.perf=false
-
- #Server logger routing
- log4j.logger.com.att.eelf.server=DEBUG, debug
- log4j.additivity.com.att.eelf.server=false
-
- #Policy logger routing
- log4j.logger.com.att.eelf.policy=DEBUG, debug
- log4j.additivity.com.att.eelf.policy=false
-
- #Error logger routing
- log4j.logger.com.att.eelf.error=DEBUG, error
- log4j.additivity.com.att.eelf.error=false
-
- #Debug logger routing
- log4j.logger.com.att.eelf.debug=DEBUG, debug
- log4j.additivity.com.att.eelf.debug=false
-