Fixed getting custom_user when calling create_vm for hosting

This commit is contained in:
M.Ravi 2017-09-15 11:32:17 +02:00
parent 589a4fcaa9
commit 2731ea8635

View file

@ -7,7 +7,7 @@ from django.core.mail import EmailMessage
from dynamicweb.celery import app from dynamicweb.celery import app
from hosting.models import HostingOrder, HostingBill from hosting.models import HostingOrder, HostingBill
from membership.models import StripeCustomer from membership.models import StripeCustomer, CustomUser
from opennebula_api.models import OpenNebulaManager from opennebula_api.models import OpenNebulaManager
from opennebula_api.serializers import VirtualMachineSerializer from opennebula_api.serializers import VirtualMachineSerializer
from utils.hosting_utils import get_all_public_keys from utils.hosting_utils import get_all_public_keys
@ -135,24 +135,28 @@ def create_vm_task(self, vm_template_id, user, specs, template,
} }
email = EmailMessage(**email_data) email = EmailMessage(**email_data)
email.send() email.send()
if 'pass' in user: if 'pass' in user:
# try to see if we have the IP and that if the ssh keys can # try to see if we have the IP and that if the ssh keys can
# be configured # be configured
new_host = manager.get_primary_ipv4(vm_id) new_host = manager.get_primary_ipv4(vm_id)
logger.debug("New VM ID is {vm_id}".format(vm_id=vm_id))
if new_host is not None: if new_host is not None:
public_keys = get_all_public_keys(owner) custom_user = CustomUser.objects.get(email=user.get('email'))
keys = [{'value': key, 'state': True} for key in public_keys] if custom_user is not None:
if len(keys) > 0: public_keys = get_all_public_keys(custom_user)
logger.debug( keys = [{'value': key, 'state': True} for key in
"Calling configure on {host} for {num_keys} keys".format( public_keys]
host=new_host, num_keys=len(keys))) if len(keys) > 0:
# Let's delay the task by 75 seconds to be sure logger.debug(
# that we run the cdist configure after the host "Calling configure on {host} for {num_keys} keys".format(
# is up host=new_host, num_keys=len(keys)))
manager.manage_public_key(keys, # Let's delay the task by 75 seconds to be sure
hosts=[new_host], # that we run the cdist configure after the host
countdown=75) # is up
manager.manage_public_key(keys,
hosts=[new_host],
countdown=75)
except Exception as e: except Exception as e:
logger.error(str(e)) logger.error(str(e))
try: try: