summaryrefslogtreecommitdiffstats
path: root/catalog-be
diff options
context:
space:
mode:
authorsebdet <sebastien.determe@intl.att.com>2020-08-04 14:16:00 +0200
committersebdet <sebastien.determe@intl.att.com>2020-09-08 13:45:31 +0200
commit30670accb070b20c1c770d1ebbd6d72e24fee2db (patch)
tree8ddb5d70500aa1b3baa4e262de411e8394e22e6a /catalog-be
parenta8a96339680fa1c4df5577285442e902b5637631 (diff)
Upgrade to java 11
MOve SDC to Java 11, this is one of the PR to move to Jdk 11, jenkins will have to be changed as well Issue-ID: SDC-2725 Change-Id: I85f13f14ba8004f6e9656093a837465a2e4af3e1 Signed-off-by: sebdet <sebastien.determe@intl.att.com> Signed-off-by: xuegao <xg353y@intl.att.com> Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Diffstat (limited to 'catalog-be')
-rw-r--r--catalog-be/pom.xml20
-rw-r--r--catalog-be/sdc-backend/Dockerfile54
-rw-r--r--catalog-be/sdc-backend/startup.sh6
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/impl/aaf/RoleAuthorizationHandlerTest.java26
4 files changed, 80 insertions, 26 deletions
diff --git a/catalog-be/pom.xml b/catalog-be/pom.xml
index eef3d7c7dc..89be979b65 100644
--- a/catalog-be/pom.xml
+++ b/catalog-be/pom.xml
@@ -749,10 +749,10 @@
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <forkCount>1</forkCount>
- </configuration>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkCount>1</forkCount>
+ </configuration>
</plugin>
<plugin>
<!-- Download Swagger UI webjar. -->
@@ -870,6 +870,18 @@
<groupId>com.jcabi</groupId>
<artifactId>jcabi-maven-plugin</artifactId>
<version>${jcabi.maven.plugin.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjtools</artifactId>
+ <version>1.9.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjweaver</artifactId>
+ <version>1.9.2</version>
+ </dependency>
+ </dependencies>
<executions>
<execution>
<goals>
diff --git a/catalog-be/sdc-backend/Dockerfile b/catalog-be/sdc-backend/Dockerfile
index 2a60ce77ad..bc4f27a79a 100644
--- a/catalog-be/sdc-backend/Dockerfile
+++ b/catalog-be/sdc-backend/Dockerfile
@@ -1,13 +1,55 @@
-FROM onap/base_sdc-jetty:1.7.0
-
+FROM jetty:9.4.31-jre11-slim
+
+USER root
+
+# Install Chef
+RUN set -ex && \
+ apt-get update -y && \
+ apt-get install -y \
+ jq \
+ curl \
+ curl \
+ vim \
+ make \
+ gcc \
+ ruby \
+ ruby-dev \
+ libffi-dev \
+ libxml2-dev && \
+ gem install \
+ chef:13.8.5 \
+ berkshelf:6.3.1 \
+ io-console:0.4.6 \
+ etc webrick \
+ --no-document && \
+ gem cleanup && \
+ apt-get update -y && \
+ apt-get install -y binutils jq && \
+ apt-get clean
+
+# Replace Jetty user ID
+ENV USER_JETTY="jetty"
+ENV GROUP_JETTY="jetty"
+ENV UID_JETTY="352070"
+ENV GID_JETTY="35953"
+
+# Remove user:
+RUN deluser ${USER_JETTY}
+#RUN delgroup ${GROUP_JETTY}
+RUN echo "${USER_JETTY}:x:${UID_JETTY}:${GID_JETTY}::/home/${USER_JETTY}:Linux User,,,:/home/jetty:/bin/false" >> /etc/passwd
+RUN echo "${GROUP_JETTY}:x:${GID_JETTY}:${USER_JETTY}" >> /etc/group
+RUN echo "${USER_JETTY}:!:17501:0:99999:7:::" >> /etc/shadow
+RUN mkdir /home/${USER_JETTY} && chown ${USER_JETTY}:${GROUP_JETTY} /home/${USER_JETTY}
+RUN chown -R jetty:jetty ${JETTY_BASE}/webapps /var/lib/jetty
+
+USER jetty
+
COPY --chown=jetty:jetty chef-solo ${JETTY_BASE}/chef-solo/
COPY --chown=jetty:jetty chef-repo/cookbooks/. ${JETTY_BASE}/chef-solo/cookbooks/
-
ADD --chown=jetty:jetty catalog-be-*.war ${JETTY_BASE}/webappwar/
ADD --chown=jetty:jetty context.xml ${JETTY_BASE}/webapps/
-
-COPY --chown=jetty:jetty startup.sh ${JETTY_BASE}/
+COPY --chown=jetty:jetty startup.sh ${JETTY_BASE}/
RUN chmod 770 ${JETTY_BASE}/startup.sh
-ENTRYPOINT ${JETTY_BASE}/startup.sh
+ENTRYPOINT [ "sh", "-c", "${JETTY_BASE}/startup.sh"] \ No newline at end of file
diff --git a/catalog-be/sdc-backend/startup.sh b/catalog-be/sdc-backend/startup.sh
index 4f5ef8ca2e..0dc54a8849 100644
--- a/catalog-be/sdc-backend/startup.sh
+++ b/catalog-be/sdc-backend/startup.sh
@@ -15,18 +15,16 @@ cd /var/lib/jetty/chef-solo
chef-solo -c solo.rb -E ${ENVNAME}
status=$?
-if [ $status != 0 ]; then
+if [ $status -ne 0 ]; then
echo "[ERROR] Problem detected while running chef. Aborting !"
exit 1
fi
# Execute Jetty
cd /var/lib/jetty
-/docker-entrypoint.sh &
-exec "$@";
+java $JAVA_OPTIONS -jar "$JETTY_HOME/start.jar"
-while true; do sleep 2; done
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/impl/aaf/RoleAuthorizationHandlerTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/impl/aaf/RoleAuthorizationHandlerTest.java
index c488a9a6ca..30a123dcad 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/impl/aaf/RoleAuthorizationHandlerTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/impl/aaf/RoleAuthorizationHandlerTest.java
@@ -22,8 +22,9 @@ package org.openecomp.sdc.be.impl.aaf;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.Signature;
+import org.hibernate.validator.internal.util.annotationfactory.AnnotationDescriptor;
+import org.hibernate.validator.internal.util.annotationfactory.AnnotationFactory;
import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -36,15 +37,12 @@ import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
import org.openecomp.sdc.be.config.ConfigurationManager;
import org.openecomp.sdc.be.dao.api.ActionStatus;
import org.openecomp.sdc.be.servlets.BeGenericServlet;
-import org.openecomp.sdc.common.api.ConfigurationSource;
import org.openecomp.sdc.common.api.FilterDecisionEnum;
import org.openecomp.sdc.common.impl.ExternalConfiguration;
import org.openecomp.sdc.common.impl.FSConfigurationSource;
import org.openecomp.sdc.common.util.ThreadLocalsHolder;
-import sun.reflect.annotation.AnnotationParser;
import javax.servlet.http.HttpServletRequest;
-import java.util.Collections;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.catchThrowable;
@@ -78,8 +76,9 @@ public class RoleAuthorizationHandlerTest {
@Test
public void testAuthorizeRoleOnePermittedRole() {
String[] permsAllowed = {AafPermission.PermNames.WRITE_VALUE};
- PermissionAllowed rolesAllowed =
- (PermissionAllowed) AnnotationParser.annotationForMap(PermissionAllowed.class, Collections.singletonMap("value", permsAllowed));
+ AnnotationDescriptor<PermissionAllowed> permissionDescriptor = new AnnotationDescriptor<PermissionAllowed>(PermissionAllowed.class);
+ permissionDescriptor.setValue("value", permsAllowed);
+ PermissionAllowed rolesAllowed = (PermissionAllowed) AnnotationFactory.create(permissionDescriptor);
when(httpServletRequest.isUserInRole(AafPermission.getEnumByString(permsAllowed[0]).getFullPermission()))
.thenReturn(true);
roleAuthorizationHandler.authorizeRole(joinPoint, rolesAllowed);
@@ -88,8 +87,9 @@ public class RoleAuthorizationHandlerTest {
@Test
public void testAuthorizeRoleTwoPermittedRole() {
String[] permsAllowed = {AafPermission.PermNames.WRITE_VALUE, AafPermission.PermNames.READ_VALUE};
- PermissionAllowed rolesAllowed =
- (PermissionAllowed) AnnotationParser.annotationForMap(PermissionAllowed.class, Collections.singletonMap("value", permsAllowed));
+ AnnotationDescriptor<PermissionAllowed> permissionDescriptor = new AnnotationDescriptor<PermissionAllowed>(PermissionAllowed.class);
+ permissionDescriptor.setValue("value", permsAllowed);
+ PermissionAllowed rolesAllowed = (PermissionAllowed)AnnotationFactory.create(permissionDescriptor);
when(httpServletRequest.isUserInRole(AafPermission.getEnumByString(permsAllowed[0]).getFullPermission()))
.thenReturn(true);
roleAuthorizationHandler.authorizeRole(joinPoint, rolesAllowed);
@@ -98,8 +98,9 @@ public class RoleAuthorizationHandlerTest {
@Test
public void testAuthorizeRoleNonPermittedRole() {
String[] permsAllowed = {AafPermission.PermNames.WRITE_VALUE, AafPermission.PermNames.READ_VALUE};
- PermissionAllowed rolesAllowed =
- (PermissionAllowed) AnnotationParser.annotationForMap(PermissionAllowed.class, Collections.singletonMap("value", permsAllowed));
+ AnnotationDescriptor<PermissionAllowed> permissionDescriptor = new AnnotationDescriptor<PermissionAllowed>(PermissionAllowed.class);
+ permissionDescriptor.setValue("value", permsAllowed);
+ PermissionAllowed rolesAllowed = (PermissionAllowed)AnnotationFactory.create(permissionDescriptor);
when(httpServletRequest.isUserInRole(AafPermission.getEnumByString(permsAllowed[0]).getFullPermission()))
.thenReturn(false);
@@ -110,8 +111,9 @@ public class RoleAuthorizationHandlerTest {
@Test
public void testAuthorizeRoleEmptyRole() {
String[] permsAllowed = {};
- PermissionAllowed rolesAllowed =
- (PermissionAllowed) AnnotationParser.annotationForMap(PermissionAllowed.class, Collections.singletonMap("value", permsAllowed));
+ AnnotationDescriptor<PermissionAllowed> permissionDescriptor = new AnnotationDescriptor<PermissionAllowed>(PermissionAllowed.class);
+ permissionDescriptor.setValue("value", permsAllowed);
+ PermissionAllowed rolesAllowed = (PermissionAllowed)AnnotationFactory.create(permissionDescriptor);
ComponentException thrown = (ComponentException) catchThrowable(()->roleAuthorizationHandler.authorizeRole(joinPoint, rolesAllowed));
assertThat(thrown.getActionStatus()).isEqualTo(ActionStatus.AUTH_FAILED);