bifrost/releasenotes/notes/test-with-json-inventory-b05204009f880431.yaml
Pavlo Shchelokovskyy 3aaed64e88 Use JSON baremetal data in testing
To move bifrost testing to *_ipmitool drivers + virtualbmc, we need
the baremetal data file to support ipmi port setting, as in the case of
virtualbmc, all test VM nodes use the same local IPMI address with
different port per-node.

Unfortunately, the CSV baremetal inventory format that is used in our
testing procedures does not support setting IPMI ports.

As the CSV format is considered a legacy format, let's move testing to use
JSON-formatted baremetal data instead of fixing the legacy format parser.

Changes are mostly to 'bifrost-create-vm-nodes' role and it's callers.
Some level of backward compatibility is provided:
- baremetal_csv_file var is still accepted, and its value is used as
  path to write data, although the data will nevertheless be in JSON format.

An extra helper script is added to reduce the number of nodes in
inventory when testing DHCP.
Also the script in 'bifrost-test-dhcp' role is changed to support
loading data from JSON.

This change officially deprecates using CSV formatted baremetal inventory
files.
Handling CSV baremetal inventory files will be removed in the Queens
release.

Change-Id: If2dcf43857195611ef342fe602330878378b021b
Partial-Bug: #1659876
2017-03-06 17:06:30 +02:00

31 lines
1.4 KiB
YAML

---
features:
- |
Bifrost's testing has been moved to use JSON-formatted baremetal inventory
file instead of deprecated CSV-formatted one.
The ``bifrost-create-vm-nodes`` role still accepts ``baremetal_csv_file``
variable as path to where to write inventory, but the file content will
always be in JSON format.
A new variable ``baremetal_json_file`` should instead be used
as a location to where to write the test baremetal inventory file.
upgrade:
- |
The ``baremetal_csv_file`` variable in ``bifrost-create-vm-nodes`` role
has been deprecated and will be removed in the Queens release.
The inventory file written to this location by this role is now always
in JSON format.
The variable ``baremetal_json_file`` should be used instead of
``baremetal_csv_file``.
This concerns only those operators who run tests for bifrost on
virtual hardware using ``bifrost-create-vm-nodes`` role and out-of-tree
scripts to process the baremetal inventory file produced by this role.
If such scripts do rely on this file being in CSV format,
they must be updated to use JSON format instead.
deprecations:
- |
The CSV format for baremetal inventory file is deprecated and using
it will be impossible in the Queens release.
During deprecation period it's handling is still supported by bifrost's
dynamic inventory, but this functionality will be removed in the Queens
release.