Commit Graph

71 Commits

Author SHA1 Message Date
Jan Mußler 85ae41b897 Wait more before we delete. 2020-10-27 22:43:28 +01:00
Jan Mußler 067c7b5558 Adding message to verif manifest was in fact deleted. 2020-10-27 22:22:26 +01:00
Jan Mußler 30cd4edd09 Giving operator 1 second to startup. 2020-10-27 21:05:27 +01:00
Jan Mußler cabb7bc59f Catch possible pods count error. 2020-10-27 20:31:16 +01:00
Jan Mußler 474d4d974e Rename cleanup. Add to readme. 2020-10-27 17:59:10 +01:00
Jan Mußler 30ddfc9ad8 Fix missing pieces from K8s API. 2020-10-27 17:57:28 +01:00
Jan Mußler 9a7fc85d3b Merge master. 2020-10-27 17:25:57 +01:00
Jan Mußler 60cbd4ebbe Skip failing test for now. 2020-10-27 16:53:09 +01:00
Jan Mußler b606b6f77b Wait for pods to run. 2020-10-27 15:19:19 +01:00
Jan Mußler 326c67b670 Proper f() wrapper for taint test. 2020-10-27 14:14:30 +01:00
Jan Mußler 826d7c0c1e Typos. 2020-10-27 13:19:05 +01:00
Jan Mußler d2599d99df Fix funciton in wrong class. 2020-10-27 13:17:36 +01:00
Jan Mußler 8dc6c08cf7 Changes to tolerations test. Make it complete quicker. 2020-10-27 13:14:25 +01:00
Jan Mußler e6b71cbb98 Taints and tolerations test. 2020-10-27 12:40:21 +01:00
Jan Mußler eb8df06af5 Tiny changes. 2020-10-26 23:35:03 +01:00
Jan Mußler 88e89956e0 Verify explicit sync of deployment. 2020-10-26 23:24:03 +01:00
Jan Mußler 89741c4d60 Fix annotation error case. 2020-10-26 22:17:52 +01:00
Jan Mußler a53280e609 Changing e2e for pooler a bit. Check annotations object before lookup. 2020-10-26 22:03:13 +01:00
Jan Mußler acc1d5e0b9 Pooler cleanup in spec in extra step. 2020-10-26 21:57:43 +01:00
Jan Mußler a8c777ad09 Show deployments too. 2020-10-26 21:51:58 +01:00
Jan Mußler 5294995b19 Move long running test to end. Move pooler test to new functions. 2020-10-26 21:38:06 +01:00
Jan Mußler 8b057d4e43 Updating readme. 2020-10-24 00:16:27 +02:00
Jan Mußler 0c0474c95c Fix missing message. 2020-10-23 01:18:43 +02:00
Jan Mußler d88e62fc79 Fixing yaml dump. Removing restart pending between tests. 2020-10-23 01:09:02 +02:00
Jan Mußler aa3100ca34 Mount script with tools for easy logaccess and watching objects. 2020-10-22 23:35:43 +02:00
Jan Mußler 2aeaad03f3 Minor changes around running pods and catching error in infrastructure roles. 2020-10-22 16:12:12 +02:00
Jan Mußler 1f3730b2b4 More tests and more nice diff. 2020-10-21 23:30:35 +02:00
Jan Mußler e40abdb249 Move scale function. 2020-10-21 18:12:33 +02:00
Jan Mußler b422cf9d71 Comments updated. 2020-10-21 18:10:20 +02:00
Jan Mußler 6b91bd3282 More e2e changes for scale up and down. 2020-10-21 17:58:16 +02:00
Jan Mußler 39641e81ea Fixing annotations key. 2020-10-21 17:44:21 +02:00
Jan Mußler f03409da06 Fix min resurces end to end test. 2020-10-21 17:27:00 +02:00
Jan Mußler 9b596f1eb7 Extending timeout, allow one sync. 2020-10-21 15:39:09 +02:00
Jan Mußler 2066256a17 Progressing on faster e2e tests. 2020-10-21 15:23:17 +02:00
Jan Mußler 668ef51d9f Printing config as multi log line entity, makes it readable and grepable on startup 2020-10-21 08:33:31 +02:00
Jan Mußler c6c4c4cc8a * Make lazy upgrade test work reliable
* 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
2020-10-20 19:20:38 +02:00
Jan Mußler 4fc8ca384d Fix distribution call. 2020-10-19 23:47:40 +02:00
Jan Mußler 966575dd4b * Patroni state function added in k8s
* 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
2020-10-19 23:35:08 +02:00
Dmitry Dolgov 1f5d0995a5
Lookup function installation (#1171)
* 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.
2020-10-19 16:18:58 +02:00
Jan Mußler c1ad71668b WIP 2020-10-19 14:09:22 +02:00
Jan Mußler ccde8c6bf6 More fixes for e2e tests. 2020-10-19 13:53:48 +02:00
Jan Mußler 38e6261d64 Loadbalancer test now uses eventualEqual properly. 2020-10-19 10:26:41 +02:00
Jan Mußler cc4bfb0cfb Build docker image and changed back to os image. 2020-10-18 19:56:54 +02:00
Jan Mussler 21afc07d9f Improving end 2 end tests by implementing proper eventual asserts and timeouts. 2020-10-18 19:23:17 +02:00
Sergey Dudoladov 38e15183a2
update kind (#1156)
Co-authored-by: Sergey Dudoladov <sergey.dudoladov@zalando.de>
2020-10-02 09:31:55 +02:00
Sergey Dudoladov 3b6dc4f92d
Improve e2e tests (#1111)
* icnrease vm size

* cache deps

* switch to the absolute cache path as cdp does not support shell expansion

* do not pull non-existing image

* manually install kind

* add alias to kind

* use full kind name

* one more name change

* install kind with other tools

* add bind mounts instead of copying files

* test fetching the runner image

* build image for pierone

* bump up the client-go version to match the master

* bump up go version

* install pinned version of kind before any test run

* do not overwrite local ./manifests during test run

* update the docs

* fix kind name

* update go.* files

* fix deps

* avoid unnecessary image upload

* properly install kind

* Change network to host to make it reachable within e2e runner. May not be the right solution though.

* Small changes. Also use entrypoint vs cmd.

* Bumping spilo. Load before test.

* undo incorrect merge from the master

Co-authored-by: Sergey Dudoladov <sergey.dudoladov@zalando.de>
Co-authored-by: Jan Mußler <janm81@gmail.com>
2020-09-25 14:14:19 +02:00
Felix Kunde 5e93aabea6
improve e2e test debugging (#1107)
* print operator log in most tests when they time out
2020-08-28 14:57:19 +02:00
Felix Kunde 30c86758a3
update kind and use with old storage class (#1121)
* update kind and use with old storage class
* specify standard storage class in minimal manifest
* remove existing local storage class in kind
* fix pod distribution test
* exclude k8s master from nodes of interest
2020-08-28 12:16:37 +02:00
Felix Kunde 3ddc56e5b9
allow delete only if annotations meet configured criteria (#1069)
* define annotations for delete protection

* change log level and reduce log lines for e2e tests

* reduce wait_for_pod_start even further
2020-08-13 16:36:22 +02:00
Felix Kunde 43163cf83b
allow using both infrastructure_roles_options (#1090)
* allow using both infrastructure_roles_options

* new default values for user and role definition

* use robot_zmon as parent role

* add operator log to debug

* right name for old secret

* only extract if rolesDefs is empty

* set password1 in old infrastructure role

* fix new infra rile secret

* choose different role key for new secret

* set memberof everywhere

* reenable all tests

* reflect feedback

* remove condition for rolesDefs
2020-08-10 15:08:03 +02:00