Commit Graph

875 Commits

Author SHA1 Message Date
Dmitrii Dolgov e6f1e8b7fc Merge branch 'master' into feature/connection-pooler 2020-03-06 13:40:15 +01:00
Dmitrii Dolgov 80fee17ea4 Various fixes
Sync pool user correctly, without overriding it.
Fix numberOfInstances comparison in defaults.
Fix maxDBConnections usage.
2020-03-06 13:32:04 +01:00
Felix Kunde ae2a38d62a
add e2e test for node readiness label (#846)
* add e2e test for node readiness label
* refactoring and order tests alphabetically
* always wait for replica after failover
2020-03-06 12:55:34 +01:00
Dmitrii Dolgov ab118dd78b Prevent operator from wrongly syncing pooler user 2020-03-05 17:31:04 +01:00
Dmitrii Dolgov e645ca5c23 Prevent original labels from update 2020-03-05 14:36:13 +01:00
Felix Kunde f1646c8204 minor changes to docs and manifests 2020-03-05 11:08:50 +01:00
Dmitrii Dolgov 07adaf28cc Extend labels for connection pool 2020-03-05 10:32:20 +01:00
Dmitrii Dolgov a38a5aa574 Add test for sync with flag 2020-03-05 10:12:10 +01:00
Dmitrii Dolgov e0df9dea0c Sync in case of missing deployment
If nothing changed we still need to try to sync and test if the
deployment is there. Otherwise it could be deleted, and operator will
not notice.
2020-03-04 16:07:22 +01:00
Felix Kunde 4d12615c0d reflect new pooler parameter in validation + define same pooler image everywhere 2020-03-04 10:38:01 +01:00
Felix Kunde 2bba673f1d update codegen 2020-03-04 09:36:42 +01:00
Dmitrii Dolgov 918df1461b Add possibility to set max db connections
Since it's an important part of a connection pool configuration, allow
to configure max db connections, that pool will open to a target db.
From this numbers several others (like default pool size, min pool size,
reserve) will be deduced, taking into account desired number of instances.
2020-03-03 15:58:33 +01:00
Dmitrii Dolgov 037d7120ef Sync due to defaults
Since we can miss it while checking only spec
2020-03-02 16:32:15 +01:00
Hengchu Zhang 51909204fd
Change `logging_rest_api.api_port` to `8080` instead of `8008` (#848)
The documentation states that the default operator REST service is at port `8080`, but the current default CRD based configuration is `8008`. Changing the default config to match documentation.
2020-02-28 14:13:58 +01:00
Felix Kunde b24da3201c
bump version to 1.4.0 + some polishing (#839)
* bump version to 1.4.0 + some polishing
* align version for UI chart
* update user docs to warn for standby replicas
* minor log message changes for RBAC resources
2020-02-25 09:50:54 +01:00
Felix Kunde fb9ef11e4e
align UI pipeline with operator (#844)
* align UI pipeline with operator
2020-02-24 17:48:14 +01:00
Dmitrii Dolgov 3e98832703 Add more tests
sync logic
system users init
needConnectionPool
2020-02-24 16:20:59 +01:00
Felix Kunde b997e3682f
be more permissive with standbys (#842)
* be more permissive with standbys
* reflect feedback and updated docs
2020-02-24 15:14:14 +01:00
Dmitrii Dolgov 619c543b61 E2E tests for connection pool
Turn off enableConnectionPool to be able to test it from the scratch.
Add turn on, modify, turn off/on test.
2020-02-24 14:47:47 +01:00
Felix Kunde 7b94060d17
fix validation for S3ForcePathStyle (#841) 2020-02-21 16:36:23 +01:00
Felix Kunde e2a9b03913
bump spilo version to latest release (#836) 2020-02-20 16:21:21 +01:00
Felix Kunde cf85db5d7a merge with master and resolve conflict 2020-02-20 10:09:13 +01:00
Felix Kunde 2afaa59719 update code-gen 2020-02-19 15:55:05 +01:00
Felix Kunde 742d7334a1
use cluster-name as default label everywhere (#782)
* use cluster-name as default label everywhere
* fix e2e test
2020-02-19 15:01:01 +01:00
Dmitrii Dolgov 66129335fd Adjust sync logic 2020-02-19 14:53:58 +01:00
Felix Kunde 54796945f6
added pinned werkzeug dep to UI requirements (#835) 2020-02-19 14:19:55 +01:00
Felix Kunde d5660f65bb
[UI] add tab for monthly costs per cluster (#796)
* add tab for monthly costs per cluster
* sync run_local and update version number
* lowering resources
* some Makefile polishing and updated admin docs on UI
* extend admin docs on UI
* add api-service manifest for operator
* set min limits in UI to default min limits of operator
* reflect new UI helm charts in docs
* make cluster name label configurable
2020-02-19 12:58:24 +01:00
Felix Kunde aea9e9bd33
postgres-pod clusterrole (#832)
* define postgres-pod clusterrole and align rbac in chart
* align UI chart rbac with operator and update doc
* operator RBAC needs podsecuritypolicy to grant it to postgres-pod
2020-02-19 12:32:54 +01:00
Jonathan Juares Beber 4b440e59de
Fix test flakiness on TestSameService (#833)
The code added on #818 depends on map sorting to return a static reason
for service annotation changes. To avoid tests flakiness and map sorting
the tests include a `strings.HasPrefix` instead of comparing the whole
string. One of the test cases,
`service_removes_a_custom_annotation,_adds_a_new_one_and_change_another`,
is trying to test the whole reason string.

This commit replaces the test case reason, for only the reason prefix.
It removes the flakiness from the tests. As all the cases (annotation
adding, removing and value changing) are tested before, it's safe to
test only prefixes.

Also, it renames the test name from `TestServiceAnnotations` to
`TestSameService` and introduces a better description in case of test
failure, describing that only prefixes are tested.
2020-02-18 16:45:44 +01:00
Dmitrii Dolgov 97217e27ed Delete if a new specification is nil
Use coalesce for username too.
2020-02-17 15:34:10 +01:00
Dmitrii Dolgov 35d82e5a17 Do sync also when there are no deployment 2020-02-17 14:28:38 +01:00
Dmitrii Dolgov 4add317b48 Merge branch 'master' into feature/connection-pooler 2020-02-17 13:11:57 +01:00
Dmitrii Dolgov 515bb2dfad Address review, add ConnectionPool init for sync 2020-02-17 13:07:40 +01:00
Felix Kunde 702a194c41
switch to rbac/v1 (#829)
* switch to rbac/v1
2020-02-17 11:25:07 +01:00
Dmitrii Dolgov a9d02bacc4 Address review 2020-02-14 14:20:35 +01:00
Dmitrii Dolgov 0095be0279 Fix uninitialized ConnectionPool structure usage
It's being used quite early to setup a connection pool user, and if only
enableConnectionPool specified, can be nil.
2020-02-14 13:04:24 +01:00
Dmitrii Dolgov 447a659d6d Report status in e2e 2020-02-14 11:49:48 +01:00
Dmitrii Dolgov 898d441ff2 And output the resulting completed process 2020-02-13 17:26:24 +01:00
Dmitrii Dolgov 8a81bc7464 Capture output for debugging purposes 2020-02-13 17:03:59 +01:00
Dmitrii Dolgov e11f787664 Rename replicas to avoid potential confusion about terminology 2020-02-13 16:34:02 +01:00
Felix Kunde 3b10dc645d
patch/update services on type change (#824)
* use Update when disabling LoadBalancer + added e2e test
2020-02-13 16:24:15 +01:00
Dmitrii Dolgov e2664843ba Add a real pgbouncer image 2020-02-13 15:22:40 +01:00
Felix Kunde 6ddac2f9d6 update codegen 2020-02-13 14:51:43 +01:00
Felix Kunde 4f2457bbe8 clean up merge conflict 2020-02-13 14:19:15 +01:00
Felix Kunde 99f2b038b5 add enableConnectionPool to validation and some nior fixes 2020-02-13 14:15:57 +01:00
Felix Kunde c9a1c8e6b4 add enableConnectionPool to validation and some nior fixes 2020-02-13 14:13:06 +01:00
Dmitrii Dolgov 2384e1ec10 Cleanup configuration
Add pool configuration into CRD & charts. Add preliminary documentation.
Rename NumberOfInstances to Replicas like in Deployment. Mention couple
of potential improvement points for connection pool specification.
2020-02-13 13:47:19 +01:00
Felix Kunde f0ceafa81e reflect connectionPool validation in Go code and publish in manifests and chart 2020-02-13 13:47:19 +01:00
Felix Kunde 17d077e370 add validation for postgresql CRD 2020-02-13 13:47:19 +01:00
Dmitrii Dolgov 82e9d40587 Add test for both ways to enable connection pool 2020-02-13 13:47:19 +01:00