Add support for Glance community images to Horizon

Registered by Brad Pokorny

Summary
=======

There’s a Glance BP for adding community-level sharing for images that will allow a tenant to share images with all other tenants.

https://blueprints.launchpad.net/glance/+spec/community-level-v2-image-sharing

As of 5/2015, there hasn’t been much progress on the Glance side. Once they’ve made some good progress on the Glance side, we could start adding support for community images in Horizon.

This blueprint is dependent on the Horizon Glance v2 blueprint (https://blueprints.launchpad.net/horizon/+spec/horizon-glance-v2), as community images will be available on via the Glance v2 API.

Motivation
========

This is an important Glance feature, as it will allow cross-tenant sharing of images while still allowing tenant admins to reject images they don’t want their users using. As the functions will be available via the CLI, we should make them available via Horizon.

Description
=========

In the Images dashboard, Horizon already has separate buttons for images by “Project”, “Shared with Me”, and “Public.” This proposal is to add another button for “Community” that would show images visible to the community and which community images have been accepted by a project admin. Members of the project will only see community images that the project admin has accepted.

On the “Create Image” and “Update Images” screens, we can add checkboxes for “Community” so that admins can assign “Community” visibility to images.

UX
===

Once the Glance change lands, there will be a separate visibility value for “Community,” and we can handle this similarly to the distinction between public and shared images in Horizon.

Testing
======

Reviewers will be able to pull the patch from Gerrit.

Outside Dependencies
==================

Is this functionality already supported in other services? No. This blueprint has been created in advance of the Glance change merging.

List the appropriate API calls and if they are extensions or base API functionality. The below are the Glance v2 API’s needed for interacting with community images. Community images are designated with a specific enumerated value for the “visibility” property of an image.

HTTP POST /v2/images?visibility=community
HTTP GET /v2/images?visibility=community
HTTP PATCH /v2/images/​{image_id}​ (include json with update to visibility value)

Requirements Update Required
========================

None

Doc Impact
=========

Document usage of the “Community” visibility button on the Images dashboard.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Brad Pokorny
Direction:
Needs approval
Assignee:
Brad Pokorny
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Rob Cresswell

Related branches

Sprints

Whiteboard

[robcresswell 2017-02-21]
Moved to wishlist https://blueprints.launchpad.net/horizon/+spec/wishlist

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.