I modified a configmap/secret but the new config is not replicated to pods#
One of the reasons that we don't want to put the pod restart logic (to propagate the new configuration) in operator is because it can cause downtime in case of error and we would need to automate the rollback or fix processes, which would probably bring other issues instead of being helpful.
How can I fix the "Multi-Attach error for volume "my-volume" Volume is already used by pod(s) my-pod"?#
Warning FailedAttachVolume 44m attachdetach-controller Multi-Attach error for volume "my-volume" Volume is already used by pod(s) my-pod
Multi-Attach error happens when the deployment is configured to mount a RWO volume and the scheduler tries to run a new pod in a different node. To fix the error and allow the new pod to be provisioned, delete the old pod so that the new one will be able to mount the volume.
Another common scenario that this issue happens is if a node lose communication with the cluster and the controller tries to provision a new pod. Since the communication of the failing node with the cluster is lost, it is not possible to dettach the volume before trying to attach it again to the new pod.
To avoid this issue, it is recommended to use RWX volumes. If it is not possible, modify the
strategy type from Pulp CR as
Which resources are managed by the Operator?#
The Operator manages almost all resources it provisions, which are:
- pulp, pulp-content, pulp-api, pulp-auth, pulp-container-v2, ...
Some resources are provisioned by the Operator, but no reconciliation is made (even in managed state):
Keep in mind that this list is constantly changing (sometimes we are adding more resources, sometimes we identify that a resource is not needed anymore).
Which fields are reconciled when the Operator is set as
All fields from
Spec should be reconciled on Deployments, Services, Routes and Ingresses objects.
I created a new PulpRestore CR, but the restore procedure is not running again. Checking the operator logs I found the message "PulpRestore lock ConfigMap found. No restore procedure will be executed!"#
After the Operator finishes executing a restore procedure it creates a
ConfigMap is used to control the restore reconciliation loop and avoid it ovewriting all files or
Secrets with data from an old backup.
If you still want to run the restore, just delete the
ConfigMap and recreate the PulpRestore CR.