diff options
-rw-r--r-- | docker/Dockerfile.aarch64 | 126 | ||||
-rw-r--r-- | docker/Dockerfile.aarch64.patch | 61 | ||||
-rw-r--r-- | docs/testing/user/userguide/introduction.rst | 4 | ||||
-rw-r--r-- | functest/ci/testcases.yaml | 1 | ||||
-rw-r--r-- | functest/tests/unit/utils/test_openstack_utils.py | 2 | ||||
-rw-r--r-- | functest/utils/openstack_utils.py | 10 |
6 files changed, 69 insertions, 135 deletions
diff --git a/docker/Dockerfile.aarch64 b/docker/Dockerfile.aarch64 deleted file mode 100644 index 66a73d94e..000000000 --- a/docker/Dockerfile.aarch64 +++ /dev/null @@ -1,126 +0,0 @@ -######################################## -# 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 ODL_TAG=release/beryllium-sr4 -ARG OPENSTACK_TAG=stable/ocata -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_DIR=/usr/local/lib/python2.7/dist-packages/functest/ -ARG REPOS_VNFS_DIR=${REPOS_DIR}/vnfs - -# Environment variables -ENV CONFIG_FUNCTEST_YAML ${FUNCTEST_DIR}/functest/ci/config_functest.yaml -ENV REPOS_DIR ${REPOS_DIR} -ENV creds ${FUNCTEST_CONF_DIR}/openstack.creds - -# 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 ${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 wget -q -O- https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG | \ - sed -E s/^tempest==+\(.*\)$/-e\ git+https:\\/\\/github.com\\/openstack\\/tempest@\\1#egg=tempest/ \ - > upper-constraints.txt && \ - pip install --src /src -cupper-constraints.txt \ - -chttps://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH \ - git+https://gerrit.opnfv.org/gerrit/functest@$BRANCH#egg=functest \ - -rthirdparty-requirements.txt && \ - mkdir -p /etc/rally && \ - printf "[database]\nconnection = 'sqlite:////var/lib/rally/database/rally.sqlite'" > /etc/rally/rally.conf && \ - mkdir -p /var/lib/rally/database && rally-manage db create && \ - rm thirdparty-requirements.txt upper-constraints.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/doctor ${REPOS_DIR}/doctor -RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/promise ${REPOS_DIR}/promise - -# 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 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 ". /usr/local/lib/python2.7/dist-packages/sfc/tests/functest/setup_scripts/tacker_client_install.sh" - -# Install tempest venv and create symlink for running refstack-client -RUN ln -s /src/tempest /src/refstack-client/.tempest \ - && virtualenv --system-site-packages /src/tempest/.venv - -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_DIR}/cli/functest-complete.sh" >> /root/.bashrc diff --git a/docker/Dockerfile.aarch64.patch b/docker/Dockerfile.aarch64.patch new file mode 100644 index 000000000..1b553b1c5 --- /dev/null +++ b/docker/Dockerfile.aarch64.patch @@ -0,0 +1,61 @@ +From: Delia Popescu <delia.popescu@enea.com> +Date: Thu, 20 Jul 2017 17:36:13 +0300 +Subject: [PATCH] Modified Dockerfile.aarch to a patch + +Docker image for functest on ARM was build using a different Dockerfile. +Now the ARM Dockerfile is created with a patch, +in order to avoid modifying both files. +This Dockerfile.aarch64.patch is applied by opnfv-docker.sh from releng project. + +Signed-off-by: Delia Popescu <delia.popescu@enea.com> +--- + docker/Dockerfile | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/docker/Dockerfile b/docker/Dockerfile +index 924da68..dd87e6c 100644 +--- a/docker/Dockerfile ++++ b/docker/Dockerfile +@@ -1,5 +1,5 @@ + ######################################## +-# Docker container for FUNCTEST ++# 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 +@@ -7,9 +7,9 @@ + # http://www.apache.org/licenses/LICENSE-2.0 + # + +-FROM ubuntu:14.04 +-MAINTAINER Jose Lausuch <jose.lausuch@ericsson.com> +-LABEL version="0.1" description="OPNFV Functest Docker container" ++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 +@@ -43,6 +43,7 @@ gcc \ + git \ + libffi-dev \ + libgmp3-dev \ ++libjpeg-dev \ + libpq-dev \ + libssl-dev \ + libxml2-dev \ +@@ -117,11 +118,13 @@ 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 'curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -' \ +- && sudo apt-get install -y nodejs \ ++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 diff --git a/docs/testing/user/userguide/introduction.rst b/docs/testing/user/userguide/introduction.rst index d1b7d23e0..76a28d9a6 100644 --- a/docs/testing/user/userguide/introduction.rst +++ b/docs/testing/user/userguide/introduction.rst @@ -59,8 +59,8 @@ validate the scenario for the release. | | | rally_sanity | Run a subset of the OpenStack | | | | | Rally Test Suite in smoke mode | | | +----------------+----------------------------------+ -| | | snaps_smoke | Run a subset of the OpenStack | -| | | | Rally Test Suite in smoke mode | +| | | snaps_smoke | Run the SNAPS-OO integration | +| | | | tests | | | +----------------+----------------------------------+ | | | refstack | Reference RefStack suite | | | | \_defcore | tempest selection for NFV | diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml index 6c74f3aa4..0f8dff014 100644 --- a/functest/ci/testcases.yaml +++ b/functest/ci/testcases.yaml @@ -382,7 +382,6 @@ tiers: - case_name: parser-basics - enabled: false project_name: parser criteria: 100 blocking: false diff --git a/functest/tests/unit/utils/test_openstack_utils.py b/functest/tests/unit/utils/test_openstack_utils.py index 828fb3d45..cabd18e50 100644 --- a/functest/tests/unit/utils/test_openstack_utils.py +++ b/functest/tests/unit/utils/test_openstack_utils.py @@ -390,8 +390,6 @@ class OSUtilsTesting(unittest.TestCase): self._test_source_credentials('export OS_TENANT_NAME =admin') self._test_source_credentials('export OS_TENANT_NAME = admin') self._test_source_credentials('export OS_TENANT_NAME = "admin"') - self._test_source_credentials('OS_TENANT_NAME', value='') - self._test_source_credentials('export OS_TENANT_NAME', value='') # This test will fail as soon as rc_file is fixed self._test_source_credentials( 'export "\'OS_TENANT_NAME\'" = "\'admin\'"') diff --git a/functest/utils/openstack_utils.py b/functest/utils/openstack_utils.py index 4f8d6c357..1bdfa2536 100644 --- a/functest/utils/openstack_utils.py +++ b/functest/utils/openstack_utils.py @@ -117,13 +117,15 @@ def get_credentials(other_creds={}): def source_credentials(rc_file): with open(rc_file, "r") as f: for line in f: - var = line.rstrip('"\n').replace('export ', '').split("=") + var = (line.rstrip('"\n').replace('export ', '').split("=") + if re.search(r'(.*)=(.*)', line) else None) # The two next lines should be modified as soon as rc_file # conforms with common rules. Be aware that it could induce # issues if value starts with ' - key = re.sub(r'^["\' ]*|[ \'"]*$', '', var[0]) - value = re.sub(r'^["\' ]*|[ \'"]*$', '', "".join(var[1:])) - os.environ[key] = value + if var: + key = re.sub(r'^["\' ]*|[ \'"]*$', '', var[0]) + value = re.sub(r'^["\' ]*|[ \'"]*$', '', "".join(var[1:])) + os.environ[key] = value def get_credentials_for_rally(): |