GPFarmer is Ansible Playbook to deploy Greenplum Database conveniently on Baremetal, Virtual Machines and Cloud Infrastructure. It provide also many extensions to install such GPText, madlib, GPCC, postgis as well. The main purpose of this project is actually very simple. Because i have many jobs to install different kind of GPDB versions and reproduce issues & test features as a support engineer. I just want to spend less time for it.
If you are working with GPDB such as Developer, Administrator, Field Engineer or Data Scientist you could also use it very useful with saving time.
GPFarmer has been developing based on gpdb-ansible project - https://github.com/andreasscherbaum/gpdb-ansible. Andreas! Thanks for sharing it. Since it only provide install GPDB on a single host GPFarmer support multiple hosts and many extensions to deploy them and support two binary type, rpm and bin.
- GPDB 4.x, 5.x, 6.x, 7.x
- GPCC 4x, 6x, 7.x
- GPTEXT 3.x.x
- madlib 1.x, 2.x
- postgis 2.x
- Virtual Machines
- Baremetal
- RHEL / CentOS / Rocky Linux 5.x,6.x,7.x,8.x,9.x
- Ubuntu 18.04
MacOS or Fedora/CentOS/RHEL should have installed ansible as ansible host. Supported OS for ansible target host should be prepared with package repository configured such as yum, dnf and apt
- MacOS
$ xcode-select --install
$ brew install ansible
$ brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb- Fedora/CentOS/RHEL
$ sudo yum install ansibleConfigure Yum / Local & EPEL Repostiory
$ git clone https://github.com/rokmc756/GPFarmer
$ cd GPFarmer$ vi Makefile
ANSIBLE_HOST_PASS="changeme" # It should be changed with password of user in ansible host that gpfarmer would be run.
ANSIBLE_TARGET_PASS="changeme" # # It should be changed with password of sudo user in managed nodes that gpdb would be installed.[all:vars]
ssh_key_filename="id_rsa"
remote_machine_username="jomoon"
remote_machine_password="changeme"
[master]
rk9-node01 ansible_ssh_host=192.168.2.191
[standby]
rk9-node02 ansible_ssh_host=192.168.2.192
[segments]
rk9-node03 ansible_ssh_host=192.168.2.193
rk9-node04 ansible_ssh_host=192.168.2.194
rk9-node05 ansible_ssh_host=192.168.2.195$ make gpdb r=install s=db$ make gpcc r=install s=all$ make gptext r=install$ make madlib r=install$ make postgis r=install- Need to fix installing postgis that error, stderr='warning: Unable to get systemd shutdown inhibition lock: Permission denied
- Change CentOS and Rocky Linux repository into local mirror in Korea
- Converting Makefile.init from original project
- Adding GPCR role
- Adding SELinux role
- Adding tuned role
- Adding gpupgrade
