I think you need to upgrade your netdiff and network-topology modules to the latest development version.
F. On Tue, 14 Nov 2023 at 17:22, Michele Salerno <mikysa...@gmail.com> wrote: > root@controller:openwisp2 # tail -f /opt/openwisp2/log/openwisp2.log > > option[selected]:not(option[selected] ~ option[selected]) ', ('Unknown > pseudo-class', 'has') > > [WARNING 2023-11-14 20:20:02,730] module: __init__, process: 228744, thread: > 140337855625024 > > Invalid or unsupported selector 'select:not(:has(option[selected])) > option:first-of-type, > > option[selected]:not(option[selected] ~ option[selected]) ', ('Unknown > pseudo-class', 'has') > > [WARNING 2023-11-14 20:20:02,743] module: __init__, process: 228742, thread: > 139758430725952 > > Invalid or unsupported selector 'select:not(:has(option[selected])) > option:first-of-type, > > option[selected]:not(option[selected] ~ option[selected]) ', ('Unknown > pseudo-class', 'has') > > [ERROR 2023-11-14 20:21:00,924] module: log, process: 197536, thread: > 140067354400576 > > Internal Server Error: > /api/v1/network-topology/topology/2307fb3c-4035-4ee3-8868-f807339efb78/receive/ > > Traceback (most recent call last): > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/django/utils/module_loading.py", > line 30, in import_string > > return cached_import(module_path, class_name) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/django/utils/module_loading.py", > line 16, in cached_import > > return getattr(module, class_name) > > AttributeError: module 'netdiff' has no attribute 'ZeroTierParser' > > The above exception was the direct cause of the following exception: > > Traceback (most recent call last): > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/django/core/handlers/exception.py", > line 55, in inner > > response = get_response(request) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/django/core/handlers/base.py", > line 197, in _get_response > > response = wrapped_callback(request, *callback_args, **callback_kwargs) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/django/views/decorators/csrf.py", > line 56, in wrapper_view > > return view_func(*args, **kwargs) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/django/views/generic/base.py", > line 104, in view > > return self.dispatch(request, *args, **kwargs) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/rest_framework/views.py", > line 509, in dispatch > > response = self.handle_exception(exc) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/rest_framework/views.py", > line 469, in handle_exception > > self.raise_uncaught_exception(exc) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/rest_framework/views.py", > line 480, in raise_uncaught_exception > > raise exc > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/rest_framework/views.py", > line 506, in dispatch > > response = handler(request, *args, **kwargs) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/openwisp_network_topology/api/views.py", > line 144, in post > > topology.receive(request.data) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/openwisp_network_topology/base/topology.py", > line 371, in receive > > self.update(data) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/openwisp_network_topology/base/topology.py", > line 314, in update > > diff = self.diff(data) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/openwisp_network_topology/base/topology.py", > line 140, in diff > > if isinstance(data, self.parser_class): > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/django/utils/functional.py", > line 57, in __get__ > > res = instance.__dict__[self.name] = self.func(instance) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/openwisp_network_topology/base/topology.py", > line 105, in parser_class > > return import_string(self.parser) > > File > "/opt/openwisp2/env/lib/python3.9/site-packages/django/utils/module_loading.py", > line 32, in import_string > > raise ImportError( > > ImportError: Module "netdiff" does not define a "ZeroTierParser" > attribute/class > > > > Il 14/11/23 21:17, Federico Capoano ha scritto: > > Please share the log output from /opt/openwisp2/log/openwisp2.log > > > On Tue, 14 Nov 2023 at 14:45, Michele Salerno <mikysa...@gmail.com> wrote: > >> Hi, >> >> I followed the guide and everything works. >> I only have one error in the topology, I created the script as described >> in the guide https://openwisp.io/docs/user/network-topology.html >> >> This is my output: >> >> root@controller:~ # /opt/send-zt-topology.sh >> <!doctype html><html lang="en"><head><title>Server Error >> (500)</title></head><body><h1>Server Error >> (500)</h1><p></p></body></html>root@controller:~ # >> >> What could be the problem? >> >> Thanks. >> >> Beste regards, >> >> Michele Salerno >> >> >> Il 11/10/23 17:17, Federico Capoano ha scritto: >> >> Hi everyone! >> >> I just wanted to let you know that I just finished merging the work to >> integrate ZeroTier into the development version of OpenWISP, find more >> information on how to set this up here: >> https://openwisp.io/docs/user/zerotier.html >> >> This feature will be shipped in the next release, if you want to try it >> before then you can do so by deploying the development version of OpenWISP, >> to do that you need to use the latest master of the ansible-openwisp2 >> <https://github.com/openwisp/ansible-openwisp2> role. >> >> Many thanks to Aryaman for working on this during the last Google Summer >> of Code under the guidance of Gagan Deep, Ajay Tripathi and myself. >> >> I am proud of the result we have achieved, as the first iteration I think >> it's really good. >> >> I am eager to see this work deployed all around the world! >> >> Best regards >> Federico Capoano >> -- >> 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+unsubscr...@googlegroups.com. >> To view this discussion on the web, visit >> https://groups.google.com/d/msgid/openwisp/CAAGgX6%2B8%3DHk41uALBvPei6D7EhgjLKPaDzCYZhXz%3DUf0O5AuUA%40mail.gmail.com >> <https://groups.google.com/d/msgid/openwisp/CAAGgX6%2B8%3DHk41uALBvPei6D7EhgjLKPaDzCYZhXz%3DUf0O5AuUA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> -- >> 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. >> >> -- >> 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+unsubscr...@googlegroups.com. >> To view this discussion on the web, visit >> https://groups.google.com/d/msgid/openwisp/7324e74a-5c81-426a-92d4-476ad5b0215c%40gmail.com >> <https://groups.google.com/d/msgid/openwisp/7324e74a-5c81-426a-92d4-476ad5b0215c%40gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > 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+unsubscr...@googlegroups.com. > To view this discussion on the web, visit > https://groups.google.com/d/msgid/openwisp/CAAGgX6JENTteFxXzoZswqjPHtbooePxfg1cDn4Xm5S9T5UkAhw%40mail.gmail.com > <https://groups.google.com/d/msgid/openwisp/CAAGgX6JENTteFxXzoZswqjPHtbooePxfg1cDn4Xm5S9T5UkAhw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > -- > 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. > > -- > 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+unsubscr...@googlegroups.com. > To view this discussion on the web, visit > https://groups.google.com/d/msgid/openwisp/d63f9c92-01e3-444a-ae18-12389fbb757a%40gmail.com > <https://groups.google.com/d/msgid/openwisp/d63f9c92-01e3-444a-ae18-12389fbb757a%40gmail.com?utm_medium=email&utm_source=footer> > . > -- 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+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/openwisp/CAAGgX6KrJGiY6tZFNCiC7Xy8S8eSzd1EB0HN9dp%3DSMbqRhypOw%40mail.gmail.com.