Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
a1d0727
ufm telemetry support [metrics,syslog]
pullan1 May 12, 2026
a1d6989
Merge branch 'pub/q2_dev' into pub/q2_dev
pullan1 May 12, 2026
cff026e
ansible lint fix
pullan1 May 12, 2026
455a2b1
Merge branch 'pub/q2_dev' of github.com:pullan1/omnia into pub/q2_dev
pullan1 May 12, 2026
a22675f
ansible lint fix
pullan1 May 12, 2026
e721209
ansible lint fix
pullan1 May 12, 2026
7ce0525
updated ufm config
pullan1 May 13, 2026
c28052e
doca script changes needed
Nagachandan-P May 14, 2026
b43592a
Merge branch 'pub/q2_dev' into pub/q2_dev
abhishek-sa1 May 14, 2026
4cbf778
removed ssl disabling
Nagachandan-P May 14, 2026
7360eeb
reordering
Nagachandan-P May 14, 2026
e138027
added verbosity to the msg
pullan1 May 14, 2026
a1c0b20
Merge branch 'pub/q2_dev' of github.com:pullan1/omnia into pub/q2_dev
pullan1 May 14, 2026
a1d5143
reference of deploy_powerscale_logs.yml removed
pullan1 May 14, 2026
387d643
added ufm credential in config credentials utils
pullan1 May 14, 2026
9c64cc8
resolved merge conflicts
pullan1 May 14, 2026
7ea8e5a
Removed debug msgs
pullan1 May 14, 2026
d9e32df
updated the ufm secrets flow
pullan1 May 14, 2026
ff0ba15
Merge branch 'dell:pub/q2_dev' into pub/q2_dev
pullan1 May 15, 2026
20ed51c
Merge branch 'dell:pub/q2_dev' into pub/q2_dev
pullan1 May 15, 2026
13532ce
Merge branch 'dell:pub/q2_dev' into pub/q2_dev
Nagachandan-P May 15, 2026
944c1d2
removed ssl disabling
Nagachandan-P May 15, 2026
f6908a6
reordering
Nagachandan-P May 15, 2026
4bb7d4d
doca script changes needed
Nagachandan-P May 15, 2026
860831a
dnf command
Nagachandan-P May 15, 2026
d747b10
Update space in doca script
Nagachandan-P May 15, 2026
67a77c1
for all roles
Nagachandan-P May 15, 2026
6ef7779
Merge branch 'pub/q2_dev' of https://github.com/Nagachandan-P/omnia i…
Nagachandan-P May 15, 2026
d9eda41
Update ci-group-service_kube_control_plane_first_x86_64.yaml.j2
snarthan May 15, 2026
eef8b20
Update config.py
snarthan May 15, 2026
41d1c99
Update csi_driver_powerscale.json
snarthan May 15, 2026
eee6ce1
Merge pull request #4450 from snarthan/pub/q2_dev
Katakam-Rakesh May 15, 2026
0764fbb
Merge pull request #4453 from Katakam-Rakesh/pub/q2_dev
Katakam-Rakesh May 15, 2026
ba4e126
Fixes for merge conflicts and ufm
pullan1 May 15, 2026
d81d7f1
Merge branch 'pub/q2_dev' of github.com:pullan1/omnia into pub/q2_dev
pullan1 May 15, 2026
355a9f6
merge conflicts resolved
pullan1 May 15, 2026
99682b4
Merge branch 'pub/q2_dev' into pub/q2_dev
abhishek-sa1 May 15, 2026
6deafdf
Update telemetry_secret_creation.yaml.j2
abhishek-sa1 May 15, 2026
3c9b308
Update main.yml
abhishek-sa1 May 15, 2026
9adea7c
ufm telemetry support [metrics,syslog] (#4405)
pullan1 May 15, 2026
495cf6d
Merge branch 'dell:pub/q2_dev' into pub/q2_dev
pullan1 May 16, 2026
8c4dd31
UFM telemetry validation fix
pullan1 May 16, 2026
06eb6e1
Merge pull request #4455 from pullan1/pub/q2_dev
snarthan May 18, 2026
57471c5
Merge pull request #4424 from Nagachandan-P/pub/q2_dev
jagadeeshnv May 18, 2026
e297ec3
Update ci-group-service_kube_control_plane_first_x86_64.yaml.j2 (#4464)
snarthan May 18, 2026
67e489a
Update policy_update.yml (#4467)
SOWJANYAJAGADISH123 May 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@
"intel_benchmarks": "2024.1.0",
"ucx": "1.19.0",
"openmpi": "5.0.8",
"csi_driver_powerscale": "v2.15.0",
"csi_driver_powerscale": "v2.16.0",
"rocm": "6.3.1",
"service_k8s": "1.35.1"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,5 +161,17 @@
"maxLength": 128,
"pattern": "^.+$",
"description": "Password for Dell OpenManage Enterprise (OME). Length must be between 1 and 128 characters."
},
"ufm_username": {
"minLength": 1,
"maxLength": 64,
"pattern": "^[^\\\\'\";]+$",
"description": "Username for NVIDIA UFM (Unified Fabric Manager). Must not contain backslashes (\\), single quotes ('), double quotes (\"), or semicolons (;). Length must be between 1 and 64 characters."
},
"ufm_password": {
"minLength": 1,
"maxLength": 128,
"pattern": "^.+$",
"description": "Password for NVIDIA UFM (Unified Fabric Manager). Length must be between 1 and 128 characters."
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,37 @@
}
},
"required": ["metrics_enabled", "collection_targets"]
},
"ufm": {
"type": "object",
"description": "NVIDIA UFM InfiniBand Fabric telemetry.",
"properties": {
"metrics_enabled": {
"type": "boolean",
"default": false,
"description": "Enable or disable UFM InfiniBand metrics collection."
},
"logs_enabled": {
"type": "boolean",
"default": false,
"description": "Enable or disable UFM syslog logs collection."
},
"collection_targets": {
"type": "array",
"items": {
"type": "string",
"enum": ["victoria_metrics", "victoria_logs"]
},
"minItems": 1,
"uniqueItems": true,
"default": ["victoria_metrics"],
"description": "UFM supports victoria_metrics (metrics) and victoria_logs (logs)."
}
},
"required": ["metrics_enabled", "collection_targets"]
}
},
"required": ["idrac", "ldms", "dcgm", "powerscale"]
"required": ["idrac", "ldms", "dcgm", "powerscale", "ufm"]
},
"telemetry_bridges": {
"type": "object",
Expand Down Expand Up @@ -398,7 +426,54 @@
}
},
"required": ["otel_collector_storage_size", "csm_observability_values_file_path"]
},
"ufm_configuration": {
"type": "object",
"description": "UFM telemetry detailed configurations.",
"properties": {
"ufm_endpoint": {
"type": "string",
"description": "UFM appliance IP address or hostname. Required when UFM telemetry is enabled (metrics_enabled or logs_enabled is true)."
},
"ufm_metrics_port": {
"type": "integer",
"minimum": 1,
"maximum": 65535,
"default": 9001,
"description": "UFM Prometheus exporter port."
},
"scrape_interval": {
"type": "string",
"pattern": "^[0-9]+[smh]$",
"default": "30s",
"description": "Prometheus scrape interval for UFM metrics."
},
"scrape_timeout": {
"type": "string",
"pattern": "^[0-9]+[smh]$",
"default": "15s",
"description": "Prometheus scrape timeout (must be <= scrape_interval)."
},
"tls_mode": {
"type": "string",
"enum": ["self_signed", "ca_signed"],
"default": "self_signed",
"description": "TLS mode for connecting to UFM Prometheus endpoint."
},
"ufm_ca_cert_path": {
"type": "string",
"default": "",
"description": "Path to CA certificate file for UFM TLS verification."
},
"auth_mode": {
"type": "string",
"enum": ["basic", "none"],
"default": "basic",
"description": "Authentication mode for UFM Prometheus endpoint."
}
},
"required": []
}
},
"required": ["telemetry_sources", "telemetry_bridges", "telemetry_sinks", "ldms_configurations", "powerscale_configurations"]
"required": ["telemetry_sources", "telemetry_bridges", "telemetry_sinks", "ldms_configurations", "powerscale_configurations", "ufm_configuration"]
}
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,7 @@ def validate_telemetry_config(
idrac_source = telemetry_sources.get("idrac", {})
ldms_source = telemetry_sources.get("ldms", {})
powerscale_source = telemetry_sources.get("powerscale", {})
ufm_source = telemetry_sources.get("ufm", {})

idrac_telemetry_support = idrac_source.get("metrics_enabled", False)
idrac_collection_targets = idrac_source.get("collection_targets", [])
Expand Down Expand Up @@ -383,6 +384,17 @@ def validate_telemetry_config(
list(invalid_powerscale_targets),
f"Invalid collection targets for PowerScale. Only 'victoria_metrics' and 'victoria_logs' are supported. Found: {invalid_powerscale_targets}"
))

