You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2023/02/03 12:58:33 UTC

[karaf-decanter] branch main updated: [KARAF-7643] Upgrade to Karaf 4.4.3

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/karaf-decanter.git


The following commit(s) were added to refs/heads/main by this push:
     new e8bfd44d [KARAF-7643] Upgrade to Karaf 4.4.3
     new ce62cbaf Merge pull request #307 from jbonofre/KARAF-7643
e8bfd44d is described below

commit e8bfd44d77a7f38057ad34a8c734c08a248269ee
Author: Jean-Baptiste Onofré <jb...@apache.org>
AuthorDate: Sun Jan 29 18:56:58 2023 +0100

    [KARAF-7643] Upgrade to Karaf 4.4.3
---
 Jenkinsfile                                        |  4 +-
 appender/websocket-servlet/pom.xml                 |  4 +-
 assembly/pom.xml                                   |  2 +-
 assembly/src/main/feature/feature.xml              | 12 +++--
 itest/pom.xml                                      | 52 +++++++++++++++++-----
 .../itests/appender/PrometheusAppenderTest.java    |  9 ++--
 .../decanter/itests/appender/RestAppenderTest.java | 10 ++---
 .../itests/appender/WebsocketAppenderTest.java     | 10 +++--
 .../itests/collector/JettyCollectorTest.java       |  8 ++--
 .../itests/collector/PrometheusCollectorTest.java  | 10 +++--
 .../itests/collector/RestCollectorTest.java        |  9 ++--
 .../itests/collector/RestServletCollectorTest.java |  8 ++--
 .../itests/collector/SoapCollectorTest.java        |  9 ++--
 itest/src/test/resources/etc/users.properties      | 33 ++++++++++++++
 pom.xml                                            |  2 +-
 15 files changed, 131 insertions(+), 51 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index c9d67289..a673286a 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -36,12 +36,12 @@ pipeline {
     tools {
         // ... tell Jenkins what java version, maven version or other tools are required ...
         maven 'maven_3_latest'
-        jdk 'jdk_1.8_latest'
+        jdk 'jdk_11_latest'
     }
 
     options {
         // Configure an overall timeout for the build of one hour.
-        timeout(time: 1, unit: 'HOURS')
+        timeout(time: 2, unit: 'HOURS')
         // When we have test-fails e.g. we don't need to run the remaining steps
         skipStagesAfterUnstable()
         buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: '5'))
diff --git a/appender/websocket-servlet/pom.xml b/appender/websocket-servlet/pom.xml
index 096a402c..4c8d1aef 100644
--- a/appender/websocket-servlet/pom.xml
+++ b/appender/websocket-servlet/pom.xml
@@ -64,7 +64,9 @@
                         <Import-Package>
                             org.osgi.service.component,
                             org.osgi.service.event,
-                            org.eclipse.jetty.websocket*;version="[8,11)",
+                            org.eclipse.jetty.websocket.api;version="[7,12)",
+                            org.eclipse.jetty.websocket.servlet;version="[7,12)",
+                            org.eclipse.jetty.websocket.server;version="[7,12)",
                             *
                         </Import-Package>
                         <Private-Package>
diff --git a/assembly/pom.xml b/assembly/pom.xml
index fe9fc7b6..ed5e07dc 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -94,7 +94,7 @@
                                 <descriptor>mvn:org.apache.camel.karaf/apache-camel/${camel.version}/xml/features</descriptor>
                             </descriptors>
                             <distribution>org.apache.karaf.features:framework</distribution>
-                            <javase>1.8</javase>
+                            <javase>11</javase>
                             <framework>
                                 <feature>framework</feature>
                             </framework>
diff --git a/assembly/src/main/feature/feature.xml b/assembly/src/main/feature/feature.xml
index b0b03628..cf9a649d 100644
--- a/assembly/src/main/feature/feature.xml
+++ b/assembly/src/main/feature/feature.xml
@@ -229,6 +229,7 @@ org.apache.felix.eventadmin.IgnoreTimeout=org.apache.karaf.decanter.
     <feature name="decanter-collector-redis-core" version="${project.version}" description="Karaf Decanter Redis Collector core">
         <feature>decanter-common</feature>
         <feature>scheduler</feature>
