On Sept. 24, 2015, 8:54 nachm., Stephen Gallagher wrote:
> config/roles/databaseserver/role.py, lines 393-397
>
<
http://reviewboard-fedoraserver.rhcloud.com/r/219/diff/3/?file=1157#file1...
>
> If the `__tweak_lines()` routine has failed here, should we also restore the
earlier .rksave for postgresql.conf? The `decomission()` __should__ take care of it either
way.
>
> It might be a separate bug, but if the first deployment fails partway through
(such as with one file but not the other updated) and is not decommissioned before
attempting to create another instance, it's possible that we could end up in a state
where the deployment looks like it succeeded but the database won't be accessible
because pg_hba.conf wasn't updated.
>
> I think we need to account for this possibility. (This was pretty much the
original reasoning for bug #21)
I've amended both exception handlers to eventually remove their own backup file and/or
restore the successfully overwritten `postgresql.conf` from the backup if writing
`pg_hba.conf` fails.
- Nils
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard-fedoraserver.rhcloud.com/r/219/#review540
-----------------------------------------------------------
On Sept. 25, 2015, 12:32 nachm., Nils Philippsen wrote:
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard-fedoraserver.rhcloud.com/r/219/
-----------------------------------------------------------
(Updated Sept. 25, 2015, 12:32 nachm.)
Review request for RoleKit Mailing List, Miloslav Trmac, Nils Philippsen, Stephen
Gallagher, and Thomas Woerner.
Repository: rolekit
Description
-------
Use an internal implementation instead of calling sed to tweak
configuration files. This has the neat side effect of overwriting the
target file as the last step, side-stepping the need to copy over the
backup file on errors.
This change requires python3-slip >= 0.6.4 because in previous versions
slip.util.files.overwrite_safely() doesn't preserve file ownership, and
the postgresql configuration files need to be owned by the postgres user.
https://github.com/libre-server/rolekit/issues/21
Diffs
-----
config/roles/databaseserver/role.py 7443979ba7ff87ff6a018ac8a7a0a89e2b8ad6e7
rolekit.spec f3cf9f4b799909bc293f4e56eea78c71e7112e9c
Diff:
http://reviewboard-fedoraserver.rhcloud.com/r/219/diff/
Testing
-------
Deployed `databaseserver` role, compared contents of `postgresql.conf`, `pg_hba.conf`
with what the original sed commands produced.
Thanks,
Nils Philippsen