X-Git-Url: https://arthur.barton.de/gitweb/?p=AnsibleRoles.git;a=blobdiff_plain;f=roles%2Fmysql-server%2Ftasks%2Fmain.yml;h=defacac2bec61b2d759b3e8112e07cdee5e09576;hp=0ea20951fc0c7574078fd63054dff6ac88991502;hb=67cd2b0e9d706393b4e3496c54cb71ebc61b39fa;hpb=4282af2f7a17d3808b6f4c12e8e2472799160d41 diff --git a/roles/mysql-server/tasks/main.yml b/roles/mysql-server/tasks/main.yml index 0ea2095..defacac 100644 --- a/roles/mysql-server/tasks/main.yml +++ b/roles/mysql-server/tasks/main.yml @@ -1,74 +1,32 @@ --- # mysql-server tasks -- name: check if MySQL data already exists +- name: create LVM LV and file system for MySQL data tags: - mysql - fs - shell: test -d /var/lib/mysql/mysql - ignore_errors: yes - check_mode: no - register: mysql_server_installed - changed_when: false - -- name: setup LVM volume "mysql" for MySQL - tags: - - mysql - - partition - - lvm - - fs - lvol: > - lv=mysql - size=10g - vg={{ mysql_server_vg }} - when: mysql_server_vg != "" and mysql_server_installed.rc != 0 - -- name: create ext4 filesystem on MySQL partition "mysql" - tags: - - mysql - - fs - filesystem: > - dev=/dev/{{ mysql_server_vg }}/mysql - fstype=ext4 - opts="-L mysql" - when: mysql_server_vg != "" and mysql_server_installed.rc != 0 - -- name: create mount point "/var/lib/mysql" - tags: - - mysql - - fs - file: > - path=/var/lib/mysql - state=directory - when: mysql_server_vg != "" and mysql_server_installed.rc != 0 - -- name: configure and mount MySQL partition "mysql" - tags: - - mysql - - fs - - mount - mount: > - fstype=ext4 - name=/var/lib/mysql - src=/dev/{{ mysql_server_vg }}/mysql - state=mounted - opts=rw,errors=remount-ro,noatime - passno=2 - when: mysql_server_vg != "" and mysql_server_installed.rc != 0 + include_role: + name: lvm-lv + vars: + lvm_vg: "{{ mysql_server_vg }}" + lvm_lv_name: "{{ mysql_server_lv_name }}" + lvm_lv_size: "{{ mysql_server_lv_size }}" + lvm_lv_mountpoint: "/var/lib/mysql" + when: mysql_server_vg != "" and mysql_server_lv_name != "" - name: install MySQL packages for client and server tags: - mysql - mysqld - packages - apt: > - state=installed - name={{ item }} - with_items: - - mysql-client - - mysql-server - - mysqltuner - - python-mysqldb + apt: + state: present + name: [ + 'mysql-client', + 'mysql-server', + 'mysqltuner', + 'python-mysqldb', + ] - name: ensure service "mysql" is enabled and started tags: