From 69347e2329add9b054af5a5fae6558602d73aa0c Mon Sep 17 00:00:00 2001 From: joshemb <josh@elixxir.io> Date: Tue, 14 Feb 2023 10:28:21 -0800 Subject: [PATCH] Fix bugs in generation package --- gen/client-registrar.yaml | 36 ++++++++++++++++++++++++++++++++++++ gen/run.sh | 5 ++--- generatePackage.py | 22 +++++++++++++++++----- 3 files changed, 55 insertions(+), 8 deletions(-) create mode 100644 gen/client-registrar.yaml diff --git a/gen/client-registrar.yaml b/gen/client-registrar.yaml new file mode 100644 index 0000000..423ee46 --- /dev/null +++ b/gen/client-registrar.yaml @@ -0,0 +1,36 @@ +# ================================== +# Client Registrar Configuration +# ================================== + +# Log message level (0 = info, 1 = debug, >1 = trace) +logLevel: 0 +# Path to log file +logPath: "results/client-registrar.log" + +# Public address, used in NDF it gives to client +publicAddress: "0.0.0.0:{registration_port}" +# The listening port of this server +port: {registration_port} + +# === REQUIRED FOR ENABLING TLS === +# Path to the registration server private key file +keyPath: "../keys/cmix.rip.key" +# Path to the registration server certificate file +certPath: "../keys/cmix.rip.crt" + +# Maximum number of connections per period +userRegCapacity: 1000 +# How often the number of connections is reset +userRegLeakPeriod: "24h" + +# Database connection information +dbUsername: "cmix" +dbPassword: "" +dbName: "cmix_server" +dbAddress: "" + +# List of client codes to be added to the database (for testing) +clientRegCodes: + - "AAAA" + - "BBBB" + - "CCCC" diff --git a/gen/run.sh b/gen/run.sh index 582cc88..39fb067 100755 --- a/gen/run.sh +++ b/gen/run.sh @@ -153,7 +153,6 @@ fi set +x diff -aru $GOLDOUTPUT $CLIENTCLEAN -cat $CLIENTOUT/client42.log | grep -a "Could not confirm authentication channel" > results/deleteContact.txt || true if [ "$NETWORKENTRYPOINT" == "localhost:{entry_point}" ] then @@ -171,9 +170,9 @@ then diff -aruN results/gateway-errors.txt noerrors.txt echo "Checking backup files for equality..." # diff -aruN $CLIENTOUT/client120A.backup.json $CLIENTOUT/client120B.backup.json > client120BackupDiff.txt - diff -aruN $CLIENTOUT/client121A.backup.json $CLIENTOUT/client121B.backup.json > client121BackupDiff.txt || true + #diff -aruN $CLIENTOUT/client121A.backup.json $CLIENTOUT/client121B.backup.json > client121BackupDiff.txt || true # diff -aruN client120BackupDiff.txt noerrors.txt - echo "NOTE: BACKUP CHECK DISABLED, this should be uncommented when turned back on!" + #echo "NOTE: BACKUP CHECK DISABLED, this should be uncommented when turned back on!" #diff -aruN client121BackupDiff.txt noerrors.txt fi diff --git a/generatePackage.py b/generatePackage.py index 39b3591..cee168e 100755 --- a/generatePackage.py +++ b/generatePackage.py @@ -66,6 +66,11 @@ def generate_server_side_config(offset: int, newPackage: string): with open("gen/permissioning.yaml") as f: reg_template = f.read() + # Open client-registrar + client_reg_template = "" + with open("gen/client-registrar.yaml") as f: + client_reg_template = f.read() + # Open server template server_template = "" with open("gen/server.yaml") as f: @@ -160,14 +165,21 @@ def generate_server_side_config(offset: int, newPackage: string): network_config = network_config.replace("{entry_point}", str(gateway_ports[0])) f.write(network_config) + # Generate permissioning config with open("{}/permissioning.yaml".format(newPackage), "w") as f: reg_template = reg_template.replace("{permissioning_port}", str(perm_port)) \ .replace("{udb_port}", str(udbPort))\ .replace("{registration_port}", str(perm_port+1)) f.write(reg_template) + + # Generate registration configs with open("{}/registration.json".format(newPackage), "w") as f: f.write(reg_json) + with open("{}/client-registrar.yaml".format(newPackage), "w") as f: + client_reg_template = client_reg_template.replace("{registration_port}", str(perm_port+1)) + f.write(client_reg_template) + with open("{}/noerrors.txt".format(newPackage), "w") as f: f.write(no_errors) @@ -198,18 +210,18 @@ def generate_server_side_config(offset: int, newPackage: string): # Count the number of packages previously created by counting # run.sh files creates -def count_run_sh_files(): +def count_networks(): current_dir = os.getcwd() count = 0 for root, dirs, files in os.walk(current_dir): for file in files: - if file == "run.sh": + if file == "permissioning.yaml": count += 1 return count def main(argv: Sequence[str] | None = None) -> int: - run_sh_count = count_run_sh_files() + network_count = count_networks() parser = argparse.ArgumentParser(description='Generate or count packages') subparsers = parser.add_subparsers(title='subcommands', dest='command') @@ -226,7 +238,7 @@ def main(argv: Sequence[str] | None = None) -> int: args = parser.parse_args() if args.command == "count": - print(f"Number of occurrences of run.sh in all subdirectories: {run_sh_count}") + print(f"Number of occurrences of run.sh in all subdirectories: {network_count}") return elif args.command == "generate": # todo: It may be that the serveral programmers are separating tests @@ -239,7 +251,7 @@ def main(argv: Sequence[str] | None = None) -> int: # Request new package name from user #newPackage = string(input("Name of new package: ")) #os.makedirs(os.path.dirname(newPackage), exist_ok=True) - generate_server_side_config(run_sh_count + args.offset, args.package) + generate_server_side_config(network_count + args.offset, args.package) else: raise NotImplementedError( f"Command {args.command} does not exist.", -- GitLab