Skip to content

NO-JIRA: add Loki readiness check and restart logic to observability tests#6589

Merged
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
agullon:NO-JIRA-loki-readiness-check
Apr 28, 2026
Merged

NO-JIRA: add Loki readiness check and restart logic to observability tests#6589
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
agullon:NO-JIRA-loki-readiness-check

Conversation

@agullon
Copy link
Copy Markdown
Contributor

@agullon agullon commented Apr 27, 2026

Summary

  • Add a Loki readiness check (/ready endpoint) to the observability test suite setup to detect when Loki's ingester has entered a shutdown state
  • Automatically restart the Loki container if unhealthy, with up to 5 retry attempts that preserve error details on failure
  • Add restart action to manage_loki.sh script
  • Fix IPv6 address handling in check_loki_query to match check_loki_ready (wrap with brackets)
  • Split broad except Exception in check_loki_query into ImportError (expected outside Robot Framework) vs unexpected errors with proper logging
  • Add LOKI_PORT validation to required observability variables

Follow-up to #6578 which addressed the retry logic but didn't handle the root cause of Loki's ingester becoming unresponsive over time (HTTP 503 on writes).

Test plan

  • el98-lrel@optional observability Loki tests pass consistently
  • Loki container is automatically restarted when ingester is in shutdown state
  • Failure message includes the specific error from the last readiness check attempt

🤖 Generated with Claude Code

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Apr 27, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@agullon: This pull request explicitly references no jira issue.

Details

In response to this:

Summary

  • Add a Loki readiness check (/ready endpoint) to the observability test suite setup to detect when Loki's ingester has entered a shutdown state
  • Automatically restart the Loki container if it's unhealthy, with up to 5 retry attempts
  • Add restart action to manage_loki.sh script
  • Remove unnecessary Wait Until Keyword Succeeds retry wrappers around Loki queries since suite setup now ensures Loki is ready before tests begin

Follow-up to #6578 which addressed the retry logic but didn't handle the root cause of Loki's ingester becoming unresponsive over time (HTTP 503 on writes).

Test plan

  • el98-lrel@optional observability Loki tests pass consistently
  • Loki container is automatically restarted when ingester is in shutdown state

🤖 Generated with Claude Code

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 27, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a Loki readiness gate: a shell restart action that stops and starts the Loki container, a Python check_loki_ready(host, port) helper that probes /ready and raises on non-200, and a Robot keyword Ensure Loki Is Ready that retries readiness probes (up to 5 attempts), restarting Loki between attempts and failing the suite if all attempts fail.

Changes

Cohort / File(s) Summary
Loki Container Management
test/bin/manage_loki.sh
Adds action_restart() and maps the restart CLI command to stop the existing loki container and then start a new one (accepts optional [port], default 3100), and updates help/dispatch to include restart.
Loki Readiness Checking
test/resources/loki.py
Adds check_loki_ready(host, port) which builds an IPv6-safe http://host:port/ready URL, performs a timed GET, logs request/response, and raises on connection/timeout/non-200 responses. Also updates check_loki_query to perform a preliminary queryability GET to /loki/api/v1/query_range (5s timeout) and to log hostname-enrichment exceptions instead of failing silently.
Test Suite Integration
test/suites/optional/observability.robot
Adds Ensure Loki Is Ready keyword: validates ${LOKI_PORT}, attempts up to 5 Check Loki Ready calls against ${LOKI_HOST}:${LOKI_PORT}, and on each failure logs the attempt, runs ./bin/manage_loki.sh restart ${LOKI_PORT}, sleeps 2s, retries, and calls Fail if all attempts fail.

Sequence Diagram

