From: Yasufumi Ogawa <yasufum.o@gmail.com> To: spp@dpdk.org, ferruh.yigit@intel.com, yasufum.o@gmail.com Subject: [spp] [PATCH 10/29] tools/sppc: version checker for container DPDK ver Date: Tue, 25 Feb 2020 19:34:27 +0900 Message-ID: <20200225103446.8243-11-yasufum.o@gmail.com> (raw) In-Reply-To: <20200225103446.8243-1-yasufum.o@gmail.com> You need to check version of DPDK on a container because some of application might be deprecated or removed from some specific version. For instance, load balancer example app was removed after v19.08-rc. This update is to add methods for getting DPDK version from container, and comparing it with expected version. Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com> --- tools/sppc/lib/app_helper.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tools/sppc/lib/app_helper.py b/tools/sppc/lib/app_helper.py index cc042e5..b918aeb 100644 --- a/tools/sppc/lib/app_helper.py +++ b/tools/sppc/lib/app_helper.py @@ -4,6 +4,7 @@ from . import common import os import secrets +import subprocess import sys @@ -337,6 +338,34 @@ def gen_sppc_file_prefix(app_name): return 'sppc-{}-{}'.format(app_name, secrets.token_hex(8)) +def get_dpdk_ver_in_container(rte_sdk, c_image): + """Get DPDK version on a container. + + The version is retrieved by reading `${RTE_SDK/VERION` file. + """ + + cmd = ['cat', '{:s}/VERSION'.format(rte_sdk)] + cmd = ['docker', 'run', '-it', c_image] + cmd + # Decode the result of byte type to utf-8. + return subprocess.check_output(cmd).decode('utf-8').strip() + + +def compare_version(expected, target): + """Compare given versions. + + If two versions are equal, return 0. On the other hand, return -1 if + expected ver is less than target, or return 1. + """ + + from distutils.version import LooseVersion + if LooseVersion(expected) == LooseVersion(target): + return 0 + elif LooseVersion(expected) < LooseVersion(target): + return 1 + else: + return -1 + + def _uniq(dup_list): """Remove duplicated elements in a list and return a unique list. -- 2.17.1
next prev parent reply other threads:[~2020-02-25 10:35 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-25 10:34 [spp] [PATCH 00/29] Update SPP Container tools Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 01/29] tools/sppc: update options for assigning devices Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 02/29] tools/sppc: update dev options of l2fwd Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 03/29] tools/sppc: add container name option Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 04/29] tools/sppc: update l2fwd app for " Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 05/29] tools/sppc: update dev options of l3fwd Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 06/29] tools/sppc: update dev options of l3fwd-acl Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 07/29] tools/sppc: update dev options of testpmd Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 08/29] tools/sppc: update dev options of pktgen Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 09/29] tools/sppc: update dev options of load-balancer Yasufumi Ogawa 2020-02-25 10:34 ` Yasufumi Ogawa [this message] 2020-02-25 10:34 ` [spp] [PATCH 11/29] tools/sppc: check DPDK ver in load-balancer Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 12/29] tools/sppc: setup spp_pri opts in app_helper Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 13/29] tools/sppc: define file prefix for SPP Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 14/29] tools/sppc: update dev options of spp_primary Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 15/29] tools/sppc: setup with docker opts in SPP pri Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 16/29] tools/sppc: update calling setup_docker_opts() Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 17/29] tools/sppc: update dev options of helloworld Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 18/29] tools/sppc: update dev options of suricata Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 19/29] tools/sppc: update dev options of spp_nfv Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 20/29] tools/sppc: change to gen EAL opts with app name Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 21/29] tools/sppc: remove nouse variable Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 22/29] bin: remove sock files created by docker Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 23/29] tools/sppc: skip checking rule file if dry run Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 24/29] docs: revise examples in sppc Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 25/29] docs: update versions in " Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 26/29] docs: update old example in spp_primary container Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 27/29] tools/sppc: python3 support for sppc build tool Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 28/29] docs: update app container help msg Yasufumi Ogawa 2020-02-25 10:34 ` [spp] [PATCH 29/29] docs: update howto define app container guide Yasufumi Ogawa
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200225103446.8243-11-yasufum.o@gmail.com \ --to=yasufum.o@gmail.com \ --cc=ferruh.yigit@intel.com \ --cc=spp@dpdk.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Soft Patch Panel This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/spp/0 spp/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 spp spp/ https://inbox.dpdk.org/spp \ spp@dpdk.org public-inbox-index spp Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.spp AGPL code for this site: git clone https://public-inbox.org/public-inbox.git