From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4DF89A0542 for ; Thu, 13 Feb 2020 13:10:49 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1BBA61BFA3; Thu, 13 Feb 2020 13:10:46 +0100 (CET) Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by dpdk.org (Postfix) with ESMTP id E2A4F1BFD3 for ; Thu, 13 Feb 2020 13:10:44 +0100 (CET) Received: by mail-pl1-f171.google.com with SMTP id t6so2277344plj.5 for ; Thu, 13 Feb 2020 04:10:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=UvHjI2ZSjYpnKwiT79Xhx3ABe8PaVtEEf+UAwRVwjkw=; b=S4yS6m1kyU9A4iaU45Nlt9cc2CegSRVOVKzgbptlYH/wi5ymHR9Lh1iQN2YNsaUjM0 F1cJvBk5Ptg3lkPCUINhWOY78ZEDBZqktCBgOfN0ZV+1IAITpt/bsFSJhvK11JZwPpp7 0eGtsE3V6Jzt/CSX/RFsEeVZfj4NJSHAA6V9ztMFsO8UhvBujbqxx2YL+FFEiC0temzf 6ud2PD/17z5HOQtJPFxuHsCsNN8aEmYKnJwKfwdkJv8xOA3CxYsgETZIwpFmSrU/qClH P2FpsIDssN+DJbjxAchrzhI3pouakgJ31+kF7n9QlOjGYJyDxgeh05jmyBL9FfEw3vYT 16Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=UvHjI2ZSjYpnKwiT79Xhx3ABe8PaVtEEf+UAwRVwjkw=; b=Vlhcza7YT947kHiFzP+OYGh6uyo11UkI4cIk/buHN3i63kQfFVm8u6KldrS5sdbNo7 Kj9xWUKdV5Bfjl77KESs1cS0NGoSmScERXlE6MFoF/yWzGMy5enq28dWIAeXn5tBUjC/ kzuoGN1ajQ7bf1Mj9XcVaaHRamO13f58y1m4GB5v4zKZXu3c4oGQDPTYGcPVI7xRbu5f SeEERB8rBlMaYCpqVVM8a8lUU9TfISfWTM106X8JkrmwUtRJpuditoP/C/B8Q3VF5bQS lsWJ2OiWwttz3EbZiEHDBAxtFt5zvfFfqsIL6D+GvXX14FC2g3DTIBEUUSURfDdEFNeH Izqw== X-Gm-Message-State: APjAAAW8XJo/la82dI7GGwAo9Z6nzMn+vyQ1jpGM4SIele5gvAsxnJqP etiLPNhldIDlFoccd/+ZET8OvDyl X-Google-Smtp-Source: APXvYqzKGfz3dV9yAHwlbkwYVXhMBXholKQ4LyrLlGqqrWD3Eq7bzFctEWoG9OSXjB1NPIM16y8+ZA== X-Received: by 2002:a17:902:7b94:: with SMTP id w20mr13259070pll.257.1581595842982; Thu, 13 Feb 2020 04:10:42 -0800 (PST) Received: from localhost.localdomain ([2400:4050:c8c2:de00:c476:8ede:b61b:c7f6]) by smtp.gmail.com with ESMTPSA id v8sm2862476pff.151.2020.02.13.04.10.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Feb 2020 04:10:42 -0800 (PST) From: Yasufumi Ogawa To: spp@dpdk.org, ferruh.yigit@intel.com, yasufum.o@gmail.com Date: Thu, 13 Feb 2020 21:10:27 +0900 Message-Id: <20200213121029.27702-4-yasufum.o@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200213121029.27702-1-yasufum.o@gmail.com> References: <20200213121029.27702-1-yasufum.o@gmail.com> Subject: [spp] [PATCH 3/5] tools/sppc: refactor container image names X-BeenThere: spp@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Soft Patch Panel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: spp-bounces@dpdk.org Sender: "spp" A set of base names of container image is defined in `conf/env.py` considering user uses any of container image name. However, build script was changed to create image with default name and it is modified via options. It means that user doesn't need to define the name anymore. This update is to move the definition of base names from conf to common because it is no need to edit usually. Signed-off-by: Yasufumi Ogawa --- tools/sppc/app/helloworld.py | 12 +++++++++--- tools/sppc/app/l2fwd.py | 12 +++++++++--- tools/sppc/app/l3fwd-acl.py | 12 +++++++++--- tools/sppc/app/l3fwd.py | 12 +++++++++--- tools/sppc/app/load-balancer.py | 12 +++++++++--- tools/sppc/app/pktgen.py | 12 +++++++++--- tools/sppc/app/spp-nfv.py | 20 ++++++++------------ tools/sppc/app/spp-primary.py | 20 ++++++++------------ tools/sppc/app/suricata.py | 12 +++++++++--- tools/sppc/app/testpmd.py | 12 +++++++++--- tools/sppc/build/main.py | 2 +- tools/sppc/conf/env.py | 8 -------- tools/sppc/lib/app_helper.py | 15 +-------------- tools/sppc/lib/common.py | 9 ++++++++- 14 files changed, 98 insertions(+), 72 deletions(-) diff --git a/tools/sppc/app/helloworld.py b/tools/sppc/app/helloworld.py index 2d2837b..d155b64 100755 --- a/tools/sppc/app/helloworld.py +++ b/tools/sppc/app/helloworld.py @@ -13,8 +13,6 @@ from conf import env from lib import app_helper from lib import common -target_name = 'dpdk' - def parse_args(): parser = argparse.ArgumentParser( @@ -32,6 +30,14 @@ def parse_args(): def main(): args = parse_args() + # Container image name such as 'sppc/dpdk-ubuntu:18.04' + if args.container_image is not None: + container_image = args.container_image + else: + container_image = common.container_img_name( + common.IMG_BASE_NAMES['dpdk'], + args.dist_name, args.dist_ver) + # Check for other mandatory opitons. if args.dev_ids is None: common.error_exit('--dev-ids') @@ -43,7 +49,7 @@ def main(): # Setup docker command. docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = app_helper.setup_docker_opts( - args, target_name, sock_files) + args, container_image, sock_files) # Setup helloworld run on container. cmd_path = '%s/examples/helloworld/%s/helloworld' % ( diff --git a/tools/sppc/app/l2fwd.py b/tools/sppc/app/l2fwd.py index 90a1270..a658d6c 100755 --- a/tools/sppc/app/l2fwd.py +++ b/tools/sppc/app/l2fwd.py @@ -13,8 +13,6 @@ from conf import env from lib import app_helper from lib import common -target_name = 'dpdk' - def parse_args(): parser = argparse.ArgumentParser( @@ -36,6 +34,14 @@ def parse_args(): def main(): args = parse_args() + # Container image name such as 'sppc/dpdk-ubuntu:18.04' + if args.container_image is not None: + container_image = args.container_image + else: + container_image = common.container_img_name( + common.IMG_BASE_NAMES['dpdk'], + args.dist_name, args.dist_ver) + # Check for other mandatory opitons. if args.port_mask is None: common.error_exit('--port-mask') @@ -49,7 +55,7 @@ def main(): # Setup docker command. docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = app_helper.setup_docker_opts( - args, target_name, sock_files) + args, container_image, sock_files) # Check if the number of ports is even for l2fwd. nof_ports = app_helper.count_ports(args.port_mask) diff --git a/tools/sppc/app/l3fwd-acl.py b/tools/sppc/app/l3fwd-acl.py index 6a7afff..d1e2178 100755 --- a/tools/sppc/app/l3fwd-acl.py +++ b/tools/sppc/app/l3fwd-acl.py @@ -14,8 +14,6 @@ from conf import env from lib import app_helper from lib import common -target_name = 'dpdk' - def parse_args(): parser = argparse.ArgumentParser( @@ -140,6 +138,14 @@ def check_jumbo_opt(enable_jumbo, max_pkt_len): def main(): args = parse_args() + # Container image name such as 'sppc/dpdk-ubuntu:18.04' + if args.container_image is not None: + container_image = args.container_image + else: + container_image = common.container_img_name( + common.IMG_BASE_NAMES['dpdk'], + args.dist_name, args.dist_ver) + # Check for other mandatory opitons. if args.port_mask is None: common.error_exit('--port-mask') @@ -153,7 +159,7 @@ def main(): # Setup docker command. docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = app_helper.setup_docker_opts( - args, target_name, sock_files) + args, container_image, sock_files) # Parse vhost device IDs and Check the number of devices is # sufficient for port mask. diff --git a/tools/sppc/app/l3fwd.py b/tools/sppc/app/l3fwd.py index 1732648..131eb66 100755 --- a/tools/sppc/app/l3fwd.py +++ b/tools/sppc/app/l3fwd.py @@ -14,8 +14,6 @@ from conf import env from lib import app_helper from lib import common -target_name = 'dpdk' - def parse_args(): parser = argparse.ArgumentParser( @@ -175,6 +173,14 @@ def check_eth_dest(eth_dests): def main(): args = parse_args() + # Container image name such as 'sppc/dpdk-ubuntu:18.04' + if args.container_image is not None: + container_image = args.container_image + else: + container_image = common.container_img_name( + common.IMG_BASE_NAMES['dpdk'], + args.dist_name, args.dist_ver) + # Check for other mandatory opitons. if args.port_mask is None: common.error_exit('--port-mask') @@ -188,7 +194,7 @@ def main(): # Setup docker command. docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = app_helper.setup_docker_opts( - args, target_name, sock_files) + args, container_image, sock_files) # Parse vhost device IDs and Check the number of devices is # sufficient for port mask. diff --git a/tools/sppc/app/load-balancer.py b/tools/sppc/app/load-balancer.py index 5ec156e..687bfe5 100755 --- a/tools/sppc/app/load-balancer.py +++ b/tools/sppc/app/load-balancer.py @@ -13,8 +13,6 @@ from conf import env from lib import app_helper from lib import common -target_name = 'dpdk' - def parse_args(): parser = argparse.ArgumentParser( @@ -60,6 +58,14 @@ def parse_args(): def main(): args = parse_args() + # Container image name such as 'sppc/dpdk-ubuntu:18.04' + if args.container_image is not None: + container_image = args.container_image + else: + container_image = common.container_img_name( + common.IMG_BASE_NAMES['dpdk'], + args.dist_name, args.dist_ver) + # Check for other mandatory opitons. if args.dev_ids is None: common.error_exit('--dev-ids') @@ -71,7 +77,7 @@ def main(): # Setup docker command. docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = app_helper.setup_docker_opts( - args, target_name, sock_files) + args, container_image, sock_files) app_name = 'load_balancer' cmd_path = '%s/examples/%s/%s/%s' % ( diff --git a/tools/sppc/app/pktgen.py b/tools/sppc/app/pktgen.py index e673b3b..319557c 100755 --- a/tools/sppc/app/pktgen.py +++ b/tools/sppc/app/pktgen.py @@ -13,8 +13,6 @@ from conf import env from lib import app_helper from lib import common -target_name = 'pktgen' - def parse_args(): parser = argparse.ArgumentParser( @@ -69,6 +67,14 @@ def parse_args(): def main(): args = parse_args() + # Container image name such as 'sppc/dpdk-ubuntu:18.04' + if args.container_image is not None: + container_image = args.container_image + else: + container_image = common.container_img_name( + common.IMG_BASE_NAMES['pktgen'], + args.dist_name, args.dist_ver) + # Setup for vhost devices with given device IDs. dev_ids_list = app_helper.dev_ids_to_list(args.dev_ids) sock_files = app_helper.sock_files(dev_ids_list) @@ -80,7 +86,7 @@ def main(): wd = '/root/pktgen-dpdk' docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = app_helper.setup_docker_opts( - args, target_name, sock_files, wd) + args, container_image, sock_files, wd) # Setup pktgen command pktgen_cmd = ['pktgen', '\\'] diff --git a/tools/sppc/app/spp-nfv.py b/tools/sppc/app/spp-nfv.py index 100d20d..34d87c9 100755 --- a/tools/sppc/app/spp-nfv.py +++ b/tools/sppc/app/spp-nfv.py @@ -9,12 +9,9 @@ import sys work_dir = os.path.dirname(__file__) sys.path.append(work_dir + '/..') -from conf import env from lib import app_helper from lib import common -target_name = 'spp' - def parse_args(): parser = argparse.ArgumentParser( @@ -49,21 +46,20 @@ def main(): docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = [] + # Container image name such as 'sppc/spp-ubuntu:18.04' + if args.container_image is not None: + container_image = args.container_image + else: + container_image = common.container_img_name( + common.IMG_BASE_NAMES['spp'], + args.dist_name, args.dist_ver) + # This container is running in backgroud in defualt. if args.foreground is not True: docker_opts += ['-d', '\\'] else: docker_opts += ['-it', '\\'] - if args.container_image is not None: - container_image = args.container_image - else: - # Container image name, for exp 'sppc/dpdk-ubuntu:18.04' - container_image = common.container_img_name( - env.CONTAINER_IMG_NAME[target_name], - args.dist_name, - args.dist_ver) - docker_opts += [ '--privileged', '\\', # should be privileged '-v', '/dev/hugepages:/dev/hugepages', '\\', diff --git a/tools/sppc/app/spp-primary.py b/tools/sppc/app/spp-primary.py index ac7facd..7ebee68 100755 --- a/tools/sppc/app/spp-primary.py +++ b/tools/sppc/app/spp-primary.py @@ -9,12 +9,9 @@ import sys work_dir = os.path.dirname(__file__) sys.path.append(work_dir + '/..') -from conf import env from lib import app_helper from lib import common -target_name = 'spp' - def parse_args(): parser = argparse.ArgumentParser( @@ -62,6 +59,14 @@ def main(): docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = [] + # Container image name such as 'sppc/spp-ubuntu:18.04' + if args.container_image is not None: + container_image = args.container_image + else: + container_image = common.container_img_name( + common.IMG_BASE_NAMES['spp'], + args.dist_name, args.dist_ver) + # This container is running in backgroud in defualt. if args.foreground is not True: docker_opts += ['-d', '\\'] @@ -93,15 +98,6 @@ def main(): else: dev_vhost_ids = [] - if args.container_image is not None: - container_image = args.container_image - else: - # Container image name, for exp 'sppc/dpdk-ubuntu:18.04' - container_image = common.container_img_name( - env.CONTAINER_IMG_NAME[target_name], - args.dist_name, - args.dist_ver) - docker_opts += [ container_image, '\\'] diff --git a/tools/sppc/app/suricata.py b/tools/sppc/app/suricata.py index ad4e053..2ac01c0 100755 --- a/tools/sppc/app/suricata.py +++ b/tools/sppc/app/suricata.py @@ -13,8 +13,6 @@ from conf import env from lib import app_helper from lib import common -target_name = 'suricata' - def parse_args(): parser = argparse.ArgumentParser( @@ -29,6 +27,14 @@ def parse_args(): def main(): args = parse_args() + # Container image name such as 'sppc/suricata-ubuntu:18.04' + if args.container_image is not None: + container_image = args.container_image + else: + container_image = common.container_img_name( + common.IMG_BASE_NAMES['suricata'], + args.dist_name, args.dist_ver) + # Check for other mandatory opitons. if args.dev_ids is None: common.error_exit('--dev-ids') @@ -40,7 +46,7 @@ def main(): # Setup docker command. docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = app_helper.setup_docker_opts( - args, target_name, sock_files) + args, container_image, sock_files) cmd_path = '/bin/bash' diff --git a/tools/sppc/app/testpmd.py b/tools/sppc/app/testpmd.py index f6197fe..ff84335 100755 --- a/tools/sppc/app/testpmd.py +++ b/tools/sppc/app/testpmd.py @@ -14,8 +14,6 @@ from conf import env from lib import app_helper from lib import common -target_name = 'dpdk' - def parse_args(): parser = argparse.ArgumentParser( @@ -456,6 +454,14 @@ def not_supported_exit(opt): def main(): args = parse_args() + # Container image name such as 'sppc/dpdk-ubuntu:18.04' + if args.container_image is not None: + container_image = args.container_image + else: + container_image = common.container_img_name( + common.IMG_BASE_NAMES['dpdk'], + args.dist_name, args.dist_ver) + # Check for other mandatory opitons. if args.dev_ids is None: common.error_exit('--dev-ids') @@ -467,7 +473,7 @@ def main(): # Setup docker command. docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = app_helper.setup_docker_opts( - args, target_name, sock_files) + args, container_image, sock_files) cmd_path = 'testpmd' diff --git a/tools/sppc/build/main.py b/tools/sppc/build/main.py index 578bc42..023ec82 100755 --- a/tools/sppc/build/main.py +++ b/tools/sppc/build/main.py @@ -116,7 +116,7 @@ def main(): work_dir, args.dist_name, args.target) # Container image name, for exp 'sppc/dpdk-ubuntu:18.04' container_image = common.container_img_name( - env.CONTAINER_IMG_NAME[args.target], + common.IMG_BASE_NAMES[args.target], args.dist_name, args.dist_ver) else: diff --git a/tools/sppc/conf/env.py b/tools/sppc/conf/env.py index 3fb0c2d..dc0fe12 100644 --- a/tools/sppc/conf/env.py +++ b/tools/sppc/conf/env.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Nippon Telegraph and Telephone Corporation @@ -6,10 +5,3 @@ HOMEDIR = '/root' RTE_SDK = '/root/dpdk' RTE_TARGET = 'x86_64-native-linuxapp-gcc' - -CONTAINER_IMG_NAME = { - 'dpdk': 'sppc/dpdk', - 'pktgen': 'sppc/pktgen', - 'spp': 'sppc/spp', - 'suricata': 'sppc/suricata', - } diff --git a/tools/sppc/lib/app_helper.py b/tools/sppc/lib/app_helper.py index 85762ea..7ab1982 100644 --- a/tools/sppc/lib/app_helper.py +++ b/tools/sppc/lib/app_helper.py @@ -5,10 +5,6 @@ from . import common import os import sys -work_dir = os.path.dirname(__file__) -sys.path.append(work_dir + '/..') -from conf import env - def add_eal_args(parser, mem_size=1024, mem_channel=4): parser.add_argument( @@ -143,7 +139,7 @@ def add_sppc_args(parser): return parser -def setup_docker_opts(args, target_name, sock_files, workdir=None): +def setup_docker_opts(args, container_image, sock_files, workdir=None): docker_opts = [] if args.foreground is True: @@ -161,15 +157,6 @@ def setup_docker_opts(args, target_name, sock_files, workdir=None): docker_opts += [ '-v', '%s:%s' % (sock['host'], sock['guest']), '\\'] - if args.container_image is not None: - container_image = args.container_image - else: - # Container image name, for exp 'sppc/dpdk-ubuntu:18.04' - container_image = common.container_img_name( - env.CONTAINER_IMG_NAME[target_name], - args.dist_name, - args.dist_ver) - docker_opts += [ '-v', '/dev/hugepages:/dev/hugepages', '\\', container_image, '\\'] diff --git a/tools/sppc/lib/common.py b/tools/sppc/lib/common.py index a4903cd..657f812 100644 --- a/tools/sppc/lib/common.py +++ b/tools/sppc/lib/common.py @@ -2,6 +2,14 @@ # Copyright(c) 2018 Nippon Telegraph and Telephone Corporation +IMG_BASE_NAMES = { + 'dpdk': 'sppc/dpdk', + 'pktgen': 'sppc/pktgen', + 'spp': 'sppc/spp', + 'suricata': 'sppc/suricata', + } + + def print_pretty_commands(cmds): """Print given command in pretty format.""" @@ -13,7 +21,6 @@ def container_img_name(base, dist_name, dist_ver): Return the name of container image for '-t' of docker command such as 'sppc/dpdk-ubuntu:16.04' or 'sppc/spp-ubuntu:18.04'. - 'base' is defined as 'env.CONTAINER_IMG_NAME' in lib module. """ return '%s-%s:%s' % (base, dist_name, dist_ver) -- 2.17.1