Julian V. Modesto
fac7ebd95f
Implement server-side apply upgrade & downgrade.
...
- Allow client-side to server-side apply upgrade.
Ensure that a user can change management of an object from client-side apply to
server-side apply without conflicts.
- Allow server-side apply to client-side downgrade.
For an object managed with client-side apply, a user may upgrade to
managing the object with server-side apply, then decide to downgrade.
We can support this downgrade by keeping the last-applied-configuration
annotation for client-side apply updated with server-side apply.
Kubernetes-commit: e4368eb67e363d3d03f81214a8929268d2fe88ff
2019-10-02 11:13:40 -04:00
Joe Betz
5bb316ec73
Bump to sigs.k8s.io/structured-merge-diff 43c19b to pick up unsetting fields changes PR#166
...
Kubernetes-commit: 11c38a9c703b825c61d6490e8da85202b760f3b1
2020-06-26 20:05:34 -07:00
Antoine Pelisse
025116d4fa
Fix fieldType being dropped by older go-clients
...
Kubernetes-commit: 3f10709e4ce7e14fa9efc019ade3e99bb0a84b8a
2020-04-30 13:38:23 -07:00
Antoine Pelisse
3b7411b225
FieldManager: Reset if we receive nil or a list with one empty item
...
Kubernetes-commit: ed2cf6ef2cc4f4d358eee038d2d87387614bbf45
2020-05-21 13:23:30 -07:00
Antoine Pelisse
cc0f41ad59
fieldManager: Ignore and log all errors when updating managedFields
...
Kubernetes-commit: 5378a788e471a18594c446888306d826d3b44661
2020-05-08 12:48:09 -07:00
Wei Huang
a67f43f565
Remove `EvenPodsSpread` featuregate and related logic
...
Kubernetes-commit: 133dde63589bfb9f149607d1e8f6ae519d41719f
2020-05-27 14:24:26 -07:00
Tariq Ibrahim
d8082ddfe6
s/RelicaSets/ReplicaSets
...
Kubernetes-commit: 9760dec9dc84d68c6613887128de192b4a66feff
2020-04-29 12:59:05 -07:00
Davanum Srinivas
5879417a28
switch over k/k to use klog v2
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
Kubernetes-commit: 442a69c3bdf6fe8e525b05887e57d89db1e2f3a5
2020-04-17 15:25:06 -04:00
Antoine Pelisse
05f95a480d
managedfields: Update Apply time if neither object nor managedfields have changed
...
Kubernetes-commit: 5231c6815c7b06248575892f3ec96c15c634d368
2020-03-05 13:13:27 -08:00
Antoine Pelisse
c81c86d33f
Bump sigs.k8s.io/structured-merge-diff to v3
...
Kubernetes-commit: df41fd932bef1686b30a1abee477c5009ebabe80
2020-03-05 13:09:50 -08:00
Antoine Pelisse
2ff45c3592
fieldmanager: Add failing test for no-op apply actually writing to etcd
...
Kubernetes-commit: 7120abe6989afff0d4ad879a4590a960f4ab19f0
2020-03-05 10:09:08 -08:00
Antoine Pelisse
5de3b6339e
fieldmanager: Move ManagedFields update logic into its own class
...
Kubernetes-commit: 39681aa5800492b8e4b4ff5fb82e034376864a37
2020-03-05 10:01:37 -08:00
Antoine Pelisse
82ecbdb375
Don't log "SHOULD NOT HAPPEN" errors more than once per second
...
Kubernetes-commit: 389dd0a499e4fa79d3d2ef4261aa9f25aa94e6b0
2020-02-26 15:58:57 -08:00
Antoine Pelisse
07f3bde07d
Enable field management for all new objects
...
Kubernetes-commit: a54a52c5de3458bfa5dbe1973d12584f59a5581c
2020-02-10 09:06:18 -08:00
Yu-Ju Hong
809bbdf7f8
Replace Beta OS/arch labels with the GA ones
...
Beta OS/arch labels have been deprecated since 1.14.
This change replaces these labels with the GA ones.
Kubernetes-commit: bcd975aa6575ae37ec3be3481e44cd0dccd02337
2020-02-12 11:30:39 -08:00
jennybuckley
4e7f113e29
Round times to nearest second before sorting
...
Kubernetes-commit: 888a322d9ca3070b811b348e05ee4a3ce7da6ae9
2020-02-11 11:54:21 -08:00
Jordan Liggitt
51a2cc34eb
Lower server-side apply percentage to 10%
...
Kubernetes-commit: a657d51ce35eb3886a56ed710805cd68732461ee
2020-02-11 09:15:12 -05:00
Antoine Pelisse
3104ef647b
Enable field management for all new objects
...
Kubernetes-commit: 8438bba5fd911c4674e46519228e6c47b5057346
2020-02-10 09:06:18 -08:00
Joe Betz
dced5f29d8
Bump to latest SMD to pick up performance optimizations
...
Kubernetes-commit: d9faaca64738a50455f38dd88845e8b4b5ca37e2
2020-02-06 15:10:25 -08:00
Antoine Pelisse
977fdf9f57
Add UpdateTwice and UpdateApply benchmarks for fieldmanager
...
I've also moved the deserialization of the object outside the benchmark
since we're not trying to benchmark the yaml parser.
Kubernetes-commit: a52776fbfb305374d87bb553739f712e055b2206
2020-02-06 09:25:52 -08:00
jennybuckley
0fe6670327
Make schema error log message more useful
...
Kubernetes-commit: fee77388c6d4cc04731f35055d9dfcdf08b0f874
2020-01-29 15:01:44 -08:00
jennybuckley
605316fae2
Re-enable apply for 50% of requests
...
Kubernetes-commit: 9b679748239faa4d01f13c32af1956ffdbfff9aa
2020-01-23 11:27:20 -08:00
jennybuckley
49d583f0ef
Update Structured Merge Diff to V3
...
Kubernetes-commit: b33fbc84d9d6e7033c36fa3bc321b8fea28ceed6
2020-01-21 15:03:56 -08:00
Jordan Liggitt
223f76bd7a
Set managedField probability to 0%
...
Lowers probability of managedField population on create/update to 0%
until serialization/normalization issues are resolved
Kubernetes-commit: ba23aa98f6574bd1f9781f0d3e61d0496f16fc53
2020-01-14 14:47:35 -05:00
Jennifer Buckley
2ac09e3ec3
Update fieldmanager.go
...
Kubernetes-commit: 4db3822ebbac30248463eb529d88176f8b258fd9
2020-01-10 11:15:06 -08:00
jennybuckley
d516617523
create probabilistic SkipNonAppliedManager
...
Kubernetes-commit: 6cab3a7bec75e42581e8041395c3ceaa14e07c74
2020-01-09 14:15:34 -08:00
Kevin Wiesmüller
4694e4eb62
fix nits
...
Kubernetes-commit: a2526286498762de187db23f13da5d747ddd1c90
2020-01-10 00:58:52 +01:00
Kevin Wiesmüller
41bde5b991
change Apply signature and move decoding into handlers
...
Kubernetes-commit: ddf0d4b8034697a8dca23a3c8bc5620629bd691b
2020-01-09 22:34:33 +01:00
sshukun
38b2d97314
Fix golint failure not contained in .golint_failures
...
Kubernetes-commit: 8110e08dd4abd4458b2d3793f5c1eb50069ae7df
2019-12-19 14:40:26 +09:00
Jordan Liggitt
e00fbd05dd
Use openapi fixture for server-side apply tests
...
Kubernetes-commit: 2b4fac5760ff390d46c2b9bb373feafe9bd97a38
2019-12-04 10:29:48 -05:00
Antoine Pelisse
bab2370cac
Update structured-merge-diff to latest version
...
Kubernetes-commit: 4f0346530d3e228db20aca6bb484d3ed3c83e33b
2019-11-06 09:53:38 -08:00
jennybuckley
72d976a445
Cap the number of managedFields entries for updates at 10
...
Kubernetes-commit: 61b19c729892a150b61dde19359f6fb19e8d61f1
2019-09-26 12:53:28 -07:00
jennybuckley
49914e3423
Refactor fieldmanager to be more modular
...
Kubernetes-commit: d72260b9dad186d96aa621dc8594ca9bd6088937
2019-09-19 13:14:36 -07:00
Jordan Liggitt
f7fbf2eee4
Limit YAML/JSON decode size
...
Kubernetes-commit: 8ef4566cefebf49f9a806a36df2105c9149785a1
2019-09-27 16:36:48 -04:00
Antoine Pelisse
3e0b6a7493
Apply current parses the yaml object 3 times
...
This is super expensive and not needed at all since we don't have to
reparse the entire object. Remove all allocations but the first one.
Kubernetes-commit: 31c644a1e79c685b52683ed1e84964186a37f3ff
2019-09-25 12:38:38 -07:00
Antoine Pelisse
81b54ad46e
Add tests and benchmarks for endpoints and node
...
Kubernetes-commit: 0b7ea8bb0e9cc10335044f9ef75920d59462a4ca
2019-09-20 13:32:06 -07:00
Antoine Pelisse
db9f1ff5ea
Improve fieldmanager tests and benchmarks
...
Kubernetes-commit: fae9d0ee2136d3443cdd87b1a26a06d7857b01ee
2019-09-10 14:06:08 -07:00
jennybuckley
6c75819b84
Split fieldmanager with interface
...
Kubernetes-commit: 2c67bf47db8557b6481a5181bdae924e91665988
2019-09-12 10:57:21 -07:00
Antoine Pelisse
912f3b47b9
Refactor FieldManager tests to make them simpler
...
This is the first step on this, but there are a few improvements that
I'd like to do here.
Kubernetes-commit: b10ad55119a155b776b272a7139dfbed604b05d6
2019-09-10 15:05:26 -07:00
Ted Yu
a50931ba7e
Move Update Apply conflict test to field manager test
...
Kubernetes-commit: 9828f986afd4db79a10c78bee1cc2e449faee3a6
2019-08-30 14:47:39 -07:00
Kubernetes Prow Robot
c229c2ca0a
Merge pull request #81453 from joshmsamuels/master
...
Apply will fail with managed fields + tests
Kubernetes-commit: 64718f678695884c93d6d3df8f5799614746bea2
2019-09-13 08:22:53 +00:00
jennybuckley
b1cbdafe99
Use CRD validation field in server-side apply
...
Kubernetes-commit: c0617933d4bec5b00dbbfcd24edb7d7e7fc5509d
2019-08-28 15:28:49 -07:00
Antoine Pelisse
625e8a84fc
Add new FieldsType to clarify the format of Fields
...
Kubernetes-commit: ff4e1f3592bfd51aea3018ed7e0a8579e5c0eea1
2019-08-21 16:13:53 -07:00
jennybuckley
263df041f9
Add tests
...
Kubernetes-commit: 3279c73945553e211ddb7812e07b3c9d46b5e96a
2019-08-22 13:27:38 -07:00
jennybuckley
350fef76f5
Only update managedFields on update if it already exists
...
Kubernetes-commit: 9a12e37a6dc28fd1d209eb84c210eb0723e6e38f
2019-06-05 14:09:08 -07:00
jennybuckley
dcedf932c2
Make sure no op updates don't affect the resource version
...
Kubernetes-commit: aa1f01ec7e6ebf29444b93de7c3cb65a1a54d47e
2019-08-20 15:09:42 -07:00
jennybuckley
427507ed32
Group update managedFieldsEntries by manager name
...
Kubernetes-commit: 87eabcdbfa5d551af7ebcae3fb07fd8f386badc3
2019-08-19 13:50:15 -07:00
jennybuckley
d98d4e6ca0
Use raw bytes in metav1.Fields instead of map
...
Also define custom proto unmarshaller that understands the old format
Kubernetes-commit: addad99b6f796bc0f0a2eeafa0296396667800e9
2019-07-31 16:05:48 -07:00
Daniel Smith
1fc8fb4c4b
fix breaking change
...
Kubernetes-commit: f55efb8dae5b41a8af083dc96c53b5b6f6e59b49
2019-07-19 15:25:56 -07:00
jennybuckley
6d17cee146
Make changes to integrate new version
...
Kubernetes-commit: 229894c730c70d39992b27fe3ef98968b2a3fbff
2019-07-08 16:32:03 -07:00