This is required for product operators to be able to watch Listeners properly (primarily to generate discovery config). It's theoretically possible to reproduce by following the path (using ownerReferences if nothing else is specified) Listener -> PersistentVolume -> PersistentVolumeClaim (via PV.spec.claimRef) -> Pod (by.. iterating over them and looking for the matching claim mount? ew) -> StatefulSet -> Stacklet.
Another approach would be to use our conventional labels on the PVC (app.kubernetes.io/{name,instance,component}), but that isn't really scoped to Stackable (as opposed to any other way to run HDFS). Then again, that's arguably "fine" if we end up doing spurious reconciles once in a while...
This is required for product operators to be able to watch Listeners properly (primarily to generate discovery config). It's theoretically possible to reproduce by following the path (using
ownerReferencesif nothing else is specified)Listener->PersistentVolume->PersistentVolumeClaim(viaPV.spec.claimRef) ->Pod(by.. iterating over them and looking for the matching claim mount? ew) ->StatefulSet-> Stacklet.Another approach would be to use our conventional labels on the PVC (
app.kubernetes.io/{name,instance,component}), but that isn't really scoped to Stackable (as opposed to any other way to run HDFS). Then again, that's arguably "fine" if we end up doing spurious reconciles once in a while...