--- - hosts: localhost vars_files: - "/etc/openstack/postgres.conf" tasks: - name: Create postgres user user: name: postgres comment: PostgreSQL Server shell: /sbin/nologin home: /var/lib/pgsql - name: Create the postgres directories file: path: "{{ item }}" state: directory owner: postgres group: postgres with_items: - /var/run/postgresql - /var/lib/pgsql/data - name: Initialise postgres database command: pg_ctl -D /var/lib/pgsql/data initdb args: creates: /var/lib/pgsql/data/base sudo: yes sudo_user: postgres - name: Add the configuration needed for postgres for Openstack template: src: /usr/share/openstack/postgres/{{ item }} dest: /var/lib/pgsql/data/{{ item }} owner: postgres group: postgres mode: 0600 with_items: - postgresql.conf - pg_hba.conf - name: Enable and start postgres services service: name: "{{ item }}" enabled: yes state: started with_items: - postgres-server ### MARIADB conf - name: Create postgres user user: name: mysql comment: MySQL Server shell: /sbin/nologin home: /var/lib/mysql - name: Install database priviledge tables shell: mysql_install_db --basedir=/usr --datadir=/var/lib/mysql --user=mysql - name: Setup mysql server daemon shell: install -v -m755 -o mysql -g mysql -d /run/mysqld - name: Enable and start postgres services service: name: "{{ item }}" enabled: yes state: started with_items: - mariadb - name: Create a database user (for the first run only) mysql_user: name: "{{ mysqldb_admin_user | default('root') }}" password: "{{ mysqldb_admin_password | default('toor') }}" priv: "*.*:ALL" host: localhost state: present ignore_errors: yes