Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error bootstraping secondary node - populate() isn't reentrant #10

Open
underscoredje opened this issue Oct 15, 2020 · 0 comments
Open

Comments

@underscoredje
Copy link
Contributor

While boostraping secondary node, I got this error stack:

Configuring network...
Configuring NTP service...
/home/vlt-gui/env/lib/python3.7/site-packages/urllib3/connectionpool.py:988: InsecureRequestWarning: Unverified HTTPS request is being made to host 'csmelovult22.elosi.lan'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  InsecureRequestWarning,
Downloading Vulture LIBS...
[+] Updating Vulture-LIBS...
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/lib/compat/pkg /usr/local/lib/ipsec /usr/local/lib/mysql /usr/local/lib/perl5/5.32/mach/CORE
32-bit compatibility ldconfig path: /usr/lib32
[*] Update of Vulture-LIBS ended successfully
Downloading Vulture...

mongod not running? (check /var/db/mongodb/mongod.lock).
Starting mongod.
Traceback (most recent call last):
  File "./bootstrap.py", line 399, in <module>
    if configure_secondary(conf_host, conf["network_configuration"]):
  File "/var/bootstrap/configure_secondary_node.py", line 77, in configure_secondary
    res, ret1 = populate_database(network['gateway'], network['gateway6'])  #TODO
  File "/var/bootstrap/configure_secondary_node.py", line 243, in populate_database
    django.setup()
  File "/home/vlt-gui/env/lib/python3.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/vlt-gui/env/lib/python3.7/site-packages/django/apps/registry.py", line 78, in populate
    raise RuntimeError("populate() isn't reentrant")
RuntimeError: populate() isn't reentrant

After checking on the, I found that it is some kind of generic error.
To know ther real error, I modified /home/vlt-gui/env/lib/python3.7/site-packages/django/apps/registry.py

     75             # app_config should be pristine, otherwise the code below won't
     76             # guarantee that the order matches the order in INSTALLED_APPS.
     77             if self.app_configs:
     78                 self.app_configs = {}
     79                 # raise RuntimeError("populate() isn't reentrant")

Running bootstrap again :

Starting mongod.
Traceback (most recent call last):
  File "/var/bootstrap/bootstrap.py", line 399, in <module>
    if configure_secondary(conf_host, conf["network_configuration"]):
  File "/var/bootstrap/configure_secondary_node.py", line 77, in configure_secondary
    res, ret1 = populate_database(network['gateway'], network['gateway6'])  #TODO
  File "/var/bootstrap/configure_secondary_node.py", line 243, in populate_database
    django.setup()
  File "/home/vlt-gui/env/lib/python3.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/vlt-gui/env/lib/python3.7/site-packages/django/apps/registry.py", line 109, in populate
    app_config.import_models(all_models)
  File "/home/vlt-gui/env/lib/python3.7/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/vlt-gui/vulture/gui/models/__init__.py", line 1, in <module>
    from gui.models.user_document import VultureUser
  File "/home/vlt-gui/vulture/gui/models/user_document.py", line 30, in <module>
    from vulture_toolkit.auth.session import MongoSession
  File "/home/vlt-gui/vulture/vulture_toolkit/auth/session.py", line 18, in <module>
    from gui.models.system_settings import Cluster
  File "/home/vlt-gui/vulture/gui/models/system_settings.py", line 38, in <module>
    from gui.models.network_settings import Interface, Listener
  File "/home/vlt-gui/vulture/gui/models/network_settings.py", line 35, in <module>
    from gui.models.modssl_settings import ModSSL
  File "/home/vlt-gui/vulture/gui/models/modssl_settings.py", line 33, in <module>
    from gui.models.ssl_certificate import SSLCertificate
  File "/home/vlt-gui/vulture/gui/models/ssl_certificate.py", line 30, in <module>
    import OpenSSL
  File "/home/vlt-gui/env/lib/python3.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import crypto, SSL
  File "/home/vlt-gui/env/lib/python3.7/site-packages/OpenSSL/crypto.py", line 15, in <module>
    from OpenSSL._util import (
  File "/home/vlt-gui/env/lib/python3.7/site-packages/OpenSSL/_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
  File "/home/vlt-gui/env/lib/python3.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: Shared object "libffi.so.6" not found, required by "_cffi_backend.so"

The real error is missing libffi.so.6 lib:

find / -name "libffi.so*"
/usr/local/lib/libffi.so
/usr/local/lib/libffi.so.7
/usr/local/lib/libffi.so.7.1.0

I fixed this by symlinking:

ln -s /usr/local/lib/libffi.so.7 /usr/local/lib/libffi.so.6

Now bootstrap is working, but I guess this not the best way to fix this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant