refactor
This commit is contained in:
		@@ -1,4 +1,3 @@
 | 
				
			|||||||
from .main import LibvirtSession
 | 
					from .main import LibvirtSession
 | 
				
			||||||
from .vm import VirtualMachine, QemuAgent
 | 
					 | 
				
			||||||
from .config import ConfigLoader
 | 
					from .config import ConfigLoader
 | 
				
			||||||
from .exceptions import *
 | 
					from .vm import *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,13 +3,15 @@ import tomllib
 | 
				
			|||||||
from pathlib import Path
 | 
					from pathlib import Path
 | 
				
			||||||
from collections import UserDict
 | 
					from collections import UserDict
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .exceptions import ConfigLoadError
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
NODEAGENT_CONFIG_FILE = os.getenv('NODEAGENT_CONFIG_FILE')
 | 
					NODEAGENT_CONFIG_FILE = os.getenv('NODEAGENT_CONFIG_FILE')
 | 
				
			||||||
NODEAGENT_DEFAULT_CONFIG_FILE = '/etc/node-agent/config.toml'
 | 
					NODEAGENT_DEFAULT_CONFIG_FILE = '/etc/node-agent/config.toml'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class ConfigLoadError(Exception):
 | 
				
			||||||
 | 
					    """Bad config file syntax, unreachable file or bad data."""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ConfigLoader(UserDict):
 | 
					class ConfigLoader(UserDict):
 | 
				
			||||||
    def __init__(self, file: Path | None = None):
 | 
					    def __init__(self, file: Path | None = None):
 | 
				
			||||||
        if file is None:
 | 
					        if file is None:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,10 @@ from contextlib import AbstractContextManager
 | 
				
			|||||||
import libvirt
 | 
					import libvirt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .config import ConfigLoader
 | 
					from .config import ConfigLoader
 | 
				
			||||||
from .exceptions import LibvirtSessionError
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class LibvirtSessionError(Exception):
 | 
				
			||||||
 | 
					    """Something went wrong while connecting to libvirt."""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class LibvirtSession(AbstractContextManager):
 | 
					class LibvirtSession(AbstractContextManager):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,8 +21,7 @@ import libvirt
 | 
				
			|||||||
from docopt import docopt
 | 
					from docopt import docopt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from ..main import LibvirtSession
 | 
					from ..main import LibvirtSession
 | 
				
			||||||
from ..vm import VirtualMachine
 | 
					from ..vm import VirtualMachine, VMError, VMNotFound
 | 
				
			||||||
from ..exceptions import VMError, VMNotFound
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
logger = logging.getLogger(__name__)
 | 
					logger = logging.getLogger(__name__)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,8 +17,7 @@ import logging
 | 
				
			|||||||
from docopt import docopt
 | 
					from docopt import docopt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from ..main import LibvirtSession
 | 
					from ..main import LibvirtSession
 | 
				
			||||||
from ..vm import QemuAgent
 | 
					from ..vm import QemuAgent, QemuAgentError, VMNotFound
 | 
				
			||||||
from ..exceptions import QemuAgentError, VMNotFound
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
logger = logging.getLogger(__name__)
 | 
					logger = logging.getLogger(__name__)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,2 +1,3 @@
 | 
				
			|||||||
from .main import VirtualMachine
 | 
					from .main import VirtualMachine
 | 
				
			||||||
from .ga import QemuAgent
 | 
					from .ga import QemuAgent, QemuAgentError
 | 
				
			||||||
 | 
					from .exceptions import *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
import libvirt
 | 
					import libvirt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from ..main import LibvirtSession
 | 
					from ..main import LibvirtSession
 | 
				
			||||||
from ..exceptions import VMNotFound
 | 
					from .exceptions import VMNotFound
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class VirtualMachineBase:
 | 
					class VirtualMachineBase:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,5 @@
 | 
				
			|||||||
class ConfigLoadError(Exception):
 | 
					class QemuAgentError(Exception):
 | 
				
			||||||
    """Bad config file syntax, unreachable file or bad data."""
 | 
					    """Mostly QEMU Guest Agent is not responding."""
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class LibvirtSessionError(Exception):
 | 
					 | 
				
			||||||
    """Something went wrong while connecting to libvirt."""
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class VMError(Exception):
 | 
					class VMError(Exception):
 | 
				
			||||||
@@ -15,7 +11,3 @@ class VMNotFound(Exception):
 | 
				
			|||||||
        self.domain = domain
 | 
					        self.domain = domain
 | 
				
			||||||
        self.message = message.format(domain=domain)
 | 
					        self.message = message.format(domain=domain)
 | 
				
			||||||
        super().__init__(self.message)
 | 
					        super().__init__(self.message)
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class QemuAgentError(Exception):
 | 
					 | 
				
			||||||
    """Mostly QEMU Guest Agent is not responding."""
 | 
					 | 
				
			||||||
@@ -7,8 +7,8 @@ import libvirt
 | 
				
			|||||||
import libvirt_qemu
 | 
					import libvirt_qemu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from ..main import LibvirtSession
 | 
					from ..main import LibvirtSession
 | 
				
			||||||
from ..exceptions import QemuAgentError
 | 
					 | 
				
			||||||
from .base import VirtualMachineBase
 | 
					from .base import VirtualMachineBase
 | 
				
			||||||
 | 
					from .exceptions import QemuAgentError
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
logger = logging.getLogger(__name__)
 | 
					logger = logging.getLogger(__name__)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,8 +2,8 @@ import logging
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import libvirt
 | 
					import libvirt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from ..exceptions import VMError
 | 
					 | 
				
			||||||
from .base import VirtualMachineBase
 | 
					from .base import VirtualMachineBase
 | 
				
			||||||
 | 
					from .exceptions import VMError
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
logger = logging.getLogger(__name__)
 | 
					logger = logging.getLogger(__name__)
 | 
				
			||||||
@@ -70,7 +70,7 @@ class VirtualMachine(VirtualMachineBase):
 | 
				
			|||||||
            logger.debug('VM vm=%s is already started, nothing to do', self.domname)
 | 
					            logger.debug('VM vm=%s is already started, nothing to do', self.domname)
 | 
				
			||||||
            return
 | 
					            return
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            ret = self.domain.create()
 | 
					            self.domain.create()
 | 
				
			||||||
        except libvirt.libvirtError as err:
 | 
					        except libvirt.libvirtError as err:
 | 
				
			||||||
            raise VMError(f'Cannot start vm={self.domname}: {err}') from err
 | 
					            raise VMError(f'Cannot start vm={self.domname}: {err}') from err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user