Trove/datastore-visibility
Contents
Description
This blueprint suggests adding a visibility attribute to the datastore versions. This enables the datastore to be still active, but not visible to the users.
Blueprint: https://blueprints.launchpad.net/trove/+spec/datastore-visibility
Justification/Benefits
There might be some datastores, which the deployers require to be active but not visible to customers in production environment. This visibility flag ensures that only the datastore versions which have been marked as public are visible in the list.
FAQ: (1) Why is the flag a string visibility vs a boolean is_public? In glance, we have is_public as a boolean flag. But as we started introducing new features like image sharing, we realized that having a boolean made it harder to add more visibility related features. Hence, in order to keep it extensible, the visibility flag. The currently supported values for it will be 'public' which are visible to users and 'private' which are not visible to users.
Impacts
Configuration
None
Database
This involves a database migration of adding a column visibility to the datastore_versions table.
ReST API
The admin users will be able to view all the datastore versions. The other users will be able to view only public datastore/datastore versions.