+        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/2.9.0</bundle>
         <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/2.13.1</bundle>
         <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/2.13.1</bundle>
         <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/2.13.1</bundle>
@@ -253,7 +254,7 @@ org.apache.felix.eventadmin.IgnoreTimeout=org.apache.karaf.decanter.
 
     <feature name="decanter-collector-jetty" version="${project.version}" description="Karaf Decanter Jetty Handler Collector">
         <feature>decanter-common</feature>
-        <feature>pax-http-jetty</feature>
+        <feature>pax-web-jetty</feature>
         <bundle>mvn:org.apache.karaf.decanter.collector/org.apache.karaf.decanter.collector.jetty/${project.version}</bundle>
     </feature>
 
@@ -406,6 +407,7 @@ org.apache.felix.eventadmin.IgnoreTimeout=org.apache.karaf.decanter.
         <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/2.13.1</bundle>
         <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/2.13.1</bundle>
         <bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/2.13.1</bundle>
+        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/2.9.0</bundle>
         <bundle>mvn:org.apache.karaf.decanter.appender/org.apache.karaf.decanter.appender.redis/${project.version}</bundle>
     </feature>
     
@@ -483,7 +485,8 @@ org.apache.felix.eventadmin.IgnoreTimeout=org.apache.karaf.decanter.
 
     <feature name="decanter-appender-websocket-servlet" version="${project.version}" description="Karaf Decanter WebSocket Servlet Appender">
         <feature>decanter-common</feature>
-        <feature>http-whiteboard</feature>
+        <feature>http</feature>
+        <feature>pax-web-jetty-websockets</feature>
         <configfile finalname="/etc/org.apache.karaf.decanter.appender.websocket.servlet.cfg">mvn:org.apache.karaf.decanter.appender/org.apache.karaf.decanter.appender.websocket-servlet/${project.version}/cfg</configfile>
         <bundle>mvn:org.apache.karaf.decanter.appender/org.apache.karaf.decanter.appender.websocket-servlet/${project.version}</bundle>
     </feature>
@@ -549,12 +552,13 @@ org.apache.felix.eventadmin.IgnoreTimeout=org.apache.karaf.decanter.
     </feature>
 
     <feature name="decanter-alerting-log" version="${project.version}" description="Karaf Decanter alerting log alerter">
-        <feature version="${project.version}">decanter-alerting</feature>
+        <feature version="${project.version}">decanter-alerting-core</feature>
         <bundle>mvn:org.apache.karaf.decanter.alerting/org.apache.karaf.decanter.alerting.log/${project.version}</bundle>
     </feature>
 
     <feature name="decanter-alerting-email-core" version="${project.version}" description="Karaf Decanter alerting email alerter core">
-        <feature version="${project.version}">decanter-alerting</feature>
+        <feature version="${project.version}">decanter-alerting-core</feature>
+        <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/2.9.0</bundle>
         <bundle>mvn:com.sun.mail/javax.mail/1.6.2</bundle>
         <bundle>mvn:org.apache.karaf.decanter.alerting/org.apache.karaf.decanter.alerting.email/${project.version}</bundle>
     </feature>
diff --git a/itest/pom.xml b/itest/pom.xml
index c3f76c3b..a78326df 100644
--- a/itest/pom.xml
+++ b/itest/pom.xml
@@ -32,13 +32,44 @@
     <artifactId>itest</artifactId>
     <name>Apache Karaf :: Decanter :: Integration Tests</name>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf-bom</artifactId>
