Page MenuHomePhabricator

Improve UI text and content for "Launch [database] instance" dialogue box in Horizon UI
Closed, ResolvedPublic

Description

Questions and improvements for the Database "Launch instance" dialogue box (screenshot). While some of these are UI improvements you can take or leave, I would like to at least be able to document the answers to these questions in the revised Trove doc:

    • Remove: "Specify the details for launching an instance."
    • Availability zone:
      • Are there any options other than nova? If not, remove this field
    • Instance name: what are recommended naming conventions? are there names to avoid?
    • Volume size
      • Move the recommendation text to be directly associated with this field instead of floating on the side. "Please note: The value specified in the Volume Size field should be greater than 0, however, some configurations do not support specifying volume size. If specifying the volume size results in an error stating volume support is not enabled, enter 0.
      • Can the logic that throws this error just "enter 0" in this field instead of asking the human to do it?
      • What *should* a user put in this field, and what *may* they put in? 100 GB? 5000? If I don't know what I need, what value should I start with?
  • Volume type: what does this mean, and what should I select? What is the difference between "_DEFAULT_" and "standard"?
  • Type and version of datastore: does this mean I must already have a datastore? what if my datastore uses an older or newer version of postresql / mariadb / mysql than those listed?
  • Flavor: how should I know what to pick here? what is a reasonable default if I don't know what I'm doing?
  • TODO: Add a link in the UI to the documentation that provides context and more guidance for those who need it.

Event Timeline

TBurmeister triaged this task as Low priority.
TBurmeister updated the task description. (Show Details)

The screen itself is all Upstream stuff from the OpenStack project.

The screen itself is all Upstream stuff from the OpenStack project.

That is true but I have hacked out misleading/confusing UI elements from other upstream dashboards so there's kind of a process for that. It's useful to know what's wrong with the UI, in any case -- I might also get inspired and try to change some things upstream.

In https://wikitech.wikimedia.org/wiki/Help:Trove_database_user_guide#Launch_a_Trove_instance, I documented a few of these items based on discussion with @Andrew about guidance that we could provide (at least in docs, if not in the UI itself).

Change #1029714 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[openstack/horizon/trove-dashboard@main] creation workflow: hard code 'nova' availability zone

https://gerrit.wikimedia.org/r/1029714

Change #1029715 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[openstack/horizon/trove-dashboard@main] creation workflow: don't provide __DEFAULT_ as a volume type option

https://gerrit.wikimedia.org/r/1029715

Change #1029716 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[openstack/horizon/trove-dashboard@main] creation workflow: Replace semi-incoherent help panel with a doc link

https://gerrit.wikimedia.org/r/1029716

Change #1029717 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[openstack/horizon/trove-dashboard@2024.1] creation workflow: hard code 'nova' availability zone

https://gerrit.wikimedia.org/r/1029717

Change #1029718 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[openstack/horizon/trove-dashboard@2024.1] creation workflow: don't provide __DEFAULT_ as a volume type option

https://gerrit.wikimedia.org/r/1029718

Change #1029719 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):

[openstack/horizon/trove-dashboard@2024.1] creation workflow: Replace semi-incoherent help panel with a doc link

https://gerrit.wikimedia.org/r/1029719

Change #1029714 merged by Andrew Bogott:

[openstack/horizon/trove-dashboard@main] creation workflow: hard code 'nova' availability zone

https://gerrit.wikimedia.org/r/1029714

Change #1029715 merged by Andrew Bogott:

[openstack/horizon/trove-dashboard@main] creation workflow: don't provide __DEFAULT_ as a volume type option

https://gerrit.wikimedia.org/r/1029715

Change #1029716 merged by Andrew Bogott:

[openstack/horizon/trove-dashboard@main] creation workflow: Replace semi-incoherent help panel with a doc link

https://gerrit.wikimedia.org/r/1029716

Change #1029717 merged by Andrew Bogott:

[openstack/horizon/trove-dashboard@2024.1] creation workflow: hard code 'nova' availability zone

https://gerrit.wikimedia.org/r/1029717

Change #1029718 merged by Andrew Bogott:

[openstack/horizon/trove-dashboard@2024.1] creation workflow: don't provide __DEFAULT_ as a volume type option

https://gerrit.wikimedia.org/r/1029718

Change #1029719 merged by Andrew Bogott:

[openstack/horizon/trove-dashboard@2024.1] creation workflow: Replace semi-incoherent help panel with a doc link

https://gerrit.wikimedia.org/r/1029719

Rivers change course, civilizations rise and fall, and I have finally done some work on this task.

  • Remove: "Specify the details for launching an instance."

Removed; the help box has been replaced with a doc link

Availability zone:

  • Are there any options other than nova? If not, remove this field

Removed!

  • Instance name: what are recommended naming conventions? are there names to avoid?

I can't offer any intelligent guidance here; anything that the UI permits is acceptable. Project admins can use whatever naming scheme suits them; it's usually nice to have the project name as part of the instance name for global sorting but it's not required.

Volume size

  • Move the recommendation text to be directly associated with this field instead of floating on the side. "Please note: The value specified in the Volume Size field should be greater than 0, however, some configurations do not support specifying volume size. If specifying the volume size results in an error stating volume support is not enabled, enter 0.

I removed this text entirely. We don't support any of the db types that would require a 0 here.

  • What *should* a user put in this field, and what *may* they put in? 100 GB? 5000? If I don't know what I need, what value should I start with?

A user creating a database will probably need to have some idea of what they're going to put in it and how big it will get. For doc purposes, they should probably start small as the volume can be increased after the fact but not reduced.

  • Volume type: what does this mean, and what should I select? What is the difference between "_DEFAULT_" and "standard"?

Volume type affects where the volume is stored and also IO throttling and bandwidth. A default project has no options here, but some users will actually have choices so I can't remove the option entirely.

I have removed DEFAULT from the list so those users won't have to make a pointless but mysterious choice.

  • Type and version of datastore: does this mean I must already have a datastore? what if my datastore uses an older or newer version of postresql / mariadb / mysql than those listed?

Datastore types and versions are maintained by WMCS staff and are the same in all projects. The range of options is largely constrained by the versions that Trove supports. It is often possible to upgrade between supported versions, but the process is not very reliable.

  • Flavor: how should I know what to pick here? what is a reasonable default if I don't know what I'm doing?

Similar answer to Volume Size, above -- the user will need to know what their needs are. In this case flavor can be increased or decreased after the fact, so they should probably start small. Mariadb is a bit hungry though so best to start with a flavor with 2GB of ram for Maria.

  • TODO: Add a link in the UI to the documentation that provides context and more guidance for those who need it.

Done!

horizontrove.png (1×1 px, 126 KB)