-
Notifications
You must be signed in to change notification settings - Fork 26
Sync 2025.1 again #2498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Sync 2025.1 again #2498
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
29c464c
feat: add `prometheus` alerts for `etcd`
jackhodgkiss bb02fe3
Remove hostname fix reboot
Alex-Welsh 0079870
Rocky 9.8 host image rebuild
owenjones 71c6651
Add upgrade-prerequsites.sh for Epoxy to Gazpacho
seunghun1ee b1142a6
Merge pull request #2374 from stackhpc/remove-aio-reboot
priteau 856da81
Remove unused auto-label configuration
priteau 04bfff9
(automated) Bump kolla-ansible to stackhpc/20.4.0.11
stackhpc-ci d6b67b6
GT-1835: Fix IPA for stream 10 (#2448)
dougszumski a40a5ec
Use host facts to select Rocky 9/10 distro version
bbezak 00ffa60
Add coderabbit review config
Alex-Welsh 170e476
Merge pull request #2451 from stackhpc/coderabbit-config
priteau 9a9341c
Add hook to reset-bls-entries after host package update
priteau b80fbec
Merge pull request #2455 from stackhpc/reset-bls-entries-hook
mnasiadka 03f59cf
Revert "GT-1835: Fix IPA for stream 10 (#2448)"
priteau 7e08ed0
Merge pull request #2465 from stackhpc/revert-ipa-fork
priteau 8ebfcea
Bump all repositories
priteau b2cf0cf
Bump OFED modules
priteau 707d1ec
Add release notes for repository bump
priteau b0a1ccd
Merge pull request #2437 from stackhpc/add-etcd-alert-rules
jackhodgkiss 9efdf39
feat: move release note to correct folder
jackhodgkiss ebd69b5
Merge pull request #2467 from stackhpc/fix-bls-entries-release-note
priteau d02d05d
Disable upstream sync workflow
Alex-Welsh 22f010b
Merge pull request #2466 from stackhpc/bump-repo-versions
priteau 80d199b
(automated) Bump kolla to stackhpc/20.4.0.11
stackhpc-ci d0c2a19
(automated) Bump kolla-ansible to stackhpc/20.4.0.15
stackhpc-ci 2a59fbb
(automated) Bump kayobe to stackhpc/18.4.0.7
stackhpc-ci e0fa8ce
Fix reset-bls-entries hook
priteau c6f8222
Merge pull request #2482 from stackhpc/fix-reset-bls-entries-hook
priteau 49f57c7
(automated) Bump kolla-ansible to stackhpc/20.4.0.17
stackhpc-ci 2b09258
(automated) Bump kayobe to stackhpc/18.4.0.9
stackhpc-ci 922e4ce
Merge pull request #2495 from stackhpc/update-dependencies-stackhpc-2…
priteau e2b3486
Merge branch 'stackhpc/2025.1' into sync-2025.1-again
Alex-Welsh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
1 change: 1 addition & 0 deletions
1
etc/kayobe/hooks/overcloud-host-package-update/post.d/20-reset-bls-entries.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| ../../../ansible/maintenance/reset-bls-entries.yml |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,186 @@ | ||
| # Source: https://github.com/samber/awesome-prometheus-alerts | ||
|
|
||
| {% raw %} | ||
| groups: | ||
| - name: EmbeddedExporter | ||
| rules: | ||
| - alert: EtcdInsufficientMembers | ||
| expr: count(etcd_server_id) % 2 == 0 | ||
| for: 0m | ||
| labels: | ||
| severity: critical | ||
| annotations: | ||
| summary: Etcd insufficient Members (instance {{ $labels.instance }}) | ||
| description: "Etcd cluster should have an odd number of members\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| - alert: EtcdNoLeader | ||
| expr: etcd_server_has_leader == 0 | ||
| for: 0m | ||
| labels: | ||
| severity: critical | ||
| annotations: | ||
| summary: Etcd no Leader (instance {{ $labels.instance }}) | ||
| description: "Etcd cluster have no leader\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| - alert: EtcdHighNumberOfLeaderChanges | ||
| expr: increase(etcd_server_leader_changes_seen_total[10m]) > 2 | ||
| for: 0m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd high number of leader changes (instance {{ $labels.instance }}) | ||
| description: "Etcd leader changed {{ $value }} times during 10 minutes\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| # Counts server-side failures only. NotFound, AlreadyExists and Cancelled are normal gRPC | ||
| # responses and are deliberately excluded from the error rate. | ||
| - alert: EtcdHighNumberOfFailedGRPCRequestsWarning | ||
| expr: sum(rate(grpc_server_handled_total{grpc_code=~"Unknown|FailedPrecondition|ResourceExhausted|Internal|Unavailable|DataLoss|DeadlineExceeded"}[1m])) BY (grpc_service, grpc_method) / sum(rate(grpc_server_handled_total[1m])) BY (grpc_service, grpc_method) > 0.01 and sum(rate(grpc_server_handled_total[1m])) BY (grpc_service, grpc_method) > 0 | ||
| for: 2m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd high number of failed GRPC requests warning (instance {{ $labels.instance }}) | ||
| description: "More than 1% GRPC request failure detected in Etcd\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| # Counts server-side failures only. NotFound, AlreadyExists and Cancelled are normal gRPC | ||
| # responses and are deliberately excluded from the error rate. | ||
| - alert: EtcdHighNumberOfFailedGRPCRequestsCritical | ||
| expr: sum(rate(grpc_server_handled_total{grpc_code=~"Unknown|FailedPrecondition|ResourceExhausted|Internal|Unavailable|DataLoss|DeadlineExceeded"}[1m])) BY (grpc_service, grpc_method) / sum(rate(grpc_server_handled_total[1m])) BY (grpc_service, grpc_method) > 0.05 and sum(rate(grpc_server_handled_total[1m])) BY (grpc_service, grpc_method) > 0 | ||
| for: 2m | ||
| labels: | ||
| severity: critical | ||
| annotations: | ||
| summary: Etcd high number of failed GRPC requests critical (instance {{ $labels.instance }}) | ||
| description: "More than 5% GRPC request failure detected in Etcd\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| # Excludes the Defragment method, which is inherently slow and would otherwise trigger | ||
| # false positives during a manual or automatic etcdctl defrag. | ||
| - alert: EtcdGRPCRequestsSlow | ||
| expr: histogram_quantile(0.99, sum(rate(grpc_server_handling_seconds_bucket{grpc_method!="Defragment", grpc_type="unary"}[1m])) by (grpc_service, grpc_method, le)) > 0.15 | ||
| for: 2m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd GRPC requests slow (instance {{ $labels.instance }}) | ||
| description: "GRPC requests slowing down, 99th percentile is over 0.15s\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| # These etcd_http_* metrics are from the etcd v2 API and do not exist in etcd 3.x. Remove these rules if running etcd 3.x. | ||
| - alert: EtcdHighNumberOfFailedHTTPRequestsWarning | ||
| expr: sum(rate(etcd_http_failed_total[1m])) BY (method) / sum(rate(etcd_http_received_total[1m])) BY (method) > 0.01 and sum(rate(etcd_http_received_total[1m])) BY (method) > 0 | ||
| for: 2m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd high number of failed HTTP requests warning (instance {{ $labels.instance }}) | ||
| description: "More than 1% HTTP failure detected in Etcd\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| # These etcd_http_* metrics are from the etcd v2 API and do not exist in etcd 3.x. Remove these rules if running etcd 3.x. | ||
| - alert: EtcdHighNumberOfFailedHTTPRequestsCritical | ||
| expr: sum(rate(etcd_http_failed_total[1m])) BY (method) / sum(rate(etcd_http_received_total[1m])) BY (method) > 0.05 and sum(rate(etcd_http_received_total[1m])) BY (method) > 0 | ||
| for: 2m | ||
| labels: | ||
| severity: critical | ||
| annotations: | ||
| summary: Etcd high number of failed HTTP requests critical (instance {{ $labels.instance }}) | ||
| description: "More than 5% HTTP failure detected in Etcd\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| # This etcd_http_* metric is from the etcd v2 API and does not exist in etcd 3.x. Remove this rule if running etcd 3.x. | ||
| - alert: EtcdHTTPRequestsSlow | ||
| expr: histogram_quantile(0.99, rate(etcd_http_successful_duration_seconds_bucket[1m])) > 0.15 | ||
| for: 2m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd HTTP requests slow (instance {{ $labels.instance }}) | ||
| description: "HTTP requests slowing down, 99th percentile is over 0.15s\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
Alex-Welsh marked this conversation as resolved.
|
||
|
|
||
| - alert: EtcdMemberCommunicationSlow | ||
| expr: histogram_quantile(0.99, sum(rate(etcd_network_peer_round_trip_time_seconds_bucket[5m])) by (instance, le)) > 0.15 | ||
| for: 2m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd member communication slow (instance {{ $labels.instance }}) | ||
| description: "Etcd member communication slowing down, 99th percentile is over 0.15s\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| - alert: EtcdHighNumberOfFailedProposals | ||
| expr: increase(etcd_server_proposals_failed_total[1h]) > 5 | ||
| for: 2m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd high number of failed proposals (instance {{ $labels.instance }}) | ||
| description: "Etcd server got {{ $value }} failed proposals in the past hour\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| - alert: EtcdHighFsyncDurations | ||
| expr: histogram_quantile(0.99, sum(rate(etcd_disk_wal_fsync_duration_seconds_bucket[5m])) by (instance, le)) > 0.5 | ||
| for: 2m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd high fsync durations (instance {{ $labels.instance }}) | ||
| description: "Etcd WAL fsync duration increasing, 99th percentile is over 0.5s\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| - alert: EtcdHighCommitDurations | ||
| expr: histogram_quantile(0.99, sum(rate(etcd_disk_backend_commit_duration_seconds_bucket[5m])) by (instance, le)) > 0.25 | ||
| for: 2m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd high commit durations (instance {{ $labels.instance }}) | ||
| description: "Etcd commit duration increasing, 99th percentile is over 0.25s\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| - alert: EtcdPeerCommunicationFailures | ||
| expr: sum(rate(etcd_network_peer_sent_failures_total[1m])) by (To) > 0.01 | ||
| for: 2m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd peer communication failures (instance {{ $labels.instance }}) | ||
| description: "Etcd member is experiencing more than 0.01 failed peer sends per second to peer {{ $labels.To }}, which usually indicates the member is unreachable or network-partitioned.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
Alex-Welsh marked this conversation as resolved.
|
||
|
|
||
| - alert: EtcdInsufficientMembersForQuorum | ||
| expr: sum(up{job=~".*etcd.*"} == bool 1) without (instance) < ((count(up{job=~".*etcd.*"}) without (instance) + 1) / 2) | ||
| for: 3m | ||
| labels: | ||
| severity: critical | ||
| annotations: | ||
| summary: Etcd insufficient members for quorum (instance {{ $labels.instance }}) | ||
| description: "Only {{ $value }} etcd members are reachable, fewer than required for quorum; the cluster will reject writes until quorum is restored.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| - alert: EtcdDatabaseQuotaLowSpace | ||
| expr: (last_over_time(etcd_mvcc_db_total_size_in_bytes[5m]) / last_over_time(etcd_server_quota_backend_bytes[5m])) * 100 > 95 | ||
| for: 10m | ||
| labels: | ||
| severity: critical | ||
| annotations: | ||
| summary: Etcd database quota low space (instance {{ $labels.instance }}) | ||
| description: "Etcd database size is above 95% of the configured storage quota ({{ $value }}%); once the quota is reached, etcd stops accepting writes cluster-wide.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| - alert: EtcdExcessiveDatabaseGrowth | ||
| expr: predict_linear(etcd_mvcc_db_total_size_in_bytes[4h], 4*60*60) > etcd_server_quota_backend_bytes | ||
| for: 10m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd excessive database growth (instance {{ $labels.instance }}) | ||
| description: "Based on the current write rate over the past 4 hours, the etcd database is predicted to exceed the configured storage quota within the next 4 hours.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| - alert: EtcdDatabaseHighFragmentationRatio | ||
| expr: (last_over_time(etcd_mvcc_db_total_size_in_use_in_bytes[5m]) / last_over_time(etcd_mvcc_db_total_size_in_bytes[5m])) < 0.5 and etcd_mvcc_db_total_size_in_use_in_bytes > 104857600 | ||
| for: 10m | ||
| labels: | ||
| severity: warning | ||
| annotations: | ||
| summary: Etcd database high fragmentation ratio (instance {{ $labels.instance }}) | ||
| description: "Etcd database in-use size is below 50% of its allocated size ({{ $value | humanizePercentage }}), indicating fragmentation; run 'etcdctl defrag' to reclaim disk space.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
|
|
||
| - alert: EtcdHighFsyncDurationsCritical | ||
| expr: histogram_quantile(0.99, sum(rate(etcd_disk_wal_fsync_duration_seconds_bucket[5m])) by (instance, le)) > 1 | ||
| for: 2m | ||
| labels: | ||
| severity: critical | ||
| annotations: | ||
| summary: Etcd high fsync durations critical (instance {{ $labels.instance }}) | ||
| description: "Etcd WAL fsync duration is critically high, 99th percentile is over 1s, which can cause request timeouts and trigger leader elections.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" | ||
| {% endraw %} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 5 additions & 0 deletions
5
releasenotes/notes/add-etcd-prometheus-alerts-f14710e37d97621f.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| features: | ||
| - | | ||
| Add alerts for etcd taken from `Awesome Prometheus | ||
| <https://samber.github.io/awesome-prometheus-alerts/rules/orchestrators/etcd/>`__ | ||
|
Alex-Welsh marked this conversation as resolved.
|
||
15 changes: 15 additions & 0 deletions
15
releasenotes/notes/repo-bump-20260728-6cba5f6d572ebbfb.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| --- | ||
| features: | ||
| - | | ||
| Updated OFED kernel modules have been built for the latest Rocky Linux 9.8 | ||
| (``5.14.0.687.30.1.el9.8``) and 10.2 kernels (``6.12.0.211.39.1.el10.2``). | ||
| security: | ||
| - | | ||
| The latest Rocky Linux 9.8 kernel (``5.14.0.687.30.1.el9.8``) is now | ||
| available, which addresses KVM vulnerabilities `CVE-2025-40026 | ||
| <https://access.redhat.com/security/cve/cve-2025-40026>`__ and | ||
| `CVE-2026-63807 <https://access.redhat.com/security/cve/cve-2026-63807>`__. | ||
| - | | ||
| Updates Docker Engine to `release 29.6.2 | ||
| <https://docs.docker.com/engine/release-notes/29/#2962>`__, which addresses | ||
| multiple vulnerabilities. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.