Bug 39967 - Ошибка при миграции базы
Summary: Ошибка при миграции базы
Status: ASSIGNED
Alias: None
Product: Sisyphus
Classification: Development
Component: openuds-server (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-21 13:53 MSK by Alexander Makeenkov
Modified: 2021-04-21 16:56 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Makeenkov 2021-04-21 13:53:07 MSK
Настраиваю по инструкции https://www.altlinux.org/VDI/OpenUDS
Система ALT Server 9.1 обновлена до текущего сизифа.

При запуске миграции вылезают ошибки:
# cd /usr/share/openuds && python3 manage.py migrate
Traceback (most recent call last):
  File "/usr/share/openuds/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/python3/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python3/site-packages/django/core/management/__init__.py", line 357, in execute
    django.setup()
  File "/usr/lib/python3/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/lib/python3/site-packages/django/apps/registry.py", line 114, in populate
    app_config.import_models()
  File "/usr/lib/python3/site-packages/django/apps/config.py", line 211, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib64/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/share/openuds/uds/models/__init__.py", line 54, in <module>
    from .transport import Transport
  File "/usr/share/openuds/uds/models/transport.py", line 39, in <module>
    from uds.core import transports
  File "/usr/share/openuds/uds/core/transports/__init__.py", line 35, in <module>
    from .transport import Transport
  File "/usr/share/openuds/uds/core/transports/transport.py", line 38, in <module>
    from uds.core.util import os_detector as OsDetector
  File "/usr/share/openuds/uds/core/util/os_detector.py", line 37, in <module>
    from .tools import DictAsObj
  File "/usr/share/openuds/uds/core/util/tools.py", line 43, in <module>
    from uds.core import services
  File "/usr/share/openuds/uds/core/services/__init__.py", line 41, in <module>
    from .provider import ServiceProvider
  File "/usr/share/openuds/uds/core/services/provider.py", line 40, in <module>
    from uds.core.util.config import GlobalConfig
  File "/usr/share/openuds/uds/core/util/config.py", line 233, in <module>
    class GlobalConfig:
  File "/usr/share/openuds/uds/core/util/config.py", line 265, in GlobalConfig
    SUPER_USER_PASS: Config.Value = Config.section(SECURITY_SECTION).valueCrypt('rootPass', 'udsmam0', type=Config.TEXT_FIELD)
  File "/usr/share/openuds/uds/core/util/config.py", line 182, in valueCrypt
    return Config.value(self, key, default, True, **kwargs)
  File "/usr/share/openuds/uds/core/util/config.py", line 196, in value
    return Config.Value(section, key, default, crypt, longText, **kwargs)
  File "/usr/share/openuds/uds/core/util/config.py", line 78, in __init__
    self._default = cryptoManager().encrypt(default)
  File "/usr/share/openuds/uds/core/managers/__init__.py", line 49, in cryptoManager
    return CryptoManager.manager()
  File "/usr/share/openuds/uds/core/managers/crypto.py", line 91, in manager
    CryptoManager.instance = CryptoManager()
  File "/usr/share/openuds/uds/core/managers/crypto.py", line 66, in __init__
    self._rsa = serialization.load_pem_private_key(settings.RSA_KEY.encode(), password=None, backend=default_backend())
  File "/usr/lib64/python3/site-packages/cryptography/hazmat/primitives/serialization/base.py", line 20, in load_pem_private_key
    return backend.load_pem_private_key(data, password)
  File "/usr/lib64/python3/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1217, in load_pem_private_key
    return self._load_key(
  File "/usr/lib64/python3/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1461, in _load_key
    return convert_func(evp_pkey)
  File "/usr/lib64/python3/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 676, in _evp_pkey_to_private_key
    return _RSAPrivateKey(self, rsa_cdata, evp_pkey)
  File "/usr/lib64/python3/site-packages/cryptography/hazmat/backends/openssl/rsa.py", line 389, in __init__
    raise ValueError("Invalid private key", errors)
ValueError: ('Invalid private key', [_OpenSSLErrorWithText(code=67764350, lib=4, func=160, reason=126, reason_text=b'error:040A007E:rsa routines:RSA_check_key_ex:iqmp not inverse of q')])

При генерации ключей во время установки пакетов ошибок не было:
97: openuds-server-nginx-3.0.0-alt4                                                                                              #################################################################################################### [100%]
Generating nginx-openuds SSL private key: [ DONE ]
Generating nginx-openuds SSL certificate request: [ DONE ]
Generating nginx-openuds SSL self-signed certificate: WARNING: Skipping duplicate certificate ahttpd.pem
WARNING: Skipping duplicate certificate httpd2.pem
WARNING: make-dummy-cert does not contain a certificate or CRL: skipping
WARNING: Skipping duplicate certificate nextcloud.pem
WARNING: Skipping duplicate certificate nginx-openuds.pem
WARNING: Skipping duplicate certificate postfix.pem
[ DONE ]
Generating nginx-openuds SSL PEM certificate: [ DONE ]
Завершено.

Отмечу, что в p9 (таск http://webery.altlinux.org/task/269881) таких ошибок нет, миграция выполняется корректно.
Comment 1 Alexey Shabalin 2021-04-21 16:56:57 MSK
python3-module-cryptography сильно отличаются в p9 и сизифе.
Генерация ключей в nginx-openuds не имеет отношения к этой ошибке.
Ошибка о параметре RSA_KEY в settings.py.
Для сизифа буду смотреть позже.