Enable OPENWISP_NETWORK_TOPOLOGY_WIFI_MESH_INTEGRATION

29 views
Skip to first unread message

Michele Salerno

unread,
Oct 22, 2024, 5:26:57 PM10/22/24
to OpenWISP
Hi,

how to enable in openwisp with ansible the network topology for mesh?

I see
https://github.com/openwisp/openwisp-network-topology/blob/50fc81dcbb4d0005b8bb8496076f0ef7cf4c372b/README.rst#id8

Which variable to use in ansible openwisp to enable?

Thanks.

Michele

Federico Capoano

unread,
Oct 23, 2024, 7:00:13 AM10/23/24
to open...@googlegroups.com
You can enable it by using the "openwisp2_extra_django_settings_instructions" variable to supply the settings described here:

--
You received this message because you are subscribed to the Google Groups "OpenWISP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openwisp+u...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/openwisp/3f07c22a-e249-45a1-a121-fc3cccadd2e1%40gmail.com.

Michele Salerno

unread,
Oct 24, 2024, 1:43:33 AM10/24/24
to open...@googlegroups.com

Hi Federico,

My system is debian 12.
I made a backup of the VM and launched the playbook with this config

-----------------------
# openwisp2
openwisp2_network_topology: true
openwisp2_firmware_upgrader: true
openwisp2_controller_subnet_division: true
openwisp2_extra_django_settings:
OPENWISP_USERS_AUTH_API: true
OPENWISP_FIRMWARE_UPGRADER_API: true
openwisp2_extra_django_settings_instructions:
    - |
      OPENWISP_NETWORK_TOPOLOGY_WIFI_MESH_INTEGRATION = true
openwisp2_radius: true
--------------------------

I have error...
I tried to restore the VM and only launched an update without the change and I have this error:

It appears to be a module compatibility error.
How can this be resolved?

Best regards.


TASK [openwisp.openwisp2 : Migrate] *********************************************************************************************************************************************************
fatal: [openwisp.nnxx.ninux.org]: FAILED! => changed=false
  cmd:
  - ./manage.py
  - migrate
  - --noinput
  msg: |2-
 
    :stderr: /opt/openwisp2/env/lib/python3.11/site-packages/paramiko/pkey.py:100: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.
      "cipher": algorithms.TripleDES,
    /opt/openwisp2/env/lib/python3.11/site-packages/paramiko/transport.py:259: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.
      "class": algorithms.TripleDES,
    Traceback (most recent call last):
      File "/opt/openwisp2/./manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
        utility.execute()
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/core/management/__init__.py", line 436, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/core/management/base.py", line 412, in run_from_argv
        self.execute(*args, **cmd_options)
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/core/management/base.py", line 458, in execute
        output = self.handle(*args, **options)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/core/management/base.py", line 106, in wrapper
        res = handle_func(*args, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/core/management/commands/migrate.py", line 100, in handle
        self.check(databases=[database])
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/core/management/base.py", line 485, in check
        all_issues = checks.run_checks(
                     ^^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/core/checks/registry.py", line 88, in run_checks
        new_errors = check(app_configs=app_configs, databases=databases)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/core/checks/urls.py", line 14, in check_url_config
        return check_resolver(resolver)
               ^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/core/checks/urls.py", line 24, in check_resolver
        return check_method()
               ^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/urls/resolvers.py", line 494, in check
        for pattern in self.url_patterns:
                       ^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/utils/functional.py", line 57, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
                                             ^^^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/urls/resolvers.py", line 715, in url_patterns
        patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
                           ^^^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/utils/functional.py", line 57, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
                                             ^^^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/urls/resolvers.py", line 708, in urlconf_module
        return import_module(self.urlconf_name)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 940, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/opt/openwisp2/openwisp2/urls.py", line 17, in <module>
        path('', include('openwisp_controller.urls')),
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/urls/conf.py", line 38, in include
        urlconf_module = import_module(urlconf_module)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 940, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/opt/openwisp2/env/lib/python3.11/site-packages/openwisp_controller/urls.py", line 84, in <module>
        urlpatterns.append(path(meta['regexp'], include(module, **meta['include'])))
                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/opt/openwisp2/env/lib/python3.11/site-packages/django/urls/conf.py", line 38, in include
        urlconf_module = import_module(urlconf_module)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 940, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/opt/openwisp2/env/lib/python3.11/site-packages/openwisp_users/accounts/urls.py", line 81, in <module>
        for provider in providers.registry.get_list():
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    AttributeError: 'ProviderRegistry' object has no attribute 'get_list'. Did you mean: 'get_class'?
  path: /opt/openwisp2/env/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  syspath:
  - /tmp/ansible_django_manage_payload_0yb2y902/ansible_django_manage_payload.zip
  - /usr/lib/python311.zip
  - /usr/lib/python3.11
  - /usr/lib/python3.11/lib-dynload
  - /usr/local/lib/python3.11/dist-packages
  - /usr/lib/python3/dist-packages
  - /usr/lib/python3.11/dist-packages

PLAY RECAP **********************************************************************************************************************************************************************************
openwisp.nnxx.ninux.org    : ok=78   changed=14   unreachable=0    failed=1    skipped=43   rescued=0    ignored=0   



Il 23/10/24 13:00, Federico Capoano ha scritto:
To view this discussion on the web, visit https://groups.google.com/d/msgid/openwisp/CAAGgX6J1Y3fENUG-ozJsDZ4vD4cNnFC1vTEcafhfuA3_gPA8Gw%40mail.gmail.com.
-- 
Informativa Privacy - Ai sensi del D. Lgs n. 196/2003 (Codice Privacy) si precisa che le informazioni contenute in questo messaggio sono riservate e ad uso esclusivo del destinatario. Qualora il messaggio in parola Le fosse pervenuto per errore, La preghiamo di eliminarlo senza copiarlo e di non inoltrarlo a terzi, dandocene gentilmente comunicazione. Grazie.

Privacy Information - This message, for the D. Lgs n. 196/2003 (Privacy Code), may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation.

Michele Salerno

unread,
Nov 15, 2024, 3:08:50 PM11/15/24
to open...@googlegroups.com
You can enable it by using the "openwisp2_extra_django_settings_instructions" variable to supply the settings described here:
Reply all
Reply to author
Forward
0 new messages