+                <version>${karaf.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.itests</groupId>
             <artifactId>common</artifactId>
             <version>${karaf.version}</version>
-            <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>javax.annotation</groupId>
+            <artifactId>javax.annotation-api</artifactId>
+            <version>1.3.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.ops4j.pax.exam</groupId>
+            <artifactId>pax-exam-container-karaf</artifactId>
+            <scope>compile</scope>
+            <optional>true</optional>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>org.apache.felix.configadmin</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
         <dependency>
             <groupId>org.apache.karaf</groupId>
             <artifactId>apache-karaf</artifactId>
@@ -47,21 +78,22 @@
             <scope>test</scope>
             <exclusions>
                 <exclusion>
-                    <groupId>org.apache.karaf</groupId>
-                    <artifactId>org.apache.karaf.client</artifactId>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
+
         <dependency>
-            <groupId>org.apache.karaf.shell</groupId>
-            <artifactId>org.apache.karaf.shell.core</artifactId>
-            <version>${karaf.version}</version>
+            <groupId>org.ops4j.pax.logging</groupId>
+            <artifactId>pax-logging-api</artifactId>
+            <version>2.1.3</version>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.ops4j.pax.exam</groupId>
-            <artifactId>pax-exam-container-karaf</artifactId>
-            <version>4.13.2</version>
+            <groupId>org.apache.karaf.shell</groupId>
+            <artifactId>org.apache.karaf.shell.core</artifactId>
+            <version>${karaf.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -79,8 +111,6 @@
         <dependency>
             <groupId>org.awaitility</groupId>
             <artifactId>awaitility</artifactId>
-            <version>3.1.6</version>
-            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.servicemix.bundles</groupId>
diff --git a/itest/src/test/java/org/apache/karaf/decanter/itests/appender/PrometheusAppenderTest.java b/itest/src/test/java/org/apache/karaf/decanter/itests/appender/PrometheusAppenderTest.java
index b070e238..6ac3307f 100644
--- a/itest/src/test/java/org/apache/karaf/decanter/itests/appender/PrometheusAppenderTest.java
+++ b/itest/src/test/java/org/apache/karaf/decanter/itests/appender/PrometheusAppenderTest.java
@@ -52,6 +52,8 @@ public class PrometheusAppenderTest extends KarafTestSupport {
     @Test(timeout = 60000)
     public void test() throws Exception {
         System.out.println("Installing Decanter Appender Prometheus ...");
+        System.out.println(executeCommand("feature:install http", new RolePrincipal("admin")));
+        System.out.println(executeCommand("feature:install pax-web-karaf", new RolePrincipal("admin")));
         System.out.println(executeCommand("feature:repo-add decanter " + System.getProperty("decanter.version"), new RolePrincipal("admin")));
         System.out.println(executeCommand("feature:install decanter-appender-prometheus", new RolePrincipal("admin")));
         String configList = executeCommand("config:list '(service.pid=org.apache.karaf.decanter.appender.prometheus)'");
@@ -59,11 +61,12 @@ public class PrometheusAppenderTest extends KarafTestSupport {
             Thread.sleep(500);
             configList = executeCommand("config:list '(service.pid=org.apache.karaf.decanter.appender.prometheus)'");
         }
-        String httpList = executeCommand("http:list");
-        while (!httpList.contains("Deployed")) {
+        String httpList = executeCommand("web:servlet-list");
+        while (!httpList.contains("MetricsServlet")) {
             Thread.sleep(500);
-            httpList = executeCommand("http:list");
+            httpList = executeCommand("web:servlet-list");
         }
+        System.out.println(httpList);
 
         System.out.println("Sending test event ...");
         EventAdmin dispatcher = getOsgiService(EventAdmin.class);
diff --git a/itest/src/test/java/org/apache/karaf/decanter/itests/appender/RestAppenderTest.java b/itest/src/test/java/org/apache/karaf/decanter/itests/appender/RestAppenderTest.java
index 346d5521..79364481 100644
--- a/itest/src/test/java/org/apache/karaf/decanter/itests/appender/RestAppenderTest.java
+++ b/itest/src/test/java/org/apache/karaf/decanter/itests/appender/RestAppenderTest.java
@@ -61,7 +61,7 @@ public class RestAppenderTest extends KarafTestSupport {
         String karafVersion = MavenUtils.getArtifactVersion("org.apache.karaf", "apache-karaf");
         Option[] options = new Option[]{
                 KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "decanter.version", System.getProperty("decanter.version")),
-                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http")
+                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http", "pax-web-karaf")
         };
         return Stream.of(super.config(), options).flatMap(Stream::of).toArray(Option[]::new);
     }
@@ -90,10 +90,10 @@ public class RestAppenderTest extends KarafTestSupport {
         }, null, null);
 
         System.out.println("Waiting testing REST service ...");
-        String httpList = executeCommand("http:list");
-        while (!httpList.contains("Deployed")) {
-            Thread.sleep(200);
-            httpList = executeCommand("http:list");
+        String httpList = executeCommand("web:servlet-list");
+        while (!httpList.contains("RestAppenderTest")) {
+            Thread.sleep(500);
+            httpList = executeCommand("web:servlet-list");
         }
         System.out.println(httpList);
 
diff --git a/itest/src/test/java/org/apache/karaf/decanter/itests/appender/WebsocketAppenderTest.java b/itest/src/test/java/org/apache/karaf/decanter/itests/appender/WebsocketAppenderTest.java
index 96186430..b05b0031 100644
--- a/itest/src/test/java/org/apache/karaf/decanter/itests/appender/WebsocketAppenderTest.java
+++ b/itest/src/test/java/org/apache/karaf/decanter/itests/appender/WebsocketAppenderTest.java
@@ -28,6 +28,7 @@ import org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
 import org.eclipse.jetty.websocket.client.ClientUpgradeResponse;
 import org.eclipse.jetty.websocket.client.WebSocketClient;
 import org.junit.Assert;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Configuration;
@@ -57,7 +58,7 @@ public class WebsocketAppenderTest extends KarafTestSupport {
         String karafVersion = MavenUtils.getArtifactVersion("org.apache.karaf", "apache-karaf");
         Option[] options = new Option[]{
                 KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "decanter.version", System.getProperty("decanter.version")),
-                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http", "jetty")
+                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http", "pax-web-karaf")
         };
         return Stream.of(super.config(), options).flatMap(Stream::of).toArray(Option[]::new);
     }
@@ -76,10 +77,11 @@ public class WebsocketAppenderTest extends KarafTestSupport {
         }
 
         System.out.println("Waiting websocket servlet deployed ...");
-        String httpList = executeCommand("http:list");
-        while (!httpList.contains("Deployed")) {
+        String httpList = executeCommand("web:servlet-list");
+        while (!httpList.contains("DecanterWebSocketServlet")) {
             Thread.sleep(500);
-            httpList = executeCommand("http:list");
+            httpList = executeCommand("web:servlet-list");
+            System.out.println(httpList);
         }
         System.out.println(httpList);
 
diff --git a/itest/src/test/java/org/apache/karaf/decanter/itests/collector/JettyCollectorTest.java b/itest/src/test/java/org/apache/karaf/decanter/itests/collector/JettyCollectorTest.java
index 3cb1fa1f..535eac2e 100644
--- a/itest/src/test/java/org/apache/karaf/decanter/itests/collector/JettyCollectorTest.java
+++ b/itest/src/test/java/org/apache/karaf/decanter/itests/collector/JettyCollectorTest.java
@@ -62,7 +62,7 @@ public class JettyCollectorTest extends KarafTestSupport {
         String karafVersion = MavenUtils.getArtifactVersion("org.apache.karaf", "apache-karaf");
         Option[] options = new Option[]{
                 KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "decanter.version", System.getProperty("decanter.version")),
-                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http")
+                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http", "pax-web-karaf")
         };
         return Stream.of(super.config(), options).flatMap(Stream::of).toArray(Option[]::new);
     }
@@ -79,10 +79,10 @@ public class JettyCollectorTest extends KarafTestSupport {
                 }
             }
         }, null, null);
