Skip to main content

Overview

Private images can be shared with specific projects without making them globally public. This enables controlled cross-team image distribution — a platform team can maintain golden images and share them selectively with application teams. The target project must accept the share before the image becomes visible in their catalog.
Prerequisites
  • An active Xloud account with appropriate permissions
  • Access to the Xloud Dashboard (https://connect.<your-domain>) or CLI configured with credentials
  • API credentials sourced (source admin-openrc.sh)

Image Visibility Options

VisibilityWho Can SeeWho Can SetUse Case
privateOwning project onlyImage ownerDefault. Development and test images.
sharedOwning project + accepted membersImage ownerControlled cross-team sharing.
communityAll projects (discoverable)Image ownerBroadly useful images without admin approval.
publicAll projects (visible by default)Admin onlyPlatform-wide OS images maintained by the platform team.

Share an Image

Open image details

Navigate to Project → Compute → Images. Click on the image name to open its detail page.

Add project member

Select the Members tab. Enter the target project ID in the Project ID field and click Add Member.
Find the target project’s ID by asking its owner to run: openstack project show <project-name> -c id

Notify the target project

The target project must accept the share. Notify the target project administrator that a new image has been shared with them — the share will appear in their image list with pending status until accepted.

Accept a Shared Image (Target Project)

The target project administrator must accept the share before the image is usable.
Log in as a user in the target project. Navigate to Project → Compute → Images. Find the shared image (it shows as shared visibility with pending status) and click Accept to add it to your project’s image catalog.

Reject or Remove a Share

Remove project from image members
openstack image remove project ubuntu-24.04-lts <TARGET_PROJECT_ID>
The image immediately disappears from the target project’s catalog.

Community Images

Community images are discoverable by all projects without explicit sharing, but are not pushed into every project’s default catalog. You must search for them explicitly.
Set image visibility to community
openstack image set --community my-app-image
List community images
openstack image list --community
Community images are visible to all authenticated users but do not appear in the default image list unless searched. They are useful for widely-useful base images that any team can discover and use without platform team intervention.

Next Steps

Image Properties

Add metadata to shared images to communicate hardware requirements and OS details.

Upload an Image

Upload new images to share with your organization.

Image Admin Guide — Quotas

Configure per-project image count and storage quotas.

Troubleshooting

Resolve shared image visibility and acceptance issues.