From 87faee1287e1e19b9011d2923579a842096b525f Mon Sep 17 00:00:00 2001 From: deflax Date: Thu, 3 Nov 2016 16:01:11 +0200 Subject: [PATCH] fixing vmcreate --- README.md | 6 ++++++ grid.py | 1 + plugin.py | 25 +++++++++---------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 6d3878b..b56db00 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,9 @@ Python RESTful API for managing a grid of vm slaves iptables -A tcp_inbound -p TCP --match multiport --dports 6900:8000 -j ACCEPT #vnc range 6. o/ ``` +##Proxmox permissions: +1. Datacenter -> Permissions -> Add -> User Permission +2. Path: / User: masteradmin@pve / Role: PVEAdmin +3. $IPT -A tcp_inbound -p TCP -s $PROXIP -j ACCEPT #enable proxmaster +4. Datacenter -> Storage -> Add -> LVM +5. ID: lvm / Volume Group: vm / Content: Disk image, Container diff --git a/grid.py b/grid.py index a0562f3..ead8be3 100644 --- a/grid.py +++ b/grid.py @@ -22,6 +22,7 @@ config = ioconfig.parser def query_vm(req_cube_id): """ returns slave_name, vm_id and vm_type for the requested cubeid """ data = querydb(req_cube_id) + print(data) return data['slave'], data['type'], data['vmid'] diff --git a/plugin.py b/plugin.py index c4806a6..0d36291 100644 --- a/plugin.py +++ b/plugin.py @@ -72,9 +72,9 @@ def vmcreate(req): #generators #slave_name = str(grid.query_happiness(region_id, weight)) #TODO: provide weight parameters here and calculate route - slave_name = 'warrior' #staic route + slave_name = 'lexx' #staic route #vmid = str(grid.generate_vmid()) #TODO: this should be between 100 and 65000 - vm_id = random.randint(200, 62000) + vm_id = random.randint(200, 10200) cubeid = int(time.time() * 10000 * 10000) ipv4_list = grid.generate_ipv4(req['region'], req['vps_ipv4']) @@ -104,7 +104,7 @@ def vmcreate(req): ipv4_dict[str(ipidx)] = str(ip) ipidx += 1 - response = { 'status':'CREATE', 'cube':vm_id, 'name':vm_name, 'password':vm_pass, 'ipv4_0':ipv4_list[0] } + response = { 'status':'CREATE', 'cube':cubeid, 'name':vm_name, 'password':vm_pass, 'ipv4_0':ipv4_list[0] } description = vm_name + ' (' + str(cubeid) + '/' + str(vm_id) + ')\n' + 'owned by ' + req['clientname'] + ' (' + req['clientid'] + ')\n' + 'master ip: ' + ipv4_list[0] #create partition @@ -114,7 +114,7 @@ def vmcreate(req): filename=image_name, size=req['vps_hdd'] + 'G') - if req['vps_type'] == 'KVM': + if req['vps_type'] == 'kvm': create_result = proxobject.nodes(slave_name).qemu.post(vmid=vm_id, name=vm_name, sockets=1, @@ -126,7 +126,7 @@ def vmcreate(req): onboot=1, description=description) - if req['vps_type'] == 'LXC': + if req['vps_type'] == 'lxc': create_result = proxobject.nodes(slave_name).lxc.post(vmid=vm_id, hostname=vm_name, password=vm_pass, @@ -139,8 +139,9 @@ def vmcreate(req): description=description) #start the machihe - time.sleep(7) #wait few seconds for the slave to prepare the machine for initial run - vmstart(cubeid) + #time.sleep(7) #wait few seconds for the slave to prepare the machine for initial run + #vmstart(cubeid) + print(str(create_result)) return response @@ -148,7 +149,6 @@ def vmstatus(cubeid): """ returns the status of the machine """ slave_name, vm_type, vm_id = grid.query_vm(cubeid) proxobject = auth(slave_name) - vm_type = vm_type.lower() #slave_name = proxobject.c:luster.status.get()[0]['name'] ioconfig.logger.info('slave[%s]> get status of %s %s' % (slave_name, vm_type, vm_id)) if vm_type == 'kvm': @@ -162,7 +162,6 @@ def vmstart(cubeid): """ starts a machine """ slave_name, vm_type, vm_id = grid.query_vm(cubeid) proxobject = auth(slave_name) - vm_type = vm_type.lower() #slave_name = proxobject.c:luster.status.get()[0]['name'] ioconfig.logger.info('slave[%s]> starting %s %s' % (slave_name, vm_type, vm_id)) if vm_type == 'kvm': @@ -177,7 +176,6 @@ def vmshutdown(cubeid): """ acpi shutdown the machine.. """ slave_name, vm_type, vm_id = grid.query_vm(cubeid) proxobject = auth(slave_name) - vm_type = vm_type.lower() #slave_name = proxobject.c:luster.status.get()[0]['name'] ioconfig.logger.info('slave[%s]> acpi shutdown %s %s' % (slave_name, vm_type, vm_id)) @@ -194,7 +192,6 @@ def vmstop(cubeid): """ poweroff the machine.. """ slave_name, vm_type, vm_id = grid.query_vm(cubeid) proxobject = auth(slave_name) - vm_type = vm_type.lower() #slave_name = proxobject.c:luster.status.get()[0]['name'] ioconfig.logger.info('slave[%s]> power off %s %s' % (slave_name, vm_type, vm_id)) @@ -211,7 +208,6 @@ def vmsuspend(cubeid): """ suspend machine """ slave_name, vm_type, vm_id = grid.query_vm(cubeid) proxobject = auth(slave_name) - vm_type = vm_type.lower() #slave_name = proxobject.c:luster.status.get()[0]['name'] ioconfig.logger.info('slave[%s]> suspending %s %s' % (slave_name, vm_type, vm_id)) @@ -227,7 +223,6 @@ def vmresume(cubeid): """ resume machine """ slave_name, vm_type, vm_id = grid.query_vm(cubeid) proxobject = auth(slave_name) - vm_type = vm_type.lower() #slave_name = proxobject.c:luster.status.get()[0]['name'] ioconfig.logger.info('slave[%s]> resuming %s %s' % (slave_name, vm_type, vm_id)) @@ -243,8 +238,7 @@ def vmrrd(cubeid): """ retrieve rrd graphs (PNG) """ slave_name, vm_type, vm_id = grid.query_vm(cubeid) proxobject = auth(slave_name) - vm_type = vm_type.lower() - #slave_name = proxobject.c:luster.status.get()[0]['name'] + object.c:luster.status.get()[0]['name'] ioconfig.logger.info('slave[%s]> query rrd of %s %s' % (slave_name, vm_type, vm_id)) result = {} @@ -267,7 +261,6 @@ def vmvnc(vm_id): """ invoke vnc ticket """ slave_name, vm_type, vm_id = grid.query_vm(cubeid) proxobject = auth(slave_name) - vm_type = vm_type.lower() #slave_name = proxobject.c:luster.status.get()[0]['name'] ioconfig.logger.info('slave[%s]> invoking vnc ticket for %s %s' % (slave_name, vm_type, vm_id))