Generate onap images locally on ARM architecture 82/130082/2
authorliamfallon <liam.fallon@est.tech>
Sun, 31 Jul 2022 18:12:28 +0000 (19:12 +0100)
committerliamfallon <liam.fallon@est.tech>
Mon, 22 Aug 2022 16:22:12 +0000 (17:22 +0100)
commit18c442ae336dea9945512245ec49b61978a893d5
treeae91f5b82fc49885d952f5f759f88ed2593db388
parent0f2099e2f0527ffc5c19637f04a5ad8dee75047e
Generate onap images locally on ARM architecture

The defailt ONAP base images are generated for X86 64 architecture. On
ARM architecture, these base images cannot be used locally because they
don't run properly in Docker on ARM architecture. Docker images based on
these images are also forced to X86 64 architecure.

In order to run the Policy Framework locally on a computer with ARM
architecture such as an Apple M1 Macbook, local Docker images should be
built that use ARM archtiecture.

The changes in this commit introduce a profile in the POMs for the
POLICY Framework base images. This profile is triggered only on builds
running on ARM architecture.

This new profile builds the onap-java and onap-pthon base images on ARM
architeclture locally when the build is run on a machine with ARM
architecture.

- The onap-java base image docker file does not build on ARM
  architecture becasue its base image (an Alpine version with Java 11
  preinstalled). Therefore, for this base image, a Dockerfile is
  introduced that uses the Alpine base image and adds Java 11.
- The onap-python image docker file does build on ARM architecture so
  the repo is simply checked out and built on ARM architecture

Once these ARM based ONAP base images are available locally, the rest
of the docker images in the Policy Framework build fine on a machine
with ARM architecture, and can be used to run docker-compose
compositions such as CSITs.

Issue-ID: POLICY-4287
Change-Id: I1938e232f6457f7ad1c18a0952c65fdee04d169b
Signed-off-by: liamfallon <liam.fallon@est.tech>
policy-jdk/alpine/pom.xml
policy-jdk/alpine/src/main/docker/Dockerfile
policy-jre/alpine/pom.xml
policy-jre/alpine/src/main/docker/Dockerfile