# UFM: supports victoria_metrics and victoria_logs
ufm_targets = set(ufm_source.get("collection_targets", []))
allowed_ufm_targets = {"victoria_metrics", "victoria_logs"}
invalid_ufm_targets = ufm_targets - allowed_ufm_targets
if invalid_ufm_targets:
errors.append(create_error_msg(
"telemetry_sources.ufm.collection_targets",
list(invalid_ufm_targets),
f"Invalid collection targets for UFM. Only 'victoria_metrics' and 'victoria_logs' are supported. Found: {invalid_ufm_targets}"
))

# =========================================================================
# Validate service cluster and slurm cluster
Expand Down Expand Up @@ -784,4 +796,59 @@ def validate_telemetry_config(
is_service_cluster_defined, config_paths, logger, errors
)

# =========================================================================
# Validate UFM telemetry configuration
# =========================================================================
ufm_metrics_enabled = ufm_source.get("metrics_enabled", False)
ufm_logs_enabled = ufm_source.get("logs_enabled", False)
ufm_detailed_config = data.get("ufm_configuration", {})

if ufm_metrics_enabled or ufm_logs_enabled:
# Check required UFM endpoint
ufm_endpoint = ufm_detailed_config.get("ufm_endpoint", "")
if not ufm_endpoint or (isinstance(ufm_endpoint, str) and ufm_endpoint.strip() == ""):
errors.append(create_error_msg(
"ufm_configuration.ufm_endpoint",
ufm_endpoint,
"ufm_endpoint is required when UFM telemetry is enabled. Provide the UFM appliance IP address or hostname."
))

