Skip to content

no-wait option in tests.yaml#688

Open
hemanthnakkina wants to merge 2 commits intoopenstack-charmers:masterfrom
hemanthnakkina:no-wait-tests-yaml
Open

no-wait option in tests.yaml#688
hemanthnakkina wants to merge 2 commits intoopenstack-charmers:masterfrom
hemanthnakkina:no-wait-tests-yaml

Conversation

@hemanthnakkina
Copy link
Copy Markdown
Contributor

@hemanthnakkina hemanthnakkina commented Mar 26, 2026

To run multiple bundles in different models, zaza
need to wait for first bundle applications to acheive status as specified in target_deploy_status before deploying second bundle using configure. (Deploying second bundle using configure is actually a hacky
way). This increases the time of deployment as both bundles are deployed sequentially. sunbeam-charms
project has total timeout of 2 hours for its
functional test.

Add option no-wait in tests.yaml so that zaza did not wait for target_deploy_status for the applications and proceed with configure.

tests_options:
  no_wait_deploy:
    - smoke

The option --no-wait already exists for functest-deploy cli command.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a tests_options.no_wait_deploy setting in tests.yaml to allow selectively skipping deployment waiting so multi-bundle functional test runs can proceed to configuration sooner and reduce overall runtime.

Changes:

  • Introduces utils.no_wait_deploy() to read tests_options.no_wait_deploy (per bundle).
  • Wires the option into func_test_runner.run_env_deployment() to pass wait= into deploy.deploy() and to conditionally skip the post-deploy settle wait.
  • Adds unit tests for the new config option and runner behavior; documents the new tests.yaml option.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
zaza/charm_lifecycle/utils.py Adds no_wait_deploy() config helper for reading tests_options.no_wait_deploy.
zaza/charm_lifecycle/func_test_runner.py Applies no_wait_deploy to deployment waiting behavior in the lifecycle runner.
unit_tests/test_zaza_charm_lifecycle_utils.py Adds unit coverage for no_wait_deploy() config parsing behavior.
unit_tests/test_zaza_charm_lifecycle_func_test_runner.py Updates expected deploy calls to include wait=... and adds a no-wait runner test.
doc/source/addingcharmtests.rst Documents the new tests_options.no_wait_deploy option.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread doc/source/addingcharmtests.rst Outdated
Comment thread doc/source/addingcharmtests.rst
Comment thread zaza/charm_lifecycle/utils.py Outdated
Comment thread zaza/charm_lifecycle/func_test_runner.py
Comment thread doc/source/addingcharmtests.rst
To run multiple bundles in different models, zaza
need to wait for first bundle applications to acheive
status as specified in target_deploy_status before
deploying second bundle using configure. (Deploying
second bundle using configure is actually a hacky
way). This increases the time of deployment as both
bundles are deployed sequentially. sunbeam-charms
project has total timeout of 2 hours for its
functional test.

Add option no-wait in tests.yaml so that zaza did not
wait for target_deploy_status for the applications and
proceed with configure.

tests_options:
  no_wait_deploy:
    smoke

The option --no-wait already exists for functest-deploy
cli command.
@freyes
Copy link
Copy Markdown
Member

freyes commented Apr 7, 2026

The ntp charm app is failing, and we have no logs to troubleshoot, we need to fix the CI.

  Error: -07 12:19:16 [ERROR] Applications in error state: ntp
Error: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run

Use a unique artifact name per matrix job by combining the bundle name
and the juju_channel. Since artifact names cannot contain '/', sanitize
the channel value (e.g. 2.9/stable -> 2.9-stable) via a prior step
before passing it to actions/upload-artifact.

Co-authored-by: GitHub Copilot <copilot@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants