From 95f2491ed89ac99b0d8bd006b4a13cbeb1eb96ce Mon Sep 17 00:00:00 2001 From: "Michael S. Pedersen" Date: Tue, 3 Dec 2019 11:38:32 +0000 Subject: NFVBENCH-153 Add support for python3 JIRA: NFVBENCH-153 Done using 2to3-3.6 with additional changes to fix data parsing and testing (tox) Signed-off-by: Michael S. Pedersen Change-Id: I242902f800da543d780507828c9bd1fbf409da6d --- docker/Dockerfile | 23 +++++++++++++---------- docker/cleanup_generators.py | 14 +++++++------- 2 files changed, 20 insertions(+), 17 deletions(-) (limited to 'docker') diff --git a/docker/Dockerfile b/docker/Dockerfile index b84bfa3..50d37cf 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -3,40 +3,43 @@ FROM ubuntu:16.04 ENV TREX_VER "v2.61" ENV VM_IMAGE_VER "0.11" +ENV PYTHONIOENCODING "utf8" # Note: do not clone with --depth 1 as it will cause pbr to fail extracting the nfvbench version # from the git tag +RUN apt-get update && apt-get install -y software-properties-common + +RUN add-apt-repository -y ppa:deadsnakes/ppa + RUN apt-get update && apt-get install -y \ git \ kmod \ pciutils \ - python \ - python-pip \ + python3.6 \ vim \ wget \ net-tools \ iproute2 \ libelf1 \ + && ln -s /usr/bin/python3.6 /usr/local/bin/python3 \ && mkdir -p /opt/trex \ && mkdir /var/log/nfvbench \ && wget --no-cache https://trex-tgn.cisco.com/trex/release/$TREX_VER.tar.gz \ && tar xzf $TREX_VER.tar.gz -C /opt/trex \ && rm -f /$TREX_VER.tar.gz \ && rm -f /opt/trex/$TREX_VER/trex_client_$TREX_VER.tar.gz \ - && cp -a /opt/trex/$TREX_VER/automation/trex_control_plane/interactive/trex /usr/local/lib/python2.7/dist-packages/ \ + && cp -a /opt/trex/$TREX_VER/automation/trex_control_plane/interactive/trex /usr/local/lib/python3.6/dist-packages/ \ && rm -rf /opt/trex/$TREX_VER/automation/trex_control_plane/interactive/trex \ - && sed -i -e "s/2048 /512 /" -e "s/2048\"/512\"/" /opt/trex/$TREX_VER/trex-cfg \ - && apt-get remove -y python-pip \ && wget https://bootstrap.pypa.io/get-pip.py \ - && python get-pip.py \ - && pip install -U pbr \ - && pip install -U setuptools \ + && python3 get-pip.py \ + && pip3 install -U pbr \ + && pip3 install -U setuptools \ && cd / \ && git clone https://gerrit.opnfv.org/gerrit/nfvbench \ - && cd /nfvbench && pip install -e . \ + && cd /nfvbench && pip3 install -e . \ && wget -O nfvbenchvm-$VM_IMAGE_VER.qcow2 http://artifacts.opnfv.org/nfvbench/images/nfvbenchvm_centos-$VM_IMAGE_VER.qcow2 \ - && python ./docker/cleanup_generators.py \ + && python3 ./docker/cleanup_generators.py \ && rm -rf /nfvbench/.git \ && apt-get remove -y wget git \ && apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* diff --git a/docker/cleanup_generators.py b/docker/cleanup_generators.py index db68dcb..c555d59 100755 --- a/docker/cleanup_generators.py +++ b/docker/cleanup_generators.py @@ -40,8 +40,8 @@ def remove_unused_libs(path, files): else: os.remove(f) except OSError: - print "Skipped file:" - print f + print("Skipped file:") + print(f) continue @@ -65,14 +65,14 @@ if __name__ == "__main__": versions = os.listdir(TREX_OPT) for version in versions: trex_path = os.path.join(TREX_OPT, version) - print 'Cleaning TRex', version + print('Cleaning TRex', version) try: size_before = get_dir_size(trex_path) remove_unused_libs(trex_path, TREX_UNUSED) size_after = get_dir_size(trex_path) - print '==== Saved Space ====' - print size_before - size_after + print('==== Saved Space ====') + print(size_before - size_after) except OSError: import traceback - print traceback.print_exc() - print 'Cleanup was not finished.' + print(traceback.print_exc()) + print('Cleanup was not finished.') -- cgit 1.2.3-korg