Merge branch 'opennebula-integration' into vm_bill

This commit is contained in:
Modulos 2017-05-09 04:56:03 +02:00
commit d0fc0144e5
3 changed files with 135 additions and 27 deletions

View file

@ -28,7 +28,7 @@ from utils.mailer import BaseEmail
from .models import VirtualMachineType, VirtualMachinePlan, HostingOrder, HostingBill, UserHostingKey
from .forms import HostingUserSignupForm, HostingUserLoginForm, UserHostingKeyForm
from .mixins import ProcessVMSelectionMixin
from .opennebula_functions import HostingManageVMAdmin
from .opennebula_functions import HostingManageVMAdmin, OpenNebulaManager
from oca.exceptions import OpenNebulaException
from oca.pool import WrongNameError
@ -346,19 +346,14 @@ class PaymentVMView(LoginRequiredMixin, FormView):
# If the Stripe payment was successed, set order status approved
order.set_approved()
# Create VM using oppenebula functions
# _request = namedtuple('request', 'POST user')
# _request.user = request.user
# user = namedtuple('user', 'email')
# email
# _request.POST = {
# 'vm_template': vm_template
# }
# Create a vm using logged user
oppennebula_vm_id = VirtualMachinePlan.create_opennebula_vm(
self.request.user,
specs
)
hosting_admin = HostingManageVMAdmin.__new__(HostingManageVMAdmin)
hosting_admin.init_opennebula_client(request)
oppennebula_vm_id = hosting_admin.create_vm_view(vm_type.get_specs())
plan.oppenebula_id = oppennebula_vm_id
plan.save()
# Send notification to ungleich as soon as VM has been booked
context = {
@ -420,14 +415,14 @@ class VirtualMachinesPlanListView(LoginRequiredMixin, ListView):
def get_context_data(self, **kwargs):
context = super(VirtualMachinesPlanListView, self).get_context_data(**kwargs)
context.update({
'vms_opennebula': VirtualMachinePlan.get_vms(self.request.user.email)
'vms_opennebula': VirtualMachinePlan.get_vms(self.request.user)
})
return context
def get_queryset(self):
# hosting_admin = HostingManageVMAdmin.__new__(HostingManageVMAdmin)
# print(hosting_admin.show_vms_view(self.request))
print(VirtualMachinePlan.get_vms(self.request.user.email))
# print(VirtualMachinePlan.get_vms(self.request.user.))
user = self.request.user
self.queryset = VirtualMachinePlan.objects.active(user)
return super(VirtualMachinesPlanListView, self).get_queryset()
@ -507,10 +502,10 @@ class VirtualMachineView(PermissionRequiredMixin, LoginRequiredMixin, View):
# return final_url
def get(self, request, *args, **kwargs):
vm_id = self.kwargs.get('pk', 24)
vm_id = self.kwargs.get('pk')
try:
opennebula_vm = VirtualMachinePlan.get_vm(
self.request.user.email,
self.request.user,
vm_id
)
except Exception as error: