Privileged ServiceAccounts without rackAwarness enabled
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 72/100
Direção de pesquisa
Start with hdfs_clusterrolebinding_nodes_controller.rs, where HdfsCluster ServiceAccounts are added to hdfs-clusterrolebinding-nodes, and review the spec.clusterConfig.rackAwareness checks used around core_site.rs. Update the reflector to watch full HdfsCluster objects with DeserializeGuard so invalid clusters do not block reconciliation. The change is done when only rack-awareness-enabled clusters appear as subjects, while existing bindings and unrelated cluster reconciliation remain correct; run the repository's relevant Rust tests if present.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Affected Stackable version
25.7.0, 25.11.0, 26.3.0 and 26.7.0
Affected Apache HDFS version
all
Current and expected behavior
Current
hdfs-operator maintains a single ClusterRoleBinding hdfs-clusterrolebinding-nodes to the ClusterRole hdfs-clusterrole-nodes, which grants cluster-wide get/list/watch on pods, nodes and endpoints (plus listeners and CRDs). It exists for the rack awareness topology provider.
The operator adds the ServiceAccount of every HdfsCluster as a subject, whether or not rackAwareness is set. The topology provider is only configured when rackAwareness is set (core_site.rs), so clusters without it get these rights without using them.
Expected
A HdfsCluster's ServiceAccount is only a subject of hdfs-clusterrolebinding-nodes when that cluster sets rackAwareness.
Fix
In hdfs_clusterrolebinding_nodes_controller.rs, only add clusters with spec.clusterConfig.rackAwareness set. The reflector currently watches PartialObjectMeta (no spec), so it needs to watch full objects, using DeserializeGuard so one broken HdfsCluster doesn't block the binding for all of them.
Out of scope: the ServiceAccount is shared by all roles, but only the NameNode runs the topology provider.
Possible solution
No response
Additional context
No response
Environment
No response
Would you like to work on fixing this bug?
No response
- Linguagem predominante
- Rust
- Estrelas
- 53
- Forks
- 10
- Merge médio
- 21h 32min
- PRs com merge (30d)
- 10
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de stackabletech/hdfs-operator
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 61/100
stackabletech/hdfs-operator#853 ·
Mantenedores costumam responder em até 1 dia
-
Topology Provider permissions briefly dropped during reconciliation when the reflector watch resetsAbertatype/bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
stackabletech/hdfs-operator#774 ·
Mantenedores costumam responder em até 1 dia
-
type/bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 58/100
stackabletech/hdfs-operator#773 ·
Mantenedores costumam responder em até 1 dia
-
Re-enable restart-controllerAbertatype/internal-debt
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
stackabletech/hdfs-operator#769 ·
Mantenedores costumam responder em até 1 dia
-
type/bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 52/100
stackabletech/hdfs-operator#763 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de stackabletech/hdfs-operator
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
swc-project/swc-ai-issues#164 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
pop-os/cosmic-player#367 ·
-
good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
servo/rust-smallvec#873 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
messense/dav-server-rs#82 ·
Mantenedores costumam responder em até 1 dia