vitabaks / postgresql_cluster

Automated database platform for PostgreSQL® A modern, open-source alternative to cloud-managed databases.
https://postgresql-cluster.org
MIT License
1.83k stars 418 forks source link

Unable to build WAL-G if it was built once #767

Closed realkarmakun closed 1 month ago

realkarmakun commented 2 months ago

When attempting to run config_pgcluster.yml after initial installation I get the following:

TASK [wal-g : Download WAL-G v3.0.2 source code] **************************************************************************************************************************************************************************************************************************
fatal: [10.0.1.53]: FAILED! => {"before": "124e8e714b2fe573bd35be870b7e21d8f1976bd6", "changed": false, "msg": "Local modifications exist in the destination: /tmp/wal-g (force=no)."}
fatal: [10.0.1.52]: FAILED! => {"before": "124e8e714b2fe573bd35be870b7e21d8f1976bd6", "changed": false, "msg": "Local modifications exist in the destination: /tmp/wal-g (force=no)."}
fatal: [10.0.1.51]: FAILED! => {"before": "124e8e714b2fe573bd35be870b7e21d8f1976bd6", "changed": false, "msg": "Local modifications exist in the destination: /tmp/wal-g (force=no)."}

It seems WAL-G is being downloaded to the same directory it's built in (which is fine) but It does not work for some reason.

Running AlmaLinux 9 without any security profiles, under root user.

vitabaks commented 2 months ago

@realkarmakun Thanks, I'll take a look at it.

When running config_cluster.yml, there should not be a second attempt to build WAL-G. \ Or did you change the version in the wal_g_version variable to update?

realkarmakun commented 2 months ago

Or did you change the version in the wal_g_version variable to update?

I didn't commit changes so I can't tell for sure. I think I only changed postgresql_listen_addr and pgbouncer_listen_addr.

I also ran into the same problem when tried to run deploy_pgcluster.yml twice (without delete). It resulted in the same issue, but I brushed it off as it's expected to delete cluster before deploying again.

I also run 3.0.2 but changed the version before deployment.

Pretty sure if I attempt to run config_pgcluster.yml I'll get the same error message. I can try it.

UPD: yes I still get /tmp/wal-g local modifications error even when running configure without any changes to the mail.yml, could it be related to introducing go tidy in recent updates?

TASK [pgbouncer/config : Update pgbouncer.ini] ****************************************************************************************************************************************************************************************************************************
ok: [10.0.1.52] => (item=pgbouncer)
ok: [10.0.1.51] => (item=pgbouncer)
ok: [10.0.1.53] => (item=pgbouncer)

TASK [pgbouncer/config : Check if 'user_search' function exists] **********************************************************************************************************************************************************************************************************
ok: [10.0.1.51]

TASK [wal-g : Check if WAL-G is already installed] ************************************************************************************************************************************************************************************************************************
ok: [10.0.1.51]
ok: [10.0.1.52]
ok: [10.0.1.53]

TASK [wal-g : Install lib dependencies to build WAL-G] ********************************************************************************************************************************************************************************************************************
ok: [10.0.1.52]
ok: [10.0.1.51]
ok: [10.0.1.53]

TASK [wal-g : Check the installed Go version] *****************************************************************************************************************************************************************************************************************************
ok: [10.0.1.52]
ok: [10.0.1.51]
ok: [10.0.1.53]

TASK [wal-g : Check the latest available Go version] **********************************************************************************************************************************************************************************************************************
ok: [10.0.1.52]
ok: [10.0.1.51]
ok: [10.0.1.53]

TASK [wal-g : Download WAL-G v3.0.2 source code] **************************************************************************************************************************************************************************************************************************
fatal: [10.0.1.52]: FAILED! => {"before": "124e8e714b2fe573bd35be870b7e21d8f1976bd6", "changed": false, "msg": "Local modifications exist in the destination: /tmp/wal-g (force=no)."}
fatal: [10.0.1.53]: FAILED! => {"before": "124e8e714b2fe573bd35be870b7e21d8f1976bd6", "changed": false, "msg": "Local modifications exist in the destination: /tmp/wal-g (force=no)."}
fatal: [10.0.1.51]: FAILED! => {"before": "124e8e714b2fe573bd35be870b7e21d8f1976bd6", "changed": false, "msg": "Local modifications exist in the destination: /tmp/wal-g (force=no)."}

NO MORE HOSTS LEFT ********************************************************************************************************************************************************************************************************************************************************

PLAY RECAP ****************************************************************************************************************************************************************************************************************************************************************
10.0.1.51                  : ok=63   changed=4    unreachable=0    failed=1    skipped=172  rescued=0    ignored=0   
10.0.1.52                  : ok=51   changed=4    unreachable=0    failed=1    skipped=160  rescued=0    ignored=0   
10.0.1.53                  : ok=51   changed=4    unreachable=0    failed=1    skipped=160  rescued=0    ignored=0   
localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=222  rescued=0    ignored=0   
vitabaks commented 2 months ago

@realkarmakun Add the force option for the git module

    - name: "Download WAL-G v{{ wal_g_version }} source code"
      ansible.builtin.git:
        repo: https://github.com/wal-g/wal-g.git
        version: v{{ wal_g_version }}
        dest: /tmp/wal-g
        force: true

And also see this PR https://github.com/vitabaks/postgresql_cluster/pull/768