-
Notifications
You must be signed in to change notification settings - Fork 24
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
Volume type standard #351
Volume type standard #351
Conversation
First draft of Standard, without tests and link to decision document. Signed-off-by: josephineSei <[email protected]>
refine standard after decision document merged Signed-off-by: josephineSei <[email protected]>
Design meaningful test case for recommended volume types Signed-off-by: josephineSei <[email protected]>
edit styling Signed-off-by: josephineSei <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll do another review later today.
Thanks for all the work you put into this!
Co-authored-by: Sven <[email protected]> Signed-off-by: josephineSei <[email protected]>
Rephrase a few paragraphs for better understanding Signed-off-by: josephineSei <[email protected]>
rename probable "encrypted" parameter in volume type properties for consistency Signed-off-by: josephineSei <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
fixing little typo Co-authored-by: Sven <[email protected]> Signed-off-by: josephineSei <[email protected]>
| Field | Value | | ||
+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| access_project_ids | None | | ||
| description | [encrypted][replicated] Content will be replicated three times to ensure consistency and availability for your data. LUKS encryption is used. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please make the order of the keyword encrypted, replicated, number of replicas, ... in volume's description and name explicitly, similar to flavor naming standard.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- I doubt that optional parameters like the number of replicas will ever be made a required standard. From my discussion with csps I think, they will stay optional. Therefore I would not like to include them into some keyword standard. But it should be enough if it is stated in the description.
- That leaves us with only two aspects to standardize: [encrypted] and [replicated]. They both can occur together or alone. So possible beginnings for the description would be:
- [encrypted]
- [replicated]
- [encrypted][replicated]
- [replicated][encrypted]
- We only recommend, that both required aspects are present, but not whether they should be combined or can be stand alone. That makes it harder to require a certain sequence.
So if you insist on having a special sequence I would add this, but I don't see any positive side effects from this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The positive side effect of having a dedicated order of keywords is at user side, IMO. As volume type properties are currently defined as string, a cloud service consumer has to parse strings in order to find a volume type with special behavior or properties. Having a standardized order, string parsing will be facilitated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@anjastrunk do you have a particular language in mind that relies on a certain order of arguments to facilitate string parsing?
imho most languages nowadays support some kind of simple pattern matching where the order is not that important?
overall I have no strong opinion if we should enforce the order, but we maybe should in either case explicitly define if this string is ordered or unordered.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@anjastrunk please comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text in the paragraphs above clearly states:
The description needs to begin with
[encrypted]
...
The description needs to begin with
[replicated]
...
Well, only one of these can be true. This does need some more work!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I adjusted the document so that a special order is required now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fkr You are right, regular expression will not require any order. So I'm fine with extending the standard by adding, that key word are unordered.
rename object to ressource Signed-off-by: josephineSei <[email protected]>
rephrase a few sentence to better show the current upstream state and what to expect from the default volume type Co-authored-by: anjastrunk <[email protected]> Signed-off-by: josephineSei <[email protected]>
remove trailing spaces Signed-off-by: josephineSei <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I edited the standear as we discussed with @anjastrunk and @mbuechse
| Field | Value | | ||
+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| access_project_ids | None | | ||
| description | [scs:encrypted][scs:replicated] Content will be replicated three times to ensure consistency and availability for your data. LUKS encryption is used. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i changed it.
change "--" to — Signed-off-by: josephineSei <[email protected]>
I incorporated @mbuechse s test and used the new syntax. A test also showed the need to catch empty descriptions for volume types. Now we do have everything together in one PR. Signed-off-by: josephineSei <[email protected]>
restructure formatting of the comment in line 37 /38 Signed-off-by: josephineSei <[email protected]>
I added and adjusted the tests from @mbuechse s proposal, so we have one unified PR.
It correctly identifies all volume types with one or multiple aspects and skips the one without a description. |
"""Volume types checker | ||
Check given cloud for conformance with SCS standard regarding | ||
volume types, to be found under /Standards/scs-0112-v1-volume-types.md | ||
Return code is 0 precisely when it could be verified that the standard is satisfied. | ||
Otherwise the return code is the number of errors that occurred (up to 127 due to OS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now I'm really irritated that you copied my code verbatim, but you removed the paragraphs (empty lines) from my docstrings. (These are more or less suggested by PEP-8.)
Also, it would have been nice to at least have a Co-authored-by line in the commit.
Please reintroduce the newlines and include the Co-authored-by line.
## OPTIONAL volume types | ||
|
||
Any other aspects of volume types, that can be found in the decision record are OPTIONAL. They SHOULD NOT be referenced in the way this standard describes. Some of them already are natively discoverable by users, while others could be described in the name or description of a volume type. Users should look into the provided volume types of the CSPs, if they want to use some of these other aspects. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Drop this paragraph. If it's unclear by now that other features are not recognized by this standard, and that arbitrary volume types may still exist, then we must improve the relevant places.
Co-authored-by: Matthias Büchse <[email protected]> Signed-off-by: josephineSei <[email protected]>
Adjust some wording Signed-off-by: josephineSei <[email protected]>
adjust details: aspect, sorting, comment on table as discussed with @anjastrunk and @mbuechse Signed-off-by: josephineSei <[email protected]>
Co-authored-by: Matthias Büchse <[email protected]> Signed-off-by: josephineSei <[email protected]>
Signed-off-by: josephineSei <[email protected]>
Co-authored-by: Matthias Büchse <[email protected]> Signed-off-by: josephineSei <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Just, found three minor typos.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found a few typos and inconsistencies. I think they should be addressed, but I approve nonetheless so I don't block the process any further. Some of my remarks from earlier reviews still stand, particularly regarding language.
fixing typos Co-authored-by: Matthias Büchse <[email protected]> Co-authored-by: anjastrunk <[email protected]> Signed-off-by: josephineSei <[email protected]>
Signed-off-by: josephineSei <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but all open comments should be addressed in any form before this is merged.
only slightly related to this change:
I also just noticed that seemingly all tests (so actual code) don't seem to have some distinct copyright/licence notice so would fall under the general licence used in this repository, which happens to be a CC licence.
In general this is a good licence but should imho not really be used for code.
I also raised the licence topic simultaneously with @mbuechse via Matrix Chat to put it onto the SIG Standardization Agenda.
In the meantime it might be worth to add an SPDX Licence Header to the test code.
Signed-off-by: josephineSei <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @josephineSei for your work on this.
Thanks everyone else who has worked on this!
Signed-off-by: josephineSei <[email protected]>
This creates the new standard for volume types as mentioned in ticket #265