ironic/doc/source/admin/drivers/fake.rst
Steve Baker b41d5d5145 Document [fake] delay config values
This feature was added in the previous commit

Change-Id: I30100cd3b2702bf8bb614d45c0f64712656ec15e
2023-02-28 15:07:05 +13:00

2.0 KiB

Fake driver

Overview

The fake-hardware hardware type is what it claims to be: fake. Use of this type or the fake interfaces should be temporary or limited to non-production environments, as the fake interfaces do not perform any of the actions typically expected.

The fake interfaces can be configured to be combined with any of the "real" hardware interfaces, allowing you to effectively disable one or more hardware interfaces for testing by simply setting that interface to fake.

Use cases

Development

Developers can use fake-hardware hardware-type to mock out nodes for testing without those nodes needing to exist with physical or virtual hardware.

Scale testing

The fake drivers have a configurable delay in seconds which will result in those operations taking that long to complete. Two comma-delimited values will result in a delay with a triangular random distribution, weighted on the first value. These delays are applied to operations which typically block in other drivers. This allows more realistic scenarios to be arranged for performance and functional testing of an Ironic service without requiring real bare metal or faking at the BMC protocol level.

[fake]
power_delay = 5
boot_delay = 10
deploy_delay = 60,360
vendor_delay = 1
management_delay = 5
inspect_delay = 360,480
raid_delay = 10
bios_delay = 5
storage_delay = 10
rescue_delay = 120

Adoption

Some OpenStack deployers have used fake interfaces in Ironic to allow an adoption-style workflow with Nova. By setting a node's hardware interfaces to fake, it's possible to deploy to that node with Nova without causing any actual changes to the hardware or an OS already deployed on it.

This is generally an unsupported use case, but it is possible. For more information, see the relevant post from CERN TechBlog.