DefCore 2015.04 Guideline Approved by Board April 2nd

The board approved adding Juno to the guideline at the
2015 Apr 2 meeting by unanimous consent.

With history on both files!

Change-Id: Ic5833667f7a76176036b5dbbf3ee9884d937ed05
This commit is contained in:
robhirschfeld 2015-04-03 06:52:51 -07:00
parent 712220da66
commit 583e7dc3c1
4 changed files with 631 additions and 3 deletions

518
2015.04.json Normal file
View File

@ -0,0 +1,518 @@
{
"id": "2015.04",
"schema": "1.1",
"status": "draft",
"replaces": "2015.03",
"releases": ["havana", "icehouse", "juno"],
"platform": {
"required": ["compute", "object"],
"advisory": [],
"deprecated": [],
"removed": []
},
"components": {
"compute": {
"required": [
"compute-auth",
"compute-flavors",
"compute-images",
"compute-instance-actions",
"compute-keypairs",
"compute-quotas",
"compute-servers",
"compute-volume",
"images-v2"],
"advisory": [
"auth-token",
"compute-servers-metadata"],
"deprecated": [],
"removed": []
},
"object": {
"required": ["objectstore-object"],
"advisory": [],
"deprecated": [],
"removed": []
}
},
"capabilities": {
"compute-images": {
"achievements": [
"tools",
"clients",
"complete",
"stable",
"discover",
"doc",
"sticky",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"description": "Image operations within the Compute API",
"flagged": [],
"name": "compute-images",
"tests": [
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_server_id",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_filter_by_changes_since",
"tempest.api.compute.images.test_images.ImagesTestJSON.test_delete_saving_image",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_filter_by_status",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_type",
"tempest.api.compute.images.test_list_images.ListImagesTestJSON.test_get_image",
"tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_delete_image",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_server_ref",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_name",
"tempest.api.compute.images.test_list_images.ListImagesTestJSON.test_list_images_with_detail",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_filter_by_type",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_status",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_filter_by_server_ref",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_limit_results",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_filter_by_name",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_with_detail_limit_results",
"tempest.api.compute.images.test_list_images.ListImagesTestJSON.test_list_images",
"tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_image_specify_multibyte_character_image_name",
"tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON.test_list_images_filter_by_changes_since"
]
},
"compute-flavors": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"description": "Flavor operations in the Compute API",
"flagged": [],
"name": "compute-flavors",
"tests": []
},
"compute-floating-ips": {
"achievements": [],
"admin": false,
"status": "removed",
"guidelines": ["2014.07"],
"description": "Manage floating IPs through the Compute API. Not consistently implemented between Nova net and Neutron",
"flagged": [],
"name": "Compute Floating IPs",
"tests": []
},
"compute-auth": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"sticky",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"description": "Auth related tests using Compute API",
"flagged": [],
"name": "compute-auth",
"tests": [
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_create_server_with_unauthorized_image",
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_get_metadata_of_alt_account_server_fails",
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_create_server_fails_when_tenant_incorrect",
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_set_metadata_of_alt_account_server_fails"
]
},
"compute-instance-actions": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"foundation",
"atomic"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"description": "Basic support Compute API for server actions such as reboot, rebuild, resize",
"flagged": [],
"name": "compute-instance-actions",
"tests": [
"tempest.api.compute.servers.test_instance_actions.InstanceActionsTestJSON.test_list_instance_actions",
"tempest.api.compute.servers.test_instance_actions.InstanceActionsTestJSON.test_get_instance_action"
]
},
"compute-keypairs": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"atomic"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"description": "Generate, import, and delete SSH keys within Compute services",
"flagged": [],
"name": "compute-keypairs",
"tests": [
"tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_specify_keypair",
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_create_keypair_in_analt_user_tenant",
"tempest.api.compute.test_authorization.AuthorizationTestJSON.test_get_keypair_of_alt_account_fails"
]
},
"compute-quotas": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"description": "Quotas management in Compute API",
"flagged": [],
"name": "compute-quotas",
"tests": [
"tempest.api.compute.test_quotas.QuotasTestJSON.test_get_default_quotas",
"tempest.api.compute.test_quotas.QuotasTestJSON.test_get_quotas"
]
},
"compute-servers": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"description": "Basic server operations in the Compute API",
"flagged": [
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip_regex",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_change_server_password",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_soft"
],
"name": "compute-servers",
"tests": [
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_server_name_length_exceeds_256",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_flavor",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_network_uuid",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_server_metadata_exceeds_length_limit",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_with_invalid_image",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_create_numeric_server_name",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_server_pass_id_exceeding_length_limit",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_server_pass_negative_id",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_delete_a_server_of_another_tenant",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_get_non_existent_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_invalid_ip_v6_address",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_reboot_non_existent_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_rebuild_reboot_deleted_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_rebuild_non_existent_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_resize_server_with_null_flavor",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_resize_server_with_non_existent_flavor",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_server_name_blank",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_stop_non_existent_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_of_another_tenant",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_name_of_non_existent_server",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_set_empty_name",
"tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_update_server_name_length_exceeds_256",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_future_date",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_changes_since_invalid_date",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_pass_negative_value",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_pass_string",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_flavor",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_image",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_non_existing_server_name",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_detail_server_is_deleted",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_with_a_deleted_server",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_status_non_existing",
"tempest.api.compute.servers.test_list_servers_negative.ListServersNegativeTestJSON.test_list_servers_by_limits_greater_than_actual_count",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip_regex",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_name",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_server_status",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_server_status",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_name_wildcard",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_flavor",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_limit_results",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_limit",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_image",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filtered_by_ip",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_filter_by_image",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_server_name",
"tempest.api.compute.servers.test_list_server_filters.ListServerFiltersTestJSON.test_list_servers_detailed_filter_by_flavor",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_confirm",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_change_server_password",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_stop_start_server",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_rebuild_server",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_revert",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_lock_unlock_server",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_soft",
"tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_get_console_output",
"tempest.api.compute.servers.test_servers.ServersTestJSON.test_update_access_server_address",
"tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_with_existing_server_name",
"tempest.api.compute.servers.test_servers.ServersTestJSON.test_create_server_with_admin_password",
"tempest.api.compute.servers.test_servers.ServersTestJSON.test_update_server_name",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_created_server_vcpus",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers_with_detail",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_server_details",
"tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_update_server_metadata",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_list_server_metadata",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_delete_server_metadata_item",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_get_server_metadata_item",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata",
"tempest.api.compute.servers.test_server_metadata.ServerMetadataTestJSON.test_set_server_metadata_item",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_created_server_vcpus",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_host_name_is_same_as_server_name",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_server_details",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers",
"tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers_with_detail"
]
},
"compute-volume": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"description": "Retrieve volume information through the Compute API",
"flagged": [],
"name": "compute-volume",
"tests": [
"tempest.api.compute.volumes.test_volumes_list.VolumesTestJSON.test_volume_list",
"tempest.api.compute.volumes.test_volumes_list.VolumesTestJSON.test_volume_list_with_details",
"tempest.api.compute.volumes.test_attach_volume.AttachVolumeTestJSON.test_attach_detach_volume",
"tempest.api.compute.volumes.test_volumes_negative.VolumesNegativeTest.test_get_volume_without_passing_volume_id",
"tempest.api.compute.volumes.test_volumes_negative.VolumesNegativeTest.test_get_invalid_volume_id"
]
},
"compute-servers-metadata": {
"achievements": [
"deployed",
"tools",
"clients",
"future",
"complete",
"stable",
"discover",
"doc",
"sticky",
"foundation"
],
"admin": false,
"status": "advisory",
"guidelines": [],
"description": "Manage the access to ip extended attribute for servers through the Compute API",
"flagged": [],
"name": "compute-servers-metadata",
"tests": []
},
"images-v1": {
"achievements": [],
"admin": false,
"status": "removed",
"guidelines": ["2014.07"],
"description": "Basic image management in the Images API v1",
"flagged": [],
"name": "images-v1",
"tests": []
},
"images-v2": {
"achievements": [
"future",
"complete",
"stable",
"discover",
"doc",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"description": "CRUD image operations in Images API v2",
"flagged": [],
"name": "images-v2",
"tests": [
"tempest.api.image.v2.test_images.ListImagesTest.test_index_no_params"
]
},
"objectstore-object": {
"achievements": [
"tools",
"clients",
"future",
"complete",
"stable",
"doc",
"foundation",
"atomic",
"proximity"
],
"admin": false,
"status": "required",
"guidelines": ["2014.07", "2015.03"],
"description": "Basic object operations in Object Storage API",
"flagged": [],
"name": "objectstore-object",
"tests": [
"tempest.api.object_storage.test_object_services.ObjectTest.test_copy_object_2d_way",
"tempest.api.object_storage.test_object_services.ObjectTest.test_copy_object_in_same_container",
"tempest.api.object_storage.test_object_services.ObjectTest.test_copy_object_across_containers",
"tempest.api.object_storage.test_object_services.ObjectTest.test_copy_object_to_itself",
"tempest.api.object_storage.test_object_services.ObjectTest.test_create_object",
"tempest.api.object_storage.test_object_services.ObjectTest.test_delete_object",
"tempest.api.object_storage.test_object_services.ObjectTest.test_get_object",
"tempest.api.object_storage.test_object_services.ObjectTest.test_get_object_if_different",
"tempest.api.object_storage.test_object_services.ObjectTest.test_object_upload_in_segments",
"tempest.api.object_storage.test_object_temp_url.ObjectTempUrlTest.test_put_object_using_temp_url",
"tempest.api.object_storage.test_object_temp_url.ObjectTempUrlTest.test_get_object_using_temp_url",
"tempest.api.object_storage.test_object_version.ContainerTest.test_versioned_container",
"tempest.api.object_storage.test_object_expiry.ObjectExpiryTest.test_get_object_after_expiry_time",
"tempest.api.object_storage.test_object_services.PublicObjectTest.test_access_public_object_with_another_user_creds",
"tempest.api.object_storage.test_object_services.PublicObjectTest.test_access_public_container_object_without_using_creds"
]
},
"auth-token": {
"achievements": [],
"admin": false,
"status": "advisory",
"guidelines": [],
"description": "Generate an auth token given an identity endpoint",
"flagged": [],
"name": "auth-token",
"tests": []
}
},
"volume": {
"achievements": [],
"admin": true,
"status": "removed",
"guidelines": ["2014.07"],
"description": "CRUD operations for volumes management in Block Storage API",
"flagged": [],
"name": "volume",
"tests": []
},
"criteria": {
"atomic": {
"Description": "Capabilities is unique and cannot be built out of other must-pass capabilities",
"name": "Atomic",
"weight": 8
},
"clients": {
"Description": "Candidates are widely used capabilities: Should be included if part of common libraries (Fog, Apache jclouds, etc)",
"name": "Used by Clients",
"weight": 8
},
"complete": {
"Description": "Where the code being tested has a designated area of alternate implementation (extension framework) as per the Core Principles, there should be parity in capability tested across extension implementations. This also implies that the capability test is not configuration specific or locked to non-open technology",
"name": "Complete",
"weight": 8
},
"deployed": {
"Description": "Candidates are widely deployed capabilities. We favor capabilities that are supported by multiple public cloud providers and private cloud products",
"name": "Widely Deployed",
"weight": 8
},
"discover": {
"Description": "Capability being tested is Service Discoverable (can be found in Keystone and via service introspection)",
"name": "Discoverable",
"weight": 8
},
"doc": {
"Description": "Should be well documented, particularly the expected behavior. This can be a very subjective measure and we expect to refine this definition over time",
"name": "Documented",
"weight": 8
},
"foundation": {
"Description": "Test capabilities that are required by other must-pass tests and/or depended on by many other capabilities",
"name": "Foundation",
"weight": 8
},
"future": {
"Description": "Should reflect future technical direction (from the project technical teams and the TC) and help manage deprecated capabilities",
"name": "Future Direction",
"weight": 9
},
"proximity": {
"Description": "Sometimes called a Test Cluster, selects for Capabilities that are related to Core Capabilities. This helps ensure that related capabilities are managed together",
"name": "Proximity",
"weight": 8
},
"stable": {
"Description": "Test is required stable for >2 releases because we don't want DefCore capabilities that do not have dependable APIs",
"name": "Stable",
"weight": 9
},
"sticky": {
"Description": "A test that is a must-pass test should stay a must-pass test. This makes DefCore capabilities sticky release per release. Leaving Core is disruptive to the ecosystem",
"name": "Core in Last Release",
"weight": 9
},
"tools": {
"Description": "Candidates are widely used capabilities:Should be included if supported by common tools (RightScale, Scalr, CloudForms, ...)",
"name": "Used by Tools",
"weight": 9
}
}
}

