samba-in-kubernetes / samba-operator

An operator for a Samba as a service on PVCs in kubernetes
Apache License 2.0
120 stars 24 forks source link

Operator does not reload when SmbShare's settings are changed #320

Open pfaelzerchen opened 11 months ago

pfaelzerchen commented 11 months ago

I recognized that the samba-operator seems to automatically resolve changes to SmbShare definitions. I applied to following definition with kubectl apply:

apiVersion: samba-operator.samba.org/v1alpha1
kind: SmbShare
metadata:
  name: backup-windows
  namespace: media-files
spec:
  shareName: "backup"
  readOnly: true
  browseable: true
  securityConfig: smb-backup-security
  commonConfig: smb-backup-config

  storage:
    pvc:
      name: backup-windows

  scaling:
    availabilityMode: standard
    minClusterSize: 1
    groupMode: never

After I got access, I changed spec.readOnly to false (obviously readOnly for backups was a typo). After kubectl apply the resource to the cluster, nothing happened. I had to manually delete the pod for that share. After that, the operator successfully recreated the pod with the new settings.

This behaviour is reproducible. I had expected that the changes would be applied automatically.

phlogistonjohn commented 11 months ago

To help identify the issue: can you please take a look at the generated configmap that the operator creates and see if the change is reflected in the generated JSON file there that the operator provides to the samba containers?

pfaelzerchen commented 11 months ago

The changes are immediately reflected in the config map. Switching to readOnly true, kubectl apply and kubectl get cm shows "read only": "yes" in the config map. This is also completely reproducible (switching back and forth).

phlogistonjohn commented 11 months ago

That implies that the problem is on the samba container side. Either an issue in the interaction between the configmap and the container or a bug in sambacc. Thanks for the info - I'll try and look into it more in-depth soon.