Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Revert "fix(deps): Fixing CPU architecture hard codings to enable aarch64"" #11671

Merged
merged 1 commit into from
Feb 18, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
73 changes: 40 additions & 33 deletions lte/gateway/docker/services/c/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,17 @@
# -----------------------------------------------------------------------------
# Builder image for C binaries and Magma proto files
# -----------------------------------------------------------------------------
ARG CPU_ARCH=x86_64
ARG DEB_PORT=amd64
ARG OS_DIST=ubuntu
ARG OS_RELEASE=focal
ARG EXTRA_REPO=https://facebookconnectivity.jfrog.io/artifactory/list/dev-focal/
ARG EXTRA_REPO=https://artifactory.magmacore.org/artifactory/debian-test/
ARG CLANG_VERSION=3.8
ARG FEATURES=mme_oai

FROM $OS_DIST:$OS_RELEASE AS builder
ARG CPU_ARCH
ARG DEB_PORT
ARG OS_DIST
ARG OS_RELEASE
ARG EXTRA_REPO
Expand All @@ -39,13 +43,14 @@ RUN apt-get update && \
# Setup necessary tools for adding the Magma repository
apt-get install -y apt-utils software-properties-common apt-transport-https gnupg wget && \
# Download Bazel
wget -P /usr/sbin --progress=dot:giga https://github.com/bazelbuild/bazelisk/releases/download/v1.10.0/bazelisk-linux-amd64 && \
chmod +x /usr/sbin/bazelisk-linux-amd64 && \
ln -s /usr/sbin/bazelisk-linux-amd64 /usr/sbin/bazel
wget -P /usr/sbin --progress=dot:giga https://github.com/bazelbuild/bazelisk/releases/download/v1.10.0/bazelisk-linux-"${DEB_PORT}" && \
chmod +x /usr/sbin/bazelisk-linux-"${DEB_PORT}" && \
ln -s /usr/sbin/bazelisk-linux-"${DEB_PORT}" /usr/sbin/bazel

COPY orc8r/tools/ansible/roles/pkgrepo/files/jfrog.pub /tmp/jfrog.pub
RUN apt-key add /tmp/jfrog.pub && \
apt-add-repository "deb ${EXTRA_REPO} ${OS_RELEASE} main"
RUN echo "deb https://artifactory.magmacore.org/artifactory/debian-test/ focal-ci main" > /etc/apt/sources.list.d/magma.list && \
wget -qO - https://artifactory.magmacore.org/artifactory/api/gpg/key/public -O /tmp/public && \
apt-key add /tmp/public && \
apt-add-repository "deb ${EXTRA_REPO} focal-ci"

