--- - name: Make sure OS is updated since apt install might fail apt: update_cache: yes become: true when: ansible_os_family == "Debian" - name: "Installing MySQL Debian" apt: name="{{ server_packages }}" update_cache=yes state=present become: true when: ansible_os_family == "Debian" - name: Installing MySQL RedHat yum: name={{ item }} with_items: "{{ server_packages }}" become: true when: ansible_os_family == "RedHat" - name: make sure mysql conf directory exists file: dest=/etc/mysql/conf.d state=directory become: true register: mysqldb_confdir_create - name: "Starting MySQL" service: name={{ sqlServiceName }} state=started enabled=true become: true #- name: "Adding root" # become: true # mysql_user: name=root host="{{ item }}" password="{{ mysql_root_password }}" login_user=root login_password="{{ mysql_root_password }}" check_implicit_admin=yes # with_items: # - "{{ ansible_hostname }}" # - 127.0.0.1 # - ::1 # - localhost - name: Check that the slurm_acct_db_directory exists stat: path: /var/lib/mysql/slurm_acct_db/ #defined in /vars/filesystems.yaml register: slurm_acct_db_directory_result # this will only work if a completely fresh db gets installed because it gets shipped with a blank root pw - name: update mysql root password for all root accounts mysql_user: name=root host=localhost password={{ mysql_root_password }} login_user=root when: not slurm_acct_db_directory_result.stat.exists and mysqldb_confdir_create.changed - name: "Adding user database" mysql_db: name={{ mysql_user_db_name }} state=present login_user=root login_password={{ mysql_root_password }} - name: "Giving priviliges to user" mysql_user: name={{ mysql_user_name }} host={{ mysql_user_host }} password={{ mysql_user_password }} login_user=root login_password={{ mysql_root_password }} priv={{ mysql_user_db_name }}.*:ALL,GRANT state=present when: mysql_user_host is defined - name: "Giving priviliges to user" mysql_user: name={{ mysql_user_name }} host={{ hostvars[item].ansible_fqdn }} password={{ mysql_user_password }} login_user=root login_password={{ mysql_root_password }} priv={{ mysql_user_db_name }}.*:ALL,GRANT state=present with_items: "{{ mysql_user_hosts_group }}" when: mysql_user_hosts_group is defined