This is an automated email from the ASF dual-hosted git repository.

ssulav pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone-installer.git


The following commit(s) were added to refs/heads/master by this push:
     new 4bbffd4  HDDS-14676. Add configurable port for all ozone process (#10)
4bbffd4 is described below

commit 4bbffd4ae3f04a452318d1c57371421f824b2c53
Author: Soumitra Sulav <[email protected]>
AuthorDate: Tue Mar 3 01:55:45 2026 +0530

    HDDS-14676. Add configurable port for all ozone process (#10)
---
 inventories/dev/group_vars/all.yml             |  28 +++++
 roles/ozone_config/defaults/main.yml           |   2 -
 roles/ozone_config/templates/core-site.xml.j2  |   2 +-
 roles/ozone_config/templates/ozone-site.xml.j2 | 165 ++++++++++++++++++++-----
 roles/ozone_smoke_s3g/defaults/main.yml        |   2 +-
 roles/ozone_smoke_s3g/tasks/main.yml           |   2 +-
 roles/ozone_ui/tasks/main.yml                  |  12 +-
 7 files changed, 170 insertions(+), 43 deletions(-)

diff --git a/inventories/dev/group_vars/all.yml 
b/inventories/dev/group_vars/all.yml
index 89516b1..817c47a 100644
--- a/inventories/dev/group_vars/all.yml
+++ b/inventories/dev/group_vars/all.yml
@@ -50,3 +50,31 @@ ssh_private_key_path: ""      # optional path to private key 
to copy for cluster
 # Markers for profile management
 JAVA_MARKER: "Apache Ozone Installer Java Home"
 ENV_MARKER: "Apache Ozone Installer Env"
+
+# Service ports — Ozone upstream defaults.
+# ---
+# SCM
+port_scm_client: 9860                # ozone.scm.client.port
+port_scm_datanode: 9861              # ozone.scm.datanode.port
+port_scm_block_client: 9863          # ozone.scm.block.client.port
+port_scm_http: 9876                  # ozone.scm.http-address
+port_scm_ratis: 9894                 # ozone.scm.ratis.port
+port_scm_grpc: 9895                  # ozone.scm.grpc.port
+# OM
+port_om_rpc: 9862                    # ozone.om.port (binds to hostname, not 
0.0.0.0)
+port_om_http: 9874                   # ozone.om.http-address
+port_om_ratis: 9872                  # ozone.om.ratis.port
+port_om_grpc: 8981                   # ozone.om.grpc.port
+# Recon
+port_recon_http: 9888                # ozone.recon.http-address
+port_recon_datanode: 9891            # ozone.recon.datanode.port & 
ozone.recon.address
+# S3G
+port_s3g_http: 9878                  # ozone.s3g.http-address
+port_s3g_admin: 19878                # ozone.s3g.webadmin.http-address
+# Datanode
+port_datanode_http: 9882             # hdds.datanode.http-address
+port_datanode_replication: 9886      # hdds.datanode.replication.port
+port_datanode_ratis_ipc: 9858        # hdds.container.ratis.ipc.port & 
hdds.datanode.ipc
+port_datanode_client: 9859           # hdds.container.ipc.port 
(XceiverServerGrpc bind) & DatanodeDetails.clientPort
+port_datanode_ratis_server: 9856     # dfs.container.ratis.datanode.port & 
hdds.container.ratis.server.port
+port_datanode_ratis_admin: 9857      # dfs.container.ratis.admin.port
diff --git a/roles/ozone_config/defaults/main.yml 
b/roles/ozone_config/defaults/main.yml
index 3ea392b..0505e3f 100644
--- a/roles/ozone_config/defaults/main.yml
+++ b/roles/ozone_config/defaults/main.yml
@@ -19,5 +19,3 @@ install_base: "/opt/ozone"
 data_base: "/data/ozone"
 ozone_opts: "-Xmx1024m -XX:ParallelGCThreads=8"
 CONFIG_DIR: ""   # if provided, can be used to feed additional properties via 
vars
-
-
diff --git a/roles/ozone_config/templates/core-site.xml.j2 
b/roles/ozone_config/templates/core-site.xml.j2
index d842ec0..eb0e9eb 100644
--- a/roles/ozone_config/templates/core-site.xml.j2
+++ b/roles/ozone_config/templates/core-site.xml.j2
@@ -24,7 +24,7 @@
 {% else %}
   <property>
     <name>fs.defaultFS</name>
-    <value>ofs://{{ om_hosts[0] }}:9862</value>
+    <value>ofs://{{ om_hosts[0] }}:{{ port_om_rpc }}</value>
   </property>
 {% endif %}
 </configuration>
diff --git a/roles/ozone_config/templates/ozone-site.xml.j2 
b/roles/ozone_config/templates/ozone-site.xml.j2
index 3b8b967..436fb59 100644
--- a/roles/ozone_config/templates/ozone-site.xml.j2
+++ b/roles/ozone_config/templates/ozone-site.xml.j2
@@ -27,21 +27,91 @@
 {% set om_hosts = (_om_all[:1] if not (ha_enabled | default(false)) else 
_om_all) %}
 {% set scm_hosts = (_scm_all[:1] if not (ha_enabled | default(false)) else 
_scm_all) %}
 
+  <property>
+    <name>ozone.metadata.dirs</name>
+    <value>{{ _first_metadata }}/meta</value>
+  </property>
+  <property>
+    <name>hdds.datanode.dir</name>
+    <value>{% for d in _data_bases %}{{ d }}/dn{% if not loop.last %},{% endif 
%}{% endfor %}</value>
+  </property>
+  <property>
+    <name>dfs.container.ratis.datanode.storage.dir</name>
+    <value>{{ _first_metadata }}/meta/dn</value>
+  </property>
+  <property>
+    <name>ozone.om.db.dirs</name>
+    <value>{{ _first_metadata }}/data/om</value>
+  </property>
+  <property>
+    <name>ozone.om.ratis.snapshot.dir</name>
+    <value>{{ _first_metadata }}/meta/om</value>
+  </property>
+  <property>
+    <name>ozone.scm.db.dirs</name>
+    <value>{{ _first_metadata }}/data/scm</value>
+  </property>
+  <property>
+    <name>ozone.scm.datanode.id.dir</name>
+    <value>{{ _first_metadata }}/meta/scm</value>
+  </property>
+  <property>
+    <name>ozone.scm.skip.bootstrap.validation</name>
+    <value>true</value>
+  </property>
+  <property>
+    <name>ozone.replication</name>
+{% if _all_dn_count < 3 %}
+    <value>ONE</value>
+{% else %}
+    <value>THREE</value>
+{% endif %}
+  </property>
 {% if scm_hosts|length > 0 %}
+  <!-- SCM ports -->
   <property>
     <name>ozone.scm.names</name>
     <value>{{ scm_hosts | join(',') }}</value>
   </property>
   <property>
     <name>ozone.scm.client.address</name>
-    <value>{{ scm_hosts | join(':9860,') }}:9860</value>
+    <value>{{ scm_hosts | map('regex_replace', '$', ':' ~ port_scm_client) | 
join(',') }}</value>
   </property>
   <property>
     <name>ozone.scm.datanode.address</name>
-    <value>{{ scm_hosts | join(':9861,') }}:9861</value>
+    <value>{{ scm_hosts | map('regex_replace', '$', ':' ~ port_scm_datanode) | 
join(',') }}</value>
+  </property>
+  <property>
+    <name>ozone.scm.block.client.address</name>
+    <value>{{ scm_hosts | map('regex_replace', '$', ':' ~ 
port_scm_block_client) | join(',') }}</value>
+  </property>
+  <property>
+    <name>ozone.scm.client.port</name>
+    <value>{{ port_scm_client }}</value>
+  </property>
+  <property>
+    <name>ozone.scm.datanode.port</name>
+    <value>{{ port_scm_datanode }}</value>
+  </property>
+  <property>
+    <name>ozone.scm.block.client.port</name>
+    <value>{{ port_scm_block_client }}</value>
+  </property>
+  <property>
+    <name>ozone.scm.http-address</name>
+    <value>0.0.0.0:{{ port_scm_http }}</value>
+  </property>
+  <property>
+    <name>ozone.scm.ratis.port</name>
+    <value>{{ port_scm_ratis }}</value>
+  </property>
+  <property>
+    <name>ozone.scm.grpc.port</name>
+    <value>{{ port_scm_grpc }}</value>
   </property>
 {% endif %}
 {% if scm_hosts|length > 1 %}
+  <!-- SCM ports -->
   <property>
     <name>ozone.scm.primordial.node.id</name>
     <value>{{ scm_hosts[0] }}</value>
@@ -62,11 +132,13 @@
 {% endfor %}
 {% endif %}
 {% if om_hosts|length == 1 %}
+  <!-- OM ports -->
   <property>
     <name>ozone.om.address</name>
-    <value>{{ om_hosts[0] }}:9862</value>
+    <value>{{ om_hosts[0] }}:{{ port_om_rpc }}</value>
   </property>
 {% elif om_hosts|length > 1 %}
+  <!-- OM ports -->
   <property>
     <name>ozone.om.service.ids</name>
     <value>omservice</value>
@@ -78,69 +150,98 @@
 {% for h in om_hosts %}
   <property>
     <name>ozone.om.address.omservice.om{{ loop.index }}</name>
-    <value>{{ h }}:9862</value>
+    <value>{{ h }}:{{ port_om_rpc }}</value>
+  </property>
+  <property>
+    <name>ozone.om.ratis.port.omservice.om{{ loop.index }}</name>
+    <value>{{ port_om_ratis }}</value>
+  </property>
+  <property>
+    <name>ozone.om.http-address.omservice.om{{ loop.index }}</name>
+    <value>{{ h }}:{{ port_om_http }}</value>
   </property>
 {% endfor %}
 {% endif %}
+{% if om_hosts|length > 0 %}
+  <property>
+    <name>ozone.om.port</name>
+    <value>{{ port_om_rpc }}</value>
+  </property>
+  <property>
+    <name>ozone.om.ratis.port</name>
+    <value>{{ port_om_ratis }}</value>
+  </property>
+  <property>
+    <name>ozone.om.http-address</name>
+    <value>0.0.0.0:{{ port_om_http }}</value>
+  </property>
+  <property>
+    <name>ozone.om.grpc.port</name>
+    <value>{{ port_om_grpc }}</value>
+  </property>
+{% endif %}
 {% if recon_hosts|length > 0 %}
+  <!-- Recon ports -->
   <property>
     <name>ozone.recon.http-address</name>
-    <value>{{ recon_hosts[0] }}:9888</value>
+    <value>{{ recon_hosts[0] }}:{{ port_recon_http }}</value>
   </property>
   <property>
     <name>ozone.recon.address</name>
-    <value>{{ recon_hosts[0] }}:9891</value>
+    <value>{{ recon_hosts[0] }}:{{ port_recon_datanode }}</value>
+  </property>
+  <property>
+    <name>ozone.recon.datanode.address</name>
+    <value>0.0.0.0:{{ port_recon_datanode }}</value>
+  </property>
+  <property>
+    <name>ozone.recon.datanode.port</name>
+    <value>{{ port_recon_datanode }}</value>
   </property>
 {% endif %}
 {% if s3g_hosts|length > 0 %}
+  <!-- S3G ports -->
   <property>
     <name>ozone.s3g.http-address</name>
-    <value>{{ s3g_hosts[0] }}:9878</value>
+    <value>{{ s3g_hosts[0] }}:{{ port_s3g_http }}</value>
   </property>
   <property>
     <name>ozone.s3g.webadmin.http-address</name>
-    <value>{{ s3g_hosts[0] }}:19878</value>
+    <value>{{ s3g_hosts[0] }}:{{ port_s3g_admin }}</value>
   </property>
 {% endif %}
+  <!-- Datanode ports -->
   <property>
-    <name>ozone.metadata.dirs</name>
-    <value>{{ _first_metadata }}/meta</value>
+    <name>hdds.datanode.http-address</name>
+    <value>0.0.0.0:{{ port_datanode_http }}</value>
   </property>
   <property>
-    <name>hdds.datanode.dir</name>
-    <value>{% for d in _data_bases %}{{ d }}/dn{% if not loop.last %},{% endif 
%}{% endfor %}</value>
+    <name>hdds.datanode.ipc</name>
+    <value>0.0.0.0:{{ port_datanode_ratis_ipc }}</value>
   </property>
   <property>
-    <name>dfs.container.ratis.datanode.storage.dir</name>
-    <value>{{ _first_metadata }}/meta/dn</value>
+    <name>dfs.container.ratis.datanode.port</name>
+    <value>{{ port_datanode_ratis_server }}</value>
   </property>
   <property>
-    <name>ozone.om.db.dirs</name>
-    <value>{{ _first_metadata }}/data/om</value>
+    <name>dfs.container.ratis.admin.port</name>
+    <value>{{ port_datanode_ratis_admin }}</value>
   </property>
   <property>
-    <name>ozone.om.ratis.snapshot.dir</name>
-    <value>{{ _first_metadata }}/meta/om</value>
+    <name>hdds.container.ipc.port</name>
+    <value>{{ port_datanode_client }}</value>
   </property>
   <property>
-    <name>ozone.scm.db.dirs</name>
-    <value>{{ _first_metadata }}/data/scm</value>
+    <name>hdds.container.ratis.server.port</name>
+    <value>{{ port_datanode_ratis_server }}</value>
   </property>
   <property>
-    <name>ozone.scm.datanode.id.dir</name>
-    <value>{{ _first_metadata }}/meta/scm</value>
-  </property>
-  <property>
-    <name>ozone.scm.skip.bootstrap.validation</name>
-    <value>true</value>
+    <name>hdds.container.ratis.ipc.port</name>
+    <value>{{ port_datanode_ratis_ipc }}</value>
   </property>
   <property>
-    <name>ozone.replication</name>
-{% if _all_dn_count < 3 %}
-    <value>ONE</value>
-{% else %}
-    <value>THREE</value>
-{% endif %}
+    <name>hdds.datanode.replication.port</name>
+    <value>{{ port_datanode_replication }}</value>
   </property>
 </configuration>
 
diff --git a/roles/ozone_smoke_s3g/defaults/main.yml 
b/roles/ozone_smoke_s3g/defaults/main.yml
index 1d4b836..462aa86 100644
--- a/roles/ozone_smoke_s3g/defaults/main.yml
+++ b/roles/ozone_smoke_s3g/defaults/main.yml
@@ -14,4 +14,4 @@
 # claim, damages or other liability.
 #
 s3g_bucket: demos3gbuck
-s3g_key: demos3gkey
+s3g_key: demos3gkey
\ No newline at end of file
diff --git a/roles/ozone_smoke_s3g/tasks/main.yml 
b/roles/ozone_smoke_s3g/tasks/main.yml
index 02851e4..9344a18 100644
--- a/roles/ozone_smoke_s3g/tasks/main.yml
+++ b/roles/ozone_smoke_s3g/tasks/main.yml
@@ -16,7 +16,7 @@
 ---
 - name: "Set S3G endpoint argument"
   set_fact:
-    s3g_endpoint_arg: '--endpoint-url "http://{{ inventory_hostname }}:9878"'
+    s3g_endpoint_arg: '--endpoint-url "http://{{ inventory_hostname }}:{{ 
port_s3g_http }}"'
 
 - name: "Install awscli on S3G host"
   package:
diff --git a/roles/ozone_ui/tasks/main.yml b/roles/ozone_ui/tasks/main.yml
index bf7167b..c28b93f 100644
--- a/roles/ozone_ui/tasks/main.yml
+++ b/roles/ozone_ui/tasks/main.yml
@@ -25,12 +25,12 @@
 - name: "Compute service UI URLs"
   set_fact:
     endpoint_urls:
-      om: "{{ _om_hosts_ui | map('regex_replace','^(.*)$','http://\\1:9874') | 
list }}"
-      scm: "{{ _scm_hosts_ui | map('regex_replace','^(.*)$','http://\\1:9876') 
| list }}"
-      recon: "{{ (_recon_hosts_ui | length > 0) | ternary(['http://' + 
_recon_hosts_ui[0] + ':9888'], []) }}"
-      s3g_http: "{{ _s3g_hosts_ui | 
map('regex_replace','^(.*)$','http://\\1:9878') | list }}"
-      s3g_admin: "{{ _s3g_hosts_ui | 
map('regex_replace','^(.*)$','http://\\1:19878') | list }}"
-      datanode: "{{ (_datanodes_ui | length > 0) | ternary(['http://' + 
_datanodes_ui[0] + ':9882'], []) }}"
+      om: "{{ _om_hosts_ui | map('regex_replace', '^(.*)$', 'http://\\1:' ~ 
port_om_http) | list }}"
+      scm: "{{ _scm_hosts_ui | map('regex_replace', '^(.*)$', 'http://\\1:' ~ 
port_scm_http) | list }}"
+      recon: "{{ (_recon_hosts_ui | length > 0) | ternary(['http://' + 
_recon_hosts_ui[0] + ':' + (port_recon_http | string)], []) }}"
+      s3g_http: "{{ _s3g_hosts_ui | map('regex_replace', '^(.*)$', 
'http://\\1:' ~ port_s3g_http) | list }}"
+      s3g_admin: "{{ _s3g_hosts_ui | map('regex_replace', '^(.*)$', 
'http://\\1:' ~ port_s3g_admin) | list }}"
+      datanode: "{{ (_datanodes_ui | length > 0) | ternary(['http://' + 
_datanodes_ui[0] + ':' + (port_datanode_http | string)], []) }}"
 
 - name: "Export UI endpoints to controller logs directory"
   copy:


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to