-        String httpList = executeCommand("http:list");
-        while (!httpList.contains("Deployed")) {
+        String httpList = executeCommand("web:servlet-list");
+        while (!httpList.contains("JettyCollectorTest")) {
             Thread.sleep(200);
-            httpList = executeCommand("http:list");
+            httpList = executeCommand("web:servlet-list");
         }
         System.out.println(httpList);
 
diff --git a/itest/src/test/java/org/apache/karaf/decanter/itests/collector/PrometheusCollectorTest.java b/itest/src/test/java/org/apache/karaf/decanter/itests/collector/PrometheusCollectorTest.java
index 4cca75db..8d10ba88 100644
--- a/itest/src/test/java/org/apache/karaf/decanter/itests/collector/PrometheusCollectorTest.java
+++ b/itest/src/test/java/org/apache/karaf/decanter/itests/collector/PrometheusCollectorTest.java
@@ -56,7 +56,7 @@ public class PrometheusCollectorTest extends KarafTestSupport {
         String karafVersion = MavenUtils.getArtifactVersion("org.apache.karaf", "apache-karaf");
         Option[] options = new Option[]{
                 KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "decanter.version", System.getProperty("decanter.version")),
-                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http")
+                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http", "pax-web-karaf")
         };
         return Stream.of(super.config(), options).flatMap(Stream::of).toArray(Option[]::new);
     }
