Greenplum provisioning Ansible role.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

111 lines
3.1 KiB

---
- name: contrib extensions | Install centos-release-scl
ansible.builtin.package:
name: centos-release-scl
state: present
- name: contrib extensions | Install build tools
ansible.builtin.package:
name:
- apr-devel
- bison
- bzip2-devel
- curl
- devtoolset-8
- flex
- git
- libcurl-devel
- libevent-devel
- libzstd-devel
- zlib-devel
state: present
- name: contrib extensions | Clone repository
become: true
become_user: "{{ greenplum_user }}"
ansible.builtin.git:
repo: "{{ greenplum_contrib_repository }}"
version: "{{ greenplum_contrib_version }}"
dest: "{{ greenplum_src_directory }}/contrib"
force: true
- name: contrib extensions | Disable excluded extensions
become: true
become_user: "{{ greenplum_user }}"
ansible.builtin.lineinfile:
dest: "{{ greenplum_src_directory }}/contrib/contrib/Makefile"
regexp: '\s+{{ item }}.*$'
state: absent
loop: "{{ greenplum_contrib_exclude_list }}"
- name: contrib extensions | Configure sources
become: true
become_user: "{{ greenplum_user }}"
ansible.builtin.shell: >
source {{ greenplum_user_profile_file }}
&& scl enable devtoolset-8 -- bash -c "./configure --prefix=$GPHOME --disable-gpcloud --without-readline"
args:
chdir: "{{ greenplum_src_directory }}/contrib"
tags: skip_ansible_lint
- name: contrib extensions | Build backend
become: true
become_user: "{{ greenplum_user }}"
ansible.builtin.shell: >
source {{ greenplum_user_profile_file }}
&& cd src/backend
&& scl enable devtoolset-8 -- make
args:
chdir: "{{ greenplum_src_directory }}/contrib"
tags: skip_ansible_lint
- name: contrib extensions | Build utils
become: true
become_user: "{{ greenplum_user }}"
ansible.builtin.shell: >
source {{ greenplum_user_profile_file }}
&& cd src/backend/utils
&& scl enable devtoolset-8 -- make
args:
chdir: "{{ greenplum_src_directory }}/contrib"
tags: skip_ansible_lint
- name: contrib extensions | Build extensions
become: true
become_user: "{{ greenplum_user }}"
ansible.builtin.shell: >
source {{ greenplum_user_profile_file }}
&& cd contrib
&& scl enable devtoolset-8 -- make
args:
chdir: "{{ greenplum_src_directory }}/contrib"
tags: skip_ansible_lint
- name: contrib extensions | Install extensions
ansible.builtin.shell: >
source {{ greenplum_user_profile_file }}
&& cd contrib/
&& make install
args:
chdir: "{{ greenplum_src_directory }}/contrib"
tags: skip_ansible_lint
- name: contrib extensions | Get list of available extensions
become: true
become_user: "{{ greenplum_user }}"
ansible.builtin.shell: |
source {{ greenplum_user_profile_file }}
psql postgres -t -c 'SELECT * FROM pg_available_extensions;' \
| cut -d '|' -f 1 \
| expand \
| sed 's/ \+$//' \
| tr '\n' ',' \
| sed 's/,\+$//'
register: contrib_extensions
tags: skip_ansible_lint
- name: contrib extensions | Show available extensions
ansible.builtin.debug:
msg: "The following extensions are available: {{ contrib_extensions.stdout }}"