* Allow Docker image to take parameters to overwrite unittest
execution
* Add documentation for running individual tests
* Fixed String encoding in Patorni state check and error case
* Lazy upgrade now properly covered with eventual and waiting for pod
start
* patching config now updates deployment, patching annotation, allowing
to trace change step
* run.sh no takes NOCLEANUP to stop kind from being deleted
* if kind config is present, run will not install kind
* Fast e2e local execution now possible once kind is up
* Lookup function installation
Due to reusing a previous database connection without closing it, lookup
function installation process was skipping the first database in the
list, installing twice into postgres db instead. To prevent that, make
internal initDbConnWithName to overwrite a connection object, and return
the same object only from initDbConn, which is sort of public interface.
Another solution for this would be to modify initDbConnWithName to
return a connection object and then generate one temporary connection
for each db. It sound feasible but after one attempt it seems it
requires a bit more changes around (init, close connections) and
doesn't bring anything significantly better on the table. In case if
some future changes will prove this wrong, do not hesitate to refactor.
Change retry strategy to more insistive one, namely:
* retry on the next sync even if we failed to process one database and
install pooler appliance.
* perform the whole installation unconditionally on update, since the
list of target databases could be changed.
And for the sake of making it even more robust, also log the case when
operator decides to skip installation.
Extend connection pooler e2e test with verification that all dbs have
required schema installed.