Ошибка 'password authentication failed for user postgres' при обновлении с версии 1.17.1 до 1.20.1

:speech_balloon: Description
В более ранних версиях (1.17.1 в том числе) пароль пользователя “postgres” задавался в переменных по умолчанию и не редактировался пользователем при заполнении переменных playbook, однако в версии 1.20.1 был вынесен в переменную “postgres_su_pass” в файле vars.yml, и имеет значение “postgressuramdompassword”.

По этой причине в процессе обновления с оффлайн дистрибутива возникает ошибка:

stderr: |-
ERROR: role "readonly" already exists
ERROR: role "simple_user_ro" already exists
NOTICE: role "simple_user_ro" is already a member of role "readonly"
psql: error: connection to server at "postgres" (172.19.0.7), port 5432 failed: FATAL: password authentication failed for user "postgres"
connection to server at "postgres" (172.19.0.7), port 5432 failed: FATAL: password authentication failed for user "postgres"

:heavy_check_mark: Workaround

Для того, чтобы выяснить пароль пользователя “postgres” по умолчанию в версии 1.17.1, откроем файл:

/release-1-17-1-1/roles/single/defaults/main


Где получаем пароль “zalando”.

Далее заполняем vars.yml, используя данный пароль в переменной postgres_su_pass.


После запуска playbook ошибка более не наблюдается.

Инстанс обновлен успешно.

image

1 лайк