# Validate UFM metrics port if metrics enabled
if ufm_metrics_enabled:
ufm_metrics_port = ufm_detailed_config.get("ufm_metrics_port", 9001)
if not isinstance(ufm_metrics_port, int) or ufm_metrics_port < 1 or ufm_metrics_port > 65535:
errors.append(create_error_msg(
"ufm_configuration.ufm_metrics_port",
ufm_metrics_port,
"ufm_metrics_port must be an integer between 1 and 65535."
))

# Validate TLS mode
tls_mode = ufm_detailed_config.get("tls_mode", "self_signed")
if tls_mode not in ["self_signed", "ca_signed"]:
errors.append(create_error_msg(
"ufm_configuration.tls_mode",
tls_mode,
"tls_mode must be 'self_signed' or 'ca_signed'."
))

# Validate CA certificate path when tls_mode is ca_signed
if tls_mode == "ca_signed":
ca_cert_path = ufm_detailed_config.get("ufm_ca_cert_path", "")
if not ca_cert_path or (isinstance(ca_cert_path, str) and ca_cert_path.strip() == ""):
errors.append(create_error_msg(
"ufm_configuration.ufm_ca_cert_path",
ca_cert_path,
"ufm_ca_cert_path is required when tls_mode is 'ca_signed'. Provide path to CA certificate file."
))

# Validate auth mode
auth_mode = ufm_detailed_config.get("auth_mode", "basic")
if auth_mode not in ["basic", "none"]:
errors.append(create_error_msg(
"ufm_configuration.auth_mode",
auth_mode,
"auth_mode must be 'basic' or 'none'."
))

return errors
7 changes: 7 additions & 0 deletions common/library/modules/fetch_telemetry_status.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,13 @@ def main():
if telemetry_sources.get("idrac", {}).get("metrics_enabled", False):
telemetry_status_list.append("idrac_telemetry")

