Rename subiquity to subiquitycore -- will serve as base classes for everything
Signed-off-by: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
This commit is contained in:
parent
a721eba5c1
commit
e1970b6477
2
Makefile
2
Makefile
|
@ -2,7 +2,7 @@
|
||||||
# Makefile for subiquity
|
# Makefile for subiquity
|
||||||
#
|
#
|
||||||
NAME=subiquity
|
NAME=subiquity
|
||||||
VERSION=$(shell python3 -c "import subiquity; print(subiquity.__version__)")
|
VERSION=$(shell python3 -c "import subiquitycore; print(subiquitycore.__version__)")
|
||||||
PYTHONSRC=$(NAME)
|
PYTHONSRC=$(NAME)
|
||||||
PYTHONPATH=$(shell pwd):$(shell pwd)/probert
|
PYTHONPATH=$(shell pwd):$(shell pwd)/probert
|
||||||
VENVPATH=$(shell pwd)/venv
|
VENVPATH=$(shell pwd)/venv
|
||||||
|
|
|
@ -18,12 +18,12 @@ import argparse
|
||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
import signal
|
import signal
|
||||||
from subiquity.log import setup_logger, LOGFILE
|
from subiquitycore.log import setup_logger, LOGFILE
|
||||||
from subiquity import __version__ as VERSION
|
from subiquitycore import __version__ as VERSION
|
||||||
from subiquity.core import Controller as Subiquity
|
from subiquitycore.core import Controller as Subiquity
|
||||||
from subiquity.core import CoreControllerError
|
from subiquitycore.core import CoreControllerError
|
||||||
from subiquity.ui.frame import SubiquityUI
|
from subiquitycore.ui.frame import SubiquityUI
|
||||||
from subiquity.utils import environment_check
|
from subiquitycore.utils import environment_check
|
||||||
|
|
||||||
|
|
||||||
def parse_options(argv):
|
def parse_options(argv):
|
||||||
|
|
|
@ -13,6 +13,6 @@
|
||||||
# You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
""" Subiquity """
|
""" SubiquityCore """
|
||||||
|
|
||||||
__version__ = "0.0.5"
|
__version__ = "0.0.5"
|
|
@ -38,7 +38,7 @@ The way this works is you create your non-blocking thread:
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from concurrent.futures import ThreadPoolExecutor
|
from concurrent.futures import ThreadPoolExecutor
|
||||||
log = logging.getLogger("subiquity.async")
|
log = logging.getLogger("subiquitycore.async")
|
||||||
|
|
||||||
|
|
||||||
class Async:
|
class Async:
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.controller")
|
log = logging.getLogger("subiquitycore.controller")
|
||||||
|
|
||||||
|
|
||||||
class ControllerPolicyException(Exception):
|
class ControllerPolicyException(Exception):
|
|
@ -14,10 +14,10 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.models import CephDiskModel
|
from subiquitycore.models import CephDiskModel
|
||||||
from subiquity.controller import ControllerPolicy
|
from subiquitycore.controller import ControllerPolicy
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.controller.ceph")
|
log = logging.getLogger("subiquitycore.controller.ceph")
|
||||||
|
|
||||||
|
|
||||||
class CephDiskController(ControllerPolicy):
|
class CephDiskController(ControllerPolicy):
|
|
@ -15,21 +15,21 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
from subiquity.controller import ControllerPolicy
|
from subiquitycore.controller import ControllerPolicy
|
||||||
from subiquity.models.actions import preserve_action
|
from subiquitycore.models.actions import preserve_action
|
||||||
from subiquity.models import (FilesystemModel, RaidModel)
|
from subiquitycore.models import (FilesystemModel, RaidModel)
|
||||||
from subiquity.models.filesystem import (_humanize_size)
|
from subiquitycore.models.filesystem import (_humanize_size)
|
||||||
from subiquity.ui.views import (DiskPartitionView, AddPartitionView,
|
from subiquitycore.ui.views import (DiskPartitionView, AddPartitionView,
|
||||||
AddFormatView, FilesystemView,
|
AddFormatView, FilesystemView,
|
||||||
DiskInfoView, RaidView, BcacheView,
|
DiskInfoView, RaidView, BcacheView,
|
||||||
LVMVolumeGroupView)
|
LVMVolumeGroupView)
|
||||||
from subiquity.ui.dummy import DummyView
|
from subiquitycore.ui.dummy import DummyView
|
||||||
from subiquity.ui.error import ErrorView
|
from subiquitycore.ui.error import ErrorView
|
||||||
from subiquity.curtin import (curtin_write_storage_actions,
|
from subiquitycore.curtin import (curtin_write_storage_actions,
|
||||||
curtin_write_preserved_actions)
|
curtin_write_preserved_actions)
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.controller.filesystem")
|
log = logging.getLogger("subiquitycore.controller.filesystem")
|
||||||
|
|
||||||
BIOS_GRUB_SIZE_BYTES = 2 * 1024 * 1024 # 2MiB
|
BIOS_GRUB_SIZE_BYTES = 2 * 1024 * 1024 # 2MiB
|
||||||
UEFI_GRUB_SIZE_BYTES = 512 * 1024 * 1024 # 512MiB EFI partition
|
UEFI_GRUB_SIZE_BYTES = 512 * 1024 * 1024 # 512MiB EFI partition
|
|
@ -14,11 +14,11 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.controller import ControllerPolicy
|
from subiquitycore.controller import ControllerPolicy
|
||||||
from subiquity.models import IdentityModel
|
from subiquitycore.models import IdentityModel
|
||||||
from subiquity.ui.views import IdentityView, LoginView
|
from subiquitycore.ui.views import IdentityView, LoginView
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.controllers.identity')
|
log = logging.getLogger('subiquitycore.controllers.identity')
|
||||||
|
|
||||||
class IdentityController(ControllerPolicy):
|
class IdentityController(ControllerPolicy):
|
||||||
def __init__(self, common):
|
def __init__(self, common):
|
|
@ -14,10 +14,10 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.controller import ControllerPolicy
|
from subiquitycore.controller import ControllerPolicy
|
||||||
from subiquity.models import InstallpathModel
|
from subiquitycore.models import InstallpathModel
|
||||||
from subiquity.ui.views import InstallpathView
|
from subiquitycore.ui.views import InstallpathView
|
||||||
from subiquity.ui.dummy import DummyView
|
from subiquitycore.ui.dummy import DummyView
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.controller.installpath')
|
log = logging.getLogger('subiquity.controller.installpath')
|
||||||
|
|
|
@ -17,18 +17,18 @@ import logging
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
from tornado.gen import coroutine
|
from tornado.gen import coroutine
|
||||||
import subiquity.utils as utils
|
import subiquitycore.utils as utils
|
||||||
from subiquity.models import InstallProgressModel
|
from subiquitycore.models import InstallProgressModel
|
||||||
from subiquity.ui.views import ProgressView
|
from subiquitycore.ui.views import ProgressView
|
||||||
from subiquity.controller import ControllerPolicy
|
from subiquitycore.controller import ControllerPolicy
|
||||||
from subiquity.curtin import (CURTIN_CONFIGS,
|
from subiquitycore.curtin import (CURTIN_CONFIGS,
|
||||||
CURTIN_INSTALL_LOG,
|
CURTIN_INSTALL_LOG,
|
||||||
CURTIN_POSTINSTALL_LOG,
|
CURTIN_POSTINSTALL_LOG,
|
||||||
curtin_reboot,
|
curtin_reboot,
|
||||||
curtin_install_cmd)
|
curtin_install_cmd)
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.controller.installprogress")
|
log = logging.getLogger("subiquitycore.controller.installprogress")
|
||||||
|
|
||||||
|
|
||||||
class InstallProgressController(ControllerPolicy):
|
class InstallProgressController(ControllerPolicy):
|
|
@ -14,10 +14,10 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.models import IscsiDiskModel
|
from subiquitycore.models import IscsiDiskModel
|
||||||
from subiquity.controller import ControllerPolicy
|
from subiquitycore.controller import ControllerPolicy
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.controller.iscsi")
|
log = logging.getLogger("subiquitycore.controller.iscsi")
|
||||||
|
|
||||||
|
|
||||||
class IscsiDiskController(ControllerPolicy):
|
class IscsiDiskController(ControllerPolicy):
|
|
@ -14,9 +14,9 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
from subiquity.ui.views import LoginView
|
from subiquitycore.ui.views import LoginView
|
||||||
from subiquity.models import LoginModel
|
from subiquitycore.models import LoginModel
|
||||||
from subiquity.controller import ControllerPolicy
|
from subiquitycore.controller import ControllerPolicy
|
||||||
|
|
||||||
|
|
||||||
class LoginController(ControllerPolicy):
|
class LoginController(ControllerPolicy):
|
|
@ -14,19 +14,19 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.controller import ControllerPolicy
|
from subiquitycore.controller import ControllerPolicy
|
||||||
from subiquity.models import NetworkModel
|
from subiquitycore.models import NetworkModel
|
||||||
from subiquity.ui.views import (NetworkView,
|
from subiquitycore.ui.views import (NetworkView,
|
||||||
NetworkSetDefaultRouteView,
|
NetworkSetDefaultRouteView,
|
||||||
NetworkBondInterfacesView,
|
NetworkBondInterfacesView,
|
||||||
NetworkConfigureInterfaceView,
|
NetworkConfigureInterfaceView,
|
||||||
NetworkConfigureIPv4InterfaceView)
|
NetworkConfigureIPv4InterfaceView)
|
||||||
from subiquity.ui.dummy import DummyView
|
from subiquitycore.ui.dummy import DummyView
|
||||||
|
|
||||||
from subiquity.curtin import curtin_write_network_actions
|
from subiquitycore.curtin import curtin_write_network_actions
|
||||||
from subiquity.curtin import curtin_apply_networking
|
from subiquitycore.curtin import curtin_apply_networking
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.controller.network")
|
log = logging.getLogger("subiquitycore.controller.network")
|
||||||
|
|
||||||
|
|
||||||
class NetworkController(ControllerPolicy):
|
class NetworkController(ControllerPolicy):
|
|
@ -14,10 +14,10 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.models import RaidDiskModel
|
from subiquitycore.models import RaidDiskModel
|
||||||
from subiquity.controller import ControllerPolicy
|
from subiquitycore.controller import ControllerPolicy
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.controller.raid")
|
log = logging.getLogger("subiquitycore.controller.raid")
|
||||||
|
|
||||||
|
|
||||||
class RaidDiskController(ControllerPolicy):
|
class RaidDiskController(ControllerPolicy):
|
|
@ -14,9 +14,9 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
from subiquity.ui.views import WelcomeView
|
from subiquitycore.ui.views import WelcomeView
|
||||||
from subiquity.models import WelcomeModel
|
from subiquitycore.models import WelcomeModel
|
||||||
from subiquity.controller import ControllerPolicy
|
from subiquitycore.controller import ControllerPolicy
|
||||||
|
|
||||||
|
|
||||||
class WelcomeController(ControllerPolicy):
|
class WelcomeController(ControllerPolicy):
|
|
@ -17,11 +17,11 @@ import logging
|
||||||
import urwid
|
import urwid
|
||||||
from tornado.ioloop import IOLoop
|
from tornado.ioloop import IOLoop
|
||||||
from tornado.util import import_object
|
from tornado.util import import_object
|
||||||
from subiquity.signals import Signal
|
from subiquitycore.signals import Signal
|
||||||
from subiquity.palette import STYLES, STYLES_MONO
|
from subiquitycore.palette import STYLES, STYLES_MONO
|
||||||
from subiquity.prober import Prober, ProberException
|
from subiquitycore.prober import Prober, ProberException
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.core')
|
log = logging.getLogger('subiquitycore.core')
|
||||||
|
|
||||||
|
|
||||||
class CoreControllerError(Exception):
|
class CoreControllerError(Exception):
|
||||||
|
@ -118,7 +118,7 @@ class Controller:
|
||||||
for k in self.controllers.keys():
|
for k in self.controllers.keys():
|
||||||
log.debug("Importing controller: {}".format(k))
|
log.debug("Importing controller: {}".format(k))
|
||||||
klass = import_object(
|
klass = import_object(
|
||||||
"subiquity.controllers.{}Controller".format(
|
"subiquitycore.controllers.{}Controller".format(
|
||||||
k))
|
k))
|
||||||
self.controllers[k] = klass(self.common)
|
self.controllers[k] = klass(self.common)
|
||||||
|
|
|
@ -19,10 +19,10 @@ import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import time
|
import time
|
||||||
import yaml
|
import yaml
|
||||||
import subiquity.utils as utils
|
import subiquitycore.utils as utils
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.curtin")
|
log = logging.getLogger("subiquitycore.curtin")
|
||||||
|
|
||||||
TMPDIR = '/tmp'
|
TMPDIR = '/tmp'
|
||||||
CURTIN_SEARCH_PATH = ['/usr/local/curtin/bin', '/usr/bin']
|
CURTIN_SEARCH_PATH = ['/usr/local/curtin/bin', '/usr/bin']
|
|
@ -29,7 +29,7 @@ from .actions import (
|
||||||
RaidAction,
|
RaidAction,
|
||||||
)
|
)
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.filesystem.blockdev")
|
log = logging.getLogger("subiquitycore.filesystem.blockdev")
|
||||||
FIRST_PARTITION_OFFSET = 1 << 20 # 1K offset/aligned
|
FIRST_PARTITION_OFFSET = 1 << 20 # 1K offset/aligned
|
||||||
GPT_END_RESERVE = 1 << 20 # save room at the end for GPT
|
GPT_END_RESERVE = 1 << 20 # save room at the end for GPT
|
||||||
|
|
|
@ -15,10 +15,10 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from subiquity.model import ModelPolicy
|
from subiquitycore.model import ModelPolicy
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.models.ceph_disk')
|
log = logging.getLogger('subiquitycore.models.ceph_disk')
|
||||||
|
|
||||||
|
|
||||||
class CephDiskModel(ModelPolicy):
|
class CephDiskModel(ModelPolicy):
|
|
@ -24,11 +24,11 @@ from .blockdev import (Bcachedev,
|
||||||
Raiddev,
|
Raiddev,
|
||||||
sort_actions)
|
sort_actions)
|
||||||
import math
|
import math
|
||||||
from subiquity.model import ModelPolicy
|
from subiquitycore.model import ModelPolicy
|
||||||
|
|
||||||
|
|
||||||
HUMAN_UNITS = ['B', 'K', 'M', 'G', 'T', 'P']
|
HUMAN_UNITS = ['B', 'K', 'M', 'G', 'T', 'P']
|
||||||
log = logging.getLogger('subiquity.models.filesystem')
|
log = logging.getLogger('subiquitycore.models.filesystem')
|
||||||
|
|
||||||
|
|
||||||
class AttrDict(dict):
|
class AttrDict(dict):
|
|
@ -14,11 +14,11 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.model import ModelPolicy
|
from subiquitycore.model import ModelPolicy
|
||||||
from subiquity.utils import crypt_password
|
from subiquitycore.utils import crypt_password
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.models.identity')
|
log = logging.getLogger('subiquitycore.models.identity')
|
||||||
|
|
||||||
class LocalUser(object):
|
class LocalUser(object):
|
||||||
def __init__(self, result):
|
def __init__(self, result):
|
|
@ -14,10 +14,10 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.model import ModelPolicy
|
from subiquitycore.model import ModelPolicy
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.models.installpath")
|
log = logging.getLogger("subiquitycore.models.installpath")
|
||||||
|
|
||||||
|
|
||||||
class InstallpathModel(ModelPolicy):
|
class InstallpathModel(ModelPolicy):
|
|
@ -14,10 +14,10 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.model import ModelPolicy
|
from subiquitycore.model import ModelPolicy
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.models.installprogress')
|
log = logging.getLogger('subiquitycore.models.installprogress')
|
||||||
|
|
||||||
|
|
||||||
class InstallProgressModel(ModelPolicy):
|
class InstallProgressModel(ModelPolicy):
|
|
@ -15,10 +15,10 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from subiquity.model import ModelPolicy
|
from subiquitycore.model import ModelPolicy
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.models.iscsi_disk')
|
log = logging.getLogger('subiquitycore.models.iscsi_disk')
|
||||||
|
|
||||||
|
|
||||||
class IscsiDiskModel(ModelPolicy):
|
class IscsiDiskModel(ModelPolicy):
|
|
@ -14,10 +14,10 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.model import ModelPolicy
|
from subiquitycore.model import ModelPolicy
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.login')
|
log = logging.getLogger('subiquitycore.login')
|
||||||
|
|
||||||
|
|
||||||
class LoginModel(ModelPolicy):
|
class LoginModel(ModelPolicy):
|
|
@ -17,10 +17,10 @@ import errno
|
||||||
import ipaddress
|
import ipaddress
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
from subiquity.prober import make_network_info
|
from subiquitycore.prober import make_network_info
|
||||||
from subiquity.model import ModelPolicy
|
from subiquitycore.model import ModelPolicy
|
||||||
from subiquity.utils import (read_sys_net,
|
from subiquitycore.utils import (read_sys_net,
|
||||||
sys_dev_path)
|
sys_dev_path)
|
||||||
|
|
||||||
from .actions import (
|
from .actions import (
|
||||||
BondAction,
|
BondAction,
|
||||||
|
@ -31,7 +31,7 @@ from .actions import (
|
||||||
)
|
)
|
||||||
|
|
||||||
NETDEV_IGNORED_IFACES = ['lo', 'bridge', 'tun', 'tap']
|
NETDEV_IGNORED_IFACES = ['lo', 'bridge', 'tun', 'tap']
|
||||||
log = logging.getLogger('subiquity.models.network')
|
log = logging.getLogger('subiquitycore.models.network')
|
||||||
|
|
||||||
|
|
||||||
class Networkdev():
|
class Networkdev():
|
|
@ -14,10 +14,10 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.model import ModelPolicy
|
from subiquitycore.model import ModelPolicy
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.models.raid')
|
log = logging.getLogger('subiquitycore.models.raid')
|
||||||
|
|
||||||
|
|
||||||
class RaidModel(ModelPolicy):
|
class RaidModel(ModelPolicy):
|
|
@ -14,10 +14,10 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from subiquity.model import ModelPolicy
|
from subiquitycore.model import ModelPolicy
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.welcome')
|
log = logging.getLogger('subiquitycore.welcome')
|
||||||
|
|
||||||
|
|
||||||
class WelcomeModel(ModelPolicy):
|
class WelcomeModel(ModelPolicy):
|
|
@ -21,7 +21,7 @@ from probert.storage import (Storage,
|
||||||
from probert.network import (Network,
|
from probert.network import (Network,
|
||||||
NetworkInfo)
|
NetworkInfo)
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.prober')
|
log = logging.getLogger('subiquitycore.prober')
|
||||||
|
|
||||||
|
|
||||||
class ProberException(Exception):
|
class ProberException(Exception):
|
|
@ -5,14 +5,14 @@ import testtools
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from mock import patch
|
from mock import patch
|
||||||
from subiquity.models.blockdev import (Blockdev,
|
from subiquitycore.models.blockdev import (Blockdev,
|
||||||
blockdev_align_up,
|
blockdev_align_up,
|
||||||
FIRST_PARTITION_OFFSET,
|
FIRST_PARTITION_OFFSET,
|
||||||
GPT_END_RESERVE,
|
GPT_END_RESERVE,
|
||||||
sort_actions)
|
sort_actions)
|
||||||
from subiquity.models.filesystem import FilesystemModel
|
from subiquitycore.models.filesystem import FilesystemModel
|
||||||
from subiquity.prober import Prober
|
from subiquitycore.prober import Prober
|
||||||
from subiquity.tests import fakes
|
from subiquitycore.tests import fakes
|
||||||
|
|
||||||
|
|
||||||
GB = 1 << 40
|
GB = 1 << 40
|
|
@ -15,8 +15,8 @@
|
||||||
|
|
||||||
from urwid import WidgetWrap, Pile, Text, ProgressBar
|
from urwid import WidgetWrap, Pile, Text, ProgressBar
|
||||||
from collections import deque
|
from collections import deque
|
||||||
from subiquity.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding, Color
|
||||||
from subiquity.ui.lists import SimpleList
|
from subiquitycore.ui.lists import SimpleList
|
||||||
|
|
||||||
|
|
||||||
class Header(WidgetWrap):
|
class Header(WidgetWrap):
|
|
@ -17,8 +17,8 @@
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from urwid import (WidgetWrap, Text, Pile, ListBox)
|
from urwid import (WidgetWrap, Text, Pile, ListBox)
|
||||||
from subiquity.ui.buttons import cancel_btn
|
from subiquitycore.ui.buttons import cancel_btn
|
||||||
from subiquity.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding, Color
|
||||||
|
|
||||||
|
|
||||||
class DummyView(WidgetWrap):
|
class DummyView(WidgetWrap):
|
|
@ -18,10 +18,10 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from urwid import (WidgetWrap, Text, Pile, ListBox)
|
from urwid import (WidgetWrap, Text, Pile, ListBox)
|
||||||
from subiquity.ui.buttons import cancel_btn
|
from subiquitycore.ui.buttons import cancel_btn
|
||||||
from subiquity.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding, Color
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.ui.error')
|
log = logging.getLogger('subiquitycore.ui.error')
|
||||||
|
|
||||||
|
|
||||||
class ErrorView(WidgetWrap):
|
class ErrorView(WidgetWrap):
|
|
@ -16,11 +16,11 @@
|
||||||
""" Base Frame Widget """
|
""" Base Frame Widget """
|
||||||
|
|
||||||
from urwid import Frame, WidgetWrap
|
from urwid import Frame, WidgetWrap
|
||||||
from subiquity.ui.anchors import Header, Footer, Body
|
from subiquitycore.ui.anchors import Header, Footer, Body
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.ui.frame')
|
log = logging.getLogger('subiquitycore.ui.frame')
|
||||||
|
|
||||||
|
|
||||||
class SubiquityUI(WidgetWrap):
|
class SubiquityUI(WidgetWrap):
|
|
@ -20,7 +20,7 @@ from urwid import (Edit, IntEdit, RadioButton, WidgetWrap)
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.ui.input")
|
log = logging.getLogger("subiquitycore.ui.input")
|
||||||
|
|
||||||
|
|
||||||
class StringEditor(WidgetWrap):
|
class StringEditor(WidgetWrap):
|
|
@ -18,7 +18,7 @@
|
||||||
from urwid import Padding as _Padding
|
from urwid import Padding as _Padding
|
||||||
from urwid import AttrMap, Text
|
from urwid import AttrMap, Text
|
||||||
from functools import partialmethod
|
from functools import partialmethod
|
||||||
from subiquity.palette import STYLES
|
from subiquitycore.palette import STYLES
|
||||||
|
|
||||||
|
|
||||||
def apply_padders(cls):
|
def apply_padders(cls):
|
|
@ -14,14 +14,14 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from urwid import Text, Pile, ListBox
|
from urwid import Text, Pile, ListBox
|
||||||
from subiquity.models.filesystem import _humanize_size
|
from subiquitycore.models.filesystem import _humanize_size
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.ui.buttons import cancel_btn, done_btn
|
from subiquitycore.ui.buttons import cancel_btn, done_btn
|
||||||
from subiquity.ui.interactive import Selector
|
from subiquitycore.ui.interactive import Selector
|
||||||
from subiquity.ui.utils import Color, Padding
|
from subiquitycore.ui.utils import Color, Padding
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.ui.bcache')
|
log = logging.getLogger('subiquitycore.ui.bcache')
|
||||||
|
|
||||||
|
|
||||||
class BcacheView(ViewPolicy):
|
class BcacheView(ViewPolicy):
|
|
@ -14,13 +14,13 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from urwid import Text, Columns, Pile, ListBox
|
from urwid import Text, Columns, Pile, ListBox
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.ui.buttons import cancel_btn, done_btn
|
from subiquitycore.ui.buttons import cancel_btn, done_btn
|
||||||
from subiquity.ui.interactive import StringEditor
|
from subiquitycore.ui.interactive import StringEditor
|
||||||
from subiquity.ui.utils import Color, Padding
|
from subiquitycore.ui.utils import Color, Padding
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.ceph')
|
log = logging.getLogger('subiquitycore.ceph')
|
||||||
|
|
||||||
|
|
||||||
class CephDiskView(ViewPolicy):
|
class CephDiskView(ViewPolicy):
|
|
@ -22,18 +22,18 @@ configuration.
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
from urwid import (ListBox, Pile, BoxAdapter, Text, Columns)
|
from urwid import (ListBox, Pile, BoxAdapter, Text, Columns)
|
||||||
from subiquity.ui.lists import SimpleList
|
from subiquitycore.ui.lists import SimpleList
|
||||||
from subiquity.ui.buttons import (done_btn,
|
from subiquitycore.ui.buttons import (done_btn,
|
||||||
reset_btn,
|
reset_btn,
|
||||||
cancel_btn,
|
cancel_btn,
|
||||||
menu_btn)
|
menu_btn)
|
||||||
from subiquity.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding, Color
|
||||||
from subiquity.ui.interactive import (StringEditor, IntegerEditor,
|
from subiquitycore.ui.interactive import (StringEditor, IntegerEditor,
|
||||||
Selector, MountEditor)
|
Selector, MountEditor)
|
||||||
from subiquity.models.filesystem import (_humanize_size,
|
from subiquitycore.models.filesystem import (_humanize_size,
|
||||||
_dehumanize_size,
|
_dehumanize_size,
|
||||||
HUMAN_UNITS)
|
HUMAN_UNITS)
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
|
|
||||||
INVALID_PARTITION_SIZE = 'Invalid Partition Size'
|
INVALID_PARTITION_SIZE = 'Invalid Partition Size'
|
||||||
PARTITION_SIZE_TOO_BIG = 'Requested size too big'
|
PARTITION_SIZE_TOO_BIG = 'Requested size too big'
|
||||||
|
@ -43,7 +43,7 @@ PARTITION_ERRORS = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.ui.filesystem')
|
log = logging.getLogger('subiquitycore.ui.filesystem')
|
||||||
|
|
||||||
|
|
||||||
class DiskInfoView(ViewPolicy):
|
class DiskInfoView(ViewPolicy):
|
|
@ -20,18 +20,18 @@ Welcome provides user with language selection
|
||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
from urwid import (Pile, Columns, Text, ListBox)
|
from urwid import (Pile, Columns, Text, ListBox)
|
||||||
from subiquity.ui.buttons import done_btn, cancel_btn
|
from subiquitycore.ui.buttons import done_btn, cancel_btn
|
||||||
from subiquity.ui.interactive import (PasswordEditor,
|
from subiquitycore.ui.interactive import (PasswordEditor,
|
||||||
RealnameEditor,
|
RealnameEditor,
|
||||||
StringEditor,
|
StringEditor,
|
||||||
UsernameEditor)
|
UsernameEditor)
|
||||||
from subiquity.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding, Color
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.curtin import (curtin_write_postinst_config,
|
from subiquitycore.curtin import (curtin_write_postinst_config,
|
||||||
curtin_configure_user)
|
curtin_configure_user)
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.views.identity")
|
log = logging.getLogger("subiquitycore.views.identity")
|
||||||
|
|
||||||
HOSTNAME_MAXLEN = 64
|
HOSTNAME_MAXLEN = 64
|
||||||
REALNAME_MAXLEN = 160
|
REALNAME_MAXLEN = 160
|
|
@ -20,12 +20,12 @@ Provides high level options for Ubuntu install
|
||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
from urwid import (ListBox, Pile, BoxAdapter)
|
from urwid import (ListBox, Pile, BoxAdapter)
|
||||||
from subiquity.ui.lists import SimpleList
|
from subiquitycore.ui.lists import SimpleList
|
||||||
from subiquity.ui.buttons import menu_btn, cancel_btn
|
from subiquitycore.ui.buttons import menu_btn, cancel_btn
|
||||||
from subiquity.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding, Color
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.installpath')
|
log = logging.getLogger('subiquitycore.installpath')
|
||||||
|
|
||||||
|
|
||||||
class InstallpathView(ViewPolicy):
|
class InstallpathView(ViewPolicy):
|
|
@ -16,11 +16,11 @@
|
||||||
import logging
|
import logging
|
||||||
from urwid import (Text, Filler,
|
from urwid import (Text, Filler,
|
||||||
Pile)
|
Pile)
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.ui.buttons import confirm_btn
|
from subiquitycore.ui.buttons import confirm_btn
|
||||||
from subiquity.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding, Color
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.views.installprogress")
|
log = logging.getLogger("subiquitycore.views.installprogress")
|
||||||
|
|
||||||
|
|
||||||
class ProgressView(ViewPolicy):
|
class ProgressView(ViewPolicy):
|
|
@ -14,14 +14,14 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from urwid import Text, Columns, Pile, ListBox
|
from urwid import Text, Columns, Pile, ListBox
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.ui.buttons import menu_btn
|
from subiquitycore.ui.buttons import menu_btn
|
||||||
from subiquity.ui.interactive import (StringEditor, YesNo,
|
from subiquitycore.ui.interactive import (StringEditor, YesNo,
|
||||||
PasswordEditor)
|
PasswordEditor)
|
||||||
from subiquity.ui.utils import Color, Padding
|
from subiquitycore.ui.utils import Color, Padding
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.iscsi')
|
log = logging.getLogger('subiquitycore.iscsi')
|
||||||
|
|
||||||
|
|
||||||
class IscsiDiskView(ViewPolicy):
|
class IscsiDiskView(ViewPolicy):
|
|
@ -22,13 +22,13 @@ import copy
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
from urwid import (ListBox, Pile, BoxAdapter, Text)
|
from urwid import (ListBox, Pile, BoxAdapter, Text)
|
||||||
from subiquity.ui.lists import SimpleList
|
from subiquitycore.ui.lists import SimpleList
|
||||||
from subiquity.ui.buttons import finish_btn
|
from subiquitycore.ui.buttons import finish_btn
|
||||||
from subiquity.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding, Color
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity import utils
|
from subiquitycore import utils
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.views.login")
|
log = logging.getLogger("subiquitycore.views.login")
|
||||||
|
|
||||||
|
|
||||||
class LoginView(ViewPolicy):
|
class LoginView(ViewPolicy):
|
|
@ -14,14 +14,14 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from urwid import Text, Columns, Pile, ListBox, CheckBox
|
from urwid import Text, Columns, Pile, ListBox, CheckBox
|
||||||
from subiquity.models.filesystem import _humanize_size
|
from subiquitycore.models.filesystem import _humanize_size
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.ui.buttons import cancel_btn, done_btn
|
from subiquitycore.ui.buttons import cancel_btn, done_btn
|
||||||
from subiquity.ui.interactive import UsernameEditor
|
from subiquitycore.ui.interactive import UsernameEditor
|
||||||
from subiquity.ui.utils import Color, Padding
|
from subiquitycore.ui.utils import Color, Padding
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.ui.lvm')
|
log = logging.getLogger('subiquitycore.ui.lvm')
|
||||||
|
|
||||||
|
|
||||||
class LVMVolumeGroupView(ViewPolicy):
|
class LVMVolumeGroupView(ViewPolicy):
|
|
@ -24,13 +24,13 @@ import textwrap
|
||||||
from urwid import (ListBox, Pile, BoxAdapter,
|
from urwid import (ListBox, Pile, BoxAdapter,
|
||||||
Text, Columns)
|
Text, Columns)
|
||||||
import yaml
|
import yaml
|
||||||
from subiquity.ui.lists import SimpleList
|
from subiquitycore.ui.lists import SimpleList
|
||||||
from subiquity.ui.buttons import cancel_btn, menu_btn, done_btn
|
from subiquitycore.ui.buttons import cancel_btn, menu_btn, done_btn
|
||||||
from subiquity.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding, Color
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.views.network')
|
log = logging.getLogger('subiquitycore.views.network')
|
||||||
|
|
||||||
|
|
||||||
class NetworkView(ViewPolicy):
|
class NetworkView(ViewPolicy):
|
|
@ -14,13 +14,13 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from urwid import Text, Columns, Pile, ListBox, CheckBox
|
from urwid import Text, Columns, Pile, ListBox, CheckBox
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.ui.buttons import cancel_btn, done_btn
|
from subiquitycore.ui.buttons import cancel_btn, done_btn
|
||||||
from subiquity.ui.interactive import Selector
|
from subiquitycore.ui.interactive import Selector
|
||||||
from subiquity.ui.utils import Color, Padding
|
from subiquitycore.ui.utils import Color, Padding
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.ui.bond_interfaces')
|
log = logging.getLogger('subiquitycore.ui.bond_interfaces')
|
||||||
|
|
||||||
|
|
||||||
class NetworkBondInterfacesView(ViewPolicy):
|
class NetworkBondInterfacesView(ViewPolicy):
|
|
@ -14,12 +14,12 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from urwid import Text, Pile, ListBox
|
from urwid import Text, Pile, ListBox
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.ui.buttons import done_btn, menu_btn
|
from subiquitycore.ui.buttons import done_btn, menu_btn
|
||||||
from subiquity.ui.utils import Color, Padding
|
from subiquitycore.ui.utils import Color, Padding
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.network.network_configure_interface')
|
log = logging.getLogger('subiquitycore.network.network_configure_interface')
|
||||||
|
|
||||||
|
|
||||||
class NetworkConfigureInterfaceView(ViewPolicy):
|
class NetworkConfigureInterfaceView(ViewPolicy):
|
|
@ -14,13 +14,13 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from urwid import Text, Pile, ListBox, Columns
|
from urwid import Text, Pile, ListBox, Columns
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.ui.buttons import done_btn, menu_btn, cancel_btn
|
from subiquitycore.ui.buttons import done_btn, menu_btn, cancel_btn
|
||||||
from subiquity.ui.utils import Color, Padding
|
from subiquitycore.ui.utils import Color, Padding
|
||||||
from subiquity.ui.interactive import StringEditor
|
from subiquitycore.ui.interactive import StringEditor
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.network.network_configure_ipv4_interface')
|
log = logging.getLogger('subiquitycore.network.network_configure_ipv4_interface')
|
||||||
|
|
||||||
|
|
||||||
class NetworkConfigureIPv4InterfaceView(ViewPolicy):
|
class NetworkConfigureIPv4InterfaceView(ViewPolicy):
|
|
@ -14,13 +14,13 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from urwid import Text, Pile, ListBox
|
from urwid import Text, Pile, ListBox
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.ui.buttons import cancel_btn, done_btn, menu_btn
|
from subiquitycore.ui.buttons import cancel_btn, done_btn, menu_btn
|
||||||
from subiquity.ui.utils import Color, Padding
|
from subiquitycore.ui.utils import Color, Padding
|
||||||
from subiquity.ui.interactive import StringEditor
|
from subiquitycore.ui.interactive import StringEditor
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.network.set_default_route')
|
log = logging.getLogger('subiquitycore.network.set_default_route')
|
||||||
|
|
||||||
|
|
||||||
class NetworkSetDefaultRouteView(ViewPolicy):
|
class NetworkSetDefaultRouteView(ViewPolicy):
|
|
@ -14,15 +14,15 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from urwid import Text, Columns, Pile, ListBox, CheckBox
|
from urwid import Text, Columns, Pile, ListBox, CheckBox
|
||||||
from subiquity.models.filesystem import _humanize_size
|
from subiquitycore.models.filesystem import _humanize_size
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
from subiquity.ui.buttons import cancel_btn, done_btn
|
from subiquitycore.ui.buttons import cancel_btn, done_btn
|
||||||
from subiquity.ui.interactive import (StringEditor, IntegerEditor,
|
from subiquitycore.ui.interactive import (StringEditor, IntegerEditor,
|
||||||
Selector)
|
Selector)
|
||||||
from subiquity.ui.utils import Color, Padding
|
from subiquitycore.ui.utils import Color, Padding
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.ui.raid')
|
log = logging.getLogger('subiquitycore.ui.raid')
|
||||||
|
|
||||||
|
|
||||||
class RaidView(ViewPolicy):
|
class RaidView(ViewPolicy):
|
|
@ -20,12 +20,12 @@ Welcome provides user with language selection
|
||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
from urwid import (ListBox, Pile, BoxAdapter)
|
from urwid import (ListBox, Pile, BoxAdapter)
|
||||||
from subiquity.ui.lists import SimpleList
|
from subiquitycore.ui.lists import SimpleList
|
||||||
from subiquity.ui.buttons import menu_btn, ok_btn, cancel_btn
|
from subiquitycore.ui.buttons import menu_btn, ok_btn, cancel_btn
|
||||||
from subiquity.ui.utils import Padding, Color
|
from subiquitycore.ui.utils import Padding, Color
|
||||||
from subiquity.view import ViewPolicy
|
from subiquitycore.view import ViewPolicy
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.views.welcome")
|
log = logging.getLogger("subiquitycore.views.welcome")
|
||||||
|
|
||||||
|
|
||||||
class WelcomeView(ViewPolicy):
|
class WelcomeView(ViewPolicy):
|
|
@ -21,9 +21,9 @@ import random
|
||||||
import sys
|
import sys
|
||||||
import yaml
|
import yaml
|
||||||
from subprocess import Popen, PIPE, call
|
from subprocess import Popen, PIPE, call
|
||||||
from subiquity.async import Async
|
from subiquitycore.async import Async
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.utils")
|
log = logging.getLogger("subiquitycore.utils")
|
||||||
SYS_CLASS_NET = "/sys/class/net/"
|
SYS_CLASS_NET = "/sys/class/net/"
|
||||||
ENVIRONMENT_CHECK = '''
|
ENVIRONMENT_CHECK = '''
|
||||||
checks:
|
checks:
|
Loading…
Reference in New Issue