add logging around ssh keys to capsul creation to support a user who is

experiencing bugs
This commit is contained in:
forest 2021-01-29 00:13:32 -06:00
parent 3f6491f359
commit 274c7a2c76
3 changed files with 16 additions and 0 deletions

View File

@ -1,5 +1,6 @@
import re import re
import sys import sys
import json
from datetime import datetime, timedelta from datetime import datetime, timedelta
from flask import Blueprint from flask import Blueprint
from flask import flash from flask import flash
@ -127,6 +128,9 @@ def create():
account_balance = get_account_balance(get_vms(), get_payments(), datetime.utcnow()) account_balance = get_account_balance(get_vms(), get_payments(), datetime.utcnow())
capacity_avaliable = current_app.config["VIRTUALIZATION_MODEL"].capacity_avaliable(512*1024*1024) capacity_avaliable = current_app.config["VIRTUALIZATION_MODEL"].capacity_avaliable(512*1024*1024)
errors = list() 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 request.method == "POST":
if "csrf-token" not in request.form or request.form['csrf-token'] != session['csrf-token']: 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") errors.append("something went wrong with ssh keys")
else: else:
for i in range(0, posted_keys_count): 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: if f"ssh_key_{i}" in request.form:
posted_name = request.form[f"ssh_key_{i}"] posted_name = request.form[f"ssh_key_{i}"]
current_app.logger.info(f"ssh key posted_name: {posted_name}")
key = None key = None
for x in ssh_public_keys: for x in ssh_public_keys:
if x['name'] == posted_name: if x['name'] == posted_name:
current_app.logger.info(f"ssh key posted_name {posted_name} was found")
key = x key = x
if key: if key:
posted_keys.append(key) posted_keys.append(key)
@ -172,6 +180,8 @@ def create():
host(s) at capacity. no capsuls can be created at this time. sorry. 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: if len(errors) == 0:
id = makeCapsulId() id = makeCapsulId()
get_model().create_vm( get_model().create_vm(

View File

@ -113,6 +113,8 @@ class DBModel:
) )
for ssh_public_key in ssh_public_keys: 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(""" self.cursor.execute("""
INSERT INTO vm_ssh_public_key (email, vm_id, ssh_public_key_name) INSERT INTO vm_ssh_public_key (email, vm_id, ssh_public_key_name)
VALUES (%s, %s, %s) VALUES (%s, %s, %s)

View File

@ -126,6 +126,8 @@ class ShellScriptVirtualization(VirtualizationInterface):
ssh_keys_string = "\n".join(ssh_public_keys) 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([ completedProcess = run([
join(current_app.root_path, 'shell_scripts/create.sh'), join(current_app.root_path, 'shell_scripts/create.sh'),
id, id,
@ -147,6 +149,8 @@ class ShellScriptVirtualization(VirtualizationInterface):
ssh_public_keys={ssh_keys_string} ssh_public_keys={ssh_keys_string}
""" """
current_app.logger.info(f"create vm status: {status} vmSettings: {vmSettings}")
if not status == "success": if not status == "success":
raise ValueError(f"""failed to create vm for {email} with: raise ValueError(f"""failed to create vm for {email} with:
{vmSettings} {vmSettings}