# Check UFM telemetry
ufm_config = telemetry_sources.get("ufm", {})
if ufm_config.get("metrics_enabled", False):
telemetry_status_list.append("ufm_telemetry")
if ufm_config.get("logs_enabled", False):
telemetry_status_list.append("ufm_logs")

module.exit_json(
changed=False,
telemetry_status_list=telemetry_status_list
Expand Down
28 changes: 14 additions & 14 deletions input/config/x86_64/rhel/10.0/csi_driver_powerscale.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,63 +5,63 @@
"package": "csi-powerscale",
"url": "https://github.com/dell/csi-powerscale.git",
"type": "git",
"version": "v2.15.0"
"version": "v2.16.0"
},
{
"package": "external-snapshotter",
"url": "https://github.com/kubernetes-csi/external-snapshotter.git",
"type": "git",
"version": "v8.3.0"
"version": "v8.4.0"
},
{
"package": "helm-charts",
"url": "https://github.com/dell/helm-charts.git",
"type": "git",
"version": "csi-isilon-2.15.0"
"version": "csi-isilon-2.16.0"
},
{
"package": "quay.io/dell/container-storage-modules/csi-isilon",
"tag": "v2.15.0",
"tag": "v2.16.0",
"type": "image"
},
{
"package": "registry.k8s.io/sig-storage/csi-attacher",
"tag": "v4.9.0",
"tag": "v4.10.0",
"type": "image"
},
{
"package": "registry.k8s.io/sig-storage/csi-provisioner",
"tag": "v5.3.0",
"tag": "v6.1.0",
"type": "image"
},
{
"package": "registry.k8s.io/sig-storage/csi-snapshotter",
"tag": "v8.3.0",
"tag": "v8.4.0",
"type": "image"
},
{
"package": "registry.k8s.io/sig-storage/csi-resizer",
"tag": "v1.14.0",
"tag": "v2.0.0",
"type": "image"
},
{
"package": "registry.k8s.io/sig-storage/csi-node-driver-registrar",
"tag": "v2.14.0",
"tag": "v2.15.0",
"type": "image"
},
{
"package": "registry.k8s.io/sig-storage/csi-external-health-monitor-controller",
"tag": "v0.15.0",
"tag": "v0.16.0",
"type": "image"
},
{
"package": "quay.io/dell/container-storage-modules/dell-csi-replicator",
"tag": "v1.13.0",
"tag": "v1.14.0",
"type": "image"
},
{
"package": "quay.io/dell/container-storage-modules/podmon",
"tag": "v1.14.0",
"tag": "v1.15.0",
"type": "image"
},
{
Expand All @@ -71,12 +71,12 @@
},
{
"package": "quay.io/dell/container-storage-modules/csi-metadata-retriever",
"tag": "v1.12.0",
"tag": "v1.13.0",
"type": "image"
},
{
"package": "registry.k8s.io/sig-storage/snapshot-controller",
"tag": "v8.3.0",
"tag": "v8.4.0",
"type": "image"
},
{
Expand Down
6 changes: 3 additions & 3 deletions input/config/x86_64/rhel/10.0/service_k8s_v1.35.1.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
{ "package": "prettytable==3.14.0", "type": "pip_module" },
{ "package": "python3-3.12.9", "type": "rpm", "repo_name": "baseos" },
{ "package": "git", "type": "rpm", "repo_name": "appstream"},
{ "package": "kubernetes==35.0.0", "type": "pip_module" },
{ "package": "kubernetes==33.1.0", "type": "pip_module" },
{ "package": "PyMySQL==1.1.2", "type": "pip_module" }

]
Expand Down Expand Up @@ -106,7 +106,7 @@
{ "package": "prettytable==3.14.0", "type": "pip_module" },
{ "package": "python3-3.12.9", "type": "rpm", "repo_name": "baseos" },
{ "package": "git", "type": "rpm", "repo_name": "appstream"},
{ "package": "kubernetes==35.0.0", "type": "pip_module" },
{ "package": "kubernetes==33.1.0", "type": "pip_module" },
{ "package": "PyMySQL==1.1.2", "type": "pip_module" }
]
},
Expand All @@ -118,4 +118,4 @@
{ "package": "quay.io/metallb/controller", "tag": "v0.15.3", "type": "image" }
]
}
}
}
Loading
Loading