Pigsty Install Procedure
Install procedure of pigsty installation on full 4 nodes sandbox
prepare
请参考 拉起沙箱环境过程记录 拉起本地4节点虚拟机沙箱,当然您也可以用其他办法创建几台虚拟机,或直接使用现有的物理机乃至云虚拟机进行部署。
登录管理节点,并确保可以ssh sudo其他节点:
$ ssh meta[vagrant@meta ~]$ ssh 10.10.10.10 sudo hostname -aWarning: Permanently added '10.10.10.10' (ECDSA) to the list of known hosts.meta[vagrant@meta ~]$ ssh 10.10.10.11 sudo hostname -aWarning: Permanently added '10.10.10.11' (ECDSA) to the list of known hosts.node-1[vagrant@meta ~]$ ssh 10.10.10.12 sudo hostname -aWarning: Permanently added '10.10.10.12' (ECDSA) to the list of known hosts.node-2[vagrant@meta ~]$ ssh 10.10.10.13 sudo hostname -aWarning: Permanently added '10.10.10.13' (ECDSA) to the list of known hosts.node-3
download
下载最新的Pigsty源码包至本地,大小约1MB。
[vagrant@meta ~]$ bash -c "$(curl -fsSL http://download.pigsty.cc/get)"[INFO] download pigsty.tgz from http://download.pigsty.cc/v1.5.1/pigsty.tgz% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 897k 100 897k 0 0 1195k 0 --:--:-- --:--:-- --:--:-- 1195k[INFO] extract /tmp/pigsty.tgz to /home/vagrant/pigsty[HINT] proceed with cd ~/pigsty; ./configure; ./infra.yml;
使用源码包中自带的download脚本,下载离线软件包(可选)
[vagrant@meta ~]$ cd ./pigsty[vagrant@meta pigsty]$ ./download pkg[ OK ] download from CDN http://download.pigsty.cc/v1.5.1/pkg.tgz to /tmp/pkg.tgz% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 1075M 100 1075M 0 0 10.6M 0 0:01:40 0:01:40 --:--:-- 10.0M[ OK ] repo = extract from /tmp/pkg.tgz[ OK ] repo file = /etc/yum.repos.d/pigsty-local.repo
configure
[vagrant@meta pigsty]$ ./configure -m demo[ OK ] cache = download from internetconfigure pigsty v1.5.1 begin[ OK ] kernel = Linux[ OK ] machine = x86_64[ OK ] release = 7.8.2003 , perfect[ OK ] sudo = vagrant ok[ OK ] ssh = vagrant@127.0.0.1 ok[WARN] Multiple IP address candidates found:(1) 10.0.2.15 inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0(2) 10.10.10.10 inet 10.10.10.10/24 brd 10.10.10.255 scope global noprefixroute eth1[ OK ] primary_ip = 10.10.10.10 (from demo)[ OK ] admin = vagrant@10.10.10.10 ok[ OK ] mode = demo (manually set)[ OK ] spec = mini (cpu = 2)[ OK ] config = demo @ 10.10.10.10[ OK ] cache = /tmp/pkg.tgz exists[ OK ] repo = /www/pigsty ok[ OK ] repo file = /etc/yum.repos.d/pigsty-local.repo[ OK ] utils = install from local file repo[ OK ] ansible = ansible 2.9.27configure pigsty done. Use 'make install' to proceed
install
使用 make install 在本机上完成安装,这实际上是执行了 infra.yml 剧本
make install
[vagrant@meta pigsty]$ make install./infra.ymlPLAY [Node Identity] *********************************************************************************TASK [Overwrite node_cluster] ************************************************************************ok: [10.10.10.10]TASK [Overwrite nodename] ****************************************************************************ok: [10.10.10.10]TASK [debug] *****************************************************************************************ok: [10.10.10.10] => {"msg": "ins=pg-meta-1 cls=pg-meta"}PLAY [Infra Bootstrap] *******************************************************************************TASK [environ : Create pigsty resource dirs on /etc/pigsty] ******************************************changed: [10.10.10.10] => (item=/etc/pigsty)changed: [10.10.10.10] => (item=/etc/pigsty/playbooks)changed: [10.10.10.10] => (item=/etc/pigsty/dashboards)changed: [10.10.10.10] => (item=/etc/pigsty/datasources)TASK [environ : Create patronictl resource] **********************************************************changed: [10.10.10.10]TASK [environ : Get current username] ****************************************************************ok: [10.10.10.10]TASK [environ : Create admin user ssh key pair if not exists] ****************************************ok: [10.10.10.10]TASK [environ : Write default user credential to pgpass] *********************************************changed: [10.10.10.10] => (item=*:*:*:replicator:DBUser.Replicator)changed: [10.10.10.10] => (item=*:*:*:dbuser_monitor:DBUser.Monitor)changed: [10.10.10.10] => (item=*:*:*:dbuser_dba:DBUser.DBA)TASK [environ : Write default meta service to pg_service] ********************************************changed: [10.10.10.10]TASK [environ : Write servers.json to home dir] ******************************************************changed: [10.10.10.10]TASK [Set environment for admin user] ****************************************************************changed: [10.10.10.10]TASK [Enable environment for admin user] *************************************************************changed: [10.10.10.10]TASK [Create local repo directory] *******************************************************************ok: [10.10.10.10]TASK [Backup & remove existing repos] ****************************************************************changed: [10.10.10.10]TASK [Add required upstream repos] *******************************************************************[WARNING]: Using a variable for a task's 'args' is unsafe in some situations (seehttps://docs.ansible.com/ansible/devel/reference_appendices/faq.html#argsplat-unsafe)changed: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Base', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/os/$basearch/', u'http://mirror.centos.org/centos/$releasever/os/$basearch/'], u'name': u'base'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Updates', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/', u'http://mirror.centos.org/centos/$releasever/updates/$basearch/'], u'name': u'updates'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Extras', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/', u'http://mirror.centos.org/centos/$releasever/extras/$basearch/'], u'name': u'extras'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS $releasever - epel', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/$basearch', u'http://mirrors.aliyun.com/epel/$releasever/$basearch', u'http://download.fedoraproject.org/pub/epel/$releasever/$basearch'], u'name': u'epel'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'enabled': True, u'description': u'Grafana', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm', u'https://packages.grafana.com/oss/rpm'], u'name': u'grafana'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'Prometheus and exporters', u'baseurl': u'https://packagecloud.io/prometheus-rpm/release/el/$releasever/$basearch', u'name': u'prometheus'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'PostgreSQL common RPMs for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'http://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/common/redhat/rhel-$releasever-$basearch', u'https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-$releasever-$basearch'], u'name': u'pgdg-common'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'PostgreSQL 14 for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/14/redhat/rhel-$releasever-$basearch', u'https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-$releasever-$basearch'], u'name': u'pgdg14'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'TimescaleDB for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'https://packagecloud.io/timescale/timescaledb/el/7/$basearch'], u'name': u'timescaledb'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - SCLo', u'baseurl': u'http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/sclo/', u'name': u'centos-sclo'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - SCLo rh', u'baseurl': u'http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/', u'name': u'centos-sclo-rh'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'nginx', u'baseurl': u'http://nginx.org/packages/centos/$releasever/$basearch/', u'description': u'Nginx Official Yum Repo'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'harbottle', u'baseurl': u'https://download.copr.fedorainfracloud.org/results/harbottle/main/epel-$releasever-$basearch/', u'description': u'Copr repo for main owned by harbottle'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'pg_probackup', u'baseurl': u'https://repo.postgrespro.ru/pg_probackup-forks/rpm/latest/centos-$releasever-$basearch', u'description': u'PG_PROBACKUP Centos packages for PostgresPro Standard and Enterprise - $basearch'})changed: [10.10.10.10] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'docker-ce', u'baseurl': [u'https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable', u'https://download.docker.com/linux/centos/$releasever/$basearch/stable'], u'description': u'Docker CE Stable - $basearch'})TASK [Check repo pkgs cache exists] ******************************************************************ok: [10.10.10.10]TASK [Set fact whether repo_exists] ******************************************************************ok: [10.10.10.10]TASK [Move upstream repo to backup] ******************************************************************changed: [10.10.10.10]TASK [Add local file system repos] *******************************************************************changed: [10.10.10.10]TASK [repo : Remake yum cache if not exists] *********************************************************changed: [10.10.10.10]TASK [Install repo bootstrap packages] ***************************************************************changed: [10.10.10.10]TASK [Render repo nginx server files] ****************************************************************changed: [10.10.10.10] => (item={u'dest': u'/etc/nginx/nginx.conf', u'src': u'nginx.conf.j2'})changed: [10.10.10.10] => (item={u'dest': u'/etc/nginx/conf.d/default.conf', u'src': u'default.conf.j2'})changed: [10.10.10.10] => (item={u'dest': u'/www/index.html', u'src': u'index.html.j2'})changed: [10.10.10.10] => (item={u'dest': u'/www/pigsty.repo', u'src': u'local.repo.j2'})TASK [Disable selinux for repo server] ***************************************************************[WARNING]: SELinux state temporarily changed from 'enforcing' to 'permissive'. State change will takeeffect next reboot.changed: [10.10.10.10]TASK [Launch repo nginx server] **********************************************************************changed: [10.10.10.10]TASK [Waits repo server online] **********************************************************************ok: [10.10.10.10]TASK [Download repo packages] ************************************************************************skipping: [10.10.10.10] => (item=epel-release nginx wget yum-utils yum createrepo sshpass zip unzip)skipping: [10.10.10.10] => (item=ntp chrony uuid lz4 bzip2 nc pv jq vim-enhanced make patch bash lsof wget git tuned perf ftp lrzsz rsync)skipping: [10.10.10.10] => (item=numactl grubby sysstat dstat iotop bind-utils net-tools tcpdump socat ipvsadm telnet ca-certificates keepalived)skipping: [10.10.10.10] => (item=readline zlib openssl openssh-clients libyaml libxml2 libxslt libevent perl perl-devel perl-ExtUtils*)skipping: [10.10.10.10] => (item=readline-devel zlib-devel uuid-devel libuuid-devel libxml2-devel libxslt-devel openssl-devel libicu-devel)skipping: [10.10.10.10] => (item=grafana prometheus2 pushgateway alertmanager mtail consul consul_exporter consul-template etcd dnsmasq)skipping: [10.10.10.10] => (item=node_exporter nginx_exporter blackbox_exporter redis_exporter)skipping: [10.10.10.10] => (item=ansible python python-pip python-psycopg2)skipping: [10.10.10.10] => (item=python3 python3-psycopg2 python36-requests python3-etcd python3-consul python36-urllib3 python36-idna python36-pyOpenSSL python36-cryptography)skipping: [10.10.10.10] => (item=patroni patroni-consul patroni-etcd pgbouncer pg_cli pgbadger pg_activity tail_n_mail)skipping: [10.10.10.10] => (item=pgcenter boxinfo check_postgres emaj pgbconsole pg_bloat_check pgquarrel barman barman-cli pgloader pgFormatter pitrery pspg pgxnclient PyGreSQL)skipping: [10.10.10.10] => (item=postgresql14* postgis32_14* citus_14* pglogical_14* timescaledb-2-postgresql-14 pg_repack_14 wal2json_14)skipping: [10.10.10.10] => (item=pg_qualstats_14 pg_stat_kcache_14 pg_stat_monitor_14 pg_top_14 pg_track_settings_14 pg_wait_sampling_14 pg_probackup-std-14)skipping: [10.10.10.10] => (item=pg_statement_rollback_14 system_stats_14 plproxy_14 plsh_14 pldebugger_14 plpgsql_check_14 pgmemcache_14)skipping: [10.10.10.10] => (item=mysql_fdw_14 ogr_fdw_14 tds_fdw_14 sqlite_fdw_14 firebird_fdw_14 hdfs_fdw_14 mongo_fdw_14 osm_fdw_14 pgbouncer_fdw_14)skipping: [10.10.10.10] => (item=hypopg_14 geoip_14 rum_14 hll_14 ip4r_14 prefix_14 pguri_14 tdigest_14 topn_14 periods_14)skipping: [10.10.10.10] => (item=bgw_replstatus_14 count_distinct_14 credcheck_14 ddlx_14 extra_window_functions_14 logerrors_14 mysqlcompat_14 orafce_14)skipping: [10.10.10.10] => (item=repmgr_14 pg_auth_mon_14 pg_auto_failover_14 pg_background_14 pg_bulkload_14 pg_catcheck_14 pg_comparator_14)skipping: [10.10.10.10] => (item=pg_cron_14 pg_fkpart_14 pg_jobmon_14 pg_partman_14 pg_permissions_14 pg_prioritize_14 pgagent_14)skipping: [10.10.10.10] => (item=pgaudit16_14 pgauditlogtofile_14 pgcryptokey_14 pgexportdoc_14 pgfincore_14 pgimportdoc_14 powa_14 pgmp_14 pgq_14)skipping: [10.10.10.10] => (item=pgquarrel-0.7.0-1 pgsql_tweaks_14 pgtap_14 pgtt_14 postgresql-unit_14 postgresql_anonymizer_14 postgresql_faker_14)skipping: [10.10.10.10] => (item=safeupdate_14 semver_14 set_user_14 sslutils_14 table_version_14)skipping: [10.10.10.10] => (item=clang coreutils diffutils rpm-build rpm-devel rpmlint rpmdevtools bison flex)skipping: [10.10.10.10] => (item=docker-ce docker-compose kubelet kubectl kubeadm kubernetes-cni helm)TASK [repo : Download web url packages] **************************************************************skipping: [10.10.10.10] => (item=https://github.com/Vonng/loki-rpm/releases/download/v2.5.0/loki-2.5.0.x86_64.rpm)skipping: [10.10.10.10] => (item=https://github.com/Vonng/loki-rpm/releases/download/v2.5.0/promtail-2.5.0.x86_64.rpm)skipping: [10.10.10.10] => (item=https://github.com/Vonng/pg_exporter/releases/download/v0.5.0/pg_exporter-0.5.0.x86_64.rpm)skipping: [10.10.10.10] => (item=https://github.com/cybertec-postgresql/vip-manager/releases/download/v1.0.2/vip-manager-1.0.2-1.x86_64.rpm)skipping: [10.10.10.10] => (item=https://github.com/Vonng/haproxy-rpm/releases/download/v2.5.7/haproxy-2.5.7-1.el7.x86_64.rpm)skipping: [10.10.10.10] => (item=https://github.com/Vonng/pigsty-pkg/releases/download/misc/redis-6.2.7-1.el7.remi.x86_64.rpm)skipping: [10.10.10.10] => (item=https://github.com/dalibo/pev2/releases/download/v0.24.0/pev2.tar.gz)skipping: [10.10.10.10] => (item=https://github.com/Vonng/pigsty-pkg/releases/download/misc/polysh-0.4-1.noarch.rpm)TASK [Download repo pkg dependencies] ****************************************************************skipping: [10.10.10.10] => (item=epel-release nginx wget yum-utils yum createrepo sshpass zip unzip)skipping: [10.10.10.10] => (item=ntp chrony uuid lz4 bzip2 nc pv jq vim-enhanced make patch bash lsof wget git tuned perf ftp lrzsz rsync)skipping: [10.10.10.10] => (item=numactl grubby sysstat dstat iotop bind-utils net-tools tcpdump socat ipvsadm telnet ca-certificates keepalived)skipping: [10.10.10.10] => (item=readline zlib openssl openssh-clients libyaml libxml2 libxslt libevent perl perl-devel perl-ExtUtils*)skipping: [10.10.10.10] => (item=readline-devel zlib-devel uuid-devel libuuid-devel libxml2-devel libxslt-devel openssl-devel libicu-devel)skipping: [10.10.10.10] => (item=grafana prometheus2 pushgateway alertmanager mtail consul consul_exporter consul-template etcd dnsmasq)skipping: [10.10.10.10] => (item=node_exporter nginx_exporter blackbox_exporter redis_exporter)skipping: [10.10.10.10] => (item=ansible python python-pip python-psycopg2)skipping: [10.10.10.10] => (item=python3 python3-psycopg2 python36-requests python3-etcd python3-consul python36-urllib3 python36-idna python36-pyOpenSSL python36-cryptography)skipping: [10.10.10.10] => (item=patroni patroni-consul patroni-etcd pgbouncer pg_cli pgbadger pg_activity tail_n_mail)skipping: [10.10.10.10] => (item=pgcenter boxinfo check_postgres emaj pgbconsole pg_bloat_check pgquarrel barman barman-cli pgloader pgFormatter pitrery pspg pgxnclient PyGreSQL)skipping: [10.10.10.10] => (item=postgresql14* postgis32_14* citus_14* pglogical_14* timescaledb-2-postgresql-14 pg_repack_14 wal2json_14)skipping: [10.10.10.10] => (item=pg_qualstats_14 pg_stat_kcache_14 pg_stat_monitor_14 pg_top_14 pg_track_settings_14 pg_wait_sampling_14 pg_probackup-std-14)skipping: [10.10.10.10] => (item=pg_statement_rollback_14 system_stats_14 plproxy_14 plsh_14 pldebugger_14 plpgsql_check_14 pgmemcache_14)skipping: [10.10.10.10] => (item=mysql_fdw_14 ogr_fdw_14 tds_fdw_14 sqlite_fdw_14 firebird_fdw_14 hdfs_fdw_14 mongo_fdw_14 osm_fdw_14 pgbouncer_fdw_14)skipping: [10.10.10.10] => (item=hypopg_14 geoip_14 rum_14 hll_14 ip4r_14 prefix_14 pguri_14 tdigest_14 topn_14 periods_14)skipping: [10.10.10.10] => (item=bgw_replstatus_14 count_distinct_14 credcheck_14 ddlx_14 extra_window_functions_14 logerrors_14 mysqlcompat_14 orafce_14)skipping: [10.10.10.10] => (item=repmgr_14 pg_auth_mon_14 pg_auto_failover_14 pg_background_14 pg_bulkload_14 pg_catcheck_14 pg_comparator_14)skipping: [10.10.10.10] => (item=pg_cron_14 pg_fkpart_14 pg_jobmon_14 pg_partman_14 pg_permissions_14 pg_prioritize_14 pgagent_14)skipping: [10.10.10.10] => (item=pgaudit16_14 pgauditlogtofile_14 pgcryptokey_14 pgexportdoc_14 pgfincore_14 pgimportdoc_14 powa_14 pgmp_14 pgq_14)skipping: [10.10.10.10] => (item=pgquarrel-0.7.0-1 pgsql_tweaks_14 pgtap_14 pgtt_14 postgresql-unit_14 postgresql_anonymizer_14 postgresql_faker_14)skipping: [10.10.10.10] => (item=safeupdate_14 semver_14 set_user_14 sslutils_14 table_version_14)skipping: [10.10.10.10] => (item=clang coreutils diffutils rpm-build rpm-devel rpmlint rpmdevtools bison flex)skipping: [10.10.10.10] => (item=docker-ce docker-compose kubelet kubectl kubeadm kubernetes-cni helm)TASK [Create local repo] *****************************************************************************skipping: [10.10.10.10]PLAY [Meta Node Init] ********************************************************************************TASK [Set hostname from nodename] ********************************************************************changed: [10.10.10.10]TASK [node : Fetch hostname from server] *************************************************************skipping: [10.10.10.10]TASK [node : Exchange hostname among servers] ********************************************************skipping: [10.10.10.10]TASK [node : Write static dns records to /etc/hosts] *************************************************changed: [10.10.10.10] => (item=10.10.10.10 meta pigsty p.pigsty g.pigsty a.pigsty c.pigsty l.pigsty)changed: [10.10.10.10] => (item=10.10.10.10 api.pigsty adm.pigsty cli.pigsty ddl.pigsty lab.pigsty git.pigsty sss.pigsty)TASK [node : Write extra static dns records to /etc/hosts] *******************************************TASK [node : Get old nameservers] ********************************************************************changed: [10.10.10.10]TASK [node : Write tmp resolv file] ******************************************************************changed: [10.10.10.10]TASK [node : Write resolv options] *******************************************************************changed: [10.10.10.10] => (item=options single-request-reopen timeout:1 rotate)changed: [10.10.10.10] => (item=domain service.consul)TASK [node : Write additional nameservers] ***********************************************************changed: [10.10.10.10] => (item=10.10.10.10)TASK [node : Append existing nameservers] ************************************************************changed: [10.10.10.10] => (item=10.0.2.3)TASK [node : Swap resolv.conf] ***********************************************************************changed: [10.10.10.10]TASK [node : Node configure disable firewall] ********************************************************ok: [10.10.10.10]TASK [node : Node disable selinux by default] ********************************************************[WARNING]: SELinux state change will take effect next rebootok: [10.10.10.10]TASK [node : Backup existing repos] ******************************************************************changed: [10.10.10.10]TASK [node : Install upstream repo] ******************************************************************skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Base', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/os/$basearch/', u'http://mirror.centos.org/centos/$releasever/os/$basearch/'], u'name': u'base'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Updates', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/', u'http://mirror.centos.org/centos/$releasever/updates/$basearch/'], u'name': u'updates'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Extras', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/', u'http://mirror.centos.org/centos/$releasever/extras/$basearch/'], u'name': u'extras'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS $releasever - epel', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/$basearch', u'http://mirrors.aliyun.com/epel/$releasever/$basearch', u'http://download.fedoraproject.org/pub/epel/$releasever/$basearch'], u'name': u'epel'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'enabled': True, u'description': u'Grafana', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm', u'https://packages.grafana.com/oss/rpm'], u'name': u'grafana'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'Prometheus and exporters', u'baseurl': u'https://packagecloud.io/prometheus-rpm/release/el/$releasever/$basearch', u'name': u'prometheus'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'PostgreSQL common RPMs for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'http://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/common/redhat/rhel-$releasever-$basearch', u'https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-$releasever-$basearch'], u'name': u'pgdg-common'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'PostgreSQL 14 for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/14/redhat/rhel-$releasever-$basearch', u'https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-$releasever-$basearch'], u'name': u'pgdg14'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'TimescaleDB for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'https://packagecloud.io/timescale/timescaledb/el/7/$basearch'], u'name': u'timescaledb'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - SCLo', u'baseurl': u'http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/sclo/', u'name': u'centos-sclo'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - SCLo rh', u'baseurl': u'http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/', u'name': u'centos-sclo-rh'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'nginx', u'baseurl': u'http://nginx.org/packages/centos/$releasever/$basearch/', u'description': u'Nginx Official Yum Repo'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'harbottle', u'baseurl': u'https://download.copr.fedorainfracloud.org/results/harbottle/main/epel-$releasever-$basearch/', u'description': u'Copr repo for main owned by harbottle'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'pg_probackup', u'baseurl': u'https://repo.postgrespro.ru/pg_probackup-forks/rpm/latest/centos-$releasever-$basearch', u'description': u'PG_PROBACKUP Centos packages for PostgresPro Standard and Enterprise - $basearch'})skipping: [10.10.10.10] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'docker-ce', u'baseurl': [u'https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable', u'https://download.docker.com/linux/centos/$releasever/$basearch/stable'], u'description': u'Docker CE Stable - $basearch'})TASK [node : Install local repo] *********************************************************************changed: [10.10.10.10] => (item=http://pigsty/pigsty.repo)TASK [Install node basic packages] *******************************************************************skipping: [10.10.10.10] => (item=[])TASK [Install node extra packages] *******************************************************************TASK [node : Install meta specific packages] *********************************************************skipping: [10.10.10.10] => (item=[])TASK [Install node basic packages] *******************************************************************changed: [10.10.10.10] => (item=[u'wget,sshpass,ntp,chrony,tuned,uuid,lz4,make,patch,bash,lsof,wget,unzip,git,ftp,vim-minimal,ca-certificates', u'numactl,grubby,sysstat,dstat,iotop,bind-utils,net-tools,tcpdump,socat,ipvsadm,telnet,tuned,nc,pv,jq,perf', u'readline,zlib,openssl,openssl-libs,openssh-clients,python3,python36-requests,node_exporter,consul,etcd,promtail'])TASK [Install node extra packages] *******************************************************************TASK [node : Install meta specific packages] *********************************************************changed: [10.10.10.10] => (item=[u'grafana,prometheus2,alertmanager,loki,nginx_exporter,blackbox_exporter,pushgateway,redis,postgresql14', u'nginx,ansible,pgbadger,python-psycopg2,dnsmasq,coreutils,diffutils,polysh,docker-ce,docker-compose'])TASK [Install pip3 packages on meta node] ************************************************************changed: [10.10.10.10]TASK [node : Node configure disable numa] ************************************************************skipping: [10.10.10.10]TASK [node : Node configure disable swap] ************************************************************skipping: [10.10.10.10]TASK [node : Node configure unmount swap] ************************************************************skipping: [10.10.10.10] => (item=swap)skipping: [10.10.10.10] => (item=none)TASK [node : Node setup static network] **************************************************************changed: [10.10.10.10]TASK [node : Node configure disable firewall] ********************************************************changed: [10.10.10.10]TASK [node : Node configure disk prefetch] ***********************************************************skipping: [10.10.10.10]TASK [node : Enable linux kernel modules] ************************************************************changed: [10.10.10.10] => (item=softdog)changed: [10.10.10.10] => (item=br_netfilter)changed: [10.10.10.10] => (item=ip_vs)changed: [10.10.10.10] => (item=ip_vs_rr)ok: [10.10.10.10] => (item=ip_vs_rr)changed: [10.10.10.10] => (item=ip_vs_wrr)changed: [10.10.10.10] => (item=ip_vs_sh)TASK [node : Enable kernel module on reboot] *********************************************************changed: [10.10.10.10]TASK [node : Get config parameter page count] ********************************************************changed: [10.10.10.10]TASK [node : Get config parameter page size] *********************************************************changed: [10.10.10.10]TASK [node : Tune shmmax and shmall via mem] *********************************************************skipping: [10.10.10.10]TASK [node : Create tuned profiles] ******************************************************************changed: [10.10.10.10] => (item=oltp)changed: [10.10.10.10] => (item=olap)changed: [10.10.10.10] => (item=crit)changed: [10.10.10.10] => (item=tiny)TASK [node : Render tuned profiles] ******************************************************************changed: [10.10.10.10] => (item=oltp)changed: [10.10.10.10] => (item=olap)changed: [10.10.10.10] => (item=crit)changed: [10.10.10.10] => (item=tiny)TASK [node : Active tuned profile] *******************************************************************changed: [10.10.10.10]TASK [node : Change additional sysctl params] ********************************************************TASK [node : Copy default user bash profile] *********************************************************changed: [10.10.10.10]TASK [Setup node default pam ulimits] ****************************************************************changed: [10.10.10.10]TASK [Create node data dir if exists] ****************************************************************changed: [10.10.10.10]TASK [node : Create os user group admin] *************************************************************changed: [10.10.10.10]TASK [node : Create os user admin] *******************************************************************changed: [10.10.10.10]TASK [node : Grant admin group nopass sudo] **********************************************************changed: [10.10.10.10]TASK [node : Add no host checking to ssh config] *****************************************************changed: [10.10.10.10]TASK [node : Add admin ssh no host checking] *********************************************************ok: [10.10.10.10]TASK [node : Fetch all admin public keys] ************************************************************changed: [10.10.10.10]TASK [node : Exchange all admin ssh keys] ************************************************************changed: [10.10.10.10 -> 10.10.10.10] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPzzw6XqahkKgDyQunmjTQEfs5+28oPrhW02REQBlhsw58dlTJWnfQEQFB4BTGznT5Xd4wcqp4nNNbiznWikwgD0rhYMFdxmFClyYXCDllSkzpQqFIbDlt+/9MmzSfAA64n0goffgJC1MbiZXBsrSsteNq96qGkDZpaQXp5PIeeoLiVkwI5GICGHIoKj4vnPUjzgLnRo0hr9K+bJ8os972AcbzxEh/dlMs71PRbIvPD46lxWy6zdINk1fd8XBdMmuoynVRuehUsOd72m1umLCK9fXWAilU1oSRT25y5SLQqQZ+dhHyxKL+wuu03vLHWrDGo/+0ocYEqH261JgQInF5 ansible-generated on pg-meta-1', u'10.10.10.10'])TASK [node : Install public keys] ********************************************************************changed: [10.10.10.10] => (item=ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC7IMAMNavYtWwzAJajKqwdn3ar5BhvcwCnBTxxEkXhGlCO2vfgosSAQMEflfgvkiI5nM1HIFQ8KINlx1XLO7SdL5KdInG5LIJjAFh0pujS4kNCT9a5IGvSq1BrzGqhbEcwWYdju1ZPYBcJm/MG+JD0dYCh8vfrYB/cYMD0SOmNkQ== vagrant@pigsty.com)TASK [node : Install current public key] *************************************************************ok: [10.10.10.10]TASK [Setup default node timezone] *******************************************************************changed: [10.10.10.10]TASK [node : Install ntp package] ********************************************************************ok: [10.10.10.10]TASK [node : Install chrony package] *****************************************************************skipping: [10.10.10.10]TASK [node : Copy the ntp.conf file] *****************************************************************changed: [10.10.10.10]TASK [node : Copy the chrony.conf template] **********************************************************changed: [10.10.10.10]TASK [node : Launch ntpd service] ********************************************************************changed: [10.10.10.10]TASK [node : Launch chronyd service] *****************************************************************skipping: [10.10.10.10]TASK [node : Append /etc/crontab] ********************************************************************skipping: [10.10.10.10] => (item=00 01 * * * postgres /pg/bin/pg-backup 2>>/pg/log/backup.log)skipping: [10.10.10.10] => (item=* * * * * postgres /usr/pgsql/bin/pgbench meta -nv -T10 -c2 2>>/pg/log/bench.log)TASK [node : Overwrite /etc/crontab] *****************************************************************changed: [10.10.10.10]TASK [Install docker and docker-compose] *************************************************************ok: [10.10.10.10] => (item=docker-ce)ok: [10.10.10.10] => (item=docker-compose)TASK [docker : Get current admin user] ***************************************************************changed: [10.10.10.10]TASK [Add admin user to docker group] ****************************************************************changed: [10.10.10.10] => (item=vagrant)changed: [10.10.10.10] => (item=dba)TASK [Make sure /etc/docker exists] ******************************************************************changed: [10.10.10.10]TASK [Overwrite /etc/docker/daemon.json] *************************************************************changed: [10.10.10.10]TASK [Launch docker service unit] ********************************************************************changed: [10.10.10.10]TASK [Check docker image cache exists] ***************************************************************ok: [10.10.10.10]TASK [Load docker image cache if exists] *************************************************************skipping: [10.10.10.10]TASK [Check for existing consul] *********************************************************************changed: [10.10.10.10]TASK [consul : Consul exists flag fact set] **********************************************************ok: [10.10.10.10]TASK [Abort due to existing consul instance] *********************************************************skipping: [10.10.10.10]TASK [Clean existing consul instance] ****************************************************************skipping: [10.10.10.10]TASK [Stop any running consul instance] **************************************************************changed: [10.10.10.10]TASK [Make sure consul is installed] *****************************************************************ok: [10.10.10.10]TASK [Create consul dir] *****************************************************************************changed: [10.10.10.10] => (item=/etc/consul.d)changed: [10.10.10.10] => (item=/data/consul)TASK [consul : Fetch hostname from server if no node name is given] **********************************skipping: [10.10.10.10]TASK [consul : Setup nodename according to hostname] *************************************************skipping: [10.10.10.10]TASK [Make sure consul hcl absent] *******************************************************************ok: [10.10.10.10]TASK [Render consul main conf /etc/consul.d/consul.json] *********************************************changed: [10.10.10.10]TASK [Render consul node meta /etc/consul.d/consul-meta.json] ****************************************changed: [10.10.10.10]TASK [Get consul bootstrap expect quroum] ************************************************************ok: [10.10.10.10]TASK [Render consul server /etc/consul.d/consul-server.json] *****************************************changed: [10.10.10.10]TASK [Render consul ui conf /etc/consul.d/consul-server.json] ****************************************changed: [10.10.10.10]TASK [Copy consul systemd service] *******************************************************************changed: [10.10.10.10]TASK [Launch consul server service] ******************************************************************changed: [10.10.10.10]TASK [Wait for consul server online] *****************************************************************ok: [10.10.10.10]TASK [Launch consul agent service] *******************************************************************skipping: [10.10.10.10]TASK [Wait for consul agent online] ******************************************************************skipping: [10.10.10.10]TASK [Check for existing etcd] ***********************************************************************changed: [10.10.10.10]TASK [etcd : Etcd exists flag fact set] **************************************************************ok: [10.10.10.10]TASK [Abort due to etcd exists] **********************************************************************skipping: [10.10.10.10]TASK [Clean existing etcd instance] ******************************************************************skipping: [10.10.10.10]TASK [Stop any running etcd instance] ****************************************************************changed: [10.10.10.10]TASK [Create etcd dir] *******************************************************************************changed: [10.10.10.10] => (item=/etc/etcd)changed: [10.10.10.10] => (item=/data/etcd)TASK [etcd : Get dcs server key as dcs nodename] *****************************************************ok: [10.10.10.10]TASK [Copy etcd server service unit] *****************************************************************changed: [10.10.10.10]TASK [Copy /etc/etcd.d/etcd.conf] ********************************************************************changed: [10.10.10.10]TASK [Launch etcd server service] ********************************************************************changed: [10.10.10.10]TASK [Wait for etcd server online] *******************************************************************ok: [10.10.10.10]TASK [Write etcd endpoint env profile] ***************************************************************changed: [10.10.10.10]PLAY [Setup Infrastructure on meta nodes] ************************************************************TASK [Create local ca directory] *********************************************************************changed: [10.10.10.10]TASK [Copy ca cert from local files] *****************************************************************skipping: [10.10.10.10] => (item=ca.key)skipping: [10.10.10.10] => (item=ca.crt)TASK [Check ca key cert exists] **********************************************************************ok: [10.10.10.10]TASK [ca : Create self-signed CA key-cert] ***********************************************************changed: [10.10.10.10]TASK [nameserver : Make sure dnsmasq package installed] **********************************************ok: [10.10.10.10]TASK [nameserver : Copy dnsmasq /etc/dnsmasq.d/config] ***********************************************changed: [10.10.10.10]TASK [nameserver : Add dynamic dns records to meta] **************************************************changed: [10.10.10.10] => (item=10.10.10.2 pg-meta)changed: [10.10.10.10] => (item=10.10.10.3 pg-test)changed: [10.10.10.10] => (item=10.10.10.10 pg-meta-1)changed: [10.10.10.10] => (item=10.10.10.11 pg-test-1)changed: [10.10.10.10] => (item=10.10.10.12 pg-test-2)changed: [10.10.10.10] => (item=10.10.10.13 pg-test-3)TASK [nameserver : Launch meta dnsmasq service] ******************************************************skipping: [10.10.10.10]TASK [nameserver : Wait for meta dnsmasq online] *****************************************************skipping: [10.10.10.10]TASK [Make sure nginx installed] *********************************************************************ok: [10.10.10.10]TASK [nginx : Create local html directory] ***********************************************************ok: [10.10.10.10] => (item=/www)changed: [10.10.10.10] => (item=/www/pev2)changed: [10.10.10.10] => (item=/www/docs)changed: [10.10.10.10] => (item=/www/logs)changed: [10.10.10.10] => (item=/www/schema)changed: [10.10.10.10] => (item=/www/report)TASK [nginx : Copy pigsty logo file] *****************************************************************changed: [10.10.10.10]TASK [Render default nginx home page] ****************************************************************changed: [10.10.10.10]TASK [Create nginx haproxy config dir] ***************************************************************changed: [10.10.10.10]TASK [Copy nginx main config] ************************************************************************changed: [10.10.10.10]TASK [Copy nginx default config] *********************************************************************changed: [10.10.10.10]TASK [Copy nginx upstream conf] **********************************************************************skipping: [10.10.10.10] => (item={u'domain': u'pigsty', u'endpoint': u'10.10.10.10:80', u'name': u'home'})changed: [10.10.10.10] => (item={u'domain': u'g.pigsty', u'endpoint': u'10.10.10.10:3000', u'name': u'grafana'})changed: [10.10.10.10] => (item={u'domain': u'l.pigsty', u'endpoint': u'10.10.10.10:3100', u'name': u'loki'})changed: [10.10.10.10] => (item={u'domain': u'p.pigsty', u'endpoint': u'10.10.10.10:9090', u'name': u'prometheus'})changed: [10.10.10.10] => (item={u'domain': u'a.pigsty', u'endpoint': u'10.10.10.10:9093', u'name': u'alertmanager'})changed: [10.10.10.10] => (item={u'domain': u'c.pigsty', u'endpoint': u'127.0.0.1:8500', u'name': u'consul'})changed: [10.10.10.10] => (item={u'domain': u'api.pigsty.cc', u'endpoint': u'127.0.0.1:8884', u'name': u'postgrest'})changed: [10.10.10.10] => (item={u'domain': u'adm.pigsty.cc', u'endpoint': u'127.0.0.1:8885', u'name': u'pgadmin'})changed: [10.10.10.10] => (item={u'domain': u'cli.pigsty.cc', u'endpoint': u'127.0.0.1:8886', u'name': u'pgweb'})changed: [10.10.10.10] => (item={u'domain': u'ddl.pigsty.cc', u'endpoint': u'127.0.0.1:8887', u'name': u'bytebase'})changed: [10.10.10.10] => (item={u'domain': u'lab.pigsty.cc', u'endpoint': u'127.0.0.1:8888', u'name': u'jupyter'})changed: [10.10.10.10] => (item={u'domain': u'git.pigsty.cc', u'endpoint': u'127.0.0.1:8889', u'name': u'gitea'})changed: [10.10.10.10] => (item={u'domain': u'sss.pigsty.cc', u'endpoint': u'127.0.0.1:9000', u'name': u'minio'})TASK [nginx : Setup docs if exists] ******************************************************************changed: [10.10.10.10]TASK [nginx : Setup pev2 if exists] ******************************************************************changed: [10.10.10.10]TASK [Restart meta nginx service] ********************************************************************changed: [10.10.10.10]TASK [Wait for nginx service online] *****************************************************************ok: [10.10.10.10]TASK [Make sure nginx exporter installed] ************************************************************ok: [10.10.10.10]TASK [Config nginx_exporter options] *****************************************************************changed: [10.10.10.10]TASK [Restart nginx_exporter service] ****************************************************************changed: [10.10.10.10]TASK [Wait for nginx exporter online] ****************************************************************ok: [10.10.10.10]TASK [Install prometheus and alertmanager] ***********************************************************ok: [10.10.10.10] => (item=prometheus2)ok: [10.10.10.10] => (item=alertmanager)TASK [Wipe out prometheus config dir] ****************************************************************changed: [10.10.10.10]TASK [Wipe out existing prometheus data] *************************************************************ok: [10.10.10.10]TASK [Create prometheus directories] *****************************************************************changed: [10.10.10.10] => (item=/etc/prometheus)changed: [10.10.10.10] => (item=/etc/prometheus/bin)changed: [10.10.10.10] => (item=/etc/prometheus/rules)changed: [10.10.10.10] => (item=/etc/prometheus/targets)changed: [10.10.10.10] => (item=/etc/prometheus/targets/infra)changed: [10.10.10.10] => (item=/etc/prometheus/targets/nodes)changed: [10.10.10.10] => (item=/etc/prometheus/targets/pgsql)changed: [10.10.10.10] => (item=/etc/prometheus/targets/redis)changed: [10.10.10.10] => (item=/data/prometheus/data)TASK [Copy prometheus bin scripts] *******************************************************************changed: [10.10.10.10]TASK [Copy prometheus rules] *************************************************************************changed: [10.10.10.10]TASK [Render prometheus config] **********************************************************************changed: [10.10.10.10]TASK [prometheus : Render altermanager config] *******************************************************changed: [10.10.10.10]TASK [Config /etc/prometheus opts] *******************************************************************changed: [10.10.10.10]TASK [Launch prometheus service] *********************************************************************changed: [10.10.10.10]TASK [Wait for prometheus online] ********************************************************************ok: [10.10.10.10]TASK [prometheus : Launch alertmanager service] ******************************************************changed: [10.10.10.10]TASK [prometheus : Wait for alertmanager online] *****************************************************ok: [10.10.10.10]TASK [Reload prometheus service] *********************************************************************changed: [10.10.10.10]TASK [Make sure grafana installed] *******************************************************************ok: [10.10.10.10]TASK [Stop grafana service] **************************************************************************changed: [10.10.10.10]TASK [Check grafana plugin cache exists] *************************************************************ok: [10.10.10.10]TASK [Provision grafana plugins via cache if exists] *************************************************changed: [10.10.10.10]TASK [Download grafana plugins via internet] *********************************************************skipping: [10.10.10.10] => (item=marcusolsson-csv-datasource)skipping: [10.10.10.10] => (item=marcusolsson-json-datasource)skipping: [10.10.10.10] => (item=marcusolsson-treemap-panel)TASK [Download grafana plugins via git] **************************************************************skipping: [10.10.10.10] => (item=https://github.com/Vonng/vonng-echarts-panel)TASK [Remove grafana provisioning config] ************************************************************ok: [10.10.10.10] => (item=/etc/grafana/provisioning/dashboards/pigsty.yml)ok: [10.10.10.10] => (item=/etc/grafana/provisioning/datasources/pigsty.yml)TASK [Remake grafana resource dir] *******************************************************************changed: [10.10.10.10] => (item=/etc/grafana/)changed: [10.10.10.10] => (item=/etc/dashboards)changed: [10.10.10.10] => (item=/etc/grafana/provisioning/dashboards)changed: [10.10.10.10] => (item=/etc/grafana/provisioning/datasources)TASK [Copy grafana systemd service] ******************************************************************changed: [10.10.10.10]TASK [Templating /etc/grafana/grafana.ini] ***********************************************************changed: [10.10.10.10]TASK [grafana : Templating datasources provisioning config] ******************************************changed: [10.10.10.10]TASK [grafana : Templating dashboards provisioning config] *******************************************changed: [10.10.10.10]TASK [Customize grafana logo icon] *******************************************************************changed: [10.10.10.10]TASK [Launch grafana service] ************************************************************************changed: [10.10.10.10]TASK [Wait for grafana online] ***********************************************************************ok: [10.10.10.10]TASK [Sync grafana home and core dashboards] *********************************************************changed: [10.10.10.10]TASK [Provisioning grafana with grafana.py] **********************************************************changed: [10.10.10.10]TASK [Install loki via yum] **************************************************************************ok: [10.10.10.10]TASK [Cleanup loki] **********************************************************************************skipping: [10.10.10.10]TASK [Make sure loki data & rule dir exists] *********************************************************changed: [10.10.10.10]TASK [Copy loki systemd service] *********************************************************************ok: [10.10.10.10]TASK [Templating loki.yml main config] ***************************************************************changed: [10.10.10.10]TASK [Render loki default config] ********************************************************************changed: [10.10.10.10]TASK [loki : Launch Loki] ****************************************************************************changed: [10.10.10.10]TASK [Wait for loki online] **************************************************************************ok: [10.10.10.10]TASK [infra_register : Register nginx service to consul] *********************************************changed: [10.10.10.10]TASK [infra_register : Register nginx-exporter service to consul] ************************************changed: [10.10.10.10]TASK [infra_register : Register prometheus service to consul] ****************************************changed: [10.10.10.10]TASK [infra_register : Register alertmanager service to consul] **************************************changed: [10.10.10.10]TASK [infra_register : Register grafana service to consul] *******************************************changed: [10.10.10.10]TASK [infra_register : Register loki service to consul] **********************************************changed: [10.10.10.10]TASK [infra_register : Register dnsmasq service to consul] *******************************************skipping: [10.10.10.10]TASK [infra_register : Reload consul] ****************************************************************changed: [10.10.10.10]TASK [infra_register : Render infra file-sd targets targets for prometheus] **************************changed: [10.10.10.10 -> 10.10.10.10] => (item=10.10.10.10)PLAY [Meta Node Monitor] *****************************************************************************TASK [Add yum repo for node_exporter] ****************************************************************skipping: [10.10.10.10]TASK [Install node_exporter via yum] *****************************************************************skipping: [10.10.10.10]TASK [Install node_exporter via binary] **************************************************************skipping: [10.10.10.10]TASK [Config node_exporter systemd unit] *************************************************************changed: [10.10.10.10]TASK [Config default node_exporter options] **********************************************************changed: [10.10.10.10]TASK [Launch node_exporter systemd unit] *************************************************************changed: [10.10.10.10]TASK [Wait for node_exporter online] *****************************************************************ok: [10.10.10.10]TASK [Install promtail via yum] **********************************************************************ok: [10.10.10.10]TASK [Cleanup promtail positions] ********************************************************************skipping: [10.10.10.10]TASK [Copy promtail systemd service] *****************************************************************ok: [10.10.10.10]TASK [promtail : Fetch hostname from server if no node name is given] ********************************skipping: [10.10.10.10]TASK [promtail : Setup nodename according to hostname] ***********************************************skipping: [10.10.10.10]TASK [Render promtail main config] *******************************************************************changed: [10.10.10.10]TASK [Render promtail default config] ****************************************************************changed: [10.10.10.10]TASK [Launch promtail] *******************************************************************************changed: [10.10.10.10]TASK [Wait for promtail online] **********************************************************************ok: [10.10.10.10]TASK [node_register : Fetch hostname from server if no node name is given] ***************************skipping: [10.10.10.10]TASK [node_register : Setup nodename according to hostname] ******************************************skipping: [10.10.10.10]TASK [node_register : Register docker service to consul] *********************************************changed: [10.10.10.10]TASK [node_register : Register node-exporter service to consul] **************************************changed: [10.10.10.10]TASK [node_register : Register promtail service to consul] *******************************************changed: [10.10.10.10]TASK [node_register : Reload consul] *****************************************************************changed: [10.10.10.10]TASK [node_register : Fetch hostname from server if no node name is given] ***************************skipping: [10.10.10.10]TASK [node_register : Setup nodename according to hostname] ******************************************skipping: [10.10.10.10]TASK [node_register : Register node exporter as prometheus target] ***********************************changed: [10.10.10.10 -> 10.10.10.10] => (item=10.10.10.10)PLAY [Meta PGSQL Init] *******************************************************************************TASK [Create os group postgres] **********************************************************************changed: [10.10.10.10]TASK [postgres : Make sure dcs group exists] *********************************************************ok: [10.10.10.10] => (item=consul)ok: [10.10.10.10] => (item=etcd)TASK [Create dbsu postgres] **************************************************************************changed: [10.10.10.10]TASK [postgres : Grant dbsu nopass sudo] *************************************************************skipping: [10.10.10.10]TASK [postgres : Grant dbsu all sudo] ****************************************************************skipping: [10.10.10.10]TASK [postgres : Grant dbsu limited sudo] ************************************************************changed: [10.10.10.10]TASK [postgres : Config watchdog onwer to dbsu] ******************************************************changed: [10.10.10.10]TASK [postgres : Add dbsu ssh no host checking] ******************************************************changed: [10.10.10.10]TASK [postgres : Fetch dbsu public keys] *************************************************************changed: [10.10.10.10]TASK [postgres : Exchange dbsu ssh keys] *************************************************************changed: [10.10.10.10 -> 10.10.10.10] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTnoEpVwp2k88FlqB16plsoYpvXVv9BIPajheil8DGMsgir/IHYT9pQhhLrKfStV9zZiLu96oCjTqHQdzKt04gbEcT/kD4kdnVrpbA/Z7CcoDlahHDEcRZoVPTL0Ba+TNKc9UslDm3JxgxLFr2KDigC0AoG8xzGGdHSxsPdlDz59/n+7WWJRuE5jicPIwVy70KNaSdlYfYnqlnWHhAwNXROsLoKiTBoYsxIRuuQfWEZsUmxDhwJ3ESUUgEE+F5B7R2/wh/UBcBZRfDpc4OzNkZKLiQz3UJ+P6FkQJD5Uy1ZfoPdF8cVFNoPSBpN3KJ0jXiEe6cNBbstsGkCmd6DxFD ansible-generated on pg-meta-1', u'10.10.10.10'])TASK [postgres : Install offical pgdg yum repo] ******************************************************skipping: [10.10.10.10] => (item=postgresql${pg_version}*)skipping: [10.10.10.10] => (item=postgis32_${pg_version}*)skipping: [10.10.10.10] => (item=citus_${pg_version}*)skipping: [10.10.10.10] => (item=timescaledb-2-postgresql-${pg_version})skipping: [10.10.10.10] => (item=pgbouncer pg_exporter pgbadger pg_activity node_exporter consul haproxy vip-manager)skipping: [10.10.10.10] => (item=patroni patroni-consul patroni-etcd python3 python3-psycopg2 python36-requests python3-etcd)skipping: [10.10.10.10] => (item=python3-consul python36-urllib3 python36-idna python36-pyOpenSSL python36-cryptography)TASK [postgres : Install pg packages] ****************************************************************changed: [10.10.10.10] => (item=[u'postgresql14*', u'postgis32_14*', u'citus_14*', u'timescaledb-2-postgresql-14', u'pgbouncer,pg_exporter,pgbadger,pg_activity,node_exporter,consul,haproxy,vip-manager', u'patroni,patroni-consul,patroni-etcd,python3,python3-psycopg2,python36-requests,python3-etcd', u'python3-consul,python36-urllib3,python36-idna,python36-pyOpenSSL,python36-cryptography'])TASK [postgres : Install pg extensions] **************************************************************changed: [10.10.10.10] => (item=[u'pg_repack_14,pg_qualstats_14,pg_stat_kcache_14,pg_stat_monitor_14,wal2json_14'])TASK [postgres : Link /usr/pgsql to current version] *************************************************changed: [10.10.10.10]TASK [postgres : Add pg bin dir to profile path] *****************************************************changed: [10.10.10.10]TASK [postgres : Fix directory ownership] ************************************************************ok: [10.10.10.10]TASK [Remove default postgres service] ***************************************************************changed: [10.10.10.10]TASK [postgres : Check necessary variables exists] ***************************************************ok: [10.10.10.10] => {"changed": false,"msg": "All assertions passed"}TASK [postgres : Fetch variables via pg_cluster] *****************************************************ok: [10.10.10.10]TASK [postgres : Set cluster basic facts for hosts] **************************************************ok: [10.10.10.10]TASK [postgres : Assert cluster primary singleton] ***************************************************ok: [10.10.10.10] => {"changed": false,"msg": "All assertions passed"}TASK [postgres : Setup cluster primary ip address] ***************************************************ok: [10.10.10.10]TASK [postgres : Setup repl upstream for primary] ****************************************************skipping: [10.10.10.10]TASK [postgres : Setup repl upstream for replicas] ***************************************************skipping: [10.10.10.10]TASK [postgres : Debug print instance summary] *******************************************************ok: [10.10.10.10] => {"msg": "cluster=pg-meta service=pg-meta-primary instance=pg-meta-1 replication=[primary:itself]->10.10.10.10"}TASK [Check for existing postgres instance] **********************************************************changed: [10.10.10.10]TASK [postgres : Set fact whether pg port is open] ***************************************************ok: [10.10.10.10]TASK [Abort due to existing postgres instance] *******************************************************skipping: [10.10.10.10]TASK [postgres : CLEAN RUNNING POSTGRESQL INSTANCE <DANGEROUSE!>] ************************************skipping: [10.10.10.10]TASK [Shutdown existing postgres service] ************************************************************changed: [10.10.10.10]TASK [postgres : Remove registerd consul service] ****************************************************changed: [10.10.10.10]TASK [Remove postgres metadata in consul] ************************************************************changed: [10.10.10.10]TASK [Remove postgres metadata in etcd] **************************************************************skipping: [10.10.10.10]TASK [Remove existing postgres data] *****************************************************************ok: [10.10.10.10] => (item=/pg)ok: [10.10.10.10] => (item=/data/postgres)ok: [10.10.10.10] => (item=/data/backups/postgres)changed: [10.10.10.10] => (item=/etc/pgbouncer)changed: [10.10.10.10] => (item=/var/log/pgbouncer)changed: [10.10.10.10] => (item=/var/run/pgbouncer)TASK [postgres : Make sure main and backup dir exists] ***********************************************ok: [10.10.10.10] => (item=/data)changed: [10.10.10.10] => (item=/data/backups)TASK [Create postgres directory structure] ***********************************************************changed: [10.10.10.10] => (item=/data/postgres)changed: [10.10.10.10] => (item=/data/postgres/pg-meta-14)changed: [10.10.10.10] => (item=/data/postgres/pg-meta-14/bin)changed: [10.10.10.10] => (item=/data/postgres/pg-meta-14/log)changed: [10.10.10.10] => (item=/data/postgres/pg-meta-14/tmp)changed: [10.10.10.10] => (item=/data/postgres/pg-meta-14/conf)changed: [10.10.10.10] => (item=/data/postgres/pg-meta-14/data)changed: [10.10.10.10] => (item=/data/postgres/pg-meta-14/meta)changed: [10.10.10.10] => (item=/data/postgres/pg-meta-14/stat)changed: [10.10.10.10] => (item=/data/postgres/pg-meta-14/change)changed: [10.10.10.10] => (item=/data/backups/postgres/pg-meta-14/postgres)changed: [10.10.10.10] => (item=/data/backups/postgres/pg-meta-14/arcwal)changed: [10.10.10.10] => (item=/data/backups/postgres/pg-meta-14/backup)changed: [10.10.10.10] => (item=/data/backups/postgres/pg-meta-14/remote)TASK [postgres : Create pgbouncer directory structure] ***********************************************changed: [10.10.10.10] => (item=/etc/pgbouncer)changed: [10.10.10.10] => (item=/var/log/pgbouncer)changed: [10.10.10.10] => (item=/var/run/pgbouncer)TASK [postgres : Create links from pgbkup to pgroot] *************************************************changed: [10.10.10.10] => (item=arcwal)changed: [10.10.10.10] => (item=backup)changed: [10.10.10.10] => (item=remote)TASK [postgres : Create links from current cluster] **************************************************changed: [10.10.10.10]TASK [postgres : Create dummy placeholder file] ******************************************************changed: [10.10.10.10]TASK [Copy postgres scripts to /pg/bin/] *************************************************************changed: [10.10.10.10]TASK [postgres : Copy alias profile to /etc/profile.d] ***********************************************changed: [10.10.10.10]TASK [Copy psqlrc to postgres home] ******************************************************************changed: [10.10.10.10]TASK [postgres : Get config parameter page count] ****************************************************changed: [10.10.10.10]TASK [postgres : Get config parameter page size] *****************************************************changed: [10.10.10.10]TASK [postgres : Tune shared buffer and work mem] ****************************************************ok: [10.10.10.10]TASK [postgres : Hanlde small size mem occasion] *****************************************************ok: [10.10.10.10]TASK [Calculate postgres mem params] *****************************************************************skipping: [10.10.10.10]TASK [postgres : create patroni config dir] **********************************************************changed: [10.10.10.10]TASK [postgres : use predefined patroni template] ****************************************************skipping: [10.10.10.10]TASK [postgres : Render default /pg/conf/patroni.yml] ************************************************changed: [10.10.10.10]TASK [postgres : Link /pg/conf/patroni to /pg/bin/] **************************************************changed: [10.10.10.10]TASK [postgres : Link /pg/bin/patroni.yml to /etc/patroni/] ******************************************changed: [10.10.10.10]TASK [postgres : Config patroni watchdog support] ****************************************************ok: [10.10.10.10]TASK [postgres : Copy patroni systemd service file] **************************************************changed: [10.10.10.10]TASK [postgres : create patroni systemd drop-in dir] *************************************************changed: [10.10.10.10]TASK [Copy postgres systemd service file] ************************************************************changed: [10.10.10.10]TASK [postgres : Drop-In systemd config for patroni] *************************************************changed: [10.10.10.10]TASK [postgres : Launch patroni on primary instance] *************************************************changed: [10.10.10.10]TASK [postgres : Wait for patroni primary online] ****************************************************ok: [10.10.10.10]TASK [Wait for postgres primary online] **************************************************************ok: [10.10.10.10]TASK [Check primary postgres service ready] **********************************************************[WARNING]: Module remote_tmp /var/lib/pgsql/.ansible/tmp did not exist and was created with a mode of0700, this may cause issues when running as another user. To avoid this, create the remote_tmp dirwith the correct permissions manuallychanged: [10.10.10.10]TASK [postgres : Check replication connectivity on primary] ******************************************changed: [10.10.10.10]TASK [postgres : Render init roles sql] **************************************************************changed: [10.10.10.10]TASK [postgres : Render init template sql] ***********************************************************changed: [10.10.10.10]TASK [postgres : Render default pg-init scripts] *****************************************************changed: [10.10.10.10]TASK [postgres : Execute initialization scripts] *****************************************************changed: [10.10.10.10]TASK [postgres : Check primary instance ready] *******************************************************changed: [10.10.10.10]TASK [postgres : Add dbsu password to pgpass if exists] **********************************************skipping: [10.10.10.10]TASK [postgres : Add system user to pgpass] **********************************************************changed: [10.10.10.10] => (item={u'username': u'replicator', u'password': u'DBUser.Replicator'})changed: [10.10.10.10] => (item={u'username': u'dbuser_monitor', u'password': u'DBUser.Monitor'})changed: [10.10.10.10] => (item={u'username': u'dbuser_dba', u'password': u'DBUser.DBA'})TASK [postgres : Check replication connectivity to primary] ******************************************skipping: [10.10.10.10]TASK [postgres : Launch patroni on replica instances] ************************************************skipping: [10.10.10.10]TASK [postgres : Wait for patroni replica online] ****************************************************skipping: [10.10.10.10]TASK [Wait for postgres replica online] **************************************************************skipping: [10.10.10.10]TASK [Check replica postgres service ready] **********************************************************skipping: [10.10.10.10]TASK [postgres : Render hba rules] *******************************************************************changed: [10.10.10.10]TASK [postgres : Reload hba rules] *******************************************************************changed: [10.10.10.10]TASK [postgres : Reload patroni] *********************************************************************changed: [10.10.10.10]TASK [postgres : Pause patroni] **********************************************************************skipping: [10.10.10.10]TASK [postgres : Stop patroni on replica instance] ***************************************************skipping: [10.10.10.10]TASK [postgres : Stop patroni on primary instance] ***************************************************skipping: [10.10.10.10]TASK [Launch raw postgres on primary] ****************************************************************skipping: [10.10.10.10]TASK [Launch raw postgres on replicas] ***************************************************************skipping: [10.10.10.10]TASK [Wait for postgres online] **********************************************************************skipping: [10.10.10.10]TASK [postgres : Check pgbouncer is installed] *******************************************************changed: [10.10.10.10]TASK [postgres : Stop existing pgbouncer service] ****************************************************ok: [10.10.10.10]TASK [postgres : Remove existing pgbouncer dirs] *****************************************************changed: [10.10.10.10] => (item=/etc/pgbouncer)changed: [10.10.10.10] => (item=/var/log/pgbouncer)changed: [10.10.10.10] => (item=/var/run/pgbouncer)TASK [Recreate dirs with owner postgres] *************************************************************changed: [10.10.10.10] => (item=/etc/pgbouncer)changed: [10.10.10.10] => (item=/var/log/pgbouncer)changed: [10.10.10.10] => (item=/var/run/pgbouncer)TASK [postgres : Copy /etc/pgbouncer/pgbouncer.ini] **************************************************changed: [10.10.10.10]TASK [postgres : Copy /etc/pgbouncer/pgb_hba.conf] ***************************************************changed: [10.10.10.10]TASK [postgres : Touch userlist and database list] ***************************************************changed: [10.10.10.10] => (item=database.txt)changed: [10.10.10.10] => (item=userlist.txt)TASK [postgres : Add default users to pgbouncer] *****************************************************changed: [10.10.10.10]TASK [postgres : Init pgbouncer business database list] **********************************************changed: [10.10.10.10] => (item={u'comment': u'pigsty meta database', u'schemas': [u'pigsty'], u'extensions': [{u'name': u'adminpack', u'schema': u'pg_catalog'}, {u'name': u'postgis', u'schema': u'public'}, {u'name': u'timescaledb'}], u'baseline': u'cmdb.sql', u'name': u'meta'})changed: [10.10.10.10] => (item={u'owner': u'dbuser_grafana', u'comment': u'grafana primary database', u'name': u'grafana', u'revokeconn': True})changed: [10.10.10.10] => (item={u'owner': u'dbuser_bytebase', u'comment': u'bytebase primary database', u'name': u'bytebase', u'revokeconn': True})changed: [10.10.10.10] => (item={u'owner': u'dbuser_kong', u'comment': u'kong the api gateway database', u'name': u'kong', u'revokeconn': True})changed: [10.10.10.10] => (item={u'owner': u'dbuser_gitea', u'comment': u'gitea meta database', u'name': u'gitea', u'revokeconn': True})TASK [postgres : Init pgbouncer business user list] **************************************************changed: [10.10.10.10] => (item={u'comment': u'pigsty cmdb admin user', u'roles': [u'dbrole_admin'], u'password': u'DBUser.Meta', u'name': u'dbuser_meta', u'pgbouncer': True})changed: [10.10.10.10] => (item={u'comment': u'read-only viewer for meta database', u'roles': [u'dbrole_readonly'], u'password': u'DBUser.Viewer', u'name': u'dbuser_view', u'pgbouncer': True})changed: [10.10.10.10] => (item={u'comment': u'admin user for grafana database', u'roles': [u'dbrole_admin'], u'password': u'DBUser.Grafana', u'name': u'dbuser_grafana', u'pgbouncer': True})changed: [10.10.10.10] => (item={u'comment': u'admin user for bytebase database', u'roles': [u'dbrole_admin'], u'password': u'DBUser.Bytebase', u'name': u'dbuser_bytebase', u'pgbouncer': True})changed: [10.10.10.10] => (item={u'comment': u'admin user for kong api gateway', u'roles': [u'dbrole_admin'], u'password': u'DBUser.Kong', u'name': u'dbuser_kong', u'pgbouncer': True})changed: [10.10.10.10] => (item={u'comment': u'admin user for gitea service', u'roles': [u'dbrole_admin'], u'password': u'DBUser.Gitea', u'name': u'dbuser_gitea', u'pgbouncer': True})TASK [postgres : Copy pgbouncer systemd service] *****************************************************changed: [10.10.10.10]TASK [postgres : Launch pgbouncer pool service] ******************************************************changed: [10.10.10.10]TASK [postgres : Wait for pgbouncer service online] **************************************************ok: [10.10.10.10]TASK [postgres : Check pgbouncer service is ready] ***************************************************changed: [10.10.10.10]TASK [postgres : include_tasks] **********************************************************************included: /home/vagrant/pigsty/roles/postgres/tasks/createuser.yml for 10.10.10.10included: /home/vagrant/pigsty/roles/postgres/tasks/createuser.yml for 10.10.10.10included: /home/vagrant/pigsty/roles/postgres/tasks/createuser.yml for 10.10.10.10included: /home/vagrant/pigsty/roles/postgres/tasks/createuser.yml for 10.10.10.10included: /home/vagrant/pigsty/roles/postgres/tasks/createuser.yml for 10.10.10.10included: /home/vagrant/pigsty/roles/postgres/tasks/createuser.yml for 10.10.10.10TASK [postgres : Render user dbuser_meta creation sql] ***********************************************changed: [10.10.10.10]TASK [postgres : Execute user dbuser_meta creation sql on primary] ***********************************changed: [10.10.10.10]TASK [postgres : Add business user to pgbouncer] *****************************************************changed: [10.10.10.10]TASK [postgres : Render user dbuser_view creation sql] ***********************************************changed: [10.10.10.10]TASK [postgres : Execute user dbuser_view creation sql on primary] ***********************************changed: [10.10.10.10]TASK [postgres : Add business user to pgbouncer] *****************************************************changed: [10.10.10.10]TASK [postgres : Render user dbuser_grafana creation sql] ********************************************changed: [10.10.10.10]TASK [postgres : Execute user dbuser_grafana creation sql on primary] ********************************changed: [10.10.10.10]TASK [postgres : Add business user to pgbouncer] *****************************************************changed: [10.10.10.10]TASK [postgres : Render user dbuser_bytebase creation sql] *******************************************changed: [10.10.10.10]TASK [postgres : Execute user dbuser_bytebase creation sql on primary] *******************************changed: [10.10.10.10]TASK [postgres : Add business user to pgbouncer] *****************************************************changed: [10.10.10.10]TASK [postgres : Render user dbuser_kong creation sql] ***********************************************changed: [10.10.10.10]TASK [postgres : Execute user dbuser_kong creation sql on primary] ***********************************changed: [10.10.10.10]TASK [postgres : Add business user to pgbouncer] *****************************************************changed: [10.10.10.10]TASK [postgres : Render user dbuser_gitea creation sql] **********************************************changed: [10.10.10.10]TASK [postgres : Execute user dbuser_gitea creation sql on primary] **********************************changed: [10.10.10.10]TASK [postgres : Add business user to pgbouncer] *****************************************************changed: [10.10.10.10]TASK [postgres : include_tasks] **********************************************************************included: /home/vagrant/pigsty/roles/postgres/tasks/createdb.yml for 10.10.10.10included: /home/vagrant/pigsty/roles/postgres/tasks/createdb.yml for 10.10.10.10included: /home/vagrant/pigsty/roles/postgres/tasks/createdb.yml for 10.10.10.10included: /home/vagrant/pigsty/roles/postgres/tasks/createdb.yml for 10.10.10.10included: /home/vagrant/pigsty/roles/postgres/tasks/createdb.yml for 10.10.10.10TASK [postgres : debug] ******************************************************************************ok: [10.10.10.10] => {"msg": {"baseline": "cmdb.sql","comment": "pigsty meta database","extensions": [{"name": "adminpack","schema": "pg_catalog"},{"name": "postgis","schema": "public"},{"name": "timescaledb"}],"name": "meta","schemas": ["pigsty"]}}TASK [postgres : Render database meta creation sql] **************************************************changed: [10.10.10.10]TASK [postgres : Render database meta baseline sql] **************************************************changed: [10.10.10.10]TASK [postgres : Execute database meta creation command] *********************************************changed: [10.10.10.10]TASK [postgres : Execute database meta creation sql] *************************************************changed: [10.10.10.10]TASK [postgres : Execute database meta baseline sql] *************************************************changed: [10.10.10.10]TASK [postgres : Add biz database to pgbouncer] ******************************************************changed: [10.10.10.10]TASK [postgres : debug] ******************************************************************************ok: [10.10.10.10] => {"msg": {"comment": "grafana primary database","name": "grafana","owner": "dbuser_grafana","revokeconn": true}}TASK [postgres : Render database grafana creation sql] ***********************************************changed: [10.10.10.10]TASK [postgres : Render database grafana baseline sql] ***********************************************skipping: [10.10.10.10]TASK [postgres : Execute database grafana creation command] ******************************************changed: [10.10.10.10]TASK [postgres : Execute database grafana creation sql] **********************************************changed: [10.10.10.10]TASK [postgres : Execute database grafana baseline sql] **********************************************skipping: [10.10.10.10]TASK [postgres : Add biz database to pgbouncer] ******************************************************changed: [10.10.10.10]TASK [postgres : debug] ******************************************************************************ok: [10.10.10.10] => {"msg": {"comment": "bytebase primary database","name": "bytebase","owner": "dbuser_bytebase","revokeconn": true}}TASK [postgres : Render database bytebase creation sql] **********************************************changed: [10.10.10.10]TASK [postgres : Render database bytebase baseline sql] **********************************************skipping: [10.10.10.10]TASK [postgres : Execute database bytebase creation command] *****************************************changed: [10.10.10.10]TASK [postgres : Execute database bytebase creation sql] *********************************************changed: [10.10.10.10]TASK [postgres : Execute database bytebase baseline sql] *********************************************skipping: [10.10.10.10]TASK [postgres : Add biz database to pgbouncer] ******************************************************changed: [10.10.10.10]TASK [postgres : debug] ******************************************************************************ok: [10.10.10.10] => {"msg": {"comment": "kong the api gateway database","name": "kong","owner": "dbuser_kong","revokeconn": true}}TASK [postgres : Render database kong creation sql] **************************************************changed: [10.10.10.10]TASK [postgres : Render database kong baseline sql] **************************************************skipping: [10.10.10.10]TASK [postgres : Execute database kong creation command] *********************************************changed: [10.10.10.10]TASK [postgres : Execute database kong creation sql] *************************************************changed: [10.10.10.10]TASK [postgres : Execute database kong baseline sql] *************************************************skipping: [10.10.10.10]TASK [postgres : Add biz database to pgbouncer] ******************************************************changed: [10.10.10.10]TASK [postgres : debug] ******************************************************************************ok: [10.10.10.10] => {"msg": {"comment": "gitea meta database","name": "gitea","owner": "dbuser_gitea","revokeconn": true}}TASK [postgres : Render database gitea creation sql] *************************************************changed: [10.10.10.10]TASK [postgres : Render database gitea baseline sql] *************************************************skipping: [10.10.10.10]TASK [postgres : Execute database gitea creation command] ********************************************changed: [10.10.10.10]TASK [postgres : Execute database gitea creation sql] ************************************************changed: [10.10.10.10]TASK [postgres : Execute database gitea baseline sql] ************************************************skipping: [10.10.10.10]TASK [postgres : Add biz database to pgbouncer] ******************************************************changed: [10.10.10.10]TASK [postgres : Reload pgbouncer to add db and users] ***********************************************changed: [10.10.10.10]TASK [service : Make sure haproxy is installed] ******************************************************ok: [10.10.10.10]TASK [service : Create haproxy config directory] *****************************************************ok: [10.10.10.10]TASK [service : Create haproxy environment file] *****************************************************changed: [10.10.10.10]TASK [Copy haproxy systemd service file] *************************************************************changed: [10.10.10.10]TASK [service : Fetch postgres cluster memberships] **************************************************ok: [10.10.10.10]TASK [service : Templating /etc/haproxy/haproxy.cfg] *************************************************changed: [10.10.10.10]TASK [service : Reload Haproxy] **********************************************************************changed: [10.10.10.10]TASK [Launch haproxy load balancer service] **********************************************************changed: [10.10.10.10]TASK [service : Wait for haproxy load balancer online] ***********************************************ok: [10.10.10.10]TASK [service : Make sure vip-manager is installed] **************************************************ok: [10.10.10.10]TASK [Copy vip-manager systemd service file] *********************************************************changed: [10.10.10.10]TASK [service : create vip-manager systemd drop-in dir] **********************************************changed: [10.10.10.10]TASK [service : create vip-manager systemd drop-in file] *********************************************changed: [10.10.10.10]TASK [service : Templating /etc/default/vip-manager.yml] *********************************************changed: [10.10.10.10]TASK [service : Reload vip-manager config] ***********************************************************changed: [10.10.10.10]TASK [Add yum repo for pg_exporter] ******************************************************************skipping: [10.10.10.10]TASK [Install pg_exporter via yum] *******************************************************************skipping: [10.10.10.10]TASK [Install pg_exporter via binary] ****************************************************************skipping: [10.10.10.10]TASK [Copy default pg_exporter.yml config] ***********************************************************changed: [10.10.10.10]TASK [Config pg_exporter parameters] *****************************************************************changed: [10.10.10.10]TASK [Config pg_exporter systemd unit] ***************************************************************changed: [10.10.10.10]TASK [pg_exporter : Config pgbouncer_exporter parameters] ********************************************changed: [10.10.10.10]TASK [pg_exporter : Config pgbouncer_exporter systemd unit] ******************************************changed: [10.10.10.10]TASK [Launch pg_exporter systemd unit] ***************************************************************changed: [10.10.10.10]TASK [Wait for pg_exporter online] *******************************************************************ok: [10.10.10.10]TASK [pg_exporter : Launch pgbouncer_exporter systemd unit] ******************************************changed: [10.10.10.10]TASK [pg_exporter : Wait for pgbouncer_exporter online] **********************************************ok: [10.10.10.10]TASK [pg_register : Register postgres service to consul] *********************************************changed: [10.10.10.10]TASK [pg_register : Register patroni service to consul] **********************************************changed: [10.10.10.10]TASK [pg_register : Register pgbouncer service to consul] ********************************************changed: [10.10.10.10]TASK [pg_register : Register pg_exporter service to consul] ******************************************changed: [10.10.10.10]TASK [pg_register : Register pgbouncer_exporter service to consul] ***********************************changed: [10.10.10.10]TASK [pg_register : Register haproxy (exporter) service to consul] ***********************************changed: [10.10.10.10]TASK [pg_register : Register cluster service to consul] **********************************************changed: [10.10.10.10] => (item={u'src_ip': u'*', u'check_url': u'/primary', u'src_port': 5433, u'name': u'primary', u'dst_port': u'pgbouncer', u'selector': u'[]'})changed: [10.10.10.10] => (item={u'src_ip': u'*', u'check_url': u'/read-only', u'src_port': 5434, u'name': u'replica', u'selector_backup': u'[? pg_role == `primary` || pg_role == `offline` ]', u'dst_port': u'pgbouncer', u'selector': u'[]'})changed: [10.10.10.10] => (item={u'haproxy': {u'default_server_options': u'inter 3s fastinter 1s downinter 5s rise 3 fall 3 on-marked-down shutdown-sessions slowstart 30s maxconn 3000 maxqueue 128 weight 100', u'balance': u'roundrobin', u'maxconn': 3000}, u'check_url': u'/primary', u'src_port': 5436, u'name': u'default', u'check_method': u'http', u'selector': u'[]', u'src_ip': u'*', u'dst_port': u'postgres', u'check_code': 200, u'check_port': u'patroni'})changed: [10.10.10.10] => (item={u'src_ip': u'*', u'check_url': u'/replica', u'src_port': 5438, u'name': u'offline', u'selector_backup': u'[? pg_role == `replica` && !pg_offline_query]', u'dst_port': u'postgres', u'selector': u'[? pg_role == `offline` || pg_offline_query ]'})TASK [pg_register : Reload consul to finish register] ************************************************changed: [10.10.10.10]TASK [pg_register : Register pgsql exporter as prometheus target] ************************************changed: [10.10.10.10 -> 10.10.10.10] => (item=10.10.10.10)TASK [pg_register : Render datasource definition on meta node] ***************************************changed: [10.10.10.10 -> meta] => (item={u'comment': u'pigsty meta database', u'schemas': [u'pigsty'], u'extensions': [{u'name': u'adminpack', u'schema': u'pg_catalog'}, {u'name': u'postgis', u'schema': u'public'}, {u'name': u'timescaledb'}], u'baseline': u'cmdb.sql', u'name': u'meta'})changed: [10.10.10.10 -> meta] => (item={u'owner': u'dbuser_grafana', u'comment': u'grafana primary database', u'name': u'grafana', u'revokeconn': True})changed: [10.10.10.10 -> meta] => (item={u'owner': u'dbuser_bytebase', u'comment': u'bytebase primary database', u'name': u'bytebase', u'revokeconn': True})changed: [10.10.10.10 -> meta] => (item={u'owner': u'dbuser_kong', u'comment': u'kong the api gateway database', u'name': u'kong', u'revokeconn': True})changed: [10.10.10.10 -> meta] => (item={u'owner': u'dbuser_gitea', u'comment': u'gitea meta database', u'name': u'gitea', u'revokeconn': True})TASK [pg_register : Load grafana datasource on meta node] ********************************************changed: [10.10.10.10 -> meta] => (item={u'comment': u'pigsty meta database', u'schemas': [u'pigsty'], u'extensions': [{u'name': u'adminpack', u'schema': u'pg_catalog'}, {u'name': u'postgis', u'schema': u'public'}, {u'name': u'timescaledb'}], u'baseline': u'cmdb.sql', u'name': u'meta'})changed: [10.10.10.10 -> meta] => (item={u'owner': u'dbuser_grafana', u'comment': u'grafana primary database', u'name': u'grafana', u'revokeconn': True})changed: [10.10.10.10 -> meta] => (item={u'owner': u'dbuser_bytebase', u'comment': u'bytebase primary database', u'name': u'bytebase', u'revokeconn': True})changed: [10.10.10.10 -> meta] => (item={u'owner': u'dbuser_kong', u'comment': u'kong the api gateway database', u'name': u'kong', u'revokeconn': True})changed: [10.10.10.10 -> meta] => (item={u'owner': u'dbuser_gitea', u'comment': u'gitea meta database', u'name': u'gitea', u'revokeconn': True})TASK [pg_register : Create haproxy config dir resource dirs on /etc/pigsty] **************************ok: [10.10.10.10 -> 10.10.10.10] => (item=10.10.10.10)TASK [pg_register : Register haproxy upstream to nginx] **********************************************changed: [10.10.10.10 -> 10.10.10.10] => (item=10.10.10.10)TASK [pg_register : Register haproxy url location to nginx] ******************************************changed: [10.10.10.10 -> 10.10.10.10] => (item=10.10.10.10)TASK [pg_register : Reload nginx to finish haproxy register] *****************************************changed: [10.10.10.10 -> 10.10.10.10] => (item=10.10.10.10)PLAY RECAP *******************************************************************************************10.10.10.10 : ok=351 changed=266 unreachable=0 failed=0 skipped=80 rescued=0 ignored=0
nodes(可选)
完成单机安装后,使用 nodes.yml 完成 node-1, node-2 , node-3 三个节点的初始化:
nodes.yml
[vagrant@meta pigsty]$ ./nodes.yml -l pg-testPLAY [Node Identity] *********************************************************************************TASK [Overwrite node_cluster] ************************************************************************ok: [10.10.10.12]ok: [10.10.10.11]ok: [10.10.10.13]TASK [Overwrite nodename] ****************************************************************************ok: [10.10.10.11]ok: [10.10.10.13]ok: [10.10.10.12]TASK [debug] *****************************************************************************************ok: [10.10.10.11] => {"msg": "ins=pg-test-1 cls=pg-test"}ok: [10.10.10.13] => {"msg": "ins=pg-test-3 cls=pg-test"}ok: [10.10.10.12] => {"msg": "ins=pg-test-2 cls=pg-test"}PLAY [Node Init] *************************************************************************************TASK [Set hostname from nodename] ********************************************************************changed: [10.10.10.11]changed: [10.10.10.12]changed: [10.10.10.13]TASK [node : Fetch hostname from server] *************************************************************skipping: [10.10.10.11]skipping: [10.10.10.13]skipping: [10.10.10.12]TASK [node : Exchange hostname among servers] ********************************************************skipping: [10.10.10.11]skipping: [10.10.10.13]skipping: [10.10.10.12]TASK [node : Write static dns records to /etc/hosts] *************************************************changed: [10.10.10.13] => (item=10.10.10.10 meta pigsty p.pigsty g.pigsty a.pigsty c.pigsty l.pigsty)changed: [10.10.10.12] => (item=10.10.10.10 meta pigsty p.pigsty g.pigsty a.pigsty c.pigsty l.pigsty)changed: [10.10.10.11] => (item=10.10.10.10 meta pigsty p.pigsty g.pigsty a.pigsty c.pigsty l.pigsty)changed: [10.10.10.12] => (item=10.10.10.10 api.pigsty adm.pigsty cli.pigsty ddl.pigsty lab.pigsty git.pigsty sss.pigsty)changed: [10.10.10.11] => (item=10.10.10.10 api.pigsty adm.pigsty cli.pigsty ddl.pigsty lab.pigsty git.pigsty sss.pigsty)changed: [10.10.10.13] => (item=10.10.10.10 api.pigsty adm.pigsty cli.pigsty ddl.pigsty lab.pigsty git.pigsty sss.pigsty)TASK [node : Write extra static dns records to /etc/hosts] *******************************************TASK [node : Get old nameservers] ********************************************************************changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [node : Write tmp resolv file] ******************************************************************changed: [10.10.10.11]changed: [10.10.10.12]changed: [10.10.10.13]TASK [node : Write resolv options] *******************************************************************changed: [10.10.10.13] => (item=options single-request-reopen timeout:1 rotate)changed: [10.10.10.11] => (item=options single-request-reopen timeout:1 rotate)changed: [10.10.10.12] => (item=options single-request-reopen timeout:1 rotate)changed: [10.10.10.13] => (item=domain service.consul)changed: [10.10.10.11] => (item=domain service.consul)changed: [10.10.10.12] => (item=domain service.consul)TASK [node : Write additional nameservers] ***********************************************************changed: [10.10.10.13] => (item=10.10.10.10)changed: [10.10.10.11] => (item=10.10.10.10)changed: [10.10.10.12] => (item=10.10.10.10)TASK [node : Append existing nameservers] ************************************************************changed: [10.10.10.11] => (item=10.0.2.3)changed: [10.10.10.13] => (item=10.0.2.3)changed: [10.10.10.12] => (item=10.0.2.3)TASK [node : Swap resolv.conf] ***********************************************************************changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [node : Node configure disable firewall] ********************************************************ok: [10.10.10.12]ok: [10.10.10.11]ok: [10.10.10.13]TASK [node : Node disable selinux by default] ********************************************************[WARNING]: SELinux state temporarily changed from 'enforcing' to 'permissive'. State change will takeeffect next reboot.changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [node : Backup existing repos] ******************************************************************changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [node : Install upstream repo] ******************************************************************skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Base', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/os/$basearch/', u'http://mirror.centos.org/centos/$releasever/os/$basearch/'], u'name': u'base'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Updates', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/', u'http://mirror.centos.org/centos/$releasever/updates/$basearch/'], u'name': u'updates'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Extras', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/', u'http://mirror.centos.org/centos/$releasever/extras/$basearch/'], u'name': u'extras'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Base', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/os/$basearch/', u'http://mirror.centos.org/centos/$releasever/os/$basearch/'], u'name': u'base'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Updates', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/', u'http://mirror.centos.org/centos/$releasever/updates/$basearch/'], u'name': u'updates'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Extras', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/', u'http://mirror.centos.org/centos/$releasever/extras/$basearch/'], u'name': u'extras'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'description': u'CentOS $releasever - epel', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/$basearch', u'http://mirrors.aliyun.com/epel/$releasever/$basearch', u'http://download.fedoraproject.org/pub/epel/$releasever/$basearch'], u'name': u'epel'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'description': u'CentOS $releasever - epel', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/$basearch', u'http://mirrors.aliyun.com/epel/$releasever/$basearch', u'http://download.fedoraproject.org/pub/epel/$releasever/$basearch'], u'name': u'epel'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'enabled': True, u'description': u'Grafana', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm', u'https://packages.grafana.com/oss/rpm'], u'name': u'grafana'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'enabled': True, u'description': u'Grafana', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm', u'https://packages.grafana.com/oss/rpm'], u'name': u'grafana'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'description': u'Prometheus and exporters', u'baseurl': u'https://packagecloud.io/prometheus-rpm/release/el/$releasever/$basearch', u'name': u'prometheus'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'description': u'PostgreSQL common RPMs for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'http://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/common/redhat/rhel-$releasever-$basearch', u'https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-$releasever-$basearch'], u'name': u'pgdg-common'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'description': u'Prometheus and exporters', u'baseurl': u'https://packagecloud.io/prometheus-rpm/release/el/$releasever/$basearch', u'name': u'prometheus'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Base', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/os/$basearch/', u'http://mirror.centos.org/centos/$releasever/os/$basearch/'], u'name': u'base'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Updates', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/', u'http://mirror.centos.org/centos/$releasever/updates/$basearch/'], u'name': u'updates'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'description': u'PostgreSQL 14 for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/14/redhat/rhel-$releasever-$basearch', u'https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-$releasever-$basearch'], u'name': u'pgdg14'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - Extras', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/', u'http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/', u'http://mirror.centos.org/centos/$releasever/extras/$basearch/'], u'name': u'extras'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'description': u'PostgreSQL common RPMs for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'http://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/common/redhat/rhel-$releasever-$basearch', u'https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-$releasever-$basearch'], u'name': u'pgdg-common'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'description': u'TimescaleDB for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'https://packagecloud.io/timescale/timescaledb/el/7/$basearch'], u'name': u'timescaledb'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'description': u'CentOS $releasever - epel', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/$basearch', u'http://mirrors.aliyun.com/epel/$releasever/$basearch', u'http://download.fedoraproject.org/pub/epel/$releasever/$basearch'], u'name': u'epel'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - SCLo', u'baseurl': u'http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/sclo/', u'name': u'centos-sclo'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'description': u'PostgreSQL 14 for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/14/redhat/rhel-$releasever-$basearch', u'https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-$releasever-$basearch'], u'name': u'pgdg14'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - SCLo rh', u'baseurl': u'http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/', u'name': u'centos-sclo-rh'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'enabled': True, u'description': u'Grafana', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm', u'https://packages.grafana.com/oss/rpm'], u'name': u'grafana'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'description': u'TimescaleDB for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'https://packagecloud.io/timescale/timescaledb/el/7/$basearch'], u'name': u'timescaledb'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'nginx', u'baseurl': u'http://nginx.org/packages/centos/$releasever/$basearch/', u'description': u'Nginx Official Yum Repo'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'harbottle', u'baseurl': u'https://download.copr.fedorainfracloud.org/results/harbottle/main/epel-$releasever-$basearch/', u'description': u'Copr repo for main owned by harbottle'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'description': u'Prometheus and exporters', u'baseurl': u'https://packagecloud.io/prometheus-rpm/release/el/$releasever/$basearch', u'name': u'prometheus'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - SCLo', u'baseurl': u'http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/sclo/', u'name': u'centos-sclo'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'pg_probackup', u'baseurl': u'https://repo.postgrespro.ru/pg_probackup-forks/rpm/latest/centos-$releasever-$basearch', u'description': u'PG_PROBACKUP Centos packages for PostgresPro Standard and Enterprise - $basearch'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'description': u'PostgreSQL common RPMs for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'http://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/common/redhat/rhel-$releasever-$basearch', u'https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-$releasever-$basearch'], u'name': u'pgdg-common'})skipping: [10.10.10.13] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'docker-ce', u'baseurl': [u'https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable', u'https://download.docker.com/linux/centos/$releasever/$basearch/stable'], u'description': u'Docker CE Stable - $basearch'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - SCLo rh', u'baseurl': u'http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/', u'name': u'centos-sclo-rh'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'description': u'PostgreSQL 14 for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'https://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/14/redhat/rhel-$releasever-$basearch', u'https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-$releasever-$basearch'], u'name': u'pgdg14'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'nginx', u'baseurl': u'http://nginx.org/packages/centos/$releasever/$basearch/', u'description': u'Nginx Official Yum Repo'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'description': u'TimescaleDB for RHEL/CentOS $releasever - $basearch', u'baseurl': [u'https://packagecloud.io/timescale/timescaledb/el/7/$basearch'], u'name': u'timescaledb'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'harbottle', u'baseurl': u'https://download.copr.fedorainfracloud.org/results/harbottle/main/epel-$releasever-$basearch/', u'description': u'Copr repo for main owned by harbottle'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - SCLo', u'baseurl': u'http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/sclo/', u'name': u'centos-sclo'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'pg_probackup', u'baseurl': u'https://repo.postgrespro.ru/pg_probackup-forks/rpm/latest/centos-$releasever-$basearch', u'description': u'PG_PROBACKUP Centos packages for PostgresPro Standard and Enterprise - $basearch'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'description': u'CentOS-$releasever - SCLo rh', u'baseurl': u'http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/', u'name': u'centos-sclo-rh'})skipping: [10.10.10.11] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'docker-ce', u'baseurl': [u'https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable', u'https://download.docker.com/linux/centos/$releasever/$basearch/stable'], u'description': u'Docker CE Stable - $basearch'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'nginx', u'baseurl': u'http://nginx.org/packages/centos/$releasever/$basearch/', u'description': u'Nginx Official Yum Repo'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'harbottle', u'baseurl': u'https://download.copr.fedorainfracloud.org/results/harbottle/main/epel-$releasever-$basearch/', u'description': u'Copr repo for main owned by harbottle'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'pg_probackup', u'baseurl': u'https://repo.postgrespro.ru/pg_probackup-forks/rpm/latest/centos-$releasever-$basearch', u'description': u'PG_PROBACKUP Centos packages for PostgresPro Standard and Enterprise - $basearch'})skipping: [10.10.10.12] => (item={u'gpgcheck': False, u'skip_if_unavailable': True, u'name': u'docker-ce', u'baseurl': [u'https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable', u'https://download.docker.com/linux/centos/$releasever/$basearch/stable'], u'description': u'Docker CE Stable - $basearch'})TASK [node : Install local repo] *********************************************************************changed: [10.10.10.12] => (item=http://pigsty/pigsty.repo)changed: [10.10.10.11] => (item=http://pigsty/pigsty.repo)changed: [10.10.10.13] => (item=http://pigsty/pigsty.repo)TASK [Install node basic packages] *******************************************************************skipping: [10.10.10.11] => (item=[])skipping: [10.10.10.13] => (item=[])skipping: [10.10.10.12] => (item=[])TASK [Install node extra packages] *******************************************************************TASK [node : Install meta specific packages] *********************************************************skipping: [10.10.10.11] => (item=[])skipping: [10.10.10.13] => (item=[])skipping: [10.10.10.12] => (item=[])TASK [Install node basic packages] *******************************************************************changed: [10.10.10.11] => (item=[u'wget,sshpass,ntp,chrony,tuned,uuid,lz4,make,patch,bash,lsof,wget,unzip,git,ftp,vim-minimal,ca-certificates', u'numactl,grubby,sysstat,dstat,iotop,bind-utils,net-tools,tcpdump,socat,ipvsadm,telnet,tuned,nc,pv,jq,perf', u'readline,zlib,openssl,openssl-libs,openssh-clients,python3,python36-requests,node_exporter,consul,etcd,promtail'])changed: [10.10.10.12] => (item=[u'wget,sshpass,ntp,chrony,tuned,uuid,lz4,make,patch,bash,lsof,wget,unzip,git,ftp,vim-minimal,ca-certificates', u'numactl,grubby,sysstat,dstat,iotop,bind-utils,net-tools,tcpdump,socat,ipvsadm,telnet,tuned,nc,pv,jq,perf', u'readline,zlib,openssl,openssl-libs,openssh-clients,python3,python36-requests,node_exporter,consul,etcd,promtail'])changed: [10.10.10.13] => (item=[u'wget,sshpass,ntp,chrony,tuned,uuid,lz4,make,patch,bash,lsof,wget,unzip,git,ftp,vim-minimal,ca-certificates', u'numactl,grubby,sysstat,dstat,iotop,bind-utils,net-tools,tcpdump,socat,ipvsadm,telnet,tuned,nc,pv,jq,perf', u'readline,zlib,openssl,openssl-libs,openssh-clients,python3,python36-requests,node_exporter,consul,etcd,promtail'])TASK [Install node extra packages] *******************************************************************TASK [node : Install meta specific packages] *********************************************************skipping: [10.10.10.11] => (item=[])skipping: [10.10.10.13] => (item=[])skipping: [10.10.10.12] => (item=[])TASK [Install pip3 packages on meta node] ************************************************************skipping: [10.10.10.11]skipping: [10.10.10.13]skipping: [10.10.10.12]TASK [node : Node configure disable numa] ************************************************************skipping: [10.10.10.11]skipping: [10.10.10.13]skipping: [10.10.10.12]TASK [node : Node configure disable swap] ************************************************************skipping: [10.10.10.11]skipping: [10.10.10.13]skipping: [10.10.10.12]TASK [node : Node configure unmount swap] ************************************************************skipping: [10.10.10.11] => (item=swap)skipping: [10.10.10.11] => (item=none)skipping: [10.10.10.13] => (item=swap)skipping: [10.10.10.12] => (item=swap)skipping: [10.10.10.12] => (item=none)skipping: [10.10.10.13] => (item=none)TASK [node : Node setup static network] **************************************************************changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [node : Node configure disable firewall] ********************************************************changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [node : Node configure disk prefetch] ***********************************************************skipping: [10.10.10.11]skipping: [10.10.10.13]skipping: [10.10.10.12]TASK [node : Enable linux kernel modules] ************************************************************changed: [10.10.10.11] => (item=softdog)changed: [10.10.10.12] => (item=softdog)changed: [10.10.10.13] => (item=softdog)changed: [10.10.10.11] => (item=br_netfilter)changed: [10.10.10.13] => (item=br_netfilter)changed: [10.10.10.12] => (item=br_netfilter)changed: [10.10.10.11] => (item=ip_vs)changed: [10.10.10.13] => (item=ip_vs)changed: [10.10.10.12] => (item=ip_vs)changed: [10.10.10.13] => (item=ip_vs_rr)changed: [10.10.10.11] => (item=ip_vs_rr)changed: [10.10.10.12] => (item=ip_vs_rr)ok: [10.10.10.13] => (item=ip_vs_rr)ok: [10.10.10.11] => (item=ip_vs_rr)ok: [10.10.10.12] => (item=ip_vs_rr)changed: [10.10.10.13] => (item=ip_vs_wrr)changed: [10.10.10.11] => (item=ip_vs_wrr)changed: [10.10.10.12] => (item=ip_vs_wrr)changed: [10.10.10.13] => (item=ip_vs_sh)changed: [10.10.10.11] => (item=ip_vs_sh)changed: [10.10.10.12] => (item=ip_vs_sh)TASK [node : Enable kernel module on reboot] *********************************************************changed: [10.10.10.11]changed: [10.10.10.12]changed: [10.10.10.13]TASK [node : Get config parameter page count] ********************************************************changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [node : Get config parameter page size] *********************************************************changed: [10.10.10.11]changed: [10.10.10.12]changed: [10.10.10.13]TASK [node : Tune shmmax and shmall via mem] *********************************************************skipping: [10.10.10.11]skipping: [10.10.10.13]skipping: [10.10.10.12]TASK [node : Create tuned profiles] ******************************************************************changed: [10.10.10.12] => (item=oltp)changed: [10.10.10.13] => (item=oltp)changed: [10.10.10.11] => (item=oltp)changed: [10.10.10.12] => (item=olap)changed: [10.10.10.13] => (item=olap)changed: [10.10.10.11] => (item=olap)changed: [10.10.10.13] => (item=crit)changed: [10.10.10.11] => (item=crit)changed: [10.10.10.12] => (item=crit)changed: [10.10.10.13] => (item=tiny)changed: [10.10.10.12] => (item=tiny)changed: [10.10.10.11] => (item=tiny)TASK [node : Render tuned profiles] ******************************************************************changed: [10.10.10.11] => (item=oltp)changed: [10.10.10.12] => (item=oltp)changed: [10.10.10.13] => (item=oltp)changed: [10.10.10.13] => (item=olap)changed: [10.10.10.11] => (item=olap)changed: [10.10.10.12] => (item=olap)changed: [10.10.10.13] => (item=crit)changed: [10.10.10.11] => (item=crit)changed: [10.10.10.12] => (item=crit)changed: [10.10.10.11] => (item=tiny)changed: [10.10.10.12] => (item=tiny)changed: [10.10.10.13] => (item=tiny)TASK [node : Active tuned profile] *******************************************************************changed: [10.10.10.12]changed: [10.10.10.11]changed: [10.10.10.13]TASK [node : Change additional sysctl params] ********************************************************TASK [node : Copy default user bash profile] *********************************************************changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [Setup node default pam ulimits] ****************************************************************changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [Create node data dir if exists] ****************************************************************changed: [10.10.10.13]changed: [10.10.10.12]changed: [10.10.10.11]TASK [node : Create os user group admin] *************************************************************changed: [10.10.10.11]changed: [10.10.10.12]changed: [10.10.10.13]TASK [node : Create os user admin] *******************************************************************changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [node : Grant admin group nopass sudo] **********************************************************changed: [10.10.10.11]changed: [10.10.10.12]changed: [10.10.10.13]TASK [node : Add no host checking to ssh config] *****************************************************changed: [10.10.10.12]changed: [10.10.10.11]changed: [10.10.10.13]TASK [node : Add admin ssh no host checking] *********************************************************ok: [10.10.10.11]ok: [10.10.10.13]ok: [10.10.10.12]TASK [node : Fetch all admin public keys] ************************************************************changed: [10.10.10.11]changed: [10.10.10.13]changed: [10.10.10.12]TASK [node : Exchange all admin ssh keys] ************************************************************changed: [10.10.10.11 -> 10.10.10.11] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkTNwjSFHA06ZaMe+iQz0TRfKAEFqFYpynY/j39VsZyF1D0Yb5tmjxKQTbPM8BTvaFf8WHb5cgdnCkXe3h5JcBPRDWyyKiK7N/reCLwFGilPB1jMlvAS5FoRSlafcyz4GgoYUoB8qQ9Q9QXYpOFnHVWzpbB1zUo57DZbcSgy4BLVl6bwnotJPfI/5vPrq8u/DFYMkmJC3d/XSQUTlkcf1PW4HkJGT/MS8KLkVAbmVIwyubXKxPqb+f2cKAUemXrdTlMms+kKwkqGAMoCejTFojqziLbh+QRUOCGsZfT74U5hHzFYuaRIV+F+HEpWulskY1M2eVrMyT0Ybu9v7RQL6T ansible-generated on pg-test-1', u'10.10.10.11'])changed: [10.10.10.13 -> 10.10.10.11] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+JPJizHg8wpC71Qz930m7cOaALWXl/QfdCnccy19/xBVBkgLCe9zkUKtopNaRLzhiPKrchcq5bCHZhCqQH4tOwsM1QpXU8yWbILv3yOuxAtFD9Uvor7XJubb8COqWCnoE3zp3AOtD1I+PA5ukanyW4mQKsIOVZBkSxkN2J2BYhMiIQ27VpM9ecLXx0JKCwLWBx3Z0X96QL6D5pw13nMctZ81FvIopmzu6ZGcNm0tAKd/0lzKJA+jfAuxhxvfPhAO8QhH6s9OnYbfKTS1ttYhIN2qvurFeLjxebNMe01YujZb43vpErKm8F7X7Mr2IFqjwnXKuyB2aP12iNhJbGf4l ansible-generated on pg-test-3', u'10.10.10.11'])changed: [10.10.10.12 -> 10.10.10.11] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDedbpfcV5RWRXfZEApOTRBkdOqZtlAKcsLAdoOg+cvnRrXeOWhUpuga6WF4CMTEafJKB1HZL4WUW7bzX4YMIFC4FO+LaqV+Q+hrEbCQ44R6MKfuLncPutVZjrp0zr0v5zfX78qR9Qd/Sg6bRNQGICBM2BrH0z7ws6WPbzFUrTeOo+O6+JeKY+Tei9OydyZF/GooYsbU4X/sFE6bfdhyxjeiHR7o8zBM3LsCiFv1L6+lJK83Z7pqHwS/rQonO0nQDKbmsFL5in5fT4Hsw11NbTCUUTO2W/6qzCzlK3WwJFMr5GNi0D9f85ES1kqJlHyacMHGhYkq/AXDNIkTai+MnVl ansible-generated on pg-test-2', u'10.10.10.11'])changed: [10.10.10.11 -> 10.10.10.13] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkTNwjSFHA06ZaMe+iQz0TRfKAEFqFYpynY/j39VsZyF1D0Yb5tmjxKQTbPM8BTvaFf8WHb5cgdnCkXe3h5JcBPRDWyyKiK7N/reCLwFGilPB1jMlvAS5FoRSlafcyz4GgoYUoB8qQ9Q9QXYpOFnHVWzpbB1zUo57DZbcSgy4BLVl6bwnotJPfI/5vPrq8u/DFYMkmJC3d/XSQUTlkcf1PW4HkJGT/MS8KLkVAbmVIwyubXKxPqb+f2cKAUemXrdTlMms+kKwkqGAMoCejTFojqziLbh+QRUOCGsZfT74U5hHzFYuaRIV+F+HEpWulskY1M2eVrMyT0Ybu9v7RQL6T ansible-generated on pg-test-1', u'10.10.10.13'])changed: [10.10.10.13 -> 10.10.10.13] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+JPJizHg8wpC71Qz930m7cOaALWXl/QfdCnccy19/xBVBkgLCe9zkUKtopNaRLzhiPKrchcq5bCHZhCqQH4tOwsM1QpXU8yWbILv3yOuxAtFD9Uvor7XJubb8COqWCnoE3zp3AOtD1I+PA5ukanyW4mQKsIOVZBkSxkN2J2BYhMiIQ27VpM9ecLXx0JKCwLWBx3Z0X96QL6D5pw13nMctZ81FvIopmzu6ZGcNm0tAKd/0lzKJA+jfAuxhxvfPhAO8QhH6s9OnYbfKTS1ttYhIN2qvurFeLjxebNMe01YujZb43vpErKm8F7X7Mr2IFqjwnXKuyB2aP12iNhJbGf4l ansible-generated on pg-test-3', u'10.10.10.13'])changed: [10.10.10.12 -> 10.10.10.13] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDedbpfcV5RWRXfZEApOTRBkdOqZtlAKcsLAdoOg+cvnRrXeOWhUpuga6WF4CMTEafJKB1HZL4WUW7bzX4YMIFC4FO+LaqV+Q+hrEbCQ44R6MKfuLncPutVZjrp0zr0v5zfX78qR9Qd/Sg6bRNQGICBM2BrH0z7ws6WPbzFUrTeOo+O6+JeKY+Tei9OydyZF/GooYsbU4X/sFE6bfdhyxjeiHR7o8zBM3LsCiFv1L6+lJK83Z7pqHwS/rQonO0nQDKbmsFL5in5fT4Hsw11NbTCUUTO2W/6qzCzlK3WwJFMr5GNi0D9f85ES1kqJlHyacMHGhYkq/AXDNIkTai+MnVl ansible-generated on pg-test-2', u'10.10.10.13'])changed: [10.10.10.11 -> 10.10.10.12] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkTNwjSFHA06ZaMe+iQz0TRfKAEFqFYpynY/j39VsZyF1D0Yb5tmjxKQTbPM8BTvaFf8WHb5cgdnCkXe3h5JcBPRDWyyKiK7N/reCLwFGilPB1jMlvAS5FoRSlafcyz4GgoYUoB8qQ9Q9QXYpOFnHVWzpbB1zUo57DZbcSgy4BLVl6bwnotJPfI/5vPrq8u/DFYMkmJC3d/XSQUTlkcf1PW4HkJGT/MS8KLkVAbmVIwyubXKxPqb+f2cKAUemXrdTlMms+kKwkqGAMoCejTFojqziLbh+QRUOCGsZfT74U5hHzFYuaRIV+F+HEpWulskY1M2eVrMyT0Ybu9v7RQL6T ansible-generated on pg-test-1', u'10.10.10.12'])changed: [10.10.10.13 -> 10.10.10.12] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+JPJizHg8wpC71Qz930m7cOaALWXl/QfdCnccy19/xBVBkgLCe9zkUKtopNaRLzhiPKrchcq5bCHZhCqQH4tOwsM1QpXU8yWbILv3yOuxAtFD9Uvor7XJubb8COqWCnoE3zp3AOtD1I+PA5ukanyW4mQKsIOVZBkSxkN2J2BYhMiIQ27VpM9ecLXx0JKCwLWBx3Z0X96QL6D5pw13nMctZ81FvIopmzu6ZGcNm0tAKd/0lzKJA+jfAuxhxvfPhAO8QhH6s9OnYbfKTS1ttYhIN2qvurFeLjxebNMe01YujZb43vpErKm8F7X7Mr2IFqjwnXKuyB2aP12iNhJbGf4l ansible-generated on pg-test-3', u'10.10.10.12'])changed: [10.10.10.12 -> 10.10.10.12] => (item=[u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDedbpfcV5RWRXfZEApOTRBkdOqZtlAKcsLAdoOg+cvnRrXeOWhUpuga6WF4CMTEafJKB1HZL4WUW7bzX4YMIFC4FO+LaqV+Q+hrEbCQ44R6MKfuLncPutVZjrp0zr0v5zfX78qR9Qd/Sg6bRNQGICBM2BrH0z7ws6WPbzFUrTeOo+O6+JeKY+Tei9OydyZF/GooYsbU4X/sFE6bfdhyxjeiHR7o8zBM3LsCiFv1L6+lJK83Z7pqHwS/rQonO0nQDKbmsFL5in5fT4Hsw11NbTCUUTO2W/6qzCzlK3WwJFMr5GNi0D9f85ES1kqJlHyacMHGhYkq/AXDNIkTai+MnVl ansible-generated on pg-test-2', u'10.10.10.12'])TASK [node : Install public keys] ********************************************************************changed: [10.10.10.13] => (item=ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC7IMAMNavYtWwzAJajKqwdn3ar5BhvcwCnBTxxEkXhGlCO2vfgosSAQMEflfgvkiI5nM1HIFQ8KINlx1XLO7SdL5KdInG5LIJjAFh0pujS4kNCT9a5IGvSq1BrzGqhbEcwWYdju1ZPYBcJm/MG+JD0dYCh8vfrYB/cYMD0SOmNkQ== vagrant@pigsty.com)changed: [10.10.10.11] => (item=ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC7IMAMNavYtWwzAJajKqwdn3ar5BhvcwCnBTxxEkXhGlCO2vfgosSAQMEflfgvkiI5nM1HIFQ8KINlx1XLO7SdL5KdInG5LIJjAFh0pujS4kNCT9a5IGvSq1BrzGqhbEcwWYdju1ZPYBcJm/MG+JD0dYCh8vfrYB/cYMD0SOmNkQ== vagrant@pigsty.com)changed: [10.10.10.12] => (item=ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC7IMAMNavYtWwzAJajKqwdn3ar5BhvcwCnBTxxEkXhGlCO2vfgosSAQMEflfgvkiI5nM1HIFQ8KINlx1XLO7SdL5KdInG5LIJjAFh0pujS4kNCT9a5IGvSq1BrzGqhbEcwWYdju1ZPYBcJm/MG+JD0dYCh8vfrYB/cYMD0SOmNkQ== vagrant@pigsty.com)TASK [node : Install current public key] *************************************************************ok: [10.10.10.11]ok: [10.10.10.12]ok: [10.10.10.13]TASK [Setup default node timezone] *******************************************************************changed: [10.10.10.12]changed: [10.10.10.11]
pgsql(可选)
完成节点初始化后,使用 pgsql.yml 完成 pg-test 数据库集群的初始化:
nodes.yml
redis(可选)
您还可以使用 redis.yml 完成 Redis 数据库集群的初始化:
redis.yml
Last modified 2022-06-20: add timescaledb (3c335f4)