# Copyright (c) 2019 AT&T Intellectual Property.
-# Copyright (c) 2019 Nokia.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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.
-FROM python:3-alpine
-MAINTAINER "RIC"
+FROM python:3-alpine AS nanobot-build
+RUN apk update && apk add git build-base libffi-dev libxml2 libxslt libxml2-dev libxslt-dev openssl-dev
+
+RUN pip install UUID
+RUN pip install kubernetes
+RUN pip install redis
+RUN pip install asyncio
+RUN pip install websockets
+RUN pip install robotframework
+RUN pip install robotframework-requests
+RUN pip install robotframework-ncclient
+
+WORKDIR /tmp/
+RUN git clone -b 3.0.1-ONAP https://gerrit.onap.org/r/testsuite/python-testing-utils.git
+
+FROM python:3-alpine
+MAINTAINER "RIC"
LABEL name="Docker image for the RIC Robot Testing Framework"
ENV ROBOT_HOME="/robot"
ENV ROBOT_OPTIONS="-T -d /robot/log --console verbose -C off -P /robot/lib/python"
ENV KUBECONFIG="/robot/etc/kubernetes-admin-conf"
ENV PYTHONPATH="/robot/lib/python"
-ENV RICPLT_NAMESPACE=ricplatform
+ENV RICPLT_NAMESPACE=ricplt
ENV RICPLT_RELEASE_NAME=ric-full
-ENV RICPLT_COMPONENTS="appmgr rtmgr dbaas e2mgr e2term"
+ENV RICPLT_COMPONENTS="a1mediator appmgr dbaas e2mgr e2term rtmgr"
+
+RUN apk update && apk add libxslt
+COPY --from=nanobot-build /usr/local/lib/python3.8 /usr/local/lib/python3.8
+COPY --from=nanobot-build /usr/local/bin/robot /usr/local/bin
RUN mkdir -p /robot/lib/python
# ONAP eteutils
-# we only need a few things from this so we won't install
-# the whole thing.
-# we could do this in a builder image but that seems execssive.
-RUN apk update && apk add git
-WORKDIR /tmp/
-RUN git clone -b 3.0.1-ONAP https://gerrit.onap.org/r/testsuite/python-testing-utils.git
-RUN cp /tmp/python-testing-utils/eteutils/StringTemplater.py /robot/lib/python
-RUN cp /tmp/python-testing-utils/eteutils/UUID.py /robot/lib/python
-RUN rm -rf /tmp/python-testing-utils
-RUN apk del --purge git
-
+# we only need a few things from this so we won't install the whole thing.
+COPY --from=nanobot-build /tmp/python-testing-utils/eteutils/StringTemplater.py /robot/lib/python
+COPY --from=nanobot-build /tmp/python-testing-utils/eteutils/UUID.py /robot/lib/python
COPY ric-python-utils/ricutils/*.py /robot/lib/python/
#
# files/libraries, so we pick and choose what to copy..
RUN mkdir /robot/resources
COPY robot/resources/json_templater.robot /robot/resources
+COPY robot/resources/a1mediator /robot/resources/a1mediator
COPY robot/resources/appmgr /robot/resources/appmgr
+COPY robot/resources/dashboard /robot/resources/dashboard
COPY robot/resources/e2mgr /robot/resources/e2mgr
COPY robot/resources/e2sim /robot/resources/e2sim
COPY robot/resources/e2term /robot/resources/e2term
+COPY robot/resources/o1mediator /robot/resources/o1mediator
COPY robot/resources/ric /robot/resources/ric
COPY robot/resources/rnib /robot/resources/rnib
COPY robot/resources/rtmgr /robot/resources/rtmgr
RUN mkdir -p /robot/assets/templates
COPY robot/assets/templates/e2mgr_setup_nodeb.template /robot/assets/templates
-COPY robot/assets/templates/appmgr_create_xapp.template /robot/assets/templates
-
-RUN pip install UUID
-RUN pip install kubernetes
-RUN pip install redis
-RUN pip install robotframework
-RUN pip install robotframework-requests
RUN python -m compileall /robot/lib/python
+WORKDIR /
+
CMD ["sleep", "9125d"]