https://blueprints.launchpad.net/fuel/+spec/feature-groups
We need a mechanism to build Fuel ISOs with different “flavors”. Currently, it is only possible to specify MIRANTIS=yes flag to create an ISO with Mirantis logo, but we need to configure ISO build in a more flexible way.
For now, we need have two options for ISO build:
The resulting ISO may have both or none of them. It is also be good if any of these options could be changed on a working master node.
A key “feature_groups” needs to be added to “VERSION” section of settings.yaml. It should contain a list of strings, which presence in this list should be checked in a few places such as footer, settings tab, role list, wizard, etc. These checks also can be written as restrictions in configs:
values:
- data: "kernel_lt"
label: "EXPERIMENTAL: Use Fedora longterm kernel"
description: "Install the Fedora 3.10 longterm kernel"
restrictions:
- "'experimental' in version:feature_groups"
ISO build scripts should be modified to use FEATURE_GROUPS environment variable. Its value should contain a list of feature groups separated by comma to put into settings.yaml. Example:
make FEATURE_GROUPS=mirantis,experimental iso
If FEATURE_GROUPS is undefined, only “experimental” feature group should be enabled. Handling of MIRANTIS environment variable should be removed.
This can also be achieved by implementing these features as plugins, so this approach should probably be considered as a temporary solution until plugin system is implemented properly.
None
A new field “feature_groups” should be added to /api/version response. Field “mirantis” should be removed.
None
None
None
None
Minimal. UI should perform checks whether or not to show settings/roles/other controls dependent on feature groups.
None
None
None
Should be tested manually. Acceptance criteria:
Processes of specifying feature groups for ISO build and modifiying them on deployed master node should be documented.
None