Marek Siarkowicz
8fca6ebdb2
tests/robustness: Prevent to many concurrent non-unique writes which are causing linearization to timeout
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-07-03 14:39:23 +02:00
Marek Siarkowicz
11da84a1d1
tests/robustness: Implement loading client reports
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-28 15:35:17 +02:00
Marek Siarkowicz
09c462e2ea
tests/robustness: Add resumable validation and improve reliable validation
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-26 12:12:39 +02:00
Marek Siarkowicz
26cd2bc017
tests/robustness: Store whole watch operations
...
Want to keep watch requests to properly validate reliability of watch
stream.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-24 18:15:50 +02:00
Marek Siarkowicz
31b20ef40f
Merge pull request #16129 from serathius/robustness-fix-patch-txn-onfailure
...
Robustness fix patch txn onfailure
2023-06-24 17:32:31 +02:00
Marek Siarkowicz
9ff3e66354
Merge pull request #16131 from serathius/robustness-combine-watch-history
...
tests/robustness: Combine watch histories
2023-06-24 11:22:18 +02:00
Marek Siarkowicz
1f6e1102a2
tests/robustness: Fix operation patching for txn with onFailure operations
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-24 11:20:12 +02:00
Marek Siarkowicz
0ae8f26f06
tests/robustness: Refactor patch operation functions
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-24 11:19:24 +02:00
Marek Siarkowicz
78ca04a94a
tests/robustness: Combine watch histories
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-23 18:40:07 +02:00
Marek Siarkowicz
c3720fac3d
tests/robustness: Implement Kubernetes pagination
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-23 09:44:22 +02:00
Marek Siarkowicz
f985890ac3
Merge pull request #16113 from serathius/robustness-range
...
tests/robustness: Implement proper range requests
2023-06-22 20:50:27 +02:00
Marek Siarkowicz
2e7cb772b2
tests/robustness: Implement proper range requests
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-22 18:36:43 +02:00
Marek Siarkowicz
f7831e2607
tests/robustness: Move key into dedicated options to allow to implement proper ranges
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-22 18:27:54 +02:00
Marek Siarkowicz
3f09a51c60
tests/robustness: Make watch event independent from etcd operation
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-22 15:43:27 +02:00
Marek Siarkowicz
0d2d383f0a
tests/robustness: Fix multi txn key prefix
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-22 14:27:31 +02:00
Marek Siarkowicz
9fc438cb6b
tests/robustness: Add List and StaleList requests to etcd traffic
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-21 18:03:41 +02:00
Marek Siarkowicz
fd3e338d88
Merge pull request #16115 from serathius/robustness-kubernetes-tune
...
tests/robustness: Tune Kubernetes tests to reduce number of delete requests
2023-06-20 11:16:02 +02:00
Marek Siarkowicz
519617cfd0
tests/robustness: Tune Kubernetes tests to reduce number of delete requests
...
Having too many delete requests is bad as they are not unique requests, so
linearization is more prone to timeout on them.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-20 09:45:23 +02:00
Marek Siarkowicz
1217548acf
tests/robustness: Separate traffic name from cluster setup in test name
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-20 09:16:36 +02:00
Marek Siarkowicz
9c659eb4e0
Merge pull request #16072 from serathius/robustness-stale-read
...
Validate stale read
2023-06-19 18:22:08 +02:00
Marek Siarkowicz
1663600bec
tests/robustness: Validate stale get requests by replaying etcd state
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-19 14:17:38 +02:00
Marek Siarkowicz
09b9f889e7
tests/robustness: Refactor etcd traffic client
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-19 12:08:17 +02:00
Marek Siarkowicz
b7e7811ba4
Merge pull request #16091 from serathius/robustness-stale-read-1
...
tests/robustness: Implement stale reads without validation
2023-06-19 11:21:48 +02:00
Marek Siarkowicz
5e7349b44c
Merge pull request #16094 from serathius/robustness-retry-failpoint
...
Robustness retry failpoint
2023-06-19 09:10:46 +02:00
Marek Siarkowicz
43b2477c28
tests/robustness: Retry injecting failpoint
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-17 17:30:20 +02:00
Marek Siarkowicz
96987d8b5e
tests/robustness: Implement stale reads without validation
...
For now we just validate stale read revision, but not response content.
Reason is that etcd model only stores latest version of keys, and no
history like real etcd.
Validating stale read contents needs to be done outside of model
as storing whole history is just to costly for linearization validation.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-16 21:17:37 +02:00
Marek Siarkowicz
6f2a5b710f
Merge pull request #16096 from serathius/robustness-limit-to-fresh-state
...
tests/robustness: Limit model to start only from fresh state
2023-06-16 21:15:48 +02:00
Marek Siarkowicz
57258759c6
Merge pull request #16085 from serathius/robustness-disable-blackhole
...
tests/robustness: Disable blackhole until snapshot for v3.5 and v3.4
2023-06-16 21:15:26 +02:00
Marek Siarkowicz
ea3255b477
tests/robustness: Limit model to start only from fresh state
...
It is just to complicated to support starting from non-empty etcd.
Existing implementation was very naive to assume that we can build
full state from just one request. We might consider implementing
validation of non-empty history in future, but for now settting
this limit should clean up the code and speed up development.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-16 13:50:20 +02:00
Marek Siarkowicz
fb16bca44a
tests/robustness: Disable blackhole until snapshot for v3.5 and v3.4
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-16 13:26:24 +02:00
Marek Siarkowicz
34cbf4cd6f
tests/robustness: Allow errors and unknown responses in deterministic model
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-15 22:25:48 +02:00
Marek Siarkowicz
6979318108
tests/robustness: Make Range a proper request type to allow setting Range.Revision != 0 for stale reads
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-14 13:55:45 +02:00
Marek Siarkowicz
974655e02c
tests/robustness: Rename operations const to separate from RequestType
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-14 13:24:14 +02:00
Marek Siarkowicz
da49157b20
Merge pull request #16066 from serathius/robusness-validate
...
tests/robustness: Extract validation to separate package
2023-06-14 11:54:46 +02:00
Marek Siarkowicz
7bbc738ec4
tests/robustness: Extract validation to separate package
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-06-14 09:14:27 +02:00
Marek Siarkowicz
a268a67e45
tests/robustness: Move get to list of randomized operations
2023-06-13 21:09:05 +02:00
Marek Siarkowicz
a6ab774458
Merge pull request #16044 from serathius/robusness-empty
...
tests/robustness: Assume starting from empty etcd instead of throwing out first failed request
2023-06-12 10:18:34 +02:00
Marek Siarkowicz
b366cda70f
Merge pull request #16046 from serathius/robusness-test-diff
...
tests/robustness: Provide a response diff in model test to make debugging easier
2023-06-12 10:15:43 +02:00
Marek Siarkowicz
f410c6e6df
tests/robustness: Provide a response diff in model test to make debugging easier
...
Signed-off-by: Marek Siarkowicz <serathius@users.noreply.github.com>
2023-06-09 22:42:17 +02:00
Marek Siarkowicz
53af854871
tests/robustness: Assume starting from empty etcd instead of throwing out first failed request
...
Signed-off-by: Marek Siarkowicz <serathius@users.noreply.github.com>
2023-06-09 22:38:16 +02:00
Marek Siarkowicz
f91f6d8414
tests/robustness: Put traffic type on second place before cluster size in test name
...
Signed-off-by: Marek Siarkowicz <serathius@users.noreply.github.com>
2023-06-09 22:30:53 +02:00
Marek Siarkowicz
16bf0f6641
tests/robustness: Use traffic.RecordingClient in watch
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-25 22:17:23 +02:00
Marek Siarkowicz
4872b679a5
tests/robustness: Expect revions to be unique for Kubernetes Traffic
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-23 15:51:10 +02:00
Marek Siarkowicz
f3c9db9c46
Merge pull request #15893 from serathius/robustness-validate-client-watch
...
tests/robustness: Validate all etcd watches opened to etcd
2023-05-16 10:51:55 +02:00
Marek Siarkowicz
6429f47631
tests/robustness: Validate all etcd watches opened to etcd
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-16 10:28:01 +02:00
Marek Siarkowicz
112aad1ea7
tests/robustness: Unify model test cases
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-16 10:13:08 +02:00
Marek Siarkowicz
6e53792568
tests/robustness: Implement Kubernetes optimistic concurrency operations
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-15 13:45:27 +02:00
Marek Siarkowicz
911c40a347
tests/robustness: Implement kubernetes list watch protocol
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-15 10:11:05 +02:00
Bogdan Kanivets
c338882d7a
tests/robustness: use monotonic clock for watch events
...
see: https://github.com/etcd-io/etcd/pull/15323
For consistency watch events should also use only time-measurement operations.
fixes: https://github.com/etcd-io/etcd/issues/15328
Signed-off-by: Bogdan Kanivets <bkanivets@apple.com>
2023-05-14 12:58:13 -07:00
Marek Siarkowicz
2a0c989662
Merge pull request #15882 from serathius/robustness-txn-fields
...
tests/robustness: Improve naming of Txn fields
2023-05-12 13:34:02 +02:00