sequenceDiagram
    participant Suite as Test Suite
    participant Keyword as Robot Keyword
    participant Check as Python: check_loki_ready
    participant HTTP as Loki HTTP /ready
    participant Manage as ./bin/manage_loki.sh

    Suite->>Keyword: Ensure Loki Is Ready
    loop Retry (up to 5 attempts)
        Keyword->>Check: Check Loki Ready (host, port)
        Check->>HTTP: GET /ready
        alt HTTP 200
            HTTP-->>Check: 200 OK
            Check-->>Keyword: Ready
            Keyword-->>Suite: Ready (exit)
        else Error / non-200
            HTTP-->>Check: non-200 / error
            Check-->>Keyword: Not ready
            Keyword->>Manage: ./bin/manage_loki.sh restart <port>
            Manage-->>Keyword: stopped & started
            Keyword->>Keyword: Sleep 2s
        end
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 10 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning PR introduces IPv6 compatibility regression in loki.py line 110 where URL construction uses raw host instead of IPv6-normalized address variable. Replace f"http://{host}:{port}" with f"http://{address}:{port}" on line 110 to use IPv6-normalized address.
✅ Passed checks (10 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main changes: adding Loki readiness checks and restart logic to observability tests, which aligns with the primary modifications across all three files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The custom check requires validating Ginkgo test names are stable and deterministic. The PR modifies bash scripts, Python libraries, and Robot Framework tests—not Ginkgo tests—so the check is not applicable.
Test Structure And Quality ✅ Passed Custom check not applicable; PR modifies bash, Python, and Robot Framework files, not Ginkgo test code.
Microshift Test Compatibility ✅ Passed This check applies only to Ginkgo e2e tests. No Ginkgo patterns found in modified files; PR contains only utility scripts and Robot Framework keywords.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR modifies only bash, Python, and Robot Framework files—no Ginkgo e2e tests added, so SNO compatibility check does not apply.
Topology-Aware Scheduling Compatibility ✅ Passed Pull request modifies only test infrastructure and test files with no deployment manifests or operator code changes. No scheduling constraints incompatible with SNO, Two-Node, or HyperShift topologies introduced.
Ote Binary Stdout Contract ✅ Passed The OTE Binary Stdout Contract check applies only to Go binaries in process-level code. This PR modifies bash, Python, and Robot Framework files, none of which are Go binaries.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot requested review from ggiguash and pacevedom April 27, 2026 10:44
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 27, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@test/bin/manage_loki.sh`:
- Around line 57-61: The restart flow in action_restart should handle a missing
"loki" container gracefully: before calling podman restart, check whether the
container exists (e.g., with podman container exists "${container_name}" or an
equivalent podman ps -a filter) and if it does not exist, log a message and
return success; if it does exist, run podman restart "${container_name}" and
capture its exit status, logging a non-fatal warning on failure instead of
letting a non-zero exit break the suite. Ensure the changes are made inside the
action_restart function and reference the local variable container_name and the
podman restart invocation.

In `@test/suites/optional/observability.robot`:
- Around line 96-104: The retry loop using FOR IN RANGE 5 restarts Loki on every
failed check but on the final iteration it restarts and immediately fails
without verifying post-restart readiness; update the loop around the Check Loki
Ready keyword to perform a final Check Loki Ready after any restart (including
the last attempt) and replace the fixed Sleep 2s with a short backoff strategy
(e.g., incremental sleep based on ${attempt} or a slightly larger fixed delay)
before the post-restart check so that Local Command Should Work
./bin/manage_loki.sh restart is followed by a verified readiness via Check Loki
Ready ${LOKI_HOST} ${LOKI_PORT} instead of failing immediately.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 805e3ac9-3cba-41da-a8ac-efd08738d3c3

📥 Commits

Reviewing files that changed from the base of the PR and between 9350a63 and 968e5bb.

📒 Files selected for processing (3)
  • test/bin/manage_loki.sh
  • test/resources/loki.py
  • test/suites/optional/observability.robot

Comment thread test/bin/manage_loki.sh
Comment thread test/suites/optional/observability.robot Outdated
@agullon agullon force-pushed the NO-JIRA-loki-readiness-check branch from 8d7118a to 827448f Compare April 27, 2026 11:43
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@test/suites/optional/observability.robot`:
- Line 75: The readiness test "Ensure Loki Is Ready" can start probes before
`${LOKI_PORT}` is set; update the "Check Required Observability Variables"
keyword to validate `${LOKI_PORT}` (in addition to `${LOKI_HOST}`) and fail fast
when it's missing or empty so the readiness probe doesn't run on a
misconfiguration; locate the "Check Required Observability Variables" keyword
and add a presence/assertion for `${LOKI_PORT}` (or call Robot's Fail with a
clear message) before any readiness checks are invoked.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 00e08fca-3e37-469e-898f-f78f58f4b345

📥 Commits

Reviewing files that changed from the base of the PR and between 968e5bb and 8d7118a.

📒 Files selected for processing (1)
  • test/suites/optional/observability.robot

Comment thread test/suites/optional/observability.robot
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
test/suites/optional/observability.robot (1)

96-100: Consider 1-based attempt numbers in logs.

Current logs print attempts as 0..4. Using 1..5 makes failure output easier to read.

Suggested tweak
-    FOR    ${attempt}    IN RANGE    5
+    FOR    ${attempt}    IN RANGE    1    6
@@
-        Log    Loki is not ready (attempt ${attempt}), restarting container    console=True
+        Log    Loki is not ready (attempt ${attempt}/5), restarting container    console=True
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@test/suites/optional/observability.robot` around lines 96 - 100, The loop
currently logs attempts as 0..4; change it to 1..5 by updating the FOR header to
"FOR    ${attempt}    IN RANGE    1    6" (so ${attempt} is 1-based) or
alternatively compute a 1-based display value in the Log call via "Log    Loki
is not ready (attempt ${${attempt + 1}}), restarting container    console=True";
prefer the FOR change and update the FOR line that wraps the Check Loki Ready /
Log calls to use IN RANGE 1 6 so logs show 1..5.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@test/resources/loki.py`:
- Around line 71-78: The readiness URL construction in check_loki_ready(host:
str, port: int) fails for IPv6 literals; modify the function to detect IPv6
addresses (e.g., using the ipaddress module or by checking for ':' in host and
not already bracketed) and wrap the host in square brackets when building the
URL (i.e., use "[host]" for IPv6) so the f"http://{host}:{port}/ready" becomes
f"http://{bracketed_host}:{port}/ready"; keep logging and error behavior
unchanged.

---

Nitpick comments:
In `@test/suites/optional/observability.robot`:
- Around line 96-100: The loop currently logs attempts as 0..4; change it to
1..5 by updating the FOR header to "FOR    ${attempt}    IN RANGE    1    6" (so
${attempt} is 1-based) or alternatively compute a 1-based display value in the
Log call via "Log    Loki is not ready (attempt ${${attempt + 1}}), restarting
container    console=True"; prefer the FOR change and update the FOR line that
wraps the Check Loki Ready / Log calls to use IN RANGE 1 6 so logs show 1..5.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: bf3f88b7-38ab-4a37-a7b0-45730f8ce89a

📥 Commits

Reviewing files that changed from the base of the PR and between 8d7118a and 827448f.

📒 Files selected for processing (3)
  • test/bin/manage_loki.sh
  • test/resources/loki.py
  • test/suites/optional/observability.robot
🚧 Files skipped from review as they are similar to previous changes (1)
  • test/bin/manage_loki.sh

Comment thread test/resources/loki.py
@agullon agullon force-pushed the NO-JIRA-loki-readiness-check branch from 827448f to 12d2766 Compare April 27, 2026 11:56
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
test/suites/optional/observability.robot (1)

98-103: Use 1-based attempt numbers in logs for readability.

Current logs print attempt 0..4, which is a bit confusing during triage.

Proposed tweak
 FOR    ${attempt}    IN RANGE    5
+    ${attempt_no}    Evaluate    ${attempt} + 1
     ${status}    Run Keyword And Return Status
     ...    Check Loki Ready    ${LOKI_HOST}    ${LOKI_PORT}
     IF    ${status}    RETURN
-    Log    Loki is not ready (attempt ${attempt}), restarting container    console=True
+    Log    Loki is not ready (attempt ${attempt_no}/5), restarting container    console=True
     Local Command Should Work    ./bin/manage_loki.sh restart
     Sleep    2s
 END
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@test/suites/optional/observability.robot` around lines 98 - 103, The loop
logs zero-based ${attempt} values; change the log to use a 1-based display by
computing a display variable (e.g. ${attempt_display} = Evaluate    ${attempt} +
1) inside the FOR and then use ${attempt_display} in the Log message and any
user-facing output; update the block around the FOR / Check Loki Ready / Log /
Local Command Should Work sequence to create and use ${attempt_display} instead
of raw ${attempt} so logs read 1..5 instead of 0..4.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@test/suites/optional/observability.robot`:
- Around line 98-103: The loop logs zero-based ${attempt} values; change the log
to use a 1-based display by computing a display variable (e.g.
${attempt_display} = Evaluate    ${attempt} + 1) inside the FOR and then use
${attempt_display} in the Log message and any user-facing output; update the
block around the FOR / Check Loki Ready / Log / Local Command Should Work
sequence to create and use ${attempt_display} instead of raw ${attempt} so logs
read 1..5 instead of 0..4.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 43fec769-bf11-4b5d-b8bd-a88745404856

📥 Commits

Reviewing files that changed from the base of the PR and between 827448f and 12d2766.

📒 Files selected for processing (3)
  • test/bin/manage_loki.sh
  • test/resources/loki.py
  • test/suites/optional/observability.robot

@agullon
Copy link
Copy Markdown
Contributor Author

agullon commented Apr 27, 2026

/retest

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
test/suites/optional/observability.robot (1)

98-103: Use 1-based attempt numbers in the log message.

IN RANGE 5 logs attempts as 0..4 while the failure text says “5 attempts”. Switching to IN RANGE 1 6 makes diagnostics clearer.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@test/suites/optional/observability.robot` around lines 98 - 103, The loop
using "FOR ${attempt} IN RANGE 5" produces 0-based attempt numbers in the Log;
change the FOR loop range to "IN RANGE    1    6" so ${attempt} is 1-based
(1..5) and keep the existing Log line ("Loki is not ready (attempt ${attempt}),
restarting container") and the existing keywords (Check Loki Ready, Local
Command Should Work) unchanged so diagnostics match the "5 attempts" message.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@test/resources/loki.py`:
- Around line 96-110: There are two issues: an unclosed try block around the
requests.get call and an IPv6 regression using raw host in the query_loki call.
Close the first try with an appropriate except/except Exception as e:/finally
block that handles request errors (the try that wraps requests.get), then move
the Robot Framework hostname-detection try/except out of that first try (so it
is a separate try block) to fix the SyntaxError; finally, update the query_loki
invocation to use the IPv6-normalized address variable
(query_loki(f"http://{address}:{port}", ...)) instead of raw host so IPv6
literal URLs remain correct.

---

Nitpick comments:
In `@test/suites/optional/observability.robot`:
- Around line 98-103: The loop using "FOR ${attempt} IN RANGE 5" produces
0-based attempt numbers in the Log; change the FOR loop range to "IN RANGE    1 
6" so ${attempt} is 1-based (1..5) and keep the existing Log line ("Loki is not
ready (attempt ${attempt}), restarting container") and the existing keywords
(Check Loki Ready, Local Command Should Work) unchanged so diagnostics match the
"5 attempts" message.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: e8547614-5e3e-480c-b003-74745a427192

📥 Commits

Reviewing files that changed from the base of the PR and between 12d2766 and 2274164.

📒 Files selected for processing (3)
  • test/bin/manage_loki.sh
  • test/resources/loki.py
  • test/suites/optional/observability.robot

Comment thread test/resources/loki.py Outdated
@agullon agullon force-pushed the NO-JIRA-loki-readiness-check branch from 255fa1a to e12059e Compare April 27, 2026 13:08
…tests

Add a Loki readiness check (/ready endpoint) to the observability test
suite setup to detect when Loki's ingester has entered a shutdown state.
Automatically restart the Loki container if unhealthy, polling readiness
every 5s for up to 30s per attempt (3 attempts max) to cover the
ingester's ~15s warmup window.

- Add check_loki_ready() to loki.py with proper error handling
- Add restart action to manage_loki.sh script
- Fix IPv6 address handling in check_loki_query
- Split broad except Exception in check_loki_query into specific handlers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

pre-commit.check-secrets: ENABLED
@agullon agullon force-pushed the NO-JIRA-loki-readiness-check branch from e12059e to 8ab7329 Compare April 27, 2026 14:56
@agullon
Copy link
Copy Markdown
Contributor Author

agullon commented Apr 27, 2026

/retest

@ggiguash
Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Apr 28, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 28, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: agullon, ggiguash

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@agullon
Copy link
Copy Markdown
Contributor Author

agullon commented Apr 28, 2026

/verified by CI

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Apr 28, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@agullon: This PR has been marked as verified by CI.

Details

In response to this:

/verified by CI

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@agullon
Copy link
Copy Markdown
Contributor Author

agullon commented Apr 28, 2026

/cherrypick release-4.22

@openshift-cherrypick-robot
Copy link
Copy Markdown

@agullon: once the present PR merges, I will cherry-pick it on top of release-4.22 in a new PR and assign it to you.

Details

In response to this:

/cherrypick release-4.22

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 03767c6 and 2 for PR HEAD 8ab7329 in total

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 28, 2026

@agullon: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot Bot merged commit 6add7bd into openshift:main Apr 28, 2026
19 checks passed
@openshift-cherrypick-robot
Copy link
Copy Markdown

@agullon: new pull request created: #6598

Details

In response to this:

/cherrypick release-4.22

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants