diff --git a/roles/database_server/molecule/default/files/deprecated-debian.cnf b/roles/database_server/molecule/default/files/deprecated-debian.cnf new file mode 100644 index 0000000000000000000000000000000000000000..0d2c9df2c9b381ca4a1f7e65fd4b4910a1ebff10 --- /dev/null +++ b/roles/database_server/molecule/default/files/deprecated-debian.cnf @@ -0,0 +1,12 @@ +# Automatically generated for Debian scripts. DO NOT TOUCH! +[client] +host = localhost +user = debian-sys-maint +password = debian-sys-maint-password +socket = /var/run/mysqld/mysqld.sock +[mysql_upgrade] +host = localhost +user = debian-sys-maint +password = debian-sys-maint-password +socket = /var/run/mysqld/mysqld.sock +basedir = /usr diff --git a/roles/database_server/molecule/default/files/deprecated-root-my.cnf b/roles/database_server/molecule/default/files/deprecated-root-my.cnf new file mode 100644 index 0000000000000000000000000000000000000000..4315044cf9f7a693b654b0bd8bb80c9d63c810be --- /dev/null +++ b/roles/database_server/molecule/default/files/deprecated-root-my.cnf @@ -0,0 +1,3 @@ +[client] +user=root +password=root_password diff --git a/roles/database_server/molecule/default/group_vars/deprecated.yml b/roles/database_server/molecule/default/group_vars/deprecated.yml new file mode 100644 index 0000000000000000000000000000000000000000..a768013ebd0328cfd724db9a0d2d990c58f8076f --- /dev/null +++ b/roles/database_server/molecule/default/group_vars/deprecated.yml @@ -0,0 +1,3 @@ +--- + +db_root_password: "root_password" diff --git a/roles/database_server/molecule/default/molecule.yml b/roles/database_server/molecule/default/molecule.yml index 1b85feb798d0e2405fe18725b7c7856ed9e5d7b6..a2327d92a997a335064e739a9da105b336c210d5 100644 --- a/roles/database_server/molecule/default/molecule.yml +++ b/roles/database_server/molecule/default/molecule.yml @@ -21,6 +21,13 @@ platforms: memory: 512 cpus: 1 + - name: deprecated-stretch64 + groups: + - deprecated + box: debian/contrib-stretch64 + memory: 512 + cpus: 1 + provisioner: name: ansible config_options: diff --git a/roles/database_server/molecule/default/playbook.yml b/roles/database_server/molecule/default/playbook.yml index 0edd6fa0a1291668f9561a6c58199687a89bd06f..080caa30a331860c8f3e505ca2defb7b09ebd9d9 100644 --- a/roles/database_server/molecule/default/playbook.yml +++ b/roles/database_server/molecule/default/playbook.yml @@ -1,6 +1,6 @@ --- -- hosts: parameters-mandatory +- hosts: parameters-mandatory,deprecated become: true roles: - database_server diff --git a/roles/database_server/molecule/default/prepare.yml b/roles/database_server/molecule/default/prepare.yml index fddd69fd2ab07db6f95b7553fa4c7a0431ebd22c..3952e4e70a8bf1a3a6d9ce580fbc482f652b714d 100644 --- a/roles/database_server/molecule/default/prepare.yml +++ b/roles/database_server/molecule/default/prepare.yml @@ -17,3 +17,57 @@ apt: update_cache: true changed_when: false + +- hosts: deprecated + become: true + tasks: + + - name: Install MariaDB + apt: + name: + - mariadb-client + - mariadb-server + - python3-mysqldb + state: present + + - name: Enable and start MariaDB + service: + name: mysql + state: started + enabled: true + + - name: Set password for the root database user (creating separate entry for different hosts) + mysql_user: + check_implicit_admin: true + name: root + host: "{{ item }}" + password: "root_password" + with_items: + - "localhost" + - "127.0.0.1" + - "::1" + - "{{ ansible_hostname }}" + + - name: Deploy username and password for the root database user + copy: + src: "deprecated-root-my.cnf" + dest: "/root/.my.cnf" + owner: root + group: root + mode: 0400 + + - name: Disable use of unix socket login + command: "mysql -B -e \"update mysql.user set plugin='' where user='root' and plugin='unix_socket'; flush privileges;\"" + + - name: Create Debian system maintenance user + mysql_user: + name: debian-sys-maint + password: debian-sys-maint-password + + - name: Deploy Debian system maintenance user login configuration + copy: + src: "deprecated-debian.cnf" + dest: "/etc/mysql/debian.cnf" + owner: root + group: root + mode: 0600 diff --git a/roles/database_server/molecule/default/tests/test_default.py b/roles/database_server/molecule/default/tests/test_default.py index 205f8ffacf614c9b80cb3318f561fcc971436f8c..13adfdafe0fe3bd721989cb5e0e575585a1261a9 100644 --- a/roles/database_server/molecule/default/tests/test_default.py +++ b/roles/database_server/molecule/default/tests/test_default.py @@ -6,6 +6,11 @@ import testinfra.utils.ansible_runner testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('parameters-mandatory') +testinfra_hosts += testinfra.utils.ansible_runner.AnsibleRunner( + os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('deprecated') + +testinfra_hosts = sorted(set(testinfra_hosts)) + def test_installed_packages(host): """