@@ -76,11 +76,13 @@ public class PrometheusCollectorTest extends KarafTestSupport {
             }
         }, null, null);
 
-        String httpList = executeCommand("http:list");
-        while (!httpList.contains("Deployed")) {
+        String httpList = executeCommand("web:servlet-list");
+        while (!httpList.contains("PrometheusCollectorTest")) {
             Thread.sleep(500);
-            httpList = executeCommand("http:list");
+            httpList = executeCommand("web:servlet-list");
+            System.out.println(httpList);
         }
+        System.out.println(httpList);
 
         System.out.println("Adding test event handler ...");
         // create event handler
diff --git a/itest/src/test/java/org/apache/karaf/decanter/itests/collector/RestCollectorTest.java b/itest/src/test/java/org/apache/karaf/decanter/itests/collector/RestCollectorTest.java
index 8c590436..2c7a9b21 100644
--- a/itest/src/test/java/org/apache/karaf/decanter/itests/collector/RestCollectorTest.java
+++ b/itest/src/test/java/org/apache/karaf/decanter/itests/collector/RestCollectorTest.java
@@ -60,7 +60,7 @@ public class RestCollectorTest extends KarafTestSupport {
         String karafVersion = MavenUtils.getArtifactVersion("org.apache.karaf", "apache-karaf");
         Option[] options = new Option[]{
                 KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "decanter.version", System.getProperty("decanter.version")),
-                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http")
+                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http", "pax-web-karaf")
         };
         return Stream.of(super.config(), options).flatMap(Stream::of).toArray(Option[]::new);
     }
@@ -79,10 +79,11 @@ public class RestCollectorTest extends KarafTestSupport {
             }
         }, null, null);
 
