Server side implementation of paging for etcd3

Add a feature gate in the apiserver to control whether paging can be
used. Add controls to the storage factory that allow it to be disabled
per resource. Use a JSON encoded continuation token that can be
versioned. Create a 410 error if the continuation token is expired.

Adds GetContinue() to ListMeta.
This commit is contained in:
Clayton Coleman
2017-08-10 22:31:51 -04:00
parent 500b130ff0
commit 8952a0cb72
29 changed files with 542 additions and 99 deletions

View File

@@ -420,6 +420,7 @@ func TestGCListWatcher(t *testing.T) {
t.Fatal(err)
}
lw := listWatcher(client, podResource)
lw.DisablePaging = true
if _, err := lw.Watch(metav1.ListOptions{ResourceVersion: "1"}); err != nil {
t.Fatal(err)
}