Skip to content

Invert the role and database creation tasks #4

@mtheiss

Description

@mtheiss

Describe the bug

Creating a database owned by a new role is impossible, when the role doesn't exist beforehand.

Playbook

Please paste the playbook you are using. (Consider requirements.yml and
optionally the command you've invoked.)

---
  roles:
    - role: robertdebock.postgres
      postgres_databases:
        - name: demo
          owner: demo
      postgres_users:
        - name: demo
          password: demo
          db: demo
---
- name: robertdebock.postgres
  version: 3.2.2

Output

TASK [robertdebock.postgres : Create postgres database] ***********************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: psycopg2.errors.UndefinedObject: role "demo" does not exist
failed: [decgn-pr-mbb-bart] (item=demo) => {"ansible_loop_var": "item", "changed": false, "item": {"name": "demo", "owner": "demo"}, "msg": "Database query failed: role \"demo\" does not exist\n"}

Environment

  • Control node OS: Debian 12.1
  • Control node Ansible version: ansible [core 2.14.3]
  • Managed node OS: Ubuntu bookworm/sid

Please consider sponsoring me.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions