summaryrefslogtreecommitdiffstats
path: root/samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-scale-out.yaml
AgeCommit message (Expand)AuthorFilesLines
2017-10-03Adding auto generate scale-out support for correlated trafficDeepak S1-0/+56
a id='n79' href='#n79'>79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
########################################
#  Aarch64 Docker container for FUNCTEST
########################################
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
#

FROM aarch64/ubuntu:14.04
MAINTAINER Armband team <armband@enea.com>
LABEL version="0.1" description="OPNFV Functest Aarch64 Docker container"

# Environment variables
ARG BRANCH=master
ARG RALLY_TAG=0.8.1
ARG REFSTACK_TAG=15.0.0
ARG ODL_TAG=release/beryllium-sr4
ARG KINGBIRD_TAG=0.2.2
ARG VIMS_TAG=stable
ARG REPOS_DIR=/home/opnfv/repos
ARG FUNCTEST_BASE_DIR=/home/opnfv/functest
ARG FUNCTEST_CONF_DIR=${FUNCTEST_BASE_DIR}/conf
ARG FUNCTEST_DATA_DIR=${FUNCTEST_BASE_DIR}/data
ARG FUNCTEST_IMAGES_DIR=${FUNCTEST_BASE_DIR}/images
ARG FUNCTEST_RESULTS_DIR=${FUNCTEST_BASE_DIR}/results
ARG FUNCTEST_REPO_DIR=${REPOS_DIR}/functest
ARG FUNCTEST_TEST_DIR=${FUNCTEST_REPO_DIR}/functest/opnfv_tests
ARG REPOS_VNFS_DIR=${REPOS_DIR}/vnfs
ARG PIP_OPTS=-chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?stable/ocata

# Environment variables
ENV HOME /home/opnfv
ENV CONFIG_FUNCTEST_YAML ${FUNCTEST_REPO_DIR}/functest/ci/config_functest.yaml
ENV REPOS_DIR ${HOME}/repos
ENV creds ${FUNCTEST_CONF_DIR}/openstack.creds

WORKDIR ${HOME}

# Packaged dependencies
RUN apt-get update && apt-get install -y \
build-essential \
bundler \
crudini \
curl \
gcc \
git \
libffi-dev \
libgmp3-dev \
libjpeg-dev \
libpq-dev \
libssl-dev \
libxml2-dev \
libxslt-dev \
python-dev \
python-mock \
python-pip \
postgresql \
ruby1.9.1-dev \
ssh \
sshpass \
wget \
--no-install-recommends

RUN pip install --upgrade pip && easy_install -U setuptools==30.0.0

RUN mkdir -p ${FUNCTEST_REPO_DIR} \
    && mkdir -p ${REPOS_VNFS_DIR} \
    && mkdir -p ${FUNCTEST_BASE_DIR}/results \
    && mkdir -p ${FUNCTEST_BASE_DIR}/conf \
    && mkdir -p ${FUNCTEST_DATA_DIR} \
    && mkdir -p ${FUNCTEST_IMAGES_DIR} \
    && mkdir -p /root/.ssh \
    && chmod 700 /root/.ssh

RUN git config --global http.sslVerify false

COPY thirdparty-requirements.txt thirdparty-requirements.txt
RUN pip install ${PIP_OPTS} \
    git+https://gerrit.opnfv.org/gerrit/functest@$BRANCH#egg=functest \
    git+https://gerrit.opnfv.org/gerrit/releng@$BRANCH#egg=opnfv\&subdirectory=modules \
    git+https://gerrit.opnfv.org/gerrit/snaps@$BRANCH#egg=snaps \
    -r thirdparty-requirements.txt && rm thirdparty-requirements.txt

