-
Notifications
You must be signed in to change notification settings - Fork 8
FEAT: move image sharing documentation from gitlab repo to docs #82
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
base: main
Are you sure you want to change the base?
Conversation
| # Share an Image in Openstack | ||
|
|
||
| You can share an image from your project with a collaborator in a different project in OpenStack cloud so you can both launch instances using the same image. As the owner of the image, you can revoke the sharing privilege at any time. You can also use these methods to share an image with yourself in other projects, just think of yourself as the collaborator. | ||
|
|
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.
Let's list the different types of state "private, shared, community, public" and provide some guidance on what they mean. Eg. All images are private by default. Public are available to any user on openstack, typically reserved for base OS images. Submit a support request to make an image public. To share images across projects you can use either set an image to either shared or community. A shared image requires that you explicitly specify which projects get access. This typ e of sharing is easier to manage using the openstack cli. A community image will be available to other projects but won't be listed among the default images in the UI. The community image is convenient but should not be used if you have any private credentials on an image (eg. a DB user/password).
Let's add a section on how to set the sharing in the UI and how you can use community images during instance creation in the Dashboard.
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.
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.
Including a screenshot like this will help readers build a mental model that matches your description. Highlight the relevant entry or entries using a red box.
Remember that some readers have low or no vision. Explicitly describe in the introductory text what you intend to show in the image so screen readers can make the (salient) image content perceivable.
Images also need alt text which describes what is in the image (as opposed to what the image shows).
Body text description might be like the following.
The image below shows an example of how VM disk images are tabulated in the OpenStack Horizon dashboard. Shared images are denoted with the text "Shared" in the XXX column. In the image, the shared images have been enclosed in a red box.
Alt text might be like the following.

Tools I use:
- Flameshot for screen captures: https://flameshot.org/, lets you annotate before saving the image with a very convenient UI.
- GIMP for image manipulation: https://www.gimp.org/
wwarriner
left a 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.
Great start!
Stylistic consistency is key. A key goal of documentation is ease of use, which means minimizing the mental workload of the reader in understanding our docs. Part of that is ensuring consistent style: voice, tense, and mood. I've left specific comments, but didn't mark every instance of inconsistency, so you'll need to review each part.
I recommend sticking to what "active, present imperative" style. It is very easy to read and understand.
Source the openrc file from your openstack project.
docs/openstack/share_image.md
Outdated
|
|
||
| You can share an image from your project with a collaborator in a different project in OpenStack cloud so you can both launch instances using the same image. As the owner of the image, you can revoke the sharing privilege at any time. You can also use these methods to share an image with yourself in other projects, just think of yourself as the collaborator. | ||
|
|
||
| **Prerequisites:** |
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.
Prefer headings to emphasis. Surprised markdownlint didn't catch this one.
## Level 2 ATX Heading
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.
updated to header
docs/openstack/share_image.md
Outdated
| @@ -0,0 +1,98 @@ | |||
| # Share an Image in Openstack | |||
|
|
|||
| You can share an image from your project with a collaborator in a different project in OpenStack cloud so you can both launch instances using the same image. As the owner of the image, you can revoke the sharing privilege at any time. You can also use these methods to share an image with yourself in other projects, just think of yourself as the collaborator. | |||
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.
Our convention is to use only a single space character between sentences. We don't have a linter for it yet.
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.
updated.
docs/openstack/share_image.md
Outdated
|
|
||
| **Prerequisites:** | ||
|
|
||
| - You will need to set up the OpenStack CLI to work with the project where the image to be shared is located. |
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.
Let's use consistent tense and mood within an article.
This bullet has "You will need" which is future tense, indicative mood (makes a statement about the future state of reality).
The next bullet has "Source the file" which is present tense, imperative mood.
For instructions in technical documentation, imperative mood works best as it is direct and to the point. It's something we're working on in the docs.
Simply remove "You will need to" from the start of the sentence and the subject changes from "You" to "OpenStack CLI", the primary verb changes from "need" to "set", and the statement becomes present imperative.
Decent article about this: https://www.theenglishbureau.com/blog/verb-moods/
I also recommend splitting the instruction into two parts. The first part is the actual instruction to use.
Set up the OpenStack CLI by running the following commands.
The second part of the sentence is explanation for the instruction. This is good to have, but it should be a separate sentence.
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.
updated verbiage
docs/openstack/share_image.md
Outdated
| source <PATH_TO_YOUR_OPENRC_FILE> | ||
| ``` | ||
|
|
||
| - Find the ID of the target project you want to share the image with |
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.
This is a stylistic choice, so consider it a convention. When introducing a non-prose feature, like a code block, use complete sentences and ending punctuation. You've got the complete sentence, but are missing a full stop . character.
You can also introduce with a sentence ending in a colon character :, but you should be consistent within an article. I personally prefer full stops.
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.
updated to switch to full stop throughout
docs/openstack/share_image.md
Outdated
| openstack project list | ||
| ``` | ||
|
|
||
| This information can also be found via the OpenStack UI |
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.
Which info? Is this meant to be part of the last bullet, or describing the entire subsection?
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.
updated to specify reference
docs/openstack/share_image.md
Outdated
|
|
||
| ## Accept a Shared Image | ||
|
|
||
| - Source the Target Project's Credentials: The user in the target project needs to source the appropriate OpenStack credentials for their project. |
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.
End with a full stop instead.
Source the Target Project's Credentials.
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.
updated for full stop
docs/openstack/share_image.md
Outdated
| ## Accept a Shared Image | ||
|
|
||
| - Source the Target Project's Credentials: The user in the target project needs to source the appropriate OpenStack credentials for their project. | ||
| - Accept the Shared Image: The target project user then accepts the shared image using its ID: |
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.
Same as above.
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.
updated
docs/openstack/share_image.md
Outdated
|
|
||
| ## Unshare an Image (Optional) | ||
|
|
||
| If you would like to remove a project from having access to the image, you can do the following |
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.
"revoke a project's access to an image"
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.
updated wording
docs/openstack/share_image.md
Outdated
|
|
||
| If you would like to remove a project from having access to the image, you can do the following | ||
|
|
||
| - An image's owner can see which projects have access to the image: |
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 image owner"
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.
updated wording
docs/openstack/share_image.md
Outdated
| openstack image member list <IMAGE_NAME_OR_ID> | ||
| ``` | ||
|
|
||
| - The owner can unshare an image like 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.
Stay consistent with your earlier present imperative style with full stops.
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.
updated to full stop

Pull Request
Intent
take documentation on sharing images in openstack from our gitlab repo to the docs site
Proposed Changes
add new page of documentation and updated nav to link to new page