daemon: wait for cloud-config.service to complete in python
When cloud-init gets "ubuntu_advantage" user-data, it may need to
install or upgrade ubuntu-advantage-tools. This happens during
cloud-config.service. The install/upgrade of ubuntu-advantage-tools
triggers a "systemctl start ubuntu-advantage.service".
ubuntu-advantage.service is configured with an
"After=cloud-config.service", so it waits to start until
cloud-config.service becomes "active". In this scenario,
cloud-config.service cannot continue until ubuntu-advantage.service
starts, creating deadlock.
We get around this deadlock by removing the "After=cloud-config.service"
from ubuntu-advantage.service. Instead we are moving the ordering dependency
enforcement into the python code called by the service. This allows
systemd to go ahead and start the service allowing the install of
ubuntu-advantage-tools to finish and cloud-init to continue.
ubuntu-advantage.service will wait until cloud-config.service is
"active" to actually do anything.
The redaction filter was not correctly applied to our current logs.
We are now fixing this by adding the redaction filter directly in
the log file handler
By removing "Provides: ubuntu-advantage-tools", we lower the chances of
ubuntu-advantage-tools <31 being removed during an install of
ubuntu-pro-client, becuase ubuntu-minimal (and ubuntu-cloud-minimal)
Depend on ubuntu-advantage-tools. This removes the need for
ubuntu-pro-client Depends: ubuntu-advantage-tools.