Skip to content

Commit 67d6e54

Browse files
committed
review feedback
1 parent 42148aa commit 67d6e54

File tree

2 files changed

+19
-29
lines changed

2 files changed

+19
-29
lines changed

docs/modules/hbase/pages/usage-guide/listenerclass.adoc

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,12 @@ spec:
2020
<1> Specify one of `external-stable`, `external-unstable`, `cluster-internal` (the default setting is `cluster-internal`).
2121
This can be set separately for all roles.
2222

23-
Externally-reachable endpoints (i.e. where listener-class = `external-unstable` or `external-unstable`) are written to a ConfigMap called `<cluster-name>-ui-endpoints`, listing each rolegroup by replica:
23+
Listener endpoints are written to `hbase-site.xml` like this:
2424

25-
[source,yaml]
25+
[source,xml]
2626
----
27-
apiVersion: v1
28-
data:
29-
hbase.master-0.ui: 172.19.0.3:32353
30-
hbase.master-1.ui: 172.19.0.5:31817
31-
hbase.regionserver-0.ui: 172.19.0.3:31719
32-
hbase.regionserver-1.ui: 172.19.0.5:30626
33-
hbase.restserver-0.ui: 172.19.0.3:31790
34-
hbase.restserver-1.ui: 172.19.0.5:32292
35-
kind: ConfigMap
36-
...
27+
<property>
28+
<name>hbase.listener.endpoint</name>
29+
<value>172.19.0.3:32445</value>
30+
</property>
3731
----

rust/operator-binary/src/hbase_controller.rs

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ const HBASE_LOG_CONFIG_TMP_DIR: &str = "/stackable/tmp/log_config";
111111

112112
const DOCKER_IMAGE_BASE_NAME: &str = "hbase";
113113

114+
const HBASE_MASTER_PORT_NAME: &str = "master";
115+
const HBASE_REGIONSERVER_PORT_NAME: &str = "regionserver";
116+
114117
pub struct Ctx {
115118
pub client: stackable_operator::client::Client,
116119
pub product_config: ProductConfigManager,
@@ -140,9 +143,6 @@ pub enum Error {
140143
#[snafu(display("object defines no regionserver role"))]
141144
NoRegionServerRole,
142145

143-
#[snafu(display("failed to calculate global service name"))]
144-
GlobalServiceNameNotFound,
145-
146146
#[snafu(display("failed to create cluster resources"))]
147147
CreateClusterResources {
148148
source: stackable_operator::cluster_resources::Error,
@@ -153,11 +153,6 @@ pub enum Error {
153153
source: stackable_operator::cluster_resources::Error,
154154
},
155155

156-
#[snafu(display("failed to apply global Service"))]
157-
ApplyRoleService {
158-
source: stackable_operator::cluster_resources::Error,
159-
},
160-
161156
#[snafu(display("failed to apply Service for {}", rolegroup))]
162157
ApplyRoleGroupService {
163158
source: stackable_operator::cluster_resources::Error,
@@ -750,7 +745,7 @@ fn build_rolegroup_service(
750745

751746
let metadata = ObjectMetaBuilder::new()
752747
.name_and_namespace(hbase)
753-
.name(format!("{name}-metrics", name = rolegroup.object_name()))
748+
.name(headless_service_name(&rolegroup.object_name()))
754749
.ownerreference_from_resource(hbase, None, Some(true))
755750
.context(ObjectMissingMetadataForOwnerRefSnafu)?
756751
.with_recommended_labels(build_recommended_labels(
@@ -813,14 +808,14 @@ fn build_rolegroup_statefulset(
813808
let probe_template = match hbase_role {
814809
HbaseRole::Master => Probe {
815810
tcp_socket: Some(TCPSocketAction {
816-
port: IntOrString::String("master".to_string()),
811+
port: IntOrString::String(HBASE_MASTER_PORT_NAME.to_string()),
817812
..TCPSocketAction::default()
818813
}),
819814
..Probe::default()
820815
},
821816
HbaseRole::RegionServer => Probe {
822817
tcp_socket: Some(TCPSocketAction {
823-
port: IntOrString::String("regionserver".to_string()),
818+
port: IntOrString::String(HBASE_REGIONSERVER_PORT_NAME.to_string()),
824819
..TCPSocketAction::default()
825820
}),
826821
..Probe::default()
@@ -902,8 +897,8 @@ fn build_rolegroup_statefulset(
902897
role = role_name,
903898
port = hbase.service_port(hbase_role).to_string(),
904899
port_name = match hbase_role {
905-
HbaseRole::Master => "master",
906-
HbaseRole::RegionServer => "regionserver",
900+
HbaseRole::Master => HBASE_MASTER_PORT_NAME,
901+
HbaseRole::RegionServer => HBASE_REGIONSERVER_PORT_NAME,
907902
HbaseRole::RestServer => rest_http_port_name,
908903
},
909904
ui_port_name = hbase.ui_port_name(),
@@ -1089,10 +1084,7 @@ fn build_rolegroup_statefulset(
10891084
match_labels: Some(statefulset_match_labels.into()),
10901085
..LabelSelector::default()
10911086
},
1092-
service_name: Some(format!(
1093-
"{name}-metrics",
1094-
name = rolegroup_ref.object_name()
1095-
)),
1087+
service_name: Some(headless_service_name(&rolegroup_ref.object_name())),
10961088
template: pod_template,
10971089
volume_claim_templates: Some(vec![pvc]),
10981090
..StatefulSetSpec::default()
@@ -1202,6 +1194,10 @@ fn build_hbase_env_sh(
12021194
Ok(result)
12031195
}
12041196

1197+
fn headless_service_name(role_group_name: &str) -> String {
1198+
format!("{name}-metrics", name = role_group_name)
1199+
}
1200+
12051201
#[cfg(test)]
12061202
mod test {
12071203
use rstest::rstest;

0 commit comments

Comments
 (0)