The current Settings groupings are not intuitive for users, and it is not possible for additional settings to be included into the previously defined groups. This causes a proliferation of settings headers and poor user experience when attempting to locate a relevant setting.
There is a real mess on the Settings tab - groups are malformed: some of them contain only one checkbox, others contain not related information. It’s not clear for the user where to find the needed settings item.
It is suggested to move component-related settings under one subtab, so that, e.g. Aсcess-related settings will be under one tab and Storage-related under other.
There are also some network settings on the Settings tab, which is not correct, because we have a separate Networks tab for networks management.
- OpenStack Services
Settings with undefined group will go to the ‘Other’group.
Plugins can provide any group from the list above. In case if plugin uses custom group name (not from the predefined list) it will automatically go to the ‘Other’ group.
Settings with ‘network’ group -will not be displayed on Settings tab anymore.
To define group for settings - there will be new ‘group’ attribute into metadata section of openstack.yaml file:additional_components: metadata: label: "Additional Components" weight: 20 group: "openstack_services"
Common settings will be split to several groups - Compute, Storage and Logging. They will have ‘General Settings’ title on the page.
To define groups for particular Common settings there will be new ‘group’ attribute inside every singular setting separetely:common: metadata: label: "Common" weight: 30 debug: value: false label: "OpenStack debug logging" group: "logging" ... nova_quota: value: false label: "Nova quotas" group: "compute" ...
The list of current environment settings organized by groups:
- Kernel parameters [“kernel_params”]
- Host OS DNS Servers [“external_dns”]
- Host OS NTP Servers [“external_ntp”]
- Repositories [“repo_setup”]
- Workloads Collector User [“workloads_collector”]
- Corosync [“corosync”]
- Provision [“provision”]
- Access [“access”]
- Common [“common”] > Public Key [“auth_key”]
- Public TLS [“public_ssl”]
- Common [“common”] > Nova quotas [“nova_quota”]
- Common [“common”] > Hypervisor type [“libvirt_type”]
- Common [“common”] > Resume guests state on host boot [“resume_guests_state_on_host_boot”]
- Common [“common”] > [“use_vcenter”]
- Common [“common”] > Use qcow format for images [“use_cow_images”]
- Storage [“storage”]
- Common [“common”] > OpenStack debug logging [“debug”]
- Common [“common”] > Puppet debug logging [“puppet_debug”]
- Syslog [“syslog”]
- OpenStack Services:
- Additional Components [“additional_components”]
- External MongoDB [“external_mongo”]
- Murano Settings [“murano_settings”]
- Settings with undefined group attribute
Groups sort order will be hardcoded in UI. Settings in the group will be sorted by their weight.
Groups pills will support indication of corresponding settings invalid state.
In openstack.yaml in ‘metadata’ section of setting - will be added a new ‘group’ attribute, so that it will be possible to specify the corresponding settings group for the setting.
List of possible ‘group’ values:
For Common settings, which should be splitted to several groups, there is no changes inside metadata section, but ‘group’ attribute added inside every singular setting separetely.
Plugin should be able to define its group (it can be group from the list above, or plugin can provide own group). In case a plugin does not have a group specified, the plugin will be placed under ‘Others’ group in Fuel UI
New ‘group’ attribute will be added for OpenStack Environment settings which will give the developers an ability to structure their settings logically.
Specific mentions of settings should be change according to the new structure. Also plugins and developers documentation should be updated to mention this new field.