Skip to content

Conversation

@dwheel7
Copy link

@dwheel7 dwheel7 commented Dec 3, 2025

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

# 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.

Copy link

@jprorama jprorama Dec 10, 2025

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.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might be missing something because of how my account is set up but I don't think there is anything different to do to use a community image versus a public/private one in instance setup. They just show in the list with the others
image

Copy link
Contributor

@wwarriner wwarriner Dec 10, 2025

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.

![List of VM disk images in Horizon dashboard.](images/image.png)

Tools I use:

Copy link
Contributor

@wwarriner wwarriner left a 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.


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:**
Copy link
Contributor

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

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated to header

@@ -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.
Copy link
Contributor

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.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated.


**Prerequisites:**

- You will need to set up the OpenStack CLI to work with the project where the image to be shared is located.
Copy link
Contributor

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.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated verbiage

source <PATH_TO_YOUR_OPENRC_FILE>
```

- Find the ID of the target project you want to share the image with
Copy link
Contributor

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.

Copy link
Author

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

openstack project list
```

This information can also be found via the OpenStack UI
Copy link
Contributor

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?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated to specify reference


## 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.
Copy link
Contributor

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.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated for full stop

## 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:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated


## Unshare an Image (Optional)

If you would like to remove a project from having access to the image, you can do the following
Copy link
Contributor

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"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated wording


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:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"The image owner"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated wording

openstack image member list <IMAGE_NAME_OR_ID>
```

- The owner can unshare an image like this:
Copy link
Contributor

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.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated to full stop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants