forked from msvsphere/leapp-repository
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.6 KiB
62 lines
1.6 KiB
from leapp.models import fields, Model
|
|
from leapp.topics import SystemInfoTopic
|
|
|
|
|
|
class EnvVar(Model):
|
|
topic = SystemInfoTopic
|
|
|
|
name = fields.String()
|
|
"""Name of the environment variable."""
|
|
|
|
value = fields.String()
|
|
"""Value of the environment variable."""
|
|
|
|
|
|
class OSRelease(Model):
|
|
topic = SystemInfoTopic
|
|
|
|
release_id = fields.String()
|
|
name = fields.String()
|
|
pretty_name = fields.String()
|
|
version = fields.String()
|
|
version_id = fields.String()
|
|
variant = fields.Nullable(fields.String()) # isn't specified on some systems
|
|
variant_id = fields.Nullable(fields.String()) # same as above
|
|
|
|
|
|
class Version(Model):
|
|
topic = SystemInfoTopic
|
|
|
|
source = fields.String()
|
|
"""Version of the source (current) system. E.g.: '7.8'."""
|
|
|
|
target = fields.String()
|
|
"""Version of the target system. E.g. '8.2.'."""
|
|
|
|
|
|
class IPUConfig(Model):
|
|
"""
|
|
IPU workflow configuration model
|
|
"""
|
|
topic = SystemInfoTopic
|
|
|
|
leapp_env_vars = fields.List(fields.Model(EnvVar), default=[])
|
|
"""Environment variables related to the leapp."""
|
|
|
|
os_release = fields.Model(OSRelease)
|
|
"""Data about the OS get from /etc/os-release."""
|
|
|
|
version = fields.Model(Version)
|
|
"""Version of the current (source) system and expected target system."""
|
|
|
|
architecture = fields.String()
|
|
"""Architecture of the system. E.g.: 'x86_64'."""
|
|
|
|
kernel = fields.String()
|
|
"""
|
|
Originally booted kernel when on the source system.
|
|
"""
|
|
|
|
flavour = fields.StringEnum(('default', 'saphana'), default='default')
|
|
"""Flavour of the upgrade - Used to influence changes in supported source/target release"""
|