update testnet docs and add more tuneable paramters

pull/289/head
Jeff Becker 5 years ago
parent 10f9d6444d
commit 5d4c02c22b
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -31,6 +31,10 @@ TESTNET_EXE=$(REPO)/lokinet-testnet
TESTNET_CLIENTS ?= 50
TESTNET_SERVERS ?= 50
TESTNET_DEBUG ?= 0
TESTNET_IFNAME ?= lo
TESTNET_BASEPORT ?= 1900
TESTNET_IP ?= 127.0.0.1
TESTNET_NETID ?= loopback
ANDROID_NDK ?= $(HOME)/Android/Ndk
ANDROID_SDK ?= $(HOME)/Android/Sdk
@ -152,7 +156,7 @@ testnet-build: testnet-configure
testnet:
cp $(EXE) $(TESTNET_EXE)
mkdir -p $(TESTNET_ROOT)
$(PYTHON) contrib/testnet/genconf.py --bin=$(TESTNET_EXE) --svc=$(TESTNET_SERVERS) --clients=$(TESTNET_CLIENTS) --dir=$(TESTNET_ROOT) --out $(TESTNET_CONF) --connect=4
$(PYTHON) $(REPO)/contrib/testnet/genconf.py --bin=$(TESTNET_EXE) --svc=$(TESTNET_SERVERS) --clients=$(TESTNET_CLIENTS) --dir=$(TESTNET_ROOT) --out $(TESTNET_CONF) --connect=4 --ifname=$(TESTNET_IFNAME) --baseport=$(TESTNET_BASEPORT) --ip=$(TESTNET_IP) --netid=$(TESTNET_NETID)
LLARP_DEBUG=$(TESTNET_DEBUG) supervisord -n -d $(TESTNET_ROOT) -l $(TESTNET_LOG) -c $(TESTNET_CONF)
$(TEST_EXE): debug

@ -1,4 +1,4 @@
#!/usr/bin/env python3
#!/usr/bin/env python
#
# this script generate supervisord configs for running a test network on loopback
#
@ -28,8 +28,9 @@ def main():
ap.add_argument('--bin', type=str, required=True)
ap.add_argument('--out', type=str, required=True)
ap.add_argument('--connect', type=int, default=10)
ap.add_argument('--ip', type=str, default=None)
ap.add_argument('--ifname', type=str, default='lo')
ap.add_argument('--netid', type=str, default=None)
args = ap.parse_args()
if args.valgrind:
@ -46,6 +47,13 @@ def main():
'worker-threads': '4',
'nickname': svcNodeName(nodeid)
}
if args.netid:
config['router']['netid'] = args.netid
if args.ip:
config['router']['public-ip'] = args.ip
config['router']['public-port'] = str(args.baseport + nodeid)
config['bind'] = {
args.ifname: str(args.baseport + nodeid)
}

@ -0,0 +1,37 @@
# loopback testnet
requirements:
* python 2.7
* supervisord
Build the testnet binary in testnet mode `(required only if running on loopback network)`
$ make testnet-build
generate configs and run the testnet with default parameters:
$ make testnet
generate configs with different parameters and run testnet:
$ make testnet TESTNET_BASEPORT=1900 TESTNET_SERVERS=100 TESTNET_CLIENTS=200 TESNET_IFNAME=eth0
environmental variables:
* `TESTNET_SERVERS` number of service nodes to spin up `(default 20)`
* `TESTNET_CLIENTS` number of clients to spin up `(default 200)`
* `TESTNET_IFNAME` interface to bind all nodes to `(default lo)`
* `TESTNET_BASEPORT` starting udp port number to start at for servers `(default 1900)`
* `TESTNET_DEBUG` set to 1 to enable debug logging `(default 0)`
* `TESTNET_IP` explicit ip to use `(default 127.0.0.1)`
* `TESTNET_NETID` explicit netid to use `(default 'loopback')`
Loading…
Cancel
Save