# OPNFV repositories
RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/copper ${REPOS_DIR}/copper
RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/domino ${REPOS_DIR}/domino
RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/parser ${REPOS_DIR}/parser
RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/doctor ${REPOS_DIR}/doctor
RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/promise ${REPOS_DIR}/promise
RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/sfc ${REPOS_DIR}/sfc
RUN git clone --depth 1 https://gerrit.opnfv.org/gerrit/securityscanning ${REPOS_DIR}/securityscanning

# other repositories
RUN git clone --depth 1 -b $ODL_TAG https://git.opendaylight.org/gerrit/p/integration/test.git ${REPOS_DIR}/odl_test
RUN git clone --depth 1 -b $VIMS_TAG https://github.com/boucherv-orange/clearwater-live-test ${REPOS_VNFS_DIR}/vims-test
RUN git clone --depth 1 https://github.com/wuwenbin2/OnosSystemTest.git ${REPOS_DIR}/onos

RUN find -L ${FUNCTEST_REPO_DIR} -name "*.py" \
    -not -path "*tests/unit*" \
    -not -path "*functest_venv*" \
    |xargs grep -L __main__ |cut -d\: -f 1 |xargs chmod -c 644 \
    && find -L ${FUNCTEST_REPO_DIR} -name "*.sh" \
    -not -path "*functest_venv*" \
    |xargs grep -L \#\! |cut -d\:  -f 1 |xargs chmod -c 644

RUN find -L ${FUNCTEST_REPO_DIR} -name "*.py" \
    -not -path "*tests/unit*" \
    -not -path "*functest_venv*" \
    |xargs grep __main__ |cut -d\: -f 1 |xargs chmod -c 755 \
    && find -L ${FUNCTEST_REPO_DIR} -name "*.sh" \
    -not -path "*functest_venv*" \
    |xargs grep \#\! |cut -d\:  -f 1 |xargs chmod -c 755

RUN /bin/bash ${REPOS_DIR}/parser/tests/parser_install.sh ${REPOS_DIR}
RUN wget -q https://raw.githubusercontent.com/openstack/rally/${RALLY_TAG}/install_rally.sh \
    && bash install_rally.sh --branch ${RALLY_TAG} --yes && rm install_rally.sh

RUN add_images.sh

RUN gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
RUN curl -L https://get.rvm.io | bash -s stable

# SFC integration
RUN /bin/bash -c ". ${REPOS_DIR}/sfc/sfc/tests/functest/setup_scripts/tacker_client_install.sh"
RUN cd ${REPOS_DIR}/sfc && pip install ${PIP_OPTS} -e .

# refstack-client integration
RUN wget -q https://raw.githubusercontent.com/openstack/refstack-client/master/setup_env \
    && bash setup_env -t ${REFSTACK_TAG} && rm setup_env

RUN /bin/bash -c ". /etc/profile.d/rvm.sh \
    && cd ${REPOS_VNFS_DIR}/vims-test \
    && rvm autolibs enable"
RUN /bin/bash -c ". /etc/profile.d/rvm.sh \
    && cd ${REPOS_VNFS_DIR}/vims-test \
    && rvm install 1.9.3"
RUN /bin/bash -c ". /etc/profile.d/rvm.sh \
    && cd ${REPOS_VNFS_DIR}/vims-test \
    && rvm use 1.9.3"
RUN /bin/bash -c ". /etc/profile.d/rvm.sh \
    && gem install bundler \
    && cd ${REPOS_VNFS_DIR}/vims-test \
    && bundle config build.nokogiri --use-system-libraries \
    && bundle install"

RUN sh -c 'wget -qO- https://nodejs.org/dist/v4.7.2/node-v4.7.2-linux-arm64.tar.gz | \
    tar -xz -C /usr/local --exclude=CHANGELOG.md --exclude=LICENSE --exclude=README.md --strip-components 1 '\
    && cd ${REPOS_DIR}/promise && sudo npm -g install npm@latest \
    && cd ${REPOS_DIR}/promise/source && npm install

RUN echo ". ${FUNCTEST_REPO_DIR}/functest/cli/functest-complete.sh" >> ${HOME}/.bashrc