From 08fedc74d7c0d128dfced3f513e16dfb1d5b160e Mon Sep 17 00:00:00 2001 From: vanzhiganov Date: Wed, 12 Oct 2016 03:19:11 +0300 Subject: [PATCH] fix --- cloud_node_agent.py | 76 ++++++++++++++++++++-------------------- cloud_node_statistics.py | 2 +- setup.py | 1 + 3 files changed, 40 insertions(+), 39 deletions(-) diff --git a/cloud_node_agent.py b/cloud_node_agent.py index 6ccae92..2342c4e 100644 --- a/cloud_node_agent.py +++ b/cloud_node_agent.py @@ -7,7 +7,7 @@ from SWSCloudNode.logger import logging from SWSCloudNode.network import Detect from SWSCloudNode import Node from SWSCloudNode import Tasks -from SWSCloudNode import lxc, qemu +from SWSCloudNode.compute import lxc, qemu allowed_actions = [ 'container_delete', @@ -28,7 +28,7 @@ logging.debug("Application started") while True: time.sleep(settings.getfloat('node', 'sleep')) - nodeclient = Node() + node_client = Node() task_data = Tasks().get_item() if task_data is not None and 'task' in task_data: @@ -44,7 +44,7 @@ while True: template = 'ubuntu' # TODO: update task status to 1 - nodeclient.task_status_update(task['id'], 1) + node_client.task_status_update(task['id'], 1) container_id = task['plain']['container_id'] ipv4 = dict() @@ -59,14 +59,14 @@ while True: # автоматически определяем подходящий сетевой интерфейс исходя из имеющегося ipv4 interface = Detect().get_suitable_interface(ipv4) # interface = settings.get('node', 'interface') - nodeclient.container_config_create(container_id, interface, ipv4, ipv6) + node_client.container_config_create(container_id, interface, ipv4, ipv6) container_config_file = '/var/lib/gocloud/node/configs/%s.config' % container_id # create ssh_key.pub param_auth_key = '' if 'ssh_key' in task['plain'] and task['plain']['ssh_key']: - nodeclient.container_authkey_create(container_id, task['plain']['ssh_key']) + node_client.container_authkey_create(container_id, task['plain']['ssh_key']) param_auth_key = '--auth-key /var/lib/gocloud/node/auth-keys/%s.pub' % container_id param_packages = '' @@ -74,7 +74,7 @@ while True: param_packages = '--packages %s' % ','.join(settings.get('node', 'packages')) # create container - lxc.lxc().create( + lxc.LXC().create( name=container_id, config_file=container_config_file, template='ubuntu', @@ -94,49 +94,49 @@ while True: # param_packages # ) ) - lxc.lxc().start(container_id) + lxc.LXC().start(container_id) # TODO: update task status to 2 - nodeclient.task_status_update(task['id'], 2) + node_client.task_status_update(task['id'], 2) # container_start if task['task'] == 'container_start': - nodeclient.task_status_update(task['id'], 1) + node_client.task_status_update(task['id'], 1) container_id = task['plain']['container_id'] - lxc.lxc().start(container_id) - nodeclient.task_status_update(task['id'], 2) + lxc.LXC().start(container_id) + node_client.task_status_update(task['id'], 2) # container_restart if task['task'] == 'container_restart': - nodeclient.task_status_update(task['id'], 1) + node_client.task_status_update(task['id'], 1) container_id = task['plain']['container_id'] - lxc.lxc().stop(container_id) - lxc.lxc().start(container_id) - nodeclient.task_status_update(task['task']['id'], 2) + lxc.LXC().stop(container_id) + lxc.LXC().start(container_id) + node_client.task_status_update(task['task']['id'], 2) # container_stop if task['task'] == 'container_stop': - nodeclient.task_status_update(task['id'], 1) + node_client.task_status_update(task['id'], 1) container_id = task['plain']['container_id'] - lxc.lxc().stop(container_id) - nodeclient.task_status_update(task['id'], 2) + lxc.LXC().stop(container_id) + node_client.task_status_update(task['id'], 2) # container_delete if task['task'] == 'container_delete': - nodeclient.task_status_update(task['id'], 1) + node_client.task_status_update(task['id'], 1) container_id = task['plain']['container_id'] # TODO: if container doesn't exists then complete task and report about this fact try: - lxc.lxc().destroy(container_id) + lxc.LXC().destroy(container_id) except Exception as e: logging.warning(e) pass - nodeclient.task_status_update(task['id'], 2) + node_client.task_status_update(task['id'], 2) # Virtual machines operations # Create new virtual machine if task.get('task') == 'vm_create': - nodeclient.task_status_update(task['id'], 1) + node_client.task_status_update(task['id'], 1) vm_id = task['plain']['vm_id'] @@ -150,7 +150,7 @@ while True: interface = settings.get('node', 'interface') try: - qemu.QEMU().create( + qemu.Qemu().create( p['cores'], p['memory'], p['storage'], p['swap'], p['hostname'], p['ipv4'], p['ipv4_gateway'], p['dns1'], p['dns2'], p['password'], p['os_name'], p['os_suite'], interface, @@ -158,34 +158,34 @@ while True: p['ssh_key'], ) # Start virtual server after creation - qemu.QEMU().start(task['plain']['vm_id']) + qemu.Qemu().start(task['plain']['vm_id']) except Exception as e: # back to origin task status - nodeclient.task_status_update(task['id'], 0) + node_client.task_status_update(task['id'], 0) logging.warning(e) else: - nodeclient.task_status_update(task['id'], 2) + node_client.task_status_update(task['id'], 2) # Start virtual machine if task.get('task') == 'vm_start': - nodeclient.task_status_update(task['id'], 1) - qemu.QEMU().start(task['plain']['vm_id']) - nodeclient.task_status_update(task['id'], 2) + node_client.task_status_update(task['id'], 1) + qemu.Qemu().start(task['plain']['vm_id']) + node_client.task_status_update(task['id'], 2) pass # Restart virtual machine if task.get('task') == 'vm_restart': - nodeclient.task_status_update(task['id'], 1) - qemu.QEMU().restart(task['plain']['vm_id']) - nodeclient.task_status_update(task['id'], 2) + node_client.task_status_update(task['id'], 1) + qemu.Qemu().restart(task['plain']['vm_id']) + node_client.task_status_update(task['id'], 2) pass if task.get('task') == 'vm_stop': - nodeclient.task_status_update(task['id'], 1) - qemu.QEMU().stop(task['plain']['vm_id']) - nodeclient.task_status_update(task['id'], 2) + node_client.task_status_update(task['id'], 1) + qemu.Qemu().stop(task['plain']['vm_id']) + node_client.task_status_update(task['id'], 2) pass if task.get('task') == 'vm_delete': - nodeclient.task_status_update(task['id'], 1) - qemu.QEMU().delete(task['plain']['vm_id']) - nodeclient.task_status_update(task['id'], 2) + node_client.task_status_update(task['id'], 1) + qemu.Qemu().delete(task['plain']['vm_id']) + node_client.task_status_update(task['id'], 2) pass logging.debug("Application ended") diff --git a/cloud_node_statistics.py b/cloud_node_statistics.py index 363a0fb..d3d4212 100644 --- a/cloud_node_statistics.py +++ b/cloud_node_statistics.py @@ -11,7 +11,7 @@ cls_lxc = LXC() cls_qemu = Qemu() cls_node = Node() -for container in cls_lxc.list(): +for container in cls_lxc.list_containers(): # print container info = cls_lxc.info(container) info['container_id'] = info['name'] diff --git a/setup.py b/setup.py index c564f53..9db3de1 100644 --- a/setup.py +++ b/setup.py @@ -9,6 +9,7 @@ setup( author_email='vanzhiganov@ya.ru', packages=[ 'SWSCloudNode', + 'SWSCloudNode.compute', 'SWSCloudNode.compute.lxc', 'SWSCloudNode.compute.qemu', ],