# Install dependencies required for building
RUN apt-get update && apt-get install -y \
Expand Down Expand Up @@ -152,6 +157,7 @@ COPY lte/gateway/configs ${MAGMA_ROOT}/lte/gateway/configs
# Dev/Production image
# -----------------------------------------------------------------------------
FROM $OS_DIST:$OS_RELEASE AS gateway_c
ARG CPU_ARCH
ARG OS_DIST
ARG OS_RELEASE
ARG EXTRA_REPO
Expand Down Expand Up @@ -184,36 +190,37 @@ RUN apt-get update && apt-get install -y \
iptables \
&& rm -rf /var/lib/apt/lists/*

RUN echo "deb https://facebookconnectivity.jfrog.io/artifactory/list/dev-focal/ focal main" > /etc/apt/sources.list.d/magma.list
RUN wget -qO - https://facebookconnectivity.jfrog.io/artifactory/api/security/keypair/default-gpg-key/public | apt-key add -
RUN echo "deb https://artifactory.magmacore.org/artifactory/debian-test/ focal-ci main" > /etc/apt/sources.list.d/magma.list && \
wget -qO - https://artifactory.magmacore.org:443/artifactory/api/gpg/key/public -O /tmp/public && \
apt-key add /tmp/public

RUN apt-get update && apt-get install -y libopenvswitch openvswitch-datapath-dkms openvswitch-common openvswitch-switch

# Copy pre-built shared object files
COPY --from=builder /usr/lib/x86_64-linux-gnu/liblsan.so.0 /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libprotobuf.so /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libboost* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libevent-* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libsnappy.* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libdouble-conversion.* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libicui18n.* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libicuuc.* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libicudata.* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libconfig.* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libczmq.* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libevent* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libzmq* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libsodium* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libpgm* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libnorm* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libgflags* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libgssapi_krb5* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libk5crypto* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libkeyutils* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libcurl.so.* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/librtmp.so.* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libssh.so.* /usr/lib/x86_64-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/liblsan.so.0 /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libprotobuf.so /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libboost* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libevent-* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libsnappy.* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libdouble-conversion.* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libicui18n.* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libicuuc.* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libicudata.* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libconfig.* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libczmq.* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libevent* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libzmq* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libsodium* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libpgm* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libnorm* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libgflags* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libgssapi_krb5* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libkrb5* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libk5crypto* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libkeyutils* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libcurl.so.* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/librtmp.so.* /usr/lib/"${CPU_ARCH}"-linux-gnu/
COPY --from=builder /usr/lib/"${CPU_ARCH}"-linux-gnu/libssh.so.* /usr/lib/"${CPU_ARCH}"-linux-gnu/


COPY --from=builder /usr/local/lib/liblfds710.so /usr/local/lib/
Expand Down
13 changes: 10 additions & 3 deletions lte/gateway/docker/services/python/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,15 @@
# -----------------------------------------------------------------------------
# Builder image for C binaries and Magma proto files
# -----------------------------------------------------------------------------
ARG CPU_ARCH=x86_64
ARG DEB_PORT=amd64
ARG OS_DIST=ubuntu
ARG OS_RELEASE=focal
ARG EXTRA_REPO=https://facebookconnectivity.jfrog.io/artifactory/list/dev-focal/
ARG EXTRA_REPO=https://artifactory.magmacore.org/artifactory/debian-test/

FROM $OS_DIST:$OS_RELEASE AS builder
ARG CPU_ARCH
ARG DEB_PORT
ARG OS_DIST
ARG OS_RELEASE
ARG EXTRA_REPO
Expand Down Expand Up @@ -107,6 +111,8 @@ RUN apt-get update && apt-get install -y \
wget \
ethtool \
linux-headers-`uname -r` \
bpfcc-tools \
python3-bpfcc \
iptables \
iproute2

Expand All @@ -115,8 +121,9 @@ RUN cd /usr/local/bin && ln -s /usr/bin/python3 pytho && \

ENV PATH="/magma/orc8r/gateway/python/scripts/:/magma/lte/gateway/python/scripts/:$VIRTUAL_ENV/bin:$PATH"

RUN echo "deb https://facebookconnectivity.jfrog.io/artifactory/list/dev-focal/ focal main" > /etc/apt/sources.list.d/magma.list
RUN wget -qO - https://facebookconnectivity.jfrog.io/artifactory/api/security/keypair/default-gpg-key/public | apt-key add -
RUN echo "deb https://artifactory.magmacore.org/artifactory/debian-test/ focal-ci main" > /etc/apt/sources.list.d/magma.list && \
wget -qO - https://artifactory.magmacore.org:443/artifactory/api/gpg/key/public -O /tmp/public && \
apt-key add /tmp/public

RUN echo "deb https://packages.fluentbit.io/ubuntu/focal focal main" > /etc/apt/sources.list.d/tda.list
RUN wget -qO - https://packages.fluentbit.io/fluentbit.key | apt-key add -
Expand Down
8 changes: 7 additions & 1 deletion third_party/build/lib/util.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@

BUILDTS="$(date -u +"%Y%m%d%H%M%S")"

case $(uname -m) in
aarch64) cpu_arch="arm64" ;;
*) cpu_arch="amd64" ;;
esac


# IMPORTANT! set variables
# * PKGNAME
# * VERSION
Expand All @@ -22,7 +28,7 @@ BUILDTS="$(date -u +"%Y%m%d%H%M%S")"
# * PKGFMT
# to the correct values before calling pkgfilename()

ARCH="${ARCH:-amd64}"
ARCH="${ARCH:-$cpu_arch}"
PKGFMT="${PKGFMT:-deb}"
SCRIPTKEY="$(basename "$0" | sed 's/_build.sh//g')"
OUTPUT_DIR="$(pwd)"
Expand Down