-        String httpList = executeCommand("http:list");
-        while (!httpList.contains("Deployed")) {
+        String httpList = executeCommand("web:servlet-list");
+        while (!httpList.contains("RestCollectorTest")) {
             Thread.sleep(200);
-            httpList = executeCommand("http:list");
+            httpList = executeCommand("web:servlet-list");
+            System.out.println(httpList);
         }
         Assert.assertTrue(httpList.contains("/test"));
 
diff --git a/itest/src/test/java/org/apache/karaf/decanter/itests/collector/RestServletCollectorTest.java b/itest/src/test/java/org/apache/karaf/decanter/itests/collector/RestServletCollectorTest.java
index 457369c4..afbc2dc1 100644
--- a/itest/src/test/java/org/apache/karaf/decanter/itests/collector/RestServletCollectorTest.java
+++ b/itest/src/test/java/org/apache/karaf/decanter/itests/collector/RestServletCollectorTest.java
@@ -58,6 +58,7 @@ public class RestServletCollectorTest extends KarafTestSupport {
         // install decanter
         System.out.println(executeCommand("feature:repo-add decanter " + System.getProperty("decanter.version")));
         System.out.println(executeCommand("feature:install decanter-collector-rest-servlet", new RolePrincipal("admin")));
+        System.out.println(executeCommand("feature:install pax-web-karaf", new RolePrincipal("admin")));
 
         String configList = executeCommand("config:list '(service.pid=org.apache.karaf.decanter.collector.rest.servlet)'");
         while (!configList.contains("service.pid")) {
@@ -77,10 +78,11 @@ public class RestServletCollectorTest extends KarafTestSupport {
         serviceProperties.put(EventConstants.EVENT_TOPIC, "decanter/collect/*");
         bundleContext.registerService(EventHandler.class, eventHandler, serviceProperties);
 
-        String httpList = executeCommand("http:list");
-        while (!httpList.contains("Deployed")) {
+        String httpList = executeCommand("web:servlet-list");
+        while (!httpList.contains("RestServletCollector")) {
             Thread.sleep(500);
-            httpList = executeCommand("http:list");
+            httpList = executeCommand("web:servlet-list");
+            System.out.println(httpList);
         }
 
         // send data to rest servlet collector
diff --git a/itest/src/test/java/org/apache/karaf/decanter/itests/collector/SoapCollectorTest.java b/itest/src/test/java/org/apache/karaf/decanter/itests/collector/SoapCollectorTest.java
index 67949c6c..5a145635 100644
--- a/itest/src/test/java/org/apache/karaf/decanter/itests/collector/SoapCollectorTest.java
+++ b/itest/src/test/java/org/apache/karaf/decanter/itests/collector/SoapCollectorTest.java
@@ -60,7 +60,7 @@ public class SoapCollectorTest extends KarafTestSupport {
         String karafVersion = MavenUtils.getArtifactVersion("org.apache.karaf", "apache-karaf");
         Option[] options = new Option[]{
                 KarafDistributionOption.editConfigurationFilePut("etc/system.properties", "decanter.version", System.getProperty("decanter.version")),
-                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http")
+                KarafDistributionOption.features("mvn:org.apache.karaf.features/standard/" + karafVersion + "/xml/features", "http", "pax-web-karaf")
         };
         return Stream.of(super.config(), options).flatMap(Stream::of).toArray(Option[]::new);
     }
@@ -77,10 +77,11 @@ public class SoapCollectorTest extends KarafTestSupport {
                 resp.setStatus(200);
             }
         }, null, null);
-        String httpList = executeCommand("http:list");
-        while (!httpList.contains("Deployed")) {
+        String httpList = executeCommand("web:servlet-list");
+        while (!httpList.contains("SoapCollectorTest")) {
             Thread.sleep(500);
-            httpList = executeCommand("http:list");
+            httpList = executeCommand("web:servlet-list");
+            System.out.println(httpList);
         }
         Assert.assertTrue(httpList.contains("/test"));
 
diff --git a/itest/src/test/resources/etc/users.properties b/itest/src/test/resources/etc/users.properties
new file mode 100644
index 00000000..a3d328cb
--- /dev/null
+++ b/itest/src/test/resources/etc/users.properties
@@ -0,0 +1,33 @@
+################################################################################
+#
+#    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,
+#    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.
+#
+################################################################################
+
+#
+# This file contains the users, groups, and roles.
+# Each line has to be of the format:
+#
+# USER=PASSWORD,ROLE1,ROLE2,...
+# USER=PASSWORD,_g_:GROUP,...
+# _g_\:GROUP=ROLE1,ROLE2,...
+#
+# All users, groups, and roles entered in this file are available after Karaf startup
+# and modifiable via the JAAS command group. These users reside in a JAAS domain
+# with the name "karaf".
+#
+karaf = karaf,_g_:admingroup
+_g_\:admingroup = group,admin,manager,viewer,systembundles,ssh
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 2b7b642e..becfc301 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,7 +45,7 @@
         <glassfish-json.version>1.1.4</glassfish-json.version>
         <json-api.version>1.1.4</json-api.version>
         <kafka.version>3.1.0</kafka.version>
-        <karaf.version>4.2.15</karaf.version>
+        <karaf.version>4.4.3</karaf.version>
         <kibana.version>3.1.1</kibana.version>
         <kibana4.version>4.1.2</kibana4.version>
         <kibana6.version>6.1.1</kibana6.version>