110
2015.04.rst Normal file
View File

@ -0,0 +1,110 @@
=================================
OpenStack DefCore 2015.04
=================================
Status: Draft
Replaces: 2015.03
This document outlines the mandatory and advisory capabilities
required to exist in a software installation in order to be
eligible to use marks controlled by the OpenStack Foundation.
This document supersedes the companion JSON version.
Releases Covered
==============================
Applies to Havana, Icehouse, Juno
Platform Components
==============================
Required: Compute and Object
Advisory: None
Deprecated: None
Removed: None
Compute Component Capabilities
==============================
======================== ====================
Capability Name Associated Project
------------------------ --------------------
compute-auth Nova
compute-flavors Nova
compute-images Nova
compute-instance-actions Nova
compute-keypairs Nova
compute-quotas Nova
compute-servers Nova
compute-volume Nova
images-v2 Glance
======================== ====================
Advisory Capabilities
------------------------------
======================== ====================
Capability Name Associated Project
------------------------ --------------------
auth-token Keystone
compute-servers-metadata Nova
======================== ====================
Deprecated Capabilities
------------------------------
None.
Removed Capabilities
------------------------------
None.
Object Component Capabilities
==============================
======================== ====================
Capability Name Associated Project
------------------------ --------------------
objectstore-object Swift
======================== ====================
Advisory Capabilities
------------------------------
None.
Deprecated Capabilities
------------------------------
None.
Removed Capabilities
------------------------------
None.
Designated Sections
==============================
The following designated sections apply to the same releases as
this specification.
* Nova is by default designated except scheduler, filter, drivers, API
extensions and networking.
* Glance designated sections are the API implementation code and domain model.
* Swift designated sections are proxy server, object server, container server,
account server and select middleware (complete list provided by community in
linked json document).
Advisory Designated Sections
------------------------------------
None.
Functional Information
======================
:Format: RestructuredText
:Layout: 1.0

View File

@ -2,7 +2,7 @@
"id": "2015.next",
"schema": "1.1",
"status": "draft",
"replaces": "2015.03",
"replaces": "2015.04",
"releases": ["havana", "icehouse", "juno"],
"platform": {
"required": ["compute", "object"],

View File

@ -3,7 +3,7 @@ OpenStack DefCore 2015.next
=================================
Status: Draft
Replaces: 2015.03
Replaces: 2015.04
This document outlines the mandatory and advisory capabilities
required to exist in a software installation in order to be
@ -13,7 +13,7 @@ This document supersedes the companion JSON version.
Releases Covered
==============================
Applies to Havana, Icehouse
Applies to Havana, Icehouse, Juno
Platform Components