Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Batch Volume Creation from MetalK8s UI #2964

Closed
ChengYanJin opened this issue Dec 4, 2020 · 0 comments · Fixed by #2981
Closed

Batch Volume Creation from MetalK8s UI #2964

ChengYanJin opened this issue Dec 4, 2020 · 0 comments · Fixed by #2981
Assignees
Labels
complexity:hard Something that may require up to a week to fix topic:operations Operations-related issues topic:storage Issues related to storage topic:ui UI-related issues

Comments

@ChengYanJin
Copy link
Contributor

ChengYanJin commented Dec 4, 2020

Component: ui, volumes

Why this is needed:
We want to be able to batch create volume from UI.

What should be done:
image
image
Please check the HD from Sketch:

https://www.sketch.com/s/b7c9bece-ad22-40e6-b2b5-410645289650/a/qP32vd
https://www.sketch.com/s/b7c9bece-ad22-40e6-b2b5-410645289650/a/L5Vox5

Implementation proposal (strongly recommended):
When we choose SparseLoop Device, we can have the size field for each of the volume instead of path.

The number selection component is missing in core-ui. I would suggest first implement in MetalK8s and generalize it to core-ui.

For the moment, I only see Device Path require question mark next to it with the following text as tooltip.
A devicePath or a partition mount point. Example: /dev/sdb

We apply the same logic as the Scality Cloud does.
when selecting the multi-volume creation, by default we should have 1 volume to create.

We should dispatch the data in an array.

  [
    { name: "volume01'", devicePath: '/dev/sdb' },
    { name: "volume02'", devicePath: '/dev/sdc' },
  ];

Test plan:
We should implement the interaction test for the batch volume creation.

@ChengYanJin ChengYanJin added topic:storage Issues related to storage topic:ui UI-related issues complexity:medium Something that requires one or few days to fix labels Dec 4, 2020
@ChengYanJin ChengYanJin self-assigned this Dec 7, 2020
@ChengYanJin ChengYanJin added the topic:operations Operations-related issues label Dec 7, 2020
@ChengYanJin ChengYanJin added complexity:hard Something that may require up to a week to fix and removed complexity:medium Something that requires one or few days to fix labels Dec 8, 2020
ChengYanJin added a commit that referenced this issue Dec 14, 2020
ChengYanJin added a commit that referenced this issue Dec 14, 2020
ChengYanJin added a commit that referenced this issue Dec 14, 2020
ChengYanJin added a commit that referenced this issue Dec 18, 2020
"overflow-y: scroll" protentially would display the scrollbar by default
even for non scrollable content, which casue the issue of we have the
scrollbar everywhere.

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 18, 2020
Handle the single volume creation case in the utility function instead
of in the createVolume component so that the return of this function
is always an array.

For single volume, return an array with the origin volume.
For batch volume, return an array with the formatted volumes.

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 18, 2020
Correct the variable declaration too

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 18, 2020
ChengYanJin added a commit that referenced this issue Dec 18, 2020
"overflow-y: scroll" protentially would display the scrollbar by default
even for non scrollable content, which casue the issue of we have the
scrollbar everywhere.

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 18, 2020
Handle the single volume creation case in the utility function instead
of in the createVolume component so that the return of this function
is always an array.

For single volume, return an array with the origin volume.
For batch volume, return an array with the formatted volumes.

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 18, 2020
Correct the variable declaration too

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 21, 2020
The recommend default device path should start from the global one

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 21, 2020
We only recommend the name/path for the empty field, means if the global
name/page get updated, the defaults won't change.

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 22, 2020
Set the max number of the input volume creation to 70, since it frozes
the UI when rendering the form.
We may even want to lower the max number depents on the use case.

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 22, 2020
In order to keep the user customization, edit the global value
(name/path) should not affect the defaults pre-fill of the touched
field.

Unless the users uncheck the box of multi-volume creation and re-check
again, we only update the untouched field with the new global value.

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 23, 2020
Set the max number of the input volume creation to 70, since it frozes
the UI when rendering the form.
We may even want to lower the max number depents on the use case.

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 23, 2020
In order to keep the user customization, edit the global value
(name/path) should not affect the defaults pre-fill of the touched
field.

Unless the users uncheck the box of multi-volume creation and re-check
again, we only update the untouched field with the new global value.

Refs: #2964
ChengYanJin added a commit that referenced this issue Dec 23, 2020
In order to keep the user customization, edit the global value
(name/path) should not affect the defaults pre-fill of the touched
field.

Unless the users uncheck the box of multi-volume creation and re-check
again, we only update the untouched field with the new global value.

Refs: #2964
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity:hard Something that may require up to a week to fix topic:operations Operations-related issues topic:storage Issues related to storage topic:ui UI-related issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant