Upgrade to Apache Karaf 4.2.8 to support Kafka log appender

This is required for CORD. Karaf 4.2.6 explicitelly prevents loading of
some of the bundles required to support shipping logs via Karaf.

Change-Id: I8ae525e6c8a04c0381c5e3bac39de1a7b85b4446
diff --git a/tools/build/bazel/generate_workspace.bzl b/tools/build/bazel/generate_workspace.bzl
index 8a61e89..ae3a3f3 100644
--- a/tools/build/bazel/generate_workspace.bzl
+++ b/tools/build/bazel/generate_workspace.bzl
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Fri, 7 Feb 2020 17:51:36 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Fri, 7 Feb 2020 17:55:38 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")
@@ -871,21 +871,21 @@
     if "org_apache_karaf_features_core" not in native.existing_rules():
         java_import_external(
             name = "org_apache_karaf_features_core",
-            jar_sha256 = "b4dfeced968b2ae1647a403bfbc2c2a1eb26eeff55d1a5003edfa2b9209ea9c5",
+            jar_sha256 = "8f0556b7eba43e6de4313a600a179b6d81d42f70dfb4cc187213bf02a1a2589b",
             licenses = ["notice"],
-            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/features/org.apache.karaf.features.core/4.2.6/org.apache.karaf.features.core-4.2.6.jar"],        )
+            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/features/org.apache.karaf.features.core/4.2.8/org.apache.karaf.features.core-4.2.8.jar"],        )
     if "org_apache_karaf_shell_console" not in native.existing_rules():
         java_import_external(
             name = "org_apache_karaf_shell_console",
-            jar_sha256 = "02762fb7d2d37e475644398bbc617e36c8feacbde0ede68e91e2f7f6df49f07e",
+            jar_sha256 = "c11d754be2b67255568b62414e35fedd2a15ba2ee50cd749804521cdd0e771e5",
             licenses = ["notice"],
-            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.console/4.2.6/org.apache.karaf.shell.console-4.2.6.jar"],        )
+            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.console/4.2.8/org.apache.karaf.shell.console-4.2.8.jar"],        )
     if "org_apache_karaf_shell_core" not in native.existing_rules():
         java_import_external(
             name = "org_apache_karaf_shell_core",
-            jar_sha256 = "9d240a6b1dad60bd43de72e570114583affde8ac3494dcf1e9f61f66cb9d7485",
+            jar_sha256 = "f0232a99f22390a8dd95fa6c346d7c1cb9b7d765ade0e491b8a2864cafb29e19",
             licenses = ["notice"],
-            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.core/4.2.6/org.apache.karaf.shell.core-4.2.6.jar"],        )
+            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.core/4.2.8/org.apache.karaf.shell.core-4.2.8.jar"],        )
     if "org_apache_httpcomponents_httpasyncclient_osgi" not in native.existing_rules():
         java_import_external(
             name = "org_apache_httpcomponents_httpasyncclient_osgi",
@@ -901,15 +901,15 @@
     if "org_apache_karaf_jaas" not in native.existing_rules():
         java_import_external(
             name = "org_apache_karaf_jaas",
-            jar_sha256 = "7ec4acde3c88d9810f0554401a9f1552dc8c3cf38ed14a2b18e4668558586038",
+            jar_sha256 = "8c9ef8d7a73c7082208e283e8ec5f523aaf5fd335751d3158dae1d360d635930",
             licenses = ["notice"],
-            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/jaas/org.apache.karaf.jaas.modules/4.2.6/org.apache.karaf.jaas.modules-4.2.6.jar"],        )
+            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/jaas/org.apache.karaf.jaas.modules/4.2.8/org.apache.karaf.jaas.modules-4.2.8.jar"],        )
     if "org_apache_karaf_system_core" not in native.existing_rules():
         java_import_external(
             name = "org_apache_karaf_system_core",
-            jar_sha256 = "628a94a733548de70532d39177838bf4b246ee04a3b13d4a4b8f6633e2a5d8e5",
+            jar_sha256 = "042e3334dc85f141c592a23ee1822b9473bb0b1640ae69e4fcdd6a42aa810a3e",
             licenses = ["notice"],
-            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/system/org.apache.karaf.system.core/4.2.6/org.apache.karaf.system.core-4.2.6.jar"],        )
+            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/system/org.apache.karaf.system.core/4.2.8/org.apache.karaf.system.core-4.2.8.jar"],        )
     if "org_apache_servicemix_bundles_snmp4j" not in native.existing_rules():
         java_import_external(
             name = "org_apache_servicemix_bundles_snmp4j",
@@ -1003,9 +1003,9 @@
     if "apache_karaf" not in native.existing_rules():
         java_import_external(
             name = "apache_karaf",
-            jar_sha256 = "dfc820eb9c543d8d578f97a3f79bf02d7b8e391677c430059c3e3b59a7145fe1",
+            jar_sha256 = "9e90c037a16d1736e0c49052758a1a2a1b862b4627362c2f3a6df0335554aefd",
             licenses = ["notice"],
-            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.6-offline-20190628/apache-karaf-4.2.6-offline-20190628.tar.gz"],        )
+            jar_urls = ["https://repo.maven.apache.org/maven2/org/onosproject/apache-karaf-offline/4.2.8-offline-20200131/apache-karaf-4.2.8-offline-20200131.tar.gz"],        )
     if "bndlib" not in native.existing_rules():
         java_import_external(
             name = "bndlib",
@@ -1461,13 +1461,13 @@
 artifact_map["@org_osgi_service_metatype_annotations//:org_osgi_service_metatype_annotations"] = "mvn:org.osgi:org.osgi.service.metatype.annotations:jar:1.4.0"
 artifact_map["@org_osgi_service_cm//:org_osgi_service_cm"] = "mvn:org.osgi:org.osgi.service.cm:jar:1.6.0"
 artifact_map["@org_apache_felix_scr_bnd//:org_apache_felix_scr_bnd"] = "mvn:org.apache.felix:org.apache.felix.scr.bnd:jar:NON-OSGI:1.9.0"
-artifact_map["@org_apache_karaf_features_core//:org_apache_karaf_features_core"] = "mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:4.2.6"
-artifact_map["@org_apache_karaf_shell_console//:org_apache_karaf_shell_console"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:4.2.6"
-artifact_map["@org_apache_karaf_shell_core//:org_apache_karaf_shell_core"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.core:jar:4.2.6"
+artifact_map["@org_apache_karaf_features_core//:org_apache_karaf_features_core"] = "mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:4.2.8"
+artifact_map["@org_apache_karaf_shell_console//:org_apache_karaf_shell_console"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:4.2.8"
+artifact_map["@org_apache_karaf_shell_core//:org_apache_karaf_shell_core"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.core:jar:4.2.8"
 artifact_map["@org_apache_httpcomponents_httpasyncclient_osgi//:org_apache_httpcomponents_httpasyncclient_osgi"] = "mvn:org.apache.httpcomponents:httpasyncclient-osgi:jar:4.1.2"
 artifact_map["@org_apache_httpcomponents_httpcore_nio//:org_apache_httpcomponents_httpcore_nio"] = "mvn:org.apache.httpcomponents:httpcore-nio:jar:NON-OSGI:4.4.4"
-artifact_map["@org_apache_karaf_jaas//:org_apache_karaf_jaas"] = "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:4.2.6"
-artifact_map["@org_apache_karaf_system_core//:org_apache_karaf_system_core"] = "mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:4.2.6"
+artifact_map["@org_apache_karaf_jaas//:org_apache_karaf_jaas"] = "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:4.2.8"
+artifact_map["@org_apache_karaf_system_core//:org_apache_karaf_system_core"] = "mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:4.2.8"
 artifact_map["@org_apache_servicemix_bundles_snmp4j//:org_apache_servicemix_bundles_snmp4j"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.snmp4j:jar:2.3.4_1"
 artifact_map["@org_osgi_cmpn//:org_osgi_cmpn"] = "mvn:org.osgi:osgi.cmpn:jar:6.0.0"
 artifact_map["@osgi_core//:osgi_core"] = "mvn:org.osgi:org.osgi.core:jar:6.0.0"
@@ -1483,7 +1483,7 @@
 artifact_map["@typesafe_config//:typesafe_config"] = "mvn:com.typesafe:config:jar:1.3.2"
 artifact_map["@validation_api//:validation_api"] = "mvn:javax.validation:validation-api:jar:2.0.1.Final"
 artifact_map["@checkstyle//:checkstyle"] = "mvn:com.puppycrawl.tools:checkstyle:jar:NON-OSGI:8.10"
-artifact_map["@apache_karaf//:apache_karaf"] = "https://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.6-offline-20190628/apache-karaf-4.2.6-offline-20190628.tar.gz"
+artifact_map["@apache_karaf//:apache_karaf"] = "https://repo.maven.apache.org/maven2/org/onosproject/apache-karaf-offline/4.2.8-offline-20200131/apache-karaf-4.2.8-offline-20200131.tar.gz"
 artifact_map["@bndlib//:bndlib"] = "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.1.0"
 artifact_map["@bndexe//:bndexe"] = "mvn:biz.aQute.bnd:biz.aQute.bnd:jar:4.1.0"
 artifact_map["@libthrift//:libthrift"] = "mvn:org.apache.thrift:libthrift:jar:0.11.0"
diff --git a/tools/build/bazel/osgi_features.bzl b/tools/build/bazel/osgi_features.bzl
index 43610f5..90366aa 100644
--- a/tools/build/bazel/osgi_features.bzl
+++ b/tools/build/bazel/osgi_features.bzl
@@ -102,7 +102,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
           name="onos-%s">
-    <repository>mvn:org.apache.karaf.features/standard/4.2.6/xml/features</repository>
+    <repository>mvn:org.apache.karaf.features/standard/4.2.8/xml/features</repository>
 ''' % ONOS_VERSION
 
 FEATURES_FOOTER = "</features>"
diff --git a/tools/build/build-offline-karaf b/tools/build/build-offline-karaf
index cdd245c..554f532 100755
--- a/tools/build/build-offline-karaf
+++ b/tools/build/build-offline-karaf
@@ -1,7 +1,7 @@
 #!/bin/bash
 
-KARAF_RELEASE_VERSION="4.2.6"
-KARAF_BASE_PACKAGE_VERSION="4.2.6"
+KARAF_RELEASE_VERSION="4.2.8"
+KARAF_BASE_PACKAGE_VERSION="4.2.8"
 KARAF_TARFILE_NAME="apache-karaf-${KARAF_RELEASE_VERSION}.tar"
 ADDED_BOOT_FEATURES="kar/${KARAF_RELEASE_VERSION},webconsole/${KARAF_RELEASE_VERSION},scr/${KARAF_RELEASE_VERSION},war/${KARAF_RELEASE_VERSION}"
 
diff --git a/tools/build/envDefaults b/tools/build/envDefaults
index 3bb6a56..889a6dc 100644
--- a/tools/build/envDefaults
+++ b/tools/build/envDefaults
@@ -5,7 +5,7 @@
 
 # M2 repository and Karaf gold bits
 export M2_REPO=${M2_REPO:-~/.m2/repository}
-export KARAF_VERSION=4.2.6
+export KARAF_VERSION=4.2.8
 export KARAF_ZIP=${KARAF_ZIP:-~/Downloads/apache-karaf-$KARAF_VERSION.zip}
 export KARAF_TAR=${KARAF_TAR:-~/Downloads/apache-karaf-$KARAF_VERSION.tar.gz}
 export KARAF_DIST=$(basename $KARAF_ZIP .zip)
diff --git a/tools/package/bin/onos-backup b/tools/package/bin/onos-backup
index ed4d1fb..65e55d4 100755
--- a/tools/package/bin/onos-backup
+++ b/tools/package/bin/onos-backup
@@ -5,7 +5,7 @@
 
 ONOS_HOME=${ONOS_HOME:-$(cd $(dirname $0)/.. >/dev/null 2>&1 && pwd)}
 ONOS_DEFAULT_ARCHIVE=$(dirname $ONOS_HOME)/onos-data.tar.gz
-ONOS_KARAF=$ONOS_HOME/apache-karaf-4.2.6
+ONOS_KARAF=$ONOS_HOME/apache-karaf-4.2.8
 
 # Fetch the name of the archive or use a default if none is specified
 archive=${1:-$ONOS_DEFAULT_ARCHIVE}
diff --git a/tools/package/bin/onos-restore b/tools/package/bin/onos-restore
index 9ba23f4..3b1f8bf 100755
--- a/tools/package/bin/onos-restore
+++ b/tools/package/bin/onos-restore
@@ -5,7 +5,7 @@
 
 ONOS_HOME=${ONOS_HOME:-$(cd $(dirname $0)/.. >/dev/null 2>&1 && pwd)}
 ONOS_DEFAULT_ARCHIVE=$(dirname $ONOS_HOME)/onos-data.tar.gz
-ONOS_KARAF=$ONOS_HOME/apache-karaf-4.2.6
+ONOS_KARAF=$ONOS_HOME/apache-karaf-4.2.8
 
 # Fetch the name of the archive or use a default if none is specified
 archive=${1:-$ONOS_DEFAULT_ARCHIVE}
diff --git a/tools/package/deb/prerm b/tools/package/deb/prerm
index ee32a56..7c7106e 100755
--- a/tools/package/deb/prerm
+++ b/tools/package/deb/prerm
@@ -14,7 +14,7 @@
 
 # Clean up onos runtime directories
 #      TODO don't hardcode karaf version
-rm -rf /opt/onos/apache-karaf-4.2.6/
+rm -rf /opt/onos/apache-karaf-4.2.8/
 rm -rf /opt/onos/var/*
 rm -rf /opt/onos/config
 rm -rf /opt/onos/options
diff --git a/tools/package/dependencies/template.pom b/tools/package/dependencies/template.pom
index 91ce5de..01fc9a5 100644
--- a/tools/package/dependencies/template.pom
+++ b/tools/package/dependencies/template.pom
@@ -33,7 +33,7 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <karaf.version>4.2.6</karaf.version>
+        <karaf.version>4.2.8</karaf.version>
         <maven.version.min>3.3.9</maven.version.min>
         <java.version.min><!-- JAVA_VERSION --></java.version.min>
         <onos.version><!-- ONOS_VERSION --></onos.version>
diff --git a/tools/package/etc/org.apache.karaf.features.cfg b/tools/package/etc/org.apache.karaf.features.cfg
index c96ef52..fb91f56 100644
--- a/tools/package/etc/org.apache.karaf.features.cfg
+++ b/tools/package/etc/org.apache.karaf.features.cfg
@@ -20,38 +20,38 @@
 #
 # Comma separated list of features repositories to register by default
 #
-featuresRepositories = \    mvn:org.apache.karaf.features/standard/4.2.6/xml/features, \
+featuresRepositories = \    mvn:org.apache.karaf.features/standard/4.2.8/xml/features, \
     mvn:org.onosproject/onos-features/$ONOS_VERSION/xml/features, \
-    mvn:org.apache.karaf.features/enterprise/4.2.6/xml/features, \
-    mvn:org.apache.karaf.features/spring/4.2.6/xml/features, \
-    mvn:org.apache.karaf.features/standard/4.2.6/xml/features, \
-    mvn:org.apache.karaf.features/framework/4.2.6/xml/features
+    mvn:org.apache.karaf.features/enterprise/4.2.8/xml/features, \
+    mvn:org.apache.karaf.features/spring/4.2.8/xml/features, \
+    mvn:org.apache.karaf.features/standard/4.2.8/xml/features, \
+    mvn:org.apache.karaf.features/framework/4.2.8/xml/features
 
 #
 # Comma separated list of features to install at startup
 #
 featuresBoot = \
-    (instance/4.2.6, \
-    package/4.2.6, \
-    log/4.2.6, \
-    ssh/4.2.6, \
-    framework/4.2.6, \
-    system/4.2.6, \
-    eventadmin/4.2.6, \
-    feature/4.2.6, \
-    shell/4.2.6, \
-    management/4.2.6, \
-    service/4.2.6, \
-    jaas/4.2.6, \
-    deployer/4.2.6, \
-    diagnostic/4.2.6, \
-    wrap/2.6.1, \
-    bundle/4.2.6, \
-    config/4.2.6, \
-    kar/4.2.6, \
-    webconsole/4.2.6, \
-    scr/4.2.6, \
-    war/4.2.6), \
+    (instance/4.2.8, \
+    package/4.2.8, \
+    log/4.2.8, \
+    ssh/4.2.8, \
+    framework/4.2.8, \
+    system/4.2.8, \
+    eventadmin/4.2.8, \
+    feature/4.2.8, \
+    shell/4.2.8, \
+    management/4.2.8, \
+    service/4.2.8, \
+    jaas/4.2.8, \
+    deployer/4.2.8, \
+    diagnostic/4.2.8, \
+    wrap/2.6.2, \
+    bundle/4.2.8, \
+    config/4.2.8, \
+    kar/4.2.8, \
+    webconsole/4.2.8, \
+    scr/4.2.8, \
+    war/4.2.8), \
     (onos-thirdparty-base/$ONOS_VERSION), \
     (onos-api/$ONOS_VERSION, \
     onos-core/$ONOS_VERSION, \
diff --git a/tools/package/onos-prep-karaf b/tools/package/onos-prep-karaf
index c1986b3..315aa13 100755
--- a/tools/package/onos-prep-karaf
+++ b/tools/package/onos-prep-karaf
@@ -12,7 +12,7 @@
 KARAF_PATCHES=$5
 SANDBOX=${6:-.}
 
-KARAF_VERSION="4.2.6"
+KARAF_VERSION="4.2.8"
 ONOS_SECURITY_MODE="false"
 
 PREFIX="onos-$ONOS_VERSION"
diff --git a/tools/package/onos_stage.py b/tools/package/onos_stage.py
index 466c016..e11a3fa 100755
--- a/tools/package/onos_stage.py
+++ b/tools/package/onos_stage.py
@@ -27,7 +27,7 @@
 
 written_files = set()
 now = time.time()
-karaf_version = "4.2.6"
+karaf_version = "4.2.8"
 karaf_system = "apache-karaf-" + karaf_version + "/system/"
 
 def addFile(tar, dest, file, file_size):
diff --git a/tools/test/bin/onos-check-bits b/tools/test/bin/onos-check-bits
index be1b8da..6ce3ec9 100755
--- a/tools/test/bin/onos-check-bits
+++ b/tools/test/bin/onos-check-bits
@@ -32,7 +32,7 @@
   echo "ONOS archive does not contain the proper version file" && exit 1
 fi
 
-tar tzf ${ONOS_TAR} | grep -q apache-karaf-4.2.6
+tar tzf ${ONOS_TAR} | grep -q apache-karaf-4.2.8
 if [ $? -ne 0 ]; then
   echo "ONOS archive does not contain karaf" && exit 1
 fi
diff --git a/tools/test/bin/onos-check-logs b/tools/test/bin/onos-check-logs
index 47df150..266a741 100755
--- a/tools/test/bin/onos-check-logs
+++ b/tools/test/bin/onos-check-logs
@@ -113,6 +113,8 @@
             /at org\.apache\.sshd\.server\.SshServer\.start/ { exclusion = 1; }
             /at org\.apache\.felix\.scr\.impl\.ComponentRegistry\.getComponentHolders/ { exclusion = 1; }
             /at org\.apache\.felix\.framework\.Felix/ { exclusion = 1; }
+            /at org\.apache\.karaf\.util\.tracker\.BaseActivator\.getTrackedService/ { exclusion = 1; }
+
 
         END { exit fail; }
         ' > $aux