Network and WiFi controller: provisioning, configuration management and updates, (pull via openwisp-config or push via SSH), x509 PKI management and more. Mainly OpenWRT, but designed to work also on other systems.
Create a device with a configuration, enable push configuration via SSH.
Run the dev server and the celery worker
Change the templates, hit save.
Expected behavior:
the worker launches 1 task to update the config on the device
Actual behavior:
the worker launches 2 tasks to update the config on the device, which conflict with one another and cause the configuration to remain in modified state
I tried a quick fix which solved the issue. This bug was probably introduced in https://github.com/openwisp/openwisp-controller/pull/248. There's a check which ensures there's no more than one task running, but also that check needs to be done after the transaction has been committed to the database or is useless.
Create a device with a configuration, enable push configuration via SSH.
Run the dev server and the celery worker
Change the templates, hit save.
Expected behavior:
Actual behavior:
I tried a quick fix which solved the issue. This bug was probably introduced in https://github.com/openwisp/openwisp-controller/pull/248. There's a check which ensures there's no more than one task running, but also that check needs to be done after the transaction has been committed to the database or is useless.