-
Story
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
-
False
-
-
False
-
Not Selected
-
rhos-ops-day1day2-hardprov
-
-
-
Summary
Add configuration option to conditionally enable console validation in tempest tests, also limit the enabled console interfaces when graphical console is enabled.
Description
A change to validate graphical console functionality in ironic-tempest-plugin had to be reverted (https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/963643) because the validate_console() test runs in jobs where graphical consoles are not enabled, causing test failures. Other test failures are caused by the no-console console driver being chosen instead for the fake-graphical driver.
Not all Ironic deployments or CI jobs enable graphical console support. Running console validation tests in environments where this feature is disabled leads to spurious test failures and prevents the validation from being used where it would be valuable.
Proposed Solution
Revert the revert and add these extra changes to the commit
Add a new boolean configuration option CONF.baremetal.validate_graphical_console (or similar name) that controls whether the console validation test executes.
- Default value: False (to maintain backward compatibility and avoid breaking existing jobs)
- Jobs that have an enabled ir-novnc service should set this option to True in their tempest configuration
- The validate_console() test should only run when this option is enabled
- When ir-novnc service is enabled, fake-graphical should be the only enabled service in ironic.conf enabled_console_interfaces
Acceptance Criteria
- New boolean configuration option added to CONF.baremetal group in ironic-tempest-plugin
- Option defaults to False
- validate_console() test method checks this configuration and skips execution when disabled
- Documentation updated to describe the new option and when to enable it
- Jobs that enable graphical consoles are updated to set this option to True
- Tests pass in both scenarios (option enabled and disabled)
Technical Details
Configuration Location: ironic_tempest_plugin/config.py (or appropriate config module)
Test Location: ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
Implementation approach:
- Add config option in the plugin's tempest configuration
- Wrap validate_console() calls with a conditional check or use @decorators.skip_unless() decorator
- https://opendev.org/openstack/ironic/src/branch/master/devstack/lib/ironic#L4405 graphical console tests should run if the ir-novnc service is enabled
- https://opendev.org/openstack/ironic/src/branch/master/devstack/lib/ironic#L261 reduce this list to just fake-graphical
- https://opendev.org/openstack/ironic/src/branch/master/zuul.d/ironic-jobs.yaml#L1189 delete this as no longer required
References
- Reverted change: https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/963643/9/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
- devstack config https://opendev.org/openstack/ironic/src/branch/master/devstack/lib/ironic
- ironic jobs config https://opendev.org/openstack/ironic/src/branch/master/zuul.d/ironic-jobs.yaml
- is duplicated by
-
OSPRH-27050 Graphical console validation in basic ops scenario fails when the service is not enabled
-
- Closed
-