OAM operations 1 - miscellaneous

OAM operations changes are large, need to break down to multiple
submissions based on size and compilability. This is the first set which
covers: feature installation, audit log message, listener instantiation
and etc.

Includes these user stories: APPC-39/41/43/44/45/46/52/77.

Issue Id: APPC-38
Change-Id: Ifc0f5bd2468732d04ae462be09a6ad720aefba2b
Signed-off-by: beili.zhou <beili.zhou@amdocs.com>
diff --git a/appc-oam/appc-oam-bundle/src/main/resources/org/openecomp/appc/default.properties b/appc-oam/appc-oam-bundle/src/main/resources/org/openecomp/appc/default.properties
index dc84b8b..e9b78cc 100644
--- a/appc-oam/appc-oam-bundle/src/main/resources/org/openecomp/appc/default.properties
+++ b/appc-oam/appc-oam-bundle/src/main/resources/org/openecomp/appc/default.properties
@@ -50,3 +50,41 @@
 org.openecomp.appc.logging.file=logback.xml
 
 
+#
+# The properties would be used by OAM's Stop/Start APIs to stop/start the bundles
+#
+appc.OAM.ToStop.properties=appc.OAM.AppcBundlesToStop\
+,appc.OAM.OtherBundlesToStop
+appc.OAM.ToNotStop.properties=appc.OAM.AppcBundlesToNotStop\
+,appc.OAM.OtherBundlesToNotStop
+
+# These following properties represent the Regular-Expression which would be evaluated against the
+# running Bundles's Symbolic-Name:
+#   - appc.OAM.AppcBundlesToStop
+#   - appc.OAM.OtherBundlesToStop
+#   - appc.OAM.AppcBundlesToNotStop
+#   - appc.OAM.OtherBundlesToNotStop
+appc.OAM.AppcBundlesToStop=.*appc.*\
+,domain-model-lib\
+,execution-queue-management-lib\
+,lock-manager-impl\
+,org.openecomp.sdnc.config.params\
+,org.openecomp.sdnc.config.audit\
+,org.openecomp.sdnc.config.generator\
+,org.openecomp.sdnc.dg.loader\
+,transaction-recorder
+
+appc.OAM.OtherBundlesToStop=.*app-cntrl.*\
+,com.att.sdnctl.sli.adaptor.asyncresponse
+
+appc.OAM.AppcBundlesToNotStop=.*appc.oam.*\
+,appc-common\
+,appc-command-executor-api\
+,appc-lifecycle-management-api\
+,appc-lifecycle-management-core\
+,appc-metric-bundle\
+,org.openecomp.appc.listener\
+,state-machine-lib
+
+appc.OAM.OtherBundlesToNotStop=app-cntrl-message-adapter-factory\
+,app-cntrl-aaf-filters
diff --git a/appc-oam/appc-oam-bundle/src/main/resources/org/openecomp/appc/org.ops4j.pax.logging.cfg b/appc-oam/appc-oam-bundle/src/main/resources/org/openecomp/appc/org.ops4j.pax.logging.cfg
deleted file mode 100644
index be58632..0000000
--- a/appc-oam/appc-oam-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 
-
diff --git a/appc-oam/appc-oam-installer/src/main/resources/scripts/install-feature.sh b/appc-oam/appc-oam-installer/src/main/resources/scripts/install-feature.sh
index 05b4ae3..8de5e57 100644
--- a/appc-oam/appc-oam-installer/src/main/resources/scripts/install-feature.sh
+++ b/appc-oam/appc-oam-installer/src/main/resources/scripts/install-feature.sh
@@ -39,5 +39,29 @@
 	exit 1
 fi
 
-${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:repo-add ${features.repositories}
-${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:install ${features.boot}
+#${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:repo-add ${features.repositories}
+#${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:install ${features.boot}
+
+
+COUNT=0
+while [ $COUNT -lt 10 ]; do
+	${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:repo-add ${features.repositories} 2> /tmp/installErr
+	cat /tmp/installErr
+	if grep -q 'Failed to get the session' /tmp/installErr; then
+		sleep 10
+	else
+		let COUNT=10
+	fi
+	let COUNT=COUNT+1
+done
+COUNT=0
+while [ $COUNT -lt 10 ]; do
+	${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:install ${features.boot} 2> /tmp/installErr
+		cat /tmp/installErr
+	if grep -q 'Failed to get the session' /tmp/installErr; then
+		sleep 10
+	else
+		let COUNT=10
+	fi
+	let COUNT=COUNT+1
+done