mirror of
https://github.com/ubuntu/microk8s.git
synced 2021-05-23 02:23:41 +03:00
Retry dqlite failed queries (#1624)
This commit is contained in:
committed by
GitHub
parent
8c23ed3800
commit
c6b23f5870
@@ -1,4 +1,4 @@
|
||||
From 0b545d9ce0a4ee3090831760cb2e600358e024e4 Mon Sep 17 00:00:00 2001
|
||||
From ff20e3bac811992a52d482de0f417aa55e66cc67 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sat, 22 Jun 2019 11:26:24 +0200
|
||||
Subject: [PATCH 01/34] Rename flag set "etcd" to "storage"
|
||||
@@ -24,7 +24,7 @@ index 1434cc181b4..9d018c6683a 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From 053e462a5b4bfeedb9231c3f2f0646f9a79a2034 Mon Sep 17 00:00:00 2001
|
||||
From d09f049b39b8909c5cccc1b6b6fc41089db33916 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sat, 22 Jun 2019 11:17:19 +0200
|
||||
Subject: [PATCH 02/34] Add "dqlite" to available storage type names
|
||||
@@ -66,7 +66,7 @@ index 5dc0bbfb349..536c47e9e26 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From b88f18d23aaeb1e174aba2987b02087d34eb7eb0 Mon Sep 17 00:00:00 2001
|
||||
From f4c3d26e08423486495bdcf4b9269e8b0f9a7c92 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sat, 22 Jun 2019 11:22:09 +0200
|
||||
Subject: [PATCH 03/34] The --etcd-servers option is not required for dqlite
|
||||
@@ -94,7 +94,7 @@ index 3e8ddb2e3e0..2e3658a96b0 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From ad8804663b03ef6641f634b58b48e736b5d70611 Mon Sep 17 00:00:00 2001
|
||||
From b53a6311525350141f4861234b7fc1514f92e1ad Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sun, 23 Jun 2019 10:41:53 +0200
|
||||
Subject: [PATCH 04/34] Don't check connectivity when using the dqlite storage
|
||||
@@ -135,7 +135,7 @@ index 1672cefd927..27808043a9e 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From d5dbecdbb4f7e0359c13b6fb1e17857404132206 Mon Sep 17 00:00:00 2001
|
||||
From 9b4ab592f3780696fd33d9ce619b4a5301bfe3ce Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Fri, 28 Jun 2019 02:43:03 +0200
|
||||
Subject: [PATCH 05/34] Add --storage-dir command line option to specify a
|
||||
@@ -197,28 +197,29 @@ index 536c47e9e26..d5e3e51d11c 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From 549fdbfc9d64c33482faee7da9fd66e5c868c829 Mon Sep 17 00:00:00 2001
|
||||
From 0498900749dceb3dda58fdb7386bea2149aff53a Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sun, 23 Jun 2019 11:01:44 +0200
|
||||
Subject: [PATCH 06/34] Build a kvsql store when choosing dqlite as backend
|
||||
|
||||
---
|
||||
.../apiserver/pkg/storage/storagebackend/factory/factory.go | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
.../apiserver/pkg/storage/storagebackend/factory/factory.go | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go b/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go
|
||||
index a1dc6c0fa89..26c9a65b356 100644
|
||||
index a1dc6c0fa89..f4ec97152b8 100644
|
||||
--- a/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go
|
||||
+++ b/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go
|
||||
@@ -19,6 +19,7 @@ package factory
|
||||
@@ -19,6 +19,8 @@ package factory
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
+ kvsql "github.com/freeekanayaka/kvsql"
|
||||
+ "k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apiserver/pkg/storage"
|
||||
"k8s.io/apiserver/pkg/storage/storagebackend"
|
||||
)
|
||||
@@ -33,6 +34,8 @@ func Create(c storagebackend.Config) (storage.Interface, DestroyFunc, error) {
|
||||
@@ -33,6 +35,8 @@ func Create(c storagebackend.Config) (storage.Interface, DestroyFunc, error) {
|
||||
return nil, nil, fmt.Errorf("%v is no longer a supported storage backend", c.Type)
|
||||
case storagebackend.StorageTypeUnset, storagebackend.StorageTypeETCD3:
|
||||
return newETCD3Storage(c)
|
||||
@@ -227,7 +228,7 @@ index a1dc6c0fa89..26c9a65b356 100644
|
||||
default:
|
||||
return nil, nil, fmt.Errorf("unknown storage type: %s", c.Type)
|
||||
}
|
||||
@@ -45,6 +48,8 @@ func CreateHealthCheck(c storagebackend.Config) (func() error, error) {
|
||||
@@ -45,6 +49,8 @@ func CreateHealthCheck(c storagebackend.Config) (func() error, error) {
|
||||
return nil, fmt.Errorf("%v is no longer a supported storage backend", c.Type)
|
||||
case storagebackend.StorageTypeUnset, storagebackend.StorageTypeETCD3:
|
||||
return newETCD3HealthCheck(c)
|
||||
@@ -240,7 +241,7 @@ index a1dc6c0fa89..26c9a65b356 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From d5b03b31dc58b92ea4f3078d7a899a646bc53fe2 Mon Sep 17 00:00:00 2001
|
||||
From c1168463ed7012aa9510169a604ace1f0790de0c Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sun, 30 Jun 2019 13:11:30 +0200
|
||||
Subject: [PATCH 07/34] Shutdown dqlite engine
|
||||
@@ -276,7 +277,7 @@ index 27808043a9e..17cc02aa0f6 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From bad7309212fe252a9733569eb2b3a57f83475d9e Mon Sep 17 00:00:00 2001
|
||||
From f73675539c1d3f94ee11aaaa5053e36ca17f947e Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sat, 29 Jun 2019 21:11:26 +0200
|
||||
Subject: [PATCH 08/34] Add dqlite rest handler
|
||||
@@ -305,7 +306,7 @@ index 17cc02aa0f6..5ac2756f630 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From a864232188ffbb8eff3a0ff70c72ea1b0ae5ca7c Mon Sep 17 00:00:00 2001
|
||||
From 038884bc5e0fed5654b5144cfb23c99c068cf06f Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Thu, 4 Jul 2019 11:46:03 +0200
|
||||
Subject: [PATCH 09/34] Add initial hack/local-dqlite-cluster.sh
|
||||
@@ -580,7 +581,7 @@ index 00000000000..76b706836cd
|
||||
2.25.1
|
||||
|
||||
|
||||
From 277542d1d263b18b4051411d1c1b5871a8629ea0 Mon Sep 17 00:00:00 2001
|
||||
From 5fec519011a9513ff20e6fdcdcfdf2043388336d Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sat, 20 Jul 2019 15:27:47 +0200
|
||||
Subject: [PATCH 10/34] Use kubeadm to generate certificates
|
||||
@@ -740,7 +741,7 @@ index 76b706836cd..944c9c72505 100755
|
||||
2.25.1
|
||||
|
||||
|
||||
From 4728613a80e7506cba10f8542ee4014ec6470fdb Mon Sep 17 00:00:00 2001
|
||||
From 21f2200a5763ccbde462f8c585eae154270d0f0d Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Fri, 5 Jul 2019 12:38:16 +0200
|
||||
Subject: [PATCH 11/34] Add docker.sh to start a docker instance for testing
|
||||
@@ -803,7 +804,7 @@ index 8b77b29cf44..55390d3fd79 100755
|
||||
KUBE_OUTPUT_HOSTBIN="${KUBE_OUTPUT_BINPATH}/$(kube::util::host_platform)"
|
||||
export KUBE_OUTPUT_HOSTBIN
|
||||
diff --git a/hack/lib/util.sh b/hack/lib/util.sh
|
||||
index 34e189bff21..e70f4208e7c 100755
|
||||
index 78187359c19..2c5ad077beb 100755
|
||||
--- a/hack/lib/util.sh
|
||||
+++ b/hack/lib/util.sh
|
||||
@@ -82,6 +82,32 @@ kube::util::wait_for_success(){
|
||||
@@ -843,7 +844,7 @@ index 34e189bff21..e70f4208e7c 100755
|
||||
2.25.1
|
||||
|
||||
|
||||
From 5590de35dc3859cfc1e9d0aa705c5bd2c93d5ca5 Mon Sep 17 00:00:00 2001
|
||||
From a50ed5db4deafed14d66e9d52f07c4156a7aee49 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sat, 20 Jul 2019 16:18:06 +0200
|
||||
Subject: [PATCH 12/34] Start kubelet
|
||||
@@ -972,7 +973,7 @@ index 944c9c72505..b79d0c1d2fc 100755
|
||||
2.25.1
|
||||
|
||||
|
||||
From 62f2a134f0d61c45cae61929d09e8a8948f3de20 Mon Sep 17 00:00:00 2001
|
||||
From 074a69479b66b041744b83ebb155cca19442ad93 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sun, 21 Jul 2019 09:52:54 +0200
|
||||
Subject: [PATCH 13/34] Don't use kubeadm, the kubelet has auth problems
|
||||
@@ -1164,7 +1165,7 @@ index b79d0c1d2fc..d27aae4c08e 100755
|
||||
2.25.1
|
||||
|
||||
|
||||
From 275f32fdfa518fdf89c7d123c12a6ea010ed4d67 Mon Sep 17 00:00:00 2001
|
||||
From f217c8b0394f38cb9c7b1974a01d2df9d615093f Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Mon, 7 Oct 2019 18:38:34 +0200
|
||||
Subject: [PATCH 14/34] Update internal dqlite UX
|
||||
@@ -1331,7 +1332,7 @@ index 00000000000..78862e05e6e
|
||||
2.25.1
|
||||
|
||||
|
||||
From 6027eae07bd3df7b625c2eeff2cd39c011c624bc Mon Sep 17 00:00:00 2001
|
||||
From 25012cc5f9cd93457e3c83632672233be0cad58c Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sun, 21 Jul 2019 14:21:51 +0200
|
||||
Subject: [PATCH 15/34] Vendor gh.com/docker/docker/pkg/locker
|
||||
@@ -1705,7 +1706,7 @@ index 00000000000..2b0a8a55d6d
|
||||
2.25.1
|
||||
|
||||
|
||||
From 2b04d66ff2f6c7cbf5f141837dca83957afb2383 Mon Sep 17 00:00:00 2001
|
||||
From 20c906804c05f474f7ce2bd92aa3225f5f402680 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sun, 21 Jul 2019 14:26:54 +0200
|
||||
Subject: [PATCH 16/34] Vendor github.com/Rican7/retry
|
||||
@@ -3011,7 +3012,7 @@ index 00000000000..17488f54f3a
|
||||
2.25.1
|
||||
|
||||
|
||||
From f40e9af42e32954289fbb39f8a490d9ece5994e1 Mon Sep 17 00:00:00 2001
|
||||
From c8f05df3a21855a93257187d4ec6856c975cd9c8 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sun, 21 Jul 2019 14:32:41 +0200
|
||||
Subject: [PATCH 17/34] Vendor github.com/gxed/GoEndian
|
||||
@@ -3419,7 +3420,7 @@ index 00000000000..b36d1e5dca2
|
||||
2.25.1
|
||||
|
||||
|
||||
From b4cc4e53e61e236e4b9e6c0327d3a9e37e4888d3 Mon Sep 17 00:00:00 2001
|
||||
From 535a0838a0b87a97dfa05667d225bf2896778249 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sun, 21 Jul 2019 14:50:31 +0200
|
||||
Subject: [PATCH 18/34] Vendor go-sqlite3
|
||||
@@ -253676,7 +253677,7 @@ index 00000000000..d80022724a6
|
||||
2.25.1
|
||||
|
||||
|
||||
From b33d2cdec7c16546729af5a7b7000f81a1f061f7 Mon Sep 17 00:00:00 2001
|
||||
From 2c5d0b1a87f0702a71534e94edf72b1202de9d5c Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sun, 21 Jul 2019 14:29:10 +0200
|
||||
Subject: [PATCH 19/34] Vendor github.com/canonical/go-dqlite
|
||||
@@ -265305,7 +265306,7 @@ index 00000000000..50454ae9e03
|
||||
2.25.1
|
||||
|
||||
|
||||
From f2d3e5ad1509c5a05b4d2c98e2907231dad20cef Mon Sep 17 00:00:00 2001
|
||||
From 4ca12d58441de388f604a37b6ba835b430016970 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Wed, 25 Mar 2020 14:10:25 +0000
|
||||
Subject: [PATCH 20/34] Vendor github.com/go-sql-driver/mysql
|
||||
@@ -279204,7 +279205,7 @@ index 00000000000..10a60c2d0b0
|
||||
2.25.1
|
||||
|
||||
|
||||
From e8a716f54a09dae755e12b42712957e6b8b8d2ea Mon Sep 17 00:00:00 2001
|
||||
From 24a673ac1aea105996f3d86d09c8fe73f764ede7 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Wed, 25 Mar 2020 14:10:42 +0000
|
||||
Subject: [PATCH 21/34] Vendor github.com/lib/pq
|
||||
@@ -293659,7 +293660,7 @@ index 00000000000..8ecee2fdef4
|
||||
2.25.1
|
||||
|
||||
|
||||
From 3160a2ed2eece9d42bdd6fac82cfc4d3bc150598 Mon Sep 17 00:00:00 2001
|
||||
From 18c2f6d76ea34fc0bfcfa71190b5528a6e7b3904 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Tue, 3 Mar 2020 12:07:32 +0100
|
||||
Subject: [PATCH 22/34] Vendor rancher/wrangler
|
||||
@@ -299747,7 +299748,7 @@ index 00000000000..e03a99add4b
|
||||
2.25.1
|
||||
|
||||
|
||||
From 2943f77f9730cb38815d91f603f9c92094e62b3a Mon Sep 17 00:00:00 2001
|
||||
From 8f67b8619be9a8e330e8e4633c6391b56eecc448 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Tue, 3 Mar 2020 12:07:48 +0100
|
||||
Subject: [PATCH 23/34] Vendor rancher/kine
|
||||
@@ -299768,7 +299769,7 @@ Subject: [PATCH 23/34] Vendor rancher/kine
|
||||
.../rancher/kine/pkg/client/client.go | 133 +++++
|
||||
.../rancher/kine/pkg/drivers/dqlite/dqlite.go | 248 +++++++++
|
||||
.../kine/pkg/drivers/dqlite/no_dqlite.go | 14 +
|
||||
.../kine/pkg/drivers/generic/generic.go | 362 ++++++++++++
|
||||
.../kine/pkg/drivers/generic/generic.go | 386 +++++++++++++
|
||||
.../rancher/kine/pkg/drivers/mysql/mysql.go | 168 ++++++
|
||||
.../rancher/kine/pkg/drivers/pgsql/pgsql.go | 172 ++++++
|
||||
.../rancher/kine/pkg/drivers/sqlite/sqlite.go | 102 ++++
|
||||
@@ -299788,7 +299789,7 @@ Subject: [PATCH 23/34] Vendor rancher/kine
|
||||
.../rancher/kine/pkg/server/update.go | 72 +++
|
||||
.../rancher/kine/pkg/server/watch.go | 152 +++++
|
||||
.../github.com/rancher/kine/pkg/tls/config.go | 31 ++
|
||||
35 files changed, 4046 insertions(+)
|
||||
35 files changed, 4070 insertions(+)
|
||||
create mode 100644 vendor/github.com/rancher/kine/.gitignore
|
||||
create mode 100644 vendor/github.com/rancher/kine/Dockerfile
|
||||
create mode 100644 vendor/github.com/rancher/kine/LICENSE
|
||||
@@ -301354,10 +301355,10 @@ index 00000000000..85f4636687c
|
||||
+}
|
||||
diff --git a/vendor/github.com/rancher/kine/pkg/drivers/generic/generic.go b/vendor/github.com/rancher/kine/pkg/drivers/generic/generic.go
|
||||
new file mode 100644
|
||||
index 00000000000..9932f41a290
|
||||
index 00000000000..ffe61a17d1e
|
||||
--- /dev/null
|
||||
+++ b/vendor/github.com/rancher/kine/pkg/drivers/generic/generic.go
|
||||
@@ -0,0 +1,362 @@
|
||||
@@ -0,0 +1,386 @@
|
||||
+package generic
|
||||
+
|
||||
+import (
|
||||
@@ -301462,22 +301463,18 @@ index 00000000000..9932f41a290
|
||||
+}
|
||||
+
|
||||
+func (d *Generic) Migrate(ctx context.Context) {
|
||||
+ var (
|
||||
+ count = 0
|
||||
+ countKV = d.queryRow(ctx, "SELECT COUNT(*) FROM key_value")
|
||||
+ countKine = d.queryRow(ctx, "SELECT COUNT(*) FROM kine")
|
||||
+ )
|
||||
+
|
||||
+ if err := countKV.Scan(&count); err != nil || count == 0 {
|
||||
+ count, err := d.queryInt64(ctx, "SELECT COUNT(*) FROM key_value")
|
||||
+ if err != nil || count == 0 {
|
||||
+ return
|
||||
+ }
|
||||
+
|
||||
+ if err := countKine.Scan(&count); err != nil || count != 0 {
|
||||
+ count, err = d.queryInt64(ctx, "SELECT COUNT(*) FROM kine")
|
||||
+ if err != nil || count != 0 {
|
||||
+ return
|
||||
+ }
|
||||
+
|
||||
+ logrus.Infof("Migrating content from old table")
|
||||
+ _, err := d.execute(ctx,
|
||||
+ _, err = d.execute(ctx,
|
||||
+ `INSERT INTO kine(deleted, create_revision, prev_revision, name, value, created, lease)
|
||||
+ SELECT 0, 0, 0, kv.name, kv.value, 1, CASE WHEN kv.ttl > 0 THEN 15 ELSE 0 END
|
||||
+ FROM key_value kv
|
||||
@@ -301572,14 +301569,39 @@ index 00000000000..9932f41a290
|
||||
+ }, err
|
||||
+}
|
||||
+
|
||||
+func (d *Generic) query(ctx context.Context, sql string, args ...interface{}) (*sql.Rows, error) {
|
||||
+ logrus.Tracef("QUERY %v : %s", args, Stripped(sql))
|
||||
+ return d.DB.QueryContext(ctx, sql, args...)
|
||||
+func (d *Generic) query(ctx context.Context, sql string, args ...interface{}) (rows *sql.Rows, err error) {
|
||||
+ for i := uint(0); i < 500; i++ {
|
||||
+ if i > 2 {
|
||||
+ logrus.Debugf("QUERY (try: %d) %v : %s", i, args, Stripped(sql))
|
||||
+ } else {
|
||||
+ logrus.Tracef("QUERY (try: %d) %v : %s", i, args, Stripped(sql))
|
||||
+ }
|
||||
+ rows, err = d.DB.QueryContext(ctx, sql, args...)
|
||||
+ if err != nil && d.Retry != nil && d.Retry(err) {
|
||||
+ time.Sleep(jitter.Deviation(nil, 0.3)(2 * time.Millisecond))
|
||||
+ continue
|
||||
+ }
|
||||
+ return rows, err
|
||||
+ }
|
||||
+ return
|
||||
+}
|
||||
+
|
||||
+func (d *Generic) queryRow(ctx context.Context, sql string, args ...interface{}) *sql.Row {
|
||||
+ logrus.Tracef("QUERY ROW %v : %s", args, Stripped(sql))
|
||||
+ return d.DB.QueryRowContext(ctx, sql, args...)
|
||||
+func (d *Generic) queryInt64(ctx context.Context, sql string, args ...interface{}) (n int64, err error) {
|
||||
+ for i := uint(0); i < 500; i++ {
|
||||
+ if i > 2 {
|
||||
+ logrus.Debugf("QUERY INT64 (try: %d) %v : %s", i, args, Stripped(sql))
|
||||
+ } else {
|
||||
+ logrus.Tracef("QUERY INT64 (try: %d) %v : %s", i, args, Stripped(sql))
|
||||
+ }
|
||||
+ row := d.DB.QueryRowContext(ctx, sql, args...)
|
||||
+ err = row.Scan(&n)
|
||||
+ if err != nil && d.Retry != nil && d.Retry(err) {
|
||||
+ time.Sleep(jitter.Deviation(nil, 0.3)(2 * time.Millisecond))
|
||||
+ continue
|
||||
+ }
|
||||
+ return n, err
|
||||
+ }
|
||||
+ return
|
||||
+}
|
||||
+
|
||||
+func (d *Generic) execute(ctx context.Context, sql string, args ...interface{}) (result sql.Result, err error) {
|
||||
@@ -301605,9 +301627,7 @@ index 00000000000..9932f41a290
|
||||
+}
|
||||
+
|
||||
+func (d *Generic) GetCompactRevision(ctx context.Context) (int64, error) {
|
||||
+ var id int64
|
||||
+ row := d.queryRow(ctx, compactRevSQL)
|
||||
+ err := row.Scan(&id)
|
||||
+ id, err := d.queryInt64(ctx, compactRevSQL)
|
||||
+ if err == sql.ErrNoRows {
|
||||
+ return 0, nil
|
||||
+ }
|
||||
@@ -301656,17 +301676,23 @@ index 00000000000..9932f41a290
|
||||
+ var (
|
||||
+ rev sql.NullInt64
|
||||
+ id int64
|
||||
+ err error
|
||||
+ )
|
||||
+
|
||||
+ row := d.queryRow(ctx, d.CountSQL, prefix, false)
|
||||
+ err := row.Scan(&rev, &id)
|
||||
+ for i := uint(0); i < 500; i++ {
|
||||
+ row := d.DB.QueryRowContext(ctx, d.CountSQL, prefix, false)
|
||||
+ err = row.Scan(&rev, &id)
|
||||
+ if err != nil && d.Retry != nil && d.Retry(err) {
|
||||
+ time.Sleep(jitter.Deviation(nil, 0.3)(2 * time.Millisecond))
|
||||
+ continue
|
||||
+ }
|
||||
+ break
|
||||
+ }
|
||||
+ return rev.Int64, id, err
|
||||
+}
|
||||
+
|
||||
+func (d *Generic) CurrentRevision(ctx context.Context) (int64, error) {
|
||||
+ var id int64
|
||||
+ row := d.queryRow(ctx, revSQL)
|
||||
+ err := row.Scan(&id)
|
||||
+ id, err := d.queryInt64(ctx, revSQL)
|
||||
+ if err == sql.ErrNoRows {
|
||||
+ return 0, nil
|
||||
+ }
|
||||
@@ -301716,8 +301742,7 @@ index 00000000000..9932f41a290
|
||||
+ return row.LastInsertId()
|
||||
+ }
|
||||
+
|
||||
+ row := d.queryRow(ctx, d.InsertSQL, key, cVal, dVal, createRevision, previousRevision, ttl, value, prevValue)
|
||||
+ err = row.Scan(&id)
|
||||
+ id, err = d.queryInt64(ctx, d.InsertSQL, key, cVal, dVal, createRevision, previousRevision, ttl, value, prevValue)
|
||||
+ return id, err
|
||||
+}
|
||||
diff --git a/vendor/github.com/rancher/kine/pkg/drivers/mysql/mysql.go b/vendor/github.com/rancher/kine/pkg/drivers/mysql/mysql.go
|
||||
@@ -304098,7 +304123,7 @@ index 00000000000..083dbcdaa66
|
||||
2.25.1
|
||||
|
||||
|
||||
From 6dfb4b0288083ae84d7d90a32fac8d83e3fae519 Mon Sep 17 00:00:00 2001
|
||||
From 7e0d1b3e76fc51b52d5380968cb08b5ab09305ec Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Sun, 21 Jul 2019 14:28:00 +0200
|
||||
Subject: [PATCH 24/34] Vendor github.com/freeekanayaka/kvsql
|
||||
@@ -305803,7 +305828,7 @@ index 00000000000..78862e05e6e
|
||||
2.25.1
|
||||
|
||||
|
||||
From 4b0a91776cf8b703ba30f31e97659537f0b8e17d Mon Sep 17 00:00:00 2001
|
||||
From 68fc688bea4c75c827fecaecc56cee764f3cf909 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Tue, 3 Mar 2020 13:17:46 +0100
|
||||
Subject: [PATCH 25/34] Update modules
|
||||
@@ -305851,7 +305876,7 @@ index 14bfe215d70..d75cb00605d 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From 1401105b43502897f9a6e9ba9c77a5e7ded8ac16 Mon Sep 17 00:00:00 2001
|
||||
From a990cdf16f5b86a5bbc31af92bdeb108efb8c528 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Mon, 22 Jul 2019 12:15:30 +0200
|
||||
Subject: [PATCH 26/34] Add demo text
|
||||
@@ -306459,7 +306484,7 @@ index 00000000000..79f482f6636
|
||||
2.25.1
|
||||
|
||||
|
||||
From 20d895a18cac167fdf87cc76d65f4318d87d1535 Mon Sep 17 00:00:00 2001
|
||||
From c048e90022dd4f0db5df0aa596ece897a34fcc45 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Mon, 21 Oct 2019 16:24:06 +0200
|
||||
Subject: [PATCH 27/34] Custom DATA_DIR and N_MASTERS
|
||||
@@ -306494,7 +306519,7 @@ index e5d56c19b36..072c5d2aa57 100755
|
||||
2.25.1
|
||||
|
||||
|
||||
From 124b306e2d6961e357eef84e6c9ee26648e8fa1f Mon Sep 17 00:00:00 2001
|
||||
From 63e3cacf6e70dfd30395602512b31ad947cca227 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Tue, 22 Oct 2019 12:33:41 +0200
|
||||
Subject: [PATCH 28/34] Decrease missingNamespaceWait
|
||||
@@ -306555,7 +306580,7 @@ index 0fac569c4f1..c8fbc23ac6e 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From 23a4033e12b42626aba1001a65d7148ad3daafa1 Mon Sep 17 00:00:00 2001
|
||||
From 607e1b98c5489f28e117b92774dafe8b250174dd Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Mon, 27 Jan 2020 14:56:52 +0000
|
||||
Subject: [PATCH 29/34] Don't use hyperkube
|
||||
@@ -306610,28 +306635,29 @@ index 072c5d2aa57..9aaa2da77cc 100755
|
||||
2.25.1
|
||||
|
||||
|
||||
From 929e3025c71c5e74ccb9f79dfe85c4c29175218b Mon Sep 17 00:00:00 2001
|
||||
From 6955be020fd37e55c93ecc1345cd0f73607d1056 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Tue, 3 Mar 2020 13:18:04 +0100
|
||||
Subject: [PATCH 30/34] New kine-based storage factory
|
||||
|
||||
---
|
||||
.../storage/storagebackend/factory/factory.go | 17 ++++++++++++-----
|
||||
1 file changed, 12 insertions(+), 5 deletions(-)
|
||||
.../storage/storagebackend/factory/factory.go | 18 ++++++++++++------
|
||||
1 file changed, 12 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go b/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go
|
||||
index 26c9a65b356..0309753c1e6 100644
|
||||
index f4ec97152b8..0309753c1e6 100644
|
||||
--- a/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go
|
||||
+++ b/staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory/factory.go
|
||||
@@ -19,7 +19,6 @@ package factory
|
||||
@@ -19,8 +19,6 @@ package factory
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
- kvsql "github.com/freeekanayaka/kvsql"
|
||||
- "k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apiserver/pkg/storage"
|
||||
"k8s.io/apiserver/pkg/storage/storagebackend"
|
||||
)
|
||||
@@ -29,13 +28,17 @@ type DestroyFunc func()
|
||||
@@ -30,13 +28,17 @@ type DestroyFunc func()
|
||||
|
||||
// Create creates a storage backend based on given config.
|
||||
func Create(c storagebackend.Config) (storage.Interface, DestroyFunc, error) {
|
||||
@@ -306651,7 +306677,7 @@ index 26c9a65b356..0309753c1e6 100644
|
||||
default:
|
||||
return nil, nil, fmt.Errorf("unknown storage type: %s", c.Type)
|
||||
}
|
||||
@@ -43,13 +46,17 @@ func Create(c storagebackend.Config) (storage.Interface, DestroyFunc, error) {
|
||||
@@ -44,13 +46,17 @@ func Create(c storagebackend.Config) (storage.Interface, DestroyFunc, error) {
|
||||
|
||||
// CreateHealthCheck creates a healthcheck function based on given config.
|
||||
func CreateHealthCheck(c storagebackend.Config) (func() error, error) {
|
||||
@@ -306675,7 +306701,7 @@ index 26c9a65b356..0309753c1e6 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From e22c4c2af105d4660870895458beffdc1cde29f0 Mon Sep 17 00:00:00 2001
|
||||
From 6cb05bc66b60a2848fe1a2678b18968090d76a18 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Tue, 3 Mar 2020 13:18:16 +0100
|
||||
Subject: [PATCH 31/34] Start dqlite engine
|
||||
@@ -306724,7 +306750,7 @@ index 5ac2756f630..2d4220e1359 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From d8f6a8f373997b6c7380ab039b13a1210635472a Mon Sep 17 00:00:00 2001
|
||||
From 881cec9103dcf043d6de5a897000dcf8127f5eec Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Thu, 5 Mar 2020 15:48:12 +0100
|
||||
Subject: [PATCH 32/34] Revert namespace admission workaround
|
||||
@@ -306785,7 +306811,7 @@ index c8fbc23ac6e..0fac569c4f1 100644
|
||||
2.25.1
|
||||
|
||||
|
||||
From 0689c3a125aa1641c2b852b0c633df17a3a6fde5 Mon Sep 17 00:00:00 2001
|
||||
From 6f2828dc59fa3fe5c19f3b7f23bd13316ee87753 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Tue, 2 Jun 2020 12:23:56 +0100
|
||||
Subject: [PATCH 33/34] Increase wait-url timeout in
|
||||
@@ -306812,7 +306838,7 @@ index 9aaa2da77cc..331868dcfc9 100755
|
||||
2.25.1
|
||||
|
||||
|
||||
From 8801c49f00afa43a1ba57cf4c3eb38e6ed947ebc Mon Sep 17 00:00:00 2001
|
||||
From 11dd244cd588771b6b3643ec7c62e50e09badb43 Mon Sep 17 00:00:00 2001
|
||||
From: Free Ekanayaka <free.ekanayaka@canonical.com>
|
||||
Date: Fri, 3 Jul 2020 11:32:08 +0200
|
||||
Subject: [PATCH 34/34] Set failure domains in hack/local-dqlite-cluster.sh
|
||||
|
||||
@@ -83,7 +83,7 @@ class TestUpgradePath(object):
|
||||
cmd = "sudo snap install {} --classic --dangerous".format(upgrade_to)
|
||||
else:
|
||||
cmd = "sudo snap refresh microk8s --channel={}".format(upgrade_to)
|
||||
run_until_success(cmd, timeout_insec=300)
|
||||
run_until_success(cmd, timeout_insec=600)
|
||||
# Allow for the refresh to be processed
|
||||
time.sleep(20)
|
||||
wait_for_installation(timeout_insec=600)
|
||||
wait_for_installation(timeout_insec=1200)
|
||||
|
||||
Reference in New Issue
Block a user