This is an automated email from the ASF dual-hosted git repository.
ssulav pushed a commit to branch HDDS-14676
in repository https://gitbox.apache.org/repos/asf/ozone-installer.git
The following commit(s) were added to refs/heads/HDDS-14676 by this push:
new 1d61f1d HDDS-14676. Add configurable port for all ozone process
1d61f1d is described below
commit 1d61f1d31a37aea18a3e5894b0bce0434445dcb0
Author: Soumitra Sulav <[email protected]>
AuthorDate: Sun Mar 1 03:01:27 2026 +0530
HDDS-14676. Add configurable port for all ozone process
---
roles/ozone_config/defaults/main.yml | 30 +++-
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 | 1 +
roles/ozone_smoke_s3g/tasks/main.yml | 2 +-
roles/{ozone_config => ozone_ui}/defaults/main.yml | 15 +-
roles/ozone_ui/tasks/main.yml | 12 +-
7 files changed, 180 insertions(+), 47 deletions(-)
diff --git a/roles/ozone_config/defaults/main.yml
b/roles/ozone_config/defaults/main.yml
index a527b6b..3a10c45 100644
--- a/roles/ozone_config/defaults/main.yml
+++ b/roles/ozone_config/defaults/main.yml
@@ -19,4 +19,32 @@ install_base: "/opt/ozone"
data_base: "/data/ozone"
CONFIG_DIR: "" # if provided, can be used to feed additional properties via
vars
-
+# Service ports — Ozone upstream defaults.
+# Override any of these in inventories/dev/group_vars/all.yml to resolve port
conflicts.
+# ---
+# SCM
+port_scm_client: 19860 # ozone.scm.client.port
+port_scm_datanode: 19861 # ozone.scm.datanode.port
+port_scm_block_client: 19863 # ozone.scm.block.client.port
+port_scm_http: 19876 # ozone.scm.http-address
+port_scm_ratis: 19894 # ozone.scm.ratis.port
+port_scm_grpc: 19895 # ozone.scm.grpc.port
+# OM
+port_om_rpc: 19862 # ozone.om.port (binds to hostname, not 0.0.0.0)
+port_om_http: 19874 # ozone.om.http-address
+port_om_ratis: 19872 # ozone.om.ratis.port
+port_om_grpc: 18981 # ozone.om.grpc.port
+# Recon
+port_recon_http: 19888 # ozone.recon.http-address
+port_recon_datanode: 19891 # ozone.recon.datanode.port &
ozone.recon.address
+# S3G
+port_s3g_http: 19878 # ozone.s3g.http-address
+port_s3g_admin: 29878 # ozone.s3g.webadmin.http-address
+# Datanode
+port_datanode_http: 19882 # hdds.datanode.http-address
+port_datanode_replication: 19886 # hdds.datanode.replication.port
+port_datanode_ratis_ipc: 19858 # hdds.container.ratis.ipc.port &
hdds.datanode.ipc
+port_datanode_client: 19859 # hdds.container.ipc.port
(XceiverServerGrpc bind)
+ # DatanodeDetails.clientPort is
populated from this automatically
+port_datanode_ratis_server: 19856 # dfs.container.ratis.datanode.port &
hdds.container.ratis.server.port
+port_datanode_ratis_admin: 19857 # dfs.container.ratis.admin.port
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..3cf2328 100644
--- a/roles/ozone_smoke_s3g/defaults/main.yml
+++ b/roles/ozone_smoke_s3g/defaults/main.yml
@@ -15,3 +15,4 @@
#
s3g_bucket: demos3gbuck
s3g_key: demos3gkey
+port_s3g_http: 19878
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_config/defaults/main.yml
b/roles/ozone_ui/defaults/main.yml
similarity index 71%
copy from roles/ozone_config/defaults/main.yml
copy to roles/ozone_ui/defaults/main.yml
index a527b6b..827ae0a 100644
--- a/roles/ozone_config/defaults/main.yml
+++ b/roles/ozone_ui/defaults/main.yml
@@ -14,9 +14,12 @@
# limitations under the License.
---
-install_base: "/opt/ozone"
-# data_base: single path or comma-separated paths (e.g. /data/ozone or
/data/ozone1,/data/ozone2)
-data_base: "/data/ozone"
-CONFIG_DIR: "" # if provided, can be used to feed additional properties via
vars
-
-
+# UI endpoint ports — must mirror ozone_config/defaults/main.yml.
+# These are needed because ozone_ui runs in a separate play and does not
+# inherit role defaults from ozone_config.
+port_om_http: 19874
+port_scm_http: 19876
+port_recon_http: 19888
+port_s3g_http: 19878
+port_s3g_admin: 29878
+port_datanode_http: 19882
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]