From 274c7a2c7691ebe3e8caf271aca83349752bf3c0 Mon Sep 17 00:00:00 2001 From: forest Date: Fri, 29 Jan 2021 00:13:32 -0600 Subject: [PATCH] add logging around ssh keys to capsul creation to support a user who is experiencing bugs --- capsulflask/console.py | 10 ++++++++++ capsulflask/db_model.py | 2 ++ capsulflask/virt_model.py | 4 ++++ 3 files changed, 16 insertions(+) diff --git a/capsulflask/console.py b/capsulflask/console.py index 79aa35b..4444b09 100644 --- a/capsulflask/console.py +++ b/capsulflask/console.py @@ -1,5 +1,6 @@ import re import sys +import json from datetime import datetime, timedelta from flask import Blueprint from flask import flash @@ -127,6 +128,9 @@ def create(): account_balance = get_account_balance(get_vms(), get_payments(), datetime.utcnow()) capacity_avaliable = current_app.config["VIRTUALIZATION_MODEL"].capacity_avaliable(512*1024*1024) errors = list() + + email_to_log = session["account"] + current_app.logger.info(f"create for {email_to_log}: ssh keys from db:\n {json.dumps(ssh_public_keys)}") if request.method == "POST": if "csrf-token" not in request.form or request.form['csrf-token'] != session['csrf-token']: @@ -151,11 +155,15 @@ def create(): errors.append("something went wrong with ssh keys") else: for i in range(0, posted_keys_count): + to_log_bool = f"ssh_key_{i}" in request.form + current_app.logger.info(f"checking for ssh_key_{i}: {to_log_bool}") if f"ssh_key_{i}" in request.form: posted_name = request.form[f"ssh_key_{i}"] + current_app.logger.info(f"ssh key posted_name: {posted_name}") key = None for x in ssh_public_keys: if x['name'] == posted_name: + current_app.logger.info(f"ssh key posted_name {posted_name} was found") key = x if key: posted_keys.append(key) @@ -172,6 +180,8 @@ def create(): host(s) at capacity. no capsuls can be created at this time. sorry. """) + current_app.logger.info(f"create for {email_to_log}: posted_keys:\n {json.dumps(posted_keys)}") + if len(errors) == 0: id = makeCapsulId() get_model().create_vm( diff --git a/capsulflask/db_model.py b/capsulflask/db_model.py index bcf1611..8216439 100644 --- a/capsulflask/db_model.py +++ b/capsulflask/db_model.py @@ -113,6 +113,8 @@ class DBModel: ) for ssh_public_key in ssh_public_keys: + current_app.logger.info(f"INSERT INTO vm_ssh_public_key (email, vm_id, ssh_public_key_name) VALUES (\"{email}\", \"{id}\", \"{ssh_public_key}\")") + self.cursor.execute(""" INSERT INTO vm_ssh_public_key (email, vm_id, ssh_public_key_name) VALUES (%s, %s, %s) diff --git a/capsulflask/virt_model.py b/capsulflask/virt_model.py index 8ff74cc..f414c0f 100644 --- a/capsulflask/virt_model.py +++ b/capsulflask/virt_model.py @@ -126,6 +126,8 @@ class ShellScriptVirtualization(VirtualizationInterface): ssh_keys_string = "\n".join(ssh_public_keys) + current_app.logger.info(f"create vm virt model ssh_keys_string: {ssh_keys_string}") + completedProcess = run([ join(current_app.root_path, 'shell_scripts/create.sh'), id, @@ -147,6 +149,8 @@ class ShellScriptVirtualization(VirtualizationInterface): ssh_public_keys={ssh_keys_string} """ + current_app.logger.info(f"create vm status: {status} vmSettings: {vmSettings}") + if not status == "success": raise ValueError(f"""failed to create vm for {email} with: {vmSettings}