mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
204 lines
5.5 KiB
YAML
204 lines
5.5 KiB
YAML
|
- name: postgresql_tablespace - drop dir for test tablespace
|
||
|
become: true
|
||
|
file:
|
||
|
path: '{{ test_tablespace_path }}'
|
||
|
state: absent
|
||
|
ignore_errors: true
|
||
|
- name: postgresql_tablespace - disable selinux
|
||
|
become: true
|
||
|
shell: setenforce 0
|
||
|
ignore_errors: true
|
||
|
- name: postgresql_tablespace - create dir for test tablespace
|
||
|
become: true
|
||
|
file:
|
||
|
path: '{{ test_tablespace_path }}'
|
||
|
state: directory
|
||
|
owner: '{{ pg_user }}'
|
||
|
group: '{{ pg_user }}'
|
||
|
mode: '0700'
|
||
|
ignore_errors: true
|
||
|
- name: postgresql_tablespace - create test role to test change ownership
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_user:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: bob
|
||
|
state: present
|
||
|
ignore_errors: true
|
||
|
- name: postgresql_tablespace - create test role to test change ownership
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_user:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: alice
|
||
|
state: present
|
||
|
ignore_errors: true
|
||
|
- name: postgresql_tablespace - create a new tablespace called acme and set bob as an its owner
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_tablespace:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: acme
|
||
|
owner: bob
|
||
|
location: /ssd
|
||
|
register: result
|
||
|
ignore_errors: true
|
||
|
- assert:
|
||
|
that:
|
||
|
- result is changed
|
||
|
- result.owner == 'bob'
|
||
|
- result.queries == ["CREATE TABLESPACE \"acme\" LOCATION '/ssd'", "ALTER TABLESPACE \"acme\" OWNER TO bob"]
|
||
|
- result.state == 'present'
|
||
|
- result.tablespace == 'acme'
|
||
|
- result.options == {}
|
||
|
- result.location == '/ssd'
|
||
|
- name: postgresql_tablespace - try to create the same tablespace with different location
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_tablespace:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: acme
|
||
|
location: /another-ssd
|
||
|
register: result
|
||
|
ignore_errors: true
|
||
|
- assert:
|
||
|
that:
|
||
|
- result is not changed
|
||
|
- result.msg == "Tablespace 'acme' exists with different location '/ssd'"
|
||
|
- name: postgresql_tablespace - change tablespace owner to alice
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_tablespace:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: acme
|
||
|
owner: alice
|
||
|
register: result
|
||
|
ignore_errors: true
|
||
|
- assert:
|
||
|
that:
|
||
|
- result is changed
|
||
|
- result.owner == 'alice'
|
||
|
- result.queries == ["ALTER TABLESPACE \"acme\" OWNER TO alice"]
|
||
|
- result.state == 'present'
|
||
|
- result.tablespace == 'acme'
|
||
|
- result.options == {}
|
||
|
- name: postgresql_tablespace - try to change tablespace owner to alice again to be sure that nothing changes
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_tablespace:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: acme
|
||
|
owner: alice
|
||
|
register: result
|
||
|
ignore_errors: true
|
||
|
- assert:
|
||
|
that:
|
||
|
- result is not changed
|
||
|
- result.owner == 'alice'
|
||
|
- result.queries == []
|
||
|
- result.state == 'present'
|
||
|
- result.tablespace == 'acme'
|
||
|
- result.options == {}
|
||
|
- name: postgresql_tablespace - change tablespace options
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_tablespace:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: acme
|
||
|
set:
|
||
|
seq_page_cost: 4
|
||
|
register: result
|
||
|
ignore_errors: true
|
||
|
- assert:
|
||
|
that:
|
||
|
- result is changed
|
||
|
- result.owner == 'alice'
|
||
|
- result.queries == ["ALTER TABLESPACE \"acme\" SET (seq_page_cost = '4')"]
|
||
|
- result.state == 'present'
|
||
|
- result.tablespace == 'acme'
|
||
|
- result.options.seq_page_cost == '4'
|
||
|
when: postgres_version_resp.stdout is version('9.0', '>=')
|
||
|
- name: postgresql_tablespace - reset seq_page_cost option
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_tablespace:
|
||
|
login_db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: acme
|
||
|
set:
|
||
|
seq_page_cost: reset
|
||
|
register: result
|
||
|
ignore_errors: true
|
||
|
- assert:
|
||
|
that:
|
||
|
- result is changed
|
||
|
- result.queries == ["ALTER TABLESPACE \"acme\" RESET (seq_page_cost)"]
|
||
|
when: postgres_version_resp.stdout is version('9.0', '>=')
|
||
|
- name: postgresql_tablespace - reset seq_page_cost option again
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_tablespace:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: acme
|
||
|
set:
|
||
|
seq_page_cost: reset
|
||
|
register: result
|
||
|
ignore_errors: true
|
||
|
- assert:
|
||
|
that:
|
||
|
- result is not changed
|
||
|
- result.queries == []
|
||
|
when: postgres_version_resp.stdout is version('9.0', '>=')
|
||
|
- name: postgresql_tablespace - rename tablespace
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_tablespace:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: acme
|
||
|
rename_to: foo
|
||
|
register: result
|
||
|
ignore_errors: true
|
||
|
- assert:
|
||
|
that:
|
||
|
- result is changed
|
||
|
- result.newname == 'foo'
|
||
|
- result.queries == ["ALTER TABLESPACE \"acme\" RENAME TO foo"]
|
||
|
- name: postgresql_tablespace - drop tablespace
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_tablespace:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: foo
|
||
|
state: absent
|
||
|
register: result
|
||
|
ignore_errors: true
|
||
|
- assert:
|
||
|
that:
|
||
|
- result is changed
|
||
|
- result.state == 'absent'
|
||
|
- result.queries == ["DROP TABLESPACE \"foo\""]
|
||
|
- name: postgresql_tablespace - try to drop nonexistent tablespace
|
||
|
become_user: '{{ pg_user }}'
|
||
|
become: true
|
||
|
postgresql_tablespace:
|
||
|
db: postgres
|
||
|
login_user: '{{ pg_user }}'
|
||
|
name: foo
|
||
|
state: absent
|
||
|
register: result
|
||
|
ignore_errors: true
|
||
|
- assert:
|
||
|
that:
|
||
|
- result is not changed
|
||
|
- result.msg == "Tries to drop nonexistent tablespace 'foo'"
|