Skip to content

Commit 8bc9648

Browse files
authored
chore: Added permission for topology-provider (#738)
1 parent 5471501 commit 8bc9648

3 files changed

Lines changed: 16 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file.
66

77
### Added
88

9+
- Added permissions required by Topology Provider ([#738]).
910
- Add conversion webhook ([#753]).
1011
- Support objectOverrides using `.spec.objectOverrides`.
1112
See [objectOverrides concepts page](https://docs.stackable.tech/home/nightly/concepts/overrides/#object-overrides) for details ([#741]).
@@ -19,6 +20,7 @@ All notable changes to this project will be documented in this file.
1920

2021
- Previously, some shell output of init-containers was not logged properly and therefore not aggregated, which is fixed now ([#746]).
2122

23+
[#738]: https://github.com/stackabletech/hdfs-operator/pull/738
2224
[#741]: https://github.com/stackabletech/hdfs-operator/pull/741
2325
[#746]: https://github.com/stackabletech/hdfs-operator/pull/746
2426
[#747]: https://github.com/stackabletech/hdfs-operator/pull/747

deploy/helm/hdfs-operator/templates/roles.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,10 +212,19 @@ rules:
212212
verbs:
213213
- get
214214
- list
215+
# needed for pod informer
216+
- watch
215217
- apiGroups:
216218
- listeners.stackable.tech
217219
resources:
218220
- listeners
219221
verbs:
220222
- get
221223
- list
224+
# needed to query the crd version (v1alpha1 etc.) before fetching listeners
225+
- apiGroups:
226+
- apiextensions.k8s.io
227+
resources:
228+
- customresourcedefinitions
229+
verbs:
230+
- get

docs/modules/hdfs/pages/usage-guide/operations/rack-awareness.adoc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
= HDFS Rack Awareness
22
:rack-awareness-docs: https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/RackAwareness.html
3-
:hdfs-topology-provider: https://github.com/stackabletech/hdfs-topology-provider
3+
:hdfs-topology-provider: https://github.com/stackabletech/hdfs-utils/blob/v0.5.0/src/main/java/tech/stackable/hadoop/StackableTopologyProvider.java
44

55
{rack-awareness-docs}[Rack awareness] is a feature in Apache Hadoop that allows users to define a cluster's node topology.
66
Hadoop uses that topology to distribute block replicas in a way that maximizes fault tolerance.
@@ -35,3 +35,7 @@ This creates an internal topology label by combining the values of the `topology
3535
In order to enable gathering this information the Hadoop images contain the {hdfs-topology-provider}[hdfs-topology-provider] on the classpath, which can be configured to read labels from Kubernetes objects.
3636

3737
The operator deploys ClusterRoles and ServicesAccounts with the relevant RBAC rules to allow the Hadoop Pod to access the necessary Kubernetes objects.
38+
Topologies and other metadata such as Node- and Pod-IPs and endpoints are held in separate caches so that they can be refeshed independently of one another.
39+
The {hdfs-topology-provider}[hdfs-topology-provider] is namespace-scoped and pods in the active namespace are watched so that changes can be propagated to the internal cache to minimise cache misses.
40+
41+
NOTE: Rack awareness may not work as expected on clusters such as `kind` or `k3s` that configure IP-masquerading differently to production-ready distributions.

0 commit comments

Comments
 (0)