Running tl-setup is an expensive task. I would much prefer if running tl-setup could be avoided when there's no need to run it. When installing or upgrading ThinLinc using automation tools like Ansible, it would be very useful to have an way to determine if tl-setup should be run or not.
We can't assume that we can obtain the value of /vsm/setup_completed, as tl-config relies on python-thinlinc, which is created by tl-setup. While it's more likely than not that the configuration file structure is as shipped, it's not something we can rely on.
When installing ThinLinc on a server with Ansible, tl-setup failed because it did not find a suitable Python. On the next attempt, my scripts failed to see that tl-setup needed to be run. The ThinLinc packages were already installed, and the tl-setup answer file already existed.
How can I automate the tl-setup detection?
We no longer have python-thinlinc so tl-config should work correctly immediately after install now.
ansible/puppet should be able to look at setup_completed and see that the version matches. However this is not something we've documented so it's not apparent to users.