-
Rafael Fernández López authored
Add the functionality to support `CreateOrMutateConfigMap` and `MutateConfigMap`. * `CreateOrMutateConfigMap` will try to create a given ConfigMap object; if this ConfigMap already exists, a new version of the resource will be retrieved from the server and a mutator callback will be called on it. Then, an `Update` of the mutated object will be performed. If there's a conflict during this `Update` operation, retry until no conflict happens. On every retry the object is refreshed from the server to the latest version. * `MutateConfigMap` will try to get the latest version of the ConfigMap from the server, call the mutator callback and then try to `Update` the mutated object. If there's a conflict during this `Update` operation, retry until no conflict happens. On every retry the object is refreshed from the server to the latest version. Add unit tests for `MutateConfigMap` * One test checks that in case of no conflicts, the update of the given ConfigMap happens without any issues. * Another test mimics 5 consecutive CONFLICT responses when updating the given ConfigMap, whereas the sixth try it will work.