2020-07-29 19:43:58 |
Jeremy Freudberg |
description |
I contend that "openstack overcloud node configure" should have a narrower functionality, in light of considerations for file-based images and for multi-arch.
(1) On the multi-arch side things are already spectacularly wrong: running this command with all arguments as their default will set all overcloud nodes to the same kernel and ramdisk (even when multiple archs/platforms require varying kernels/ramdisks).
(2) Meanwhile since the introduction of support for file-based images, this command will be run less often: its main purpose (at least if the upstream doc is to be believed) was to refresh nodes' driver_info when uploading new kernel/ramdisk to Glance: new Glance images means new uuids... but file-based images have no such consideration.
(3) Because of poor documentation and doc string it is not clear whether "openstack overcloud node configure" should be used to bootstrap the configuration node out of nothing, or if it should only be run during upgrade of images etc
Upon close inspection I believe that the problem described in (1) cannot be fixed easily. There are simply too many criteria to satisfy when trying to determine the correct kernel/ramdisk image to set in driver_info. After the initial arch/platform consideration, then there is the trouble of maybe it should be a glance image, maybe it should be a file image, maybe nothing should be set (because now this stuff can be in ironic.conf). Remember, one deployment might have a mix of image types ... just because e.g. we are running Train does not mean that all nodes use file images and that none use Glance. The good news is that given (2), the command really does not need to be run nearly as often as in the past.
In my view (and a patch should be proposed as such, probably by me), the command should be revised as to allow ONLY this limited set of functionality:
- Manually setting kernel and ramdisk when the user has a specific kernel/ramdisk in mind -- no "magic guessing" of what these should be
- Manually configuring boot option and root device, as already done today
- Refreshing Glance uuids
Doc and docstring to be revised too. |
I contend that "openstack overcloud node configure" should have a narrower functionality, in light of considerations for file-based images and for multi-arch.
(1) On the multi-arch side things are already spectacularly wrong: running this command with all arguments as their default will set all overcloud nodes to the same kernel and ramdisk (even when multiple archs/platforms require varying kernels/ramdisks).
(2) Meanwhile since the introduction of support for file-based images, this command will be run less often: its main purpose (at least if the upstream doc is to be believed) was to refresh nodes' driver_info when uploading new kernel/ramdisk to Glance: new Glance images means new uuids... but file-based images have no such consideration.
(3) Because of poor documentation and doc string it is not clear whether "openstack overcloud node configure" should be used to bootstrap the configuration of node(s) out of nothing, or if it should only be run during upgrade of images etc
Upon close inspection I believe that the problem described in (1) cannot be fixed easily. There are simply too many criteria to satisfy when trying to determine the correct kernel/ramdisk image to set in driver_info. After the initial arch/platform consideration, then there is the trouble of maybe it should be a glance image, maybe it should be a file image, maybe nothing should be set (because now this stuff can be in ironic.conf). Remember, one deployment might have a mix of image types ... just because e.g. we are running Train does not mean that all nodes use file images and that none use Glance. The good news is that given (2), the command really does not need to be run nearly as often as in the past.
In my view (and a patch should be proposed as such, probably by me), the command should be revised as to allow ONLY this limited set of functionality:
- Manually setting kernel and ramdisk when the user has a specific kernel/ramdisk in mind -- no "magic guessing" of what these should be
- Manually configuring boot option and root device, as already done today
- Refreshing Glance uuids
Doc and docstring to be revised too. |
|