Skip to content

Commit 20df06d

Browse files
authored
Updating required args for nkv test cli (#44)
1 parent 140d09d commit 20df06d

File tree

1 file changed

+51
-2
lines changed

1 file changed

+51
-2
lines changed

host/scripts/dss_host.py

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939

4040
# Standard libraries
4141
import argparse
42+
import ast
4243
import json
4344
import os
4445
import re
@@ -772,7 +773,6 @@ def __init__(self):
772773
getattr(self, args.command)()
773774

774775
def config_host(self):
775-
import ast
776776
parser = argparse.ArgumentParser(
777777
description='Discovers/connects device(s), and creates config file for DSS API layer')
778778
parser.add_argument(
@@ -906,6 +906,31 @@ def verify_nkv_cli(self):
906906
parser.add_argument("-n", "--numobj", type=str, help="Number of objects for each thread (default=1000)", default="1000")
907907
parser.add_argument("-x", "--kvpair", type=str, default=None, nargs="+", help="one or more key=value pairs for nkv_config.json \
908908
file update. For e.g., nkv_need_path_stat=1 nkv_max_key_length=1024 and so on.")
909+
parser.add_argument("-p", "--ports", type=int, nargs='+', required=False, help="Port numbers to be used for nvme discover.")
910+
parser.add_argument("-addrs", "--addrs", type=str, nargs='+', help="Space-delimited list of ip for nvme discovery (required)")
911+
parser.add_argument("-proto", "--proto", type=str, help="Protocol for nvme discovery (default: rdma)", default="rdma")
912+
parser.add_argument(
913+
"-g2",
914+
"--gen2",
915+
action='store_true',
916+
required=False,
917+
help="Specifies if Gen2 version of target should be configured"
918+
)
919+
parser.add_argument(
920+
"-rdd_port",
921+
"--rdd_port",
922+
type=str,
923+
default="1234",
924+
help="Port to be used for all RDD configurations"
925+
)
926+
parser.add_argument(
927+
"-vlan_ip_map",
928+
"--vlan_ip_map",
929+
type=ast.literal_eval,
930+
nargs="+",
931+
required=False,
932+
help="Mapping between front and back end ips"
933+
)
909934

910935
args = parser.parse_args(sys.argv[2:])
911936

@@ -933,11 +958,35 @@ def verify_nkv_cli(self):
933958
print("provide workload type")
934959
return
935960

961+
global gen2_flag, vlan_ip_map, rdd_port
962+
if args.gen2:
963+
gen2_flag = args.gen2
964+
print("Configuring NKV Config to gen2..")
965+
if args.vlan_ip_map:
966+
vlan_ip_map = args.vlan_ip_map
967+
if args.rdd_port:
968+
rdd_port = args.rdd_port
969+
else:
970+
gen2_flag = None
971+
972+
if args.addrs is not None and args.ports is not None:
973+
disc_addrs = []
974+
for port in args.ports:
975+
disc_addrs = (
976+
["{}:{}".format(addr, port) for addr in args.addrs]
977+
)
978+
else:
979+
print("Must specify --addrs AND --ports or --hosts AND --vlan-ids AND --ports")
980+
sys.exit(-1)
981+
982+
if args.proto:
983+
disc_proto = args.proto
984+
936985
nkv_kv_pair = args.kvpair
937986

938987
cmd = 'nvme list-subsys | grep ' + addr_octet + ' | awk \'{ print "/dev/" $2 "n1" }\' | paste -sd,'
939988
drive_list = get_drives_list(cmd)
940-
create_config_file(self.disc_proto, self.disc_addrs, nkv_kv_pair, drive_list, nkv_conf_file)
989+
create_config_file(disc_proto, disc_addrs, nkv_kv_pair, drive_list, nkv_conf_file)
941990

942991
meta_str = socket.gethostname() + "/numa" + numa
943992

0 commit comments

Comments
 (0)