Future of classic drivers: update the migration proposal
As I started working on the migration implementation, it became
apparent that the current proposal is not the best. This patch
makes the following changes:
1. Do not calculate migration per node, but rather per driver. Doing
it per node is not required for the current classic drivers.
It complicates the database code and makes it potentially less
efficient, because we need to fetch and update every node
separately.
2. Return hardware type and interfaces separately from to_hardware_types.
Also return interfaces without _interface suffix. This simplifies
additional checks in the migration code.
3. Add support for options in migrations, and add an option to reset
unsupported interfaces to no-<interface>. This is needed to make
this migration more usable. For example, for ``pxe_ipmitool``
to be migrated under the current proposal, a deployment must have
``agent`` RAID and ``shellinabox`` console enabled, even if it
does not use and/or does not support them. The new options will
allow such deployments to have unsupported interfaces reset.
Reviewed: https:/ /review. openstack. org/536298 /git.openstack. org/cgit/ openstack/ ironic- specs/commit/ ?id=08b5820be46 0dd0d8de12126ee b6c04dcc6a0eed
Committed: https:/
Submitter: Zuul
Branch: master
commit 08b5820be460dd0 d8de12126eeb6c0 4dcc6a0eed
Author: Dmitry Tantsur <email address hidden>
Date: Mon Jan 22 11:35:11 2018 +0100
Future of classic drivers: update the migration proposal
As I started working on the migration implementation, it became
apparent that the current proposal is not the best. This patch
makes the following changes:
1. Do not calculate migration per node, but rather per driver. Doing
it per node is not required for the current classic drivers.
It complicates the database code and makes it potentially less
efficient, because we need to fetch and update every node
separately.
2. Return hardware type and interfaces separately from to_hardware_types.
Also return interfaces without _interface suffix. This simplifies
additional checks in the migration code.
3. Add support for options in migrations, and add an option to reset
unsupported interfaces to no-<interface>. This is needed to make
this migration more usable. For example, for ``pxe_ipmitool``
to be migrated under the current proposal, a deployment must have
``agent`` RAID and ``shellinabox`` console enabled, even if it
does not use and/or does not support them. The new options will
allow such deployments to have unsupported interfaces reset.
Change-Id: I194be98bdd1f30 7ce6b9054a00377 88f81cb0d23
Related-Bug: #1690185