From e2d91420e2988608d5300c3f2b5a8142abb65637 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Fri, 30 Jun 2017 23:12:44 -0500 Subject: [PATCH] Fixes #9: Make PostgreSQL Python library configurable so Python 3 can work. --- README.md | 4 ++++ defaults/main.yml | 1 + tasks/setup-Debian.yml | 8 ++++++-- tasks/setup-RedHat.yml | 10 ++++++++-- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0a39860..04580d7 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,10 @@ Available variables are listed below, along with default values (see `defaults/m (RHEL/CentOS only) You can set a repo to use for the PostgreSQL installation by passing it in here. + postgresql_python_library: python-psycopg2 + +Library used by Ansible to communicate with PostgreSQL. If you are using Python 3 (e.g. set via `ansible_python_interpreter`), you should change this to `python3-psycopg2`. + postgresql_user: postgres postgresql_group: postgres diff --git a/defaults/main.yml b/defaults/main.yml index 9a7dfa0..6d9a154 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -2,6 +2,7 @@ # RHEL/CentOS only. Set a repository to use for PostgreSQL installation. postgresql_enablerepo: "" +postgresql_python_library: python-psycopg2 postgresql_user: postgres postgresql_group: postgres diff --git a/tasks/setup-Debian.yml b/tasks/setup-Debian.yml index 13700d3..fdfcc44 100644 --- a/tasks/setup-Debian.yml +++ b/tasks/setup-Debian.yml @@ -1,9 +1,13 @@ --- - name: Ensure PostgreSQL Python libraries are installed. - apt: "name=python-psycopg2 state=installed" + apt: + name: "{{ postgresql_python_library }}" + state: installed - name: Ensure PostgreSQL packages are installed. - apt: "name={{ item }} state=installed" + apt: + name: "{{ item }}" + state: installed with_items: "{{ postgresql_packages }}" - name: Ensure all configured locales are present. diff --git a/tasks/setup-RedHat.yml b/tasks/setup-RedHat.yml index 050c842..d0ce7c7 100644 --- a/tasks/setup-RedHat.yml +++ b/tasks/setup-RedHat.yml @@ -1,7 +1,13 @@ --- - name: Ensure PostgreSQL packages are installed. - package: "name={{ item }} state=installed enablerepo={{ postgresql_enablerepo }}" + package: + name: "{{ item }}" + state: installed + enablerepo: "{{ postgresql_enablerepo }}" with_items: "{{ postgresql_packages }}" - name: Ensure PostgreSQL Python libraries are installed. - package: "name=python-psycopg2 state=installed enablerepo={{ postgresql_enablerepo }}" + package: + name: "{{ postgresql_python_library }}" + state: installed + enablerepo: "{{ postgresql_enablerepo }}"