You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is closely related to #5221, since that time, now the postgres_db module of ansible has the maintenance_db option, but it's missing from the /usr/bin/launch_awx(_task).sh script.
The problem is the same, as in the previous ticket: when an external postgres db is used, it will try to connect first to the 'postgres' db as it's the default of the maintenance_db variable.
bash-4.2$ source /etc/tower/conf.d/environment.sh
bash-4.2$ ANSIBLE_REMOTE_TEMP=/tmp ANSIBLE_LOCAL_TEMP=/tmp ansible -i "127.0.0.1," -c local -v -m postgresql_db --become-user $DATABASE_USER -a "name=$DATABASE_NAME owner=$DATABASE_USER login_user=$DATABASE_USER login_host=$DATABASE_HOST login_password=$DATABASE_PASSWORD port=$DATABASE_PORT" all
Using /etc/ansible/ansible.cfg as config file An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OperationalError: FATAL: no pg_hba.conf entry for host "172.22.0.5", user "awx_test", database "postgres", SSL off 127.0.0.1 | FAILED! => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "msg": "unable to connect to database: FATAL: no pg_hba.conf entry for host \"172.22.0.5\", user \"awx_test\", database \"postgres\", SSL off\n" }
ENVIRONMENT
AWX version: 9.1.0
AWX install method: docker on linux
Ansible version: 2.8.4
Operating System: Centos7
Web Browser: N/A
STEPS TO REPRODUCE
Set an external postgresql server in the environment.sh config file:
DATABASE_USER=awx_test
DATABASE_NAME=awx_test
DATABASE_HOST=XXXXX
DATABASE_PORT=5432
DATABASE_PASSWORD=XXXXX
Start the awx_web containers
EXPECTED RESULTS
The reconfiguration of the containers is done without problems.
ACTUAL RESULTS
The initial reconfiguration will fail, as it can't connect to the maintenance_db (postgres by default)
ADDITIONAL INFORMATION
Possible Solution:
Following file should be changed:
installer/roles/image_build/files/launch_awx.sh
From:
ANSIBLE_REMOTE_TEMP=/tmp ANSIBLE_LOCAL_TEMP=/tmp ansible -i "127.0.0.1," -c local -v -m postgresql_db --become-user $DATABASE_USER -a "name=$DATABASE_NAME owner=$DATABASE_USER login_user=$DATABASE_USER login_host=$DATABASE_HOST login_password=$DATABASE_PASSWORD port=$DATABASE_PORT" all
To:
ANSIBLE_REMOTE_TEMP=/tmp ANSIBLE_LOCAL_TEMP=/tmp ansible -i "127.0.0.1," -c local -v -m postgresql_db --become-user $DATABASE_USER -a "name=$DATABASE_NAME owner=$DATABASE_USER login_user=$DATABASE_USER login_host=$DATABASE_HOST login_password=$DATABASE_PASSWORD port=$DATABASE_PORT maintenance_db=$DATABASE_NAME" all
Or define a DATABASE_MAINTENANCE_DB variable in environment.sh and make it to default to the database name.
Thanks
The text was updated successfully, but these errors were encountered:
ISSUE TYPE
SUMMARY
This is closely related to #5221, since that time, now the postgres_db module of ansible has the maintenance_db option, but it's missing from the /usr/bin/launch_awx(_task).sh script.
The problem is the same, as in the previous ticket: when an external postgres db is used, it will try to connect first to the 'postgres' db as it's the default of the maintenance_db variable.
bash-4.2$ source /etc/tower/conf.d/environment.sh
bash-4.2$ ANSIBLE_REMOTE_TEMP=/tmp ANSIBLE_LOCAL_TEMP=/tmp ansible -i "127.0.0.1," -c local -v -m postgresql_db --become-user $DATABASE_USER -a "name=$DATABASE_NAME owner=$DATABASE_USER login_user=$DATABASE_USER login_host=$DATABASE_HOST login_password=$DATABASE_PASSWORD port=$DATABASE_PORT" all
Using /etc/ansible/ansible.cfg as config file An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OperationalError: FATAL: no pg_hba.conf entry for host "172.22.0.5", user "awx_test", database "postgres", SSL off 127.0.0.1 | FAILED! => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "msg": "unable to connect to database: FATAL: no pg_hba.conf entry for host \"172.22.0.5\", user \"awx_test\", database \"postgres\", SSL off\n" }
ENVIRONMENT
STEPS TO REPRODUCE
Set an external postgresql server in the environment.sh config file:
DATABASE_USER=awx_test
DATABASE_NAME=awx_test
DATABASE_HOST=XXXXX
DATABASE_PORT=5432
DATABASE_PASSWORD=XXXXX
Start the awx_web containers
EXPECTED RESULTS
The reconfiguration of the containers is done without problems.
ACTUAL RESULTS
The initial reconfiguration will fail, as it can't connect to the maintenance_db (postgres by default)
ADDITIONAL INFORMATION
Possible Solution:
Following file should be changed:
installer/roles/image_build/files/launch_awx.sh
From:
ANSIBLE_REMOTE_TEMP=/tmp ANSIBLE_LOCAL_TEMP=/tmp ansible -i "127.0.0.1," -c local -v -m postgresql_db --become-user $DATABASE_USER -a "name=$DATABASE_NAME owner=$DATABASE_USER login_user=$DATABASE_USER login_host=$DATABASE_HOST login_password=$DATABASE_PASSWORD port=$DATABASE_PORT" all
To:
ANSIBLE_REMOTE_TEMP=/tmp ANSIBLE_LOCAL_TEMP=/tmp ansible -i "127.0.0.1," -c local -v -m postgresql_db --become-user $DATABASE_USER -a "name=$DATABASE_NAME owner=$DATABASE_USER login_user=$DATABASE_USER login_host=$DATABASE_HOST login_password=$DATABASE_PASSWORD port=$DATABASE_PORT maintenance_db=$DATABASE_NAME" all
Or define a DATABASE_MAINTENANCE_DB variable in environment.sh and make it to default to the database name.
Thanks
The text was updated successfully, but these errors were encountered: