Difference between revisions of "Glance-common-image-properties"
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{ImplementedFeature}} | |
+ | This is the full specification for blueprint: https://blueprints.launchpad.net/glance/+spec/glance-common-image-properties | ||
+ | |||
= Additional common image properties = | = Additional common image properties = | ||
− | We propose adding | + | We propose adding three properties to Glance images that identify operating system characteristics: `os_arch`, `os_distro`, `os_version`. Descriptions of each follow. For more context, see the email thread on this topic [1]. |
== Property: os_arch == | == Property: os_arch == | ||
Line 22: | Line 24: | ||
<pre><nowiki> | <pre><nowiki> | ||
− | "os_arch": " | + | "os_arch": "x86-64" |
</nowiki></pre> | </nowiki></pre> | ||
Line 28: | Line 30: | ||
Standardized values will aid in searching for an appropriate image. I propose that we keep a list of suggested values on a web page similar to the image statuses page [2]. This could be as loosely moderated as a wiki page or it could have some kind of clearly stated submission procedure for new os_arch values. I think usage would be self-policing, i.e., if you want your images to be found, you'd want to use the community's terms for the architecture. | Standardized values will aid in searching for an appropriate image. I propose that we keep a list of suggested values on a web page similar to the image statuses page [2]. This could be as loosely moderated as a wiki page or it could have some kind of clearly stated submission procedure for new os_arch values. I think usage would be self-policing, i.e., if you want your images to be found, you'd want to use the community's terms for the architecture. | ||
+ | See [4] for an example version of the standardized values page. | ||
+ | ---- | ||
== Property: os_distro == | == Property: os_distro == | ||
JSONSchema of proposed property in Image Schema: | JSONSchema of proposed property in Image Schema: | ||
Line 58: | Line 62: | ||
for the proper value.) | for the proper value.) | ||
− | See [ | + | See [5] for an example version of the standardized values page. |
− | + | ---- | |
== Property: os_version == | == Property: os_version == | ||
JSONSchema of proposed property in Image Schema | JSONSchema of proposed property in Image Schema | ||
Line 83: | Line 87: | ||
=== Discussion === | === Discussion === | ||
Previous discussion [3] mentioned standardizing this field, but the values are controlled by the operating system vendors. It makes sorting tricky, but this this would be a secondary sort field anyway. | Previous discussion [3] mentioned standardizing this field, but the values are controlled by the operating system vendors. It makes sorting tricky, but this this would be a secondary sort field anyway. | ||
+ | ---- | ||
− | == | + | = Use Cases = |
− | + | * List all available Ubuntu Linux images | |
+ | |||
+ | <pre><nowiki> | ||
+ | GET /v2/images?os_distro=ubuntu | ||
+ | </nowiki></pre> | ||
+ | |||
+ | * List all available 64-bit SUSE Linux images | ||
<pre><nowiki> | <pre><nowiki> | ||
− | + | GET /v2/images?os_distro=opensuse&os_arch=x86-64 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</nowiki></pre> | </nowiki></pre> | ||
− | + | * List all available 64-bit CentOS 6.2 Linux images | |
<pre><nowiki> | <pre><nowiki> | ||
− | + | GET /v2/images?os_distro=centos&os_arch=x86-64&os_version=6.2 | |
</nowiki></pre> | </nowiki></pre> | ||
− | |||
− | |||
− | + | ---- | |
+ | = References = | ||
* [1] http://markmail.org/message/zjbcg2kkmpbhfrj3 | * [1] http://markmail.org/message/zjbcg2kkmpbhfrj3 | ||
* [2] http://docs.openstack.org/developer/glance/statuses.html | * [2] http://docs.openstack.org/developer/glance/statuses.html | ||
* [3] http://wiki.openstack.org/CommonImageProperties | * [3] http://wiki.openstack.org/CommonImageProperties | ||
− | * [4] http://wiki.openstack.org/glance-common-image-properties-os_distro | + | * [4] http://wiki.openstack.org/glance-common-image-properties-os_arch |
+ | * [5] http://wiki.openstack.org/glance-common-image-properties-os_distro |
Latest revision as of 15:47, 30 September 2013
This is the full specification for blueprint: https://blueprints.launchpad.net/glance/+spec/glance-common-image-properties
Contents
Additional common image properties
We propose adding three properties to Glance images that identify operating system characteristics: `os_arch`, `os_distro`, `os_version`. Descriptions of each follow. For more context, see the email thread on this topic [1].
Property: os_arch
JSONSchema of proposed property in Image Schema:
{ "os_arch": { "type": "string", "required": false, "default": null, "description": "Operating system architecture as specified in http://docs.openstack.org/developer/glance/image_properties/os_arch", } }
Example usage
"os_arch": "x86-64"
Discussion
Standardized values will aid in searching for an appropriate image. I propose that we keep a list of suggested values on a web page similar to the image statuses page [2]. This could be as loosely moderated as a wiki page or it could have some kind of clearly stated submission procedure for new os_arch values. I think usage would be self-policing, i.e., if you want your images to be found, you'd want to use the community's terms for the architecture.
See [4] for an example version of the standardized values page.
Property: os_distro
JSONSchema of proposed property in Image Schema:
{ "os_distro": { "type": "string", "required": false, "default": null, "description": "Common name of operating system distribution as specified in http://docs.openstack.org/developer/glance/image_properties/os_distro", } }
Example usage
"os_distro": "debian"
Discussion
Standardized values will aid in searching for an appropriate image. Same idea as the `os_arch` proposal, though this would probably change much faster. The page would outline the basic rule (e.g., "Common name of the operating system distribution in all-lowercase") and provide a list of names to use. (If we want to be developer-friendly, we could have associated with each approved name a list of un-approved variants to make it easier to search for the proper value.)
See [5] for an example version of the standardized values page.
Property: os_version
JSONSchema of proposed property in Image Schema
{ "os_version": { "type": "string", "required": false, "default": null, "description": "Operating system version as specified by the distributor", } }
Example usage
"os_version": "11.10"
Discussion
Previous discussion [3] mentioned standardizing this field, but the values are controlled by the operating system vendors. It makes sorting tricky, but this this would be a secondary sort field anyway.
Use Cases
- List all available Ubuntu Linux images
GET /v2/images?os_distro=ubuntu
- List all available 64-bit SUSE Linux images
GET /v2/images?os_distro=opensuse&os_arch=x86-64
- List all available 64-bit CentOS 6.2 Linux images
GET /v2/images?os_distro=centos&os_arch=x86-64&os_version=6.2
References
- [1] http://markmail.org/message/zjbcg2kkmpbhfrj3
- [2] http://docs.openstack.org/developer/glance/statuses.html
- [3] http://wiki.openstack.org/CommonImageProperties
- [4] http://wiki.openstack.org/glance-common-image-properties-os_arch
- [5] http://wiki.openstack.org/glance-common-image-properties-os_distro