ansible/test/integration
Josh Moore d5ae6cc585 postgres_db: add dump and restore support (#20627)
* Feature #2731: added postgres import and dump

* Feature #2731: be more permissive of arguments

```
hacking/test-module -m ./ppostgresql_db.py -a "db=example state=dump target=/tmp/out"`
```

failed previously since host, user, and port were required as keywords
in the pg_dump / pg_import methods.

* Feature #2731: fixed doc string for validate-modules

```
$ ansible-validate-modules database/postgresql/
```

now passes.

* Feature #2731: disable 'password' for dump/restore

* Feature #2731: bump added version to 2.3

* Feature #2731: replace db_import with db_restore

* Feature #2731: add missing version description

* Feature #2731: fix 'state' description

* Feature #2731: fix pep8 issues

* Feature #2731: put state documentation in a single string

* Bump added version from 2.3 to 2.4

* Fix pep8 and pylint errors

* Attempt yaml formatting of documentation string

* Add integration tests for postgres_db:dump/restore

* Update dump/restore logic to support new kw-args

Also attempt to support password; integration tests are
still failing.

* Revert to postgres user for dump/restore

Passing PGPASSWORD is not working for subprocesses. For the
moment, reverting to the strategy of failing if login_password
is set and using `postgres` for all testing of dump/restore.

* Various cleanups to have tests passing

* Working tests for {sql,tar} x {,bz2,gz,xz}

* Use pg_user to support FreeBSD

* Revert login_ prefixes and re-enable password support

All `login_` keywords are mapped to their non-prefix versions
so the previous changes were effectively using `postgres` for
all actions. With the proper keywords, PGPASSWORD-passing to
the subprocess is now working.

* Optionally add password

environ_update doesn't handle None values in the
dictionary to be added to the environment. Adding
check.

* Quick fixes

* Refactor login arguments after fixes from pchauncey

The fixes introduced by pchaunchy pointed to further issues
(like no --dbname on PG<=9.2) with the login parameters. This
refactors them and adds further tests.

Note: this will still not pass integration tests due to a further
      issue with pg_dump as a non-admin user:

      pg_restore: [archiver (db)] Error while PROCESSING TOC:
      pg_restore: [archiver (db)] Error from TOC entry 1925; 0 0 COMMENT EXTENSION plpgsql
      pg_restore: [archiver (db)] could not execute query: ERROR:  must be owner of extension plpgsql

* Introduce target_opts for passing limiting dumped/restored schemas

The current integration tests (PG version and template DBs) don't
permit a regular user (`{{ db_user1 }}`) access to plpgsql causing
restores to fail. By adding an option for passing arbitrary args to
pg_dump and pg_restore, testing is made easier. This also paves the
way for `-j` usage, once the PG version is bumped.
2017-07-10 08:05:42 +01:00
..
group_vars
host_vars
roles Add module netscaler_cs_action (#26147) 2017-06-28 19:16:46 +05:30
targets postgres_db: add dump and restore support (#20627) 2017-07-10 08:05:42 +01:00
vars
amazon.yml
asa.yaml Continue running network tests after failure (#26407) 2017-07-04 18:18:02 +01:00
azure.yml
cleanup_azure.py
cleanup_ec2.py
cleanup_gce.py
cleanup_rax.py
cloud-config-aws.yml.template
cloud-config-cs.ini.template
cloudflare.yml
cloudscale.yml
cnos.yaml
consul.yml
consul_inventory.yml
consul_running.py
credentials.template Update git test to not rm ~/.ssh/known_hosts. 2017-07-05 16:05:28 -07:00
dellos6.yaml
dellos9.yaml
dellos10.yaml
eos.yaml Continue running network tests after failure (#26407) 2017-07-04 18:18:02 +01:00
exoscale.yml
galaxy_playbook.yml
galaxy_playbook_git.yml
galaxy_roles.yml
galaxy_rolesfile
gce.yml
gce_credentials.py
integration_config.yml
inventory
inventory.network Add VyOS integration tests for net_linkagg (#26478) 2017-07-06 11:25:15 +02:00
inventory.networking.template
inventory.remote.template
inventory.winrm.template
ios.yaml Continue running network tests after failure (#26407) 2017-07-04 18:18:02 +01:00
iosxr.yaml Continue running network tests after failure (#26407) 2017-07-04 18:18:02 +01:00
jenkins.yml
junos.yaml Implementation of junos_static_route module (#26501) 2017-07-07 13:25:14 +05:30
Makefile Remove legacy integration test make targets. (#26255) 2017-06-29 12:34:54 -07:00
netscaler.yaml Add netscaler_server module (#25537) 2017-06-27 23:08:00 +05:30
network-all.yaml add vyos, openvswitch to network-all playbook (#26167) 2017-06-28 13:27:55 +05:30
nxos.yaml Continue running network tests after failure (#26407) 2017-07-04 18:18:02 +01:00
ops.yaml Continue running network tests after failure (#26407) 2017-07-04 18:18:02 +01:00
ovs.yaml Enforce the _raw_params variable with include_role (#26430) 2017-07-05 15:53:10 +01:00
platform_agnostic.yaml Add VyOS integration tests for net_linkagg (#26478) 2017-07-06 11:25:15 +02:00
rackspace.yml
setup_gce.py
target-prefixes.network Fix network integration test config. (#26057) 2017-06-23 17:02:59 -07:00
vyos.yaml Enable vyos_linkagg integration tests and test with 3 NICs (#26519) 2017-07-07 10:40:18 +02:00