diff --git a/server/src/uds/services/OpenStack/deployment.py b/server/src/uds/services/OpenStack/deployment.py index dd5e6fdd1..1f1e37aa6 100644 --- a/server/src/uds/services/OpenStack/deployment.py +++ b/server/src/uds/services/OpenStack/deployment.py @@ -38,7 +38,7 @@ from uds.core.services import UserDeployment from uds.core.util.state import State from uds.core.util import log -from . import openStack +from . import openstack # Not imported at runtime, just for type checking if typing.TYPE_CHECKING: @@ -139,12 +139,12 @@ class LiveDeployment(UserDeployment): # pylint: disable=too-many-public-methods status = self.service().getMachineState(self._vmid) - if openStack.statusIsLost(status): + if openstack.statusIsLost(status): return self.__error('Machine is not available anymore') - if status == openStack.PAUSED: + if status == openstack.PAUSED: self.service().resumeMachine(self._vmid) - elif status in (openStack.STOPPED, openStack.SHUTOFF): + elif status in (openstack.STOPPED, openstack.SHUTOFF): self.service().startMachine(self._vmid) # Right now, we suppose the machine is ready @@ -192,7 +192,7 @@ class LiveDeployment(UserDeployment): # pylint: disable=too-many-public-methods status = self.service().getMachineState(self._vmid) # If we want to check an state and machine does not exists (except in case that we whant to check this) - if openStack.statusIsLost(status): + if openstack.statusIsLost(status): return self.__error('Machine not available. ({})'.format(status)) ret = State.RUNNING @@ -311,7 +311,7 @@ class LiveDeployment(UserDeployment): # pylint: disable=too-many-public-methods """ status = self.service().getMachineState(self._vmid) - if openStack.statusIsLost(status): + if openstack.statusIsLost(status): raise Exception('Machine not found. (Status {})'.format(status)) self.service().removeMachine(self._vmid) @@ -339,7 +339,7 @@ class LiveDeployment(UserDeployment): # pylint: disable=too-many-public-methods """ Checks the state of a deploy for an user or cache """ - ret = self.__checkMachineState(openStack.ACTIVE) + ret = self.__checkMachineState(openstack.ACTIVE) if ret == State.FINISHED: # Get IP & MAC (early stage) self._mac, self._ip = self.service().getNetInfo(self._vmid) @@ -350,13 +350,13 @@ class LiveDeployment(UserDeployment): # pylint: disable=too-many-public-methods """ Checks if machine has started """ - return self.__checkMachineState(openStack.ACTIVE) + return self.__checkMachineState(openstack.ACTIVE) def __checkSuspend(self) -> str: """ Check if the machine has suspended """ - return self.__checkMachineState(openStack.SUSPENDED) + return self.__checkMachineState(openstack.SUSPENDED) def __checkRemoved(self) -> str: """ diff --git a/server/src/uds/services/OpenStack/helpers.py b/server/src/uds/services/OpenStack/helpers.py index 59fa6ae2e..316b7713e 100644 --- a/server/src/uds/services/OpenStack/helpers.py +++ b/server/src/uds/services/OpenStack/helpers.py @@ -35,11 +35,11 @@ import typing from django.utils.translation import ugettext as _ from uds.core.ui import gui -from . import openStack +from . import openstack logger = logging.getLogger(__name__) -def getApi(parameters: typing.Dict[str, str]) -> typing.Tuple[openStack.Client, bool]: +def getApi(parameters: typing.Dict[str, str]) -> typing.Tuple[openstack.Client, bool]: from .provider_legacy import ProviderLegacy from .provider import OpenStackProvider from uds.core.environment import Environment diff --git a/server/src/uds/services/OpenStack/openStack/__init__.py b/server/src/uds/services/OpenStack/openstack/__init__.py similarity index 95% rename from server/src/uds/services/OpenStack/openStack/__init__.py rename to server/src/uds/services/OpenStack/openstack/__init__.py index 577597417..94e6fccce 100644 --- a/server/src/uds/services/OpenStack/openStack/__init__.py +++ b/server/src/uds/services/OpenStack/openstack/__init__.py @@ -31,9 +31,10 @@ .. moduleauthor:: Adolfo Gómez, dkmaster at dkmon dot com """ -from .UDSOpenStackClient import Client +from .openstack_client import Client # Import submodules from .common import * +# Logger imported from .common, if you ask logger = logging.getLogger(__name__) diff --git a/server/src/uds/services/OpenStack/openStack/common.py b/server/src/uds/services/OpenStack/openstack/common.py similarity index 100% rename from server/src/uds/services/OpenStack/openStack/common.py rename to server/src/uds/services/OpenStack/openstack/common.py diff --git a/server/src/uds/services/OpenStack/openStack/UDSOpenStackClient.py b/server/src/uds/services/OpenStack/openstack/openstack_client.py similarity index 100% rename from server/src/uds/services/OpenStack/openStack/UDSOpenStackClient.py rename to server/src/uds/services/OpenStack/openstack/openstack_client.py diff --git a/server/src/uds/services/OpenStack/provider.py b/server/src/uds/services/OpenStack/provider.py index c95101e82..c4cdbfdab 100644 --- a/server/src/uds/services/OpenStack/provider.py +++ b/server/src/uds/services/OpenStack/provider.py @@ -39,7 +39,7 @@ from uds.core.ui import gui from uds.core.util import validators from .service import LiveService -from . import openStack +from . import openstack # Not imported at runtime, just for type checking if typing.TYPE_CHECKING: @@ -115,7 +115,7 @@ class OpenStackProvider(ServiceProvider): legacy = False # Own variables - _api: typing.Optional[openStack.Client] = None + _api: typing.Optional[openstack.Client] = None def initialize(self, values: 'Module.ValuesType' = None): """ @@ -126,11 +126,11 @@ class OpenStackProvider(ServiceProvider): if values is not None: self.timeout.value = validators.validateTimeout(self.timeout.value) - def api(self, projectId=None, region=None) -> openStack.Client: + def api(self, projectId=None, region=None) -> openstack.Client: projectId = projectId or self.tenant.value or None region = region or self.region.value or None if self._api is None: - self._api = openStack.Client( + self._api = openstack.Client( self.endpoint.value, -1, self.domain.value, @@ -145,7 +145,7 @@ class OpenStackProvider(ServiceProvider): return self._api def sanitizeVmName(self, name: str) -> str: - return openStack.sanitizeName(name) + return openstack.sanitizeName(name) def testConnection(self): """ diff --git a/server/src/uds/services/OpenStack/provider_legacy.py b/server/src/uds/services/OpenStack/provider_legacy.py index 7a812f5bb..f58fc4bf9 100644 --- a/server/src/uds/services/OpenStack/provider_legacy.py +++ b/server/src/uds/services/OpenStack/provider_legacy.py @@ -41,7 +41,7 @@ from uds.core.ui import gui from uds.core.util import validators from .service import LiveService -from . import openStack +from . import openstack # Not imported at runtime, just for type checking @@ -120,7 +120,7 @@ class ProviderLegacy(ServiceProvider): legacy = True # Own variables - _api: typing.Optional[openStack.Client] = None + _api: typing.Optional[openstack.Client] = None def initialize(self, values: 'Module.ValuesType' = None): ''' @@ -131,8 +131,8 @@ class ProviderLegacy(ServiceProvider): if values is not None: self.timeout.value = validators.validateTimeout(self.timeout.value) - def api(self, projectId=None, region=None) -> openStack.Client: - return openStack.Client( + def api(self, projectId=None, region=None) -> openstack.Client: + return openstack.Client( self.host.value, self.port.value, self.domain.value, @@ -146,7 +146,7 @@ class ProviderLegacy(ServiceProvider): ) def sanitizeVmName(self, name: str) -> str: - return openStack.sanitizeName(name) + return openstack.sanitizeName(name) def testConnection(self): ''' diff --git a/server/src/uds/services/OpenStack/service.py b/server/src/uds/services/OpenStack/service.py index dbd9520fb..22c0ceef0 100644 --- a/server/src/uds/services/OpenStack/service.py +++ b/server/src/uds/services/OpenStack/service.py @@ -48,7 +48,7 @@ logger = logging.getLogger(__name__) # Not imported at runtime, just for type checking if typing.TYPE_CHECKING: - from . import openStack + from . import openstack from .provider import OpenStackProvider from .provider_legacy import ProviderLegacy Provider = typing.Union[OpenStackProvider, ProviderLegacy] @@ -159,7 +159,7 @@ class LiveService(Service): ev = gui.HiddenField(value=None) legacy = gui.HiddenField(value=None) # We need to keep the env so we can instantiate the Provider - _api: typing.Optional['openStack.Client'] = None + _api: typing.Optional['openstack.Client'] = None def initialize(self, values): """ @@ -204,7 +204,7 @@ class LiveService(Service): self.legacy.setDefValue(self.parent().legacy and 'true' or 'false') @property - def api(self) -> 'openStack.Client': + def api(self) -> 'openstack.Client': if not self._api: self._api = self.parent().api(projectId=self.project.value, region=self.region.value) @@ -282,6 +282,7 @@ class LiveService(Service): STOPPED. The server is powered off and the disk image still persists. SUSPENDED. The server is suspended, either by request or necessity. This status appears for only the XenServer/XCP, KVM, and ESXi hypervisors. Administrative users can suspend an instance if it is infrequently used or to perform system maintenance. When you suspend an instance, its VM state is stored on disk, all memory is written to disk, and the virtual machine is stopped. Suspending an instance is similar to placing a device in hibernation; memory and vCPUs become available to create other instances. VERIFY_RESIZE. System is awaiting confirmation that the server is operational after a move or resize. + SHUTOFF. The server was powered down by the user, either through the OpenStack Compute API or from within the server. For example, the user issued a shutdown -h command from within the server. If the OpenStack Compute manager detects that the VM was powered down, it transitions the server to the SHUTOFF status. """ server = self.api.getServer(machineId) if server['status'] in ('ERROR', 'DELETED'):