added create vm feature from a normal user in opennebula

This commit is contained in:
Levi 2017-05-08 21:49:40 -05:00
commit abf6dbddce
3 changed files with 139 additions and 20 deletions

View file

@ -176,13 +176,27 @@ class VirtualMachinePlan(AssignPermissionsMixin, models.Model):
self.save(update_fields=['status'])
@classmethod
def get_vm(self, email, vm_id):
def create_opennebula_vm(self, user, specs):
opennebula_client = OpenNebulaManager(
user.email,
user.password[0:20],
create_user=True
)
vm = opennebula_client.create_vm(specs)
return vm
@classmethod
def get_vm(self, user, vm_id):
# Get opennebula client
opennebula_client = OpenNebulaManager()
opennebula_client = OpenNebulaManager(
email=user.email,
password=user.password[:20],
)
# Get vm given the id
vm = opennebula_client.get_vm(
email,
user.email,
vm_id
)
@ -192,13 +206,16 @@ class VirtualMachinePlan(AssignPermissionsMixin, models.Model):
return vm_data
@classmethod
def get_vms(self, email):
def get_vms(self, user):
# Get opennebula client
opennebula_client = OpenNebulaManager()
opennebula_client = OpenNebulaManager(
email=user.email,
password=user.password[:20],
)
# Get vm pool
vm_pool = opennebula_client.get_vms(email)
vm_pool = opennebula_client.get_vms(user.email)
# Reset total price
self.total_price = 0