The playbooks do not support the case of using a remote MySQL host, for example managed services such as Cloud SQL on GCP (and probably others such as Amazon RDS).
The playbook makes a bunch of assumptions that the MySQL server will be running on the Ansible controller node (and therefore the CS Cart server). Specifically:
When specifying a remote host for the mysql group, the playbook sometimes fails due to a race condition with the installation of the packages. With the playbook running locally (-c local) and the MySQL server a remote host, Ansible will still try to run the MySQL package installation on localhost, but in parallel with other package installations leading to lock failures on the package manager.
The mysql_* commands do not specify a login_host so default to localhost, which fails to connect to the remote host
When setting the root password, the assumption is made that the login will be made from localhost. This is not true for remote MySQL hosts.
The playbooks do not support the case of using a remote MySQL host, for example managed services such as Cloud SQL on GCP (and probably others such as Amazon RDS).
The playbook makes a bunch of assumptions that the MySQL server will be running on the Ansible controller node (and therefore the CS Cart server). Specifically: