New integration tests for postgresql

This commit is contained in:
Toshio Kuratomi
2014-12-01 18:57:40 -08:00
parent 6570a6c6de
commit 7329bcde99
10 changed files with 1009 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
postgresql_service: postgresql
postgresql_packages:
- postgresql-server
- python-psycopg2

View File

@@ -0,0 +1,10 @@
# !!! This file managed by Ansible. Any local changes may be overwritten. !!!
# Database administrative login by UNIX sockets
# note: you may wish to restrict this further later
local all postgres trust
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5

View File

@@ -0,0 +1,71 @@
- include_vars: '{{ item }}'
with_first_found:
- files:
- '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml'
- '{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml'
- '{{ ansible_os_family }}.yml'
- 'default.yml'
paths: '../vars'
# Make sure we start fresh
- name: remove rpm dependencies for postgresql test
yum: name={{ item }} state=absent
with_items: postgresql_packages
when: ansible_pkg_mgr == 'yum'
- name: remove dpkg dependencies for postgresql test
apt: name={{ item }} state=absent
with_items: postgresql_packages
when: ansible_pkg_mgr == 'apt'
- name: remove old db (red hat)
command: rm -rf "{{ pg_dir }}"
ignore_errors: True
when: ansible_os_family == "RedHat"
# Theoretically, pg_dropcluster should work but it doesn't so rm files
- name: remove old db config (debian)
command: rm -rf /etc/postgresql
ignore_errors: True
when: ansible_os_family == "Debian"
- name: remove old db files (debian)
command: rm -rf /var/lib/postgresql
ignore_errors: True
when: ansible_os_family == "Debian"
- name: install rpm dependencies for postgresql test
yum: name={{ item }} state=latest
with_items: postgresql_packages
when: ansible_pkg_mgr == 'yum'
- name: install dpkg dependencies for postgresql test
apt: name={{ item }} state=latest
with_items: postgresql_packages
when: ansible_pkg_mgr == 'apt'
- name: Initialize postgres (systemd)
command: postgresql-setup initdb
when: ansible_distribution == "Fedora" or (ansible_os_family == "RedHat" and ansible_distribution_major_version|int >= 7)
- name: Initialize postgres (sysv)
command: /sbin/service postgresql initdb
when: ansible_os_family == "RedHat" and ansible_distribution_major_version|int <= 6
- name: Iniitalize postgres (upstart)
command: /usr/bin/pg_createcluster {{ pg_ver }} main
when: ansible_os_family == 'Debian'
- name: Copy pg_hba into place
copy: src=pg_hba.conf dest="{{ pg_hba_location }}" owner="postgres" group="root" mode="0644"
- name: Generate locale on Debian systems
command: locale-gen pt_BR
when: ansible_os_family == 'Debian'
- name: Generate locale on Debian systems
command: locale-gen es_MX
when: ansible_os_family == 'Debian'
- name: restart postgresql service
service: name={{ postgresql_service }} state=restarted

View File

@@ -0,0 +1,11 @@
postgresql_service: "postgresql"
postgresql_packages:
- "postgresql"
- "postgresql-common"
- "python-psycopg2"
pg_hba_location: "/etc/postgresql/9.1/main/pg_hba.conf"
pg_dir: "/var/lib/postgresql/9.1/main"
pg_ver: 9.1

View File

@@ -0,0 +1,10 @@
postgresql_service: "postgresql"
postgresql_packages:
- "postgresql"
- "postgresql-common"
- "python-psycopg2"
pg_hba_location: "/etc/postgresql/9.3/main/pg_hba.conf"
pg_dir: "/var/lib/postgresql/9.3/main"
pg_ver: 9.3

View File

@@ -0,0 +1,8 @@
postgresql_service: "postgresql"
postgresql_packages:
- "postgresql-server"
- "python-psycopg2"
pg_hba_location: "/var/lib/pgsql/data/pg_hba.conf"
pg_dir: "/var/lib/pgsql/data"