From b78f0fffdbd39999752666a25cb1a34a7bc8b317 Mon Sep 17 00:00:00 2001 From: ccremer Date: Wed, 26 Oct 2022 11:05:51 +0200 Subject: [PATCH 1/2] Document limitations of pg on Exoscale --- docs/modules/ROOT/nav.adoc | 1 + .../pages/explanations/dbaas-postgresql.adoc | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 docs/modules/ROOT/pages/explanations/dbaas-postgresql.adoc diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index 93c2aee2..7edb1f69 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -13,6 +13,7 @@ .Explanation * xref:explanations/iamkey.adoc[IAMKeys permissions] +* xref:explanations/dbaas-postgresql.adoc[DBaaS: PostgreSQL] * For Developers ** xref:explanations/dev/iamkey-reconciliation.adoc[ObjectsUser Reconciliation] ** xref:explanations/dev/bucket-reconciliation.adoc[Bucket Reconciliation] diff --git a/docs/modules/ROOT/pages/explanations/dbaas-postgresql.adoc b/docs/modules/ROOT/pages/explanations/dbaas-postgresql.adoc new file mode 100644 index 00000000..62781999 --- /dev/null +++ b/docs/modules/ROOT/pages/explanations/dbaas-postgresql.adoc @@ -0,0 +1,28 @@ += DBaaS: PostgreSQL + +== Immutable Fields + +After an instance has been created in Exoscale, certain restrictions apply to the following properties: + +`spec.forProvider.zone`:: +Changing the Zone/Datacenter doesn't automatically move an instance, thus this field has been made immutable via admission webhook. + +`spec.forProvider.version`:: +This field is basically only there to set the initial version upon first creation. +After provisioning, this field becomes effectively unused and the observed version is incremented according to the maintenance policy and available updates. +This field is only accepts a change if it's set to the exact same version as the observed version, for every other value it's immutable. ++ +NOTE: The behaviour of this field might change in a future release. + +== Long Delays When Updating Instances + +When a change to the spec is made, the provider attempts to update the instance via Exoscale API. +Even if updating the instance is successful, it can take a few seconds until the `Ready` condition becomes false with reason `Rebuilding`. +This is most likely due to the provider observing the resource on Exoscale API again, before Exoscale actually sets the instance status to `Rebuilding`. + +NOTE: Depending on the change, the rebuilding can take a few minutes. + +Also, after the instance is rebuilt on Exoscale, there can be an additional delay until the status is updated. +The current reconcile interval for the PostgreSQL resources is once per minute. + +TIP: Scripts and other automations that change the spec and await updated status should expect delays of 2 minutes or more before potentially reporting an error or timeout. From 52700fe3a676e0a60b39f0af5304ac9cefae3157 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 26 Oct 2022 17:07:16 +0200 Subject: [PATCH 2/2] Fix typo Co-authored-by: Kidswiss --- docs/modules/ROOT/pages/explanations/dbaas-postgresql.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/modules/ROOT/pages/explanations/dbaas-postgresql.adoc b/docs/modules/ROOT/pages/explanations/dbaas-postgresql.adoc index 62781999..2c254c20 100644 --- a/docs/modules/ROOT/pages/explanations/dbaas-postgresql.adoc +++ b/docs/modules/ROOT/pages/explanations/dbaas-postgresql.adoc @@ -10,7 +10,7 @@ Changing the Zone/Datacenter doesn't automatically move an instance, thus this f `spec.forProvider.version`:: This field is basically only there to set the initial version upon first creation. After provisioning, this field becomes effectively unused and the observed version is incremented according to the maintenance policy and available updates. -This field is only accepts a change if it's set to the exact same version as the observed version, for every other value it's immutable. +This field only accepts a change if it's set to the exact same version as the observed version, for every other value it's immutable. + NOTE: The behaviour of this field might change in a future release.