Bug 1040985

Summary: [RFE][nova]: Deprecate Disk Config(Auto/Manual) in API v3
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: openstack-novaAssignee: Jakub Ruzicka <jruzicka>
Status: CLOSED ERRATA QA Contact: Ami Jeain <ajeain>
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: breeler, markmc, ndipanov, sgordon, slong, vpopovic, yeylon
Target Milestone: Upstream M2Keywords: FutureFeature, TestOnly, Triaged
Target Release: 5.0 (RHEL 7)   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/nova/+spec/api-v3-remove-disk-config
Whiteboard: upstream_milestone_icehouse-2 upstream_status_implemented upstream_definition_approved
Fixed In Version: openstack-nova-2014.1-3.el7ost Doc Type: Deprecated Functionality
Doc Text:
In OpenStack Compute, the OS-DCF:diskConfig API attribute is no longer supported in V3 of the nova API.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-08 15:26:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 13:21:01 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/api-v3-remove-disk-config.

Description:

With the implementation of cloud-init, using OS-DCF:diskConfig attribute in the API is no longer needed.  We would like to deprecate this feature to reduce complexity and user confusion.  This proposal examines removing the disk config support in v3 of the API with eventual deprecation when v2 of the API support is removed.

Currently on a boot we can specify the disk be auto resized/configured by specifying OS-DCF:diskConfig to be AUTO or MANUAL.  An example v2 curl is the following:

curl -i http://192.168.46.144:8774/v2/6e96f875b5af4894b59264484ce5d589/servers -X POST -H "X-Auth-Project-Id: admin" -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: ..." -d '{"server": {"name": "foo", "imageRef": "ff88ace3-26fb-4899-af5d-f676277ad337", "key_name": "key1", "flavorRef": "1", "OS-DCF:diskConfig": "AUTO", "max_count": 1, "min_count": 1}}'

This returns a 202 Accepted response when succeeding.  The v2 functionality will remain in place until v2 is removed.  v2 will be modified to include a log message to indicate this attribute will no longer exist in v3.

For v3 this option will not exist.  An example command which tries to use the v2 extension with v3 is the following:
curl -i http://192.168.46.144:8774/v3/6e96f875b5af4894b59264484ce5d589/servers -X POST -H "X-Auth-Project-Id: admin" -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: ..." -d '{"server": {"name": "foo", "imageRef": "ff88ace3-26fb-4899-af5d-f676277ad337", "key_name": "key1", "flavorRef": "1", "OS-DCF:diskConfig": "AUTO", "max_count": 1, "min_count": 1}}'

The response will be a 400 (Bad Request) or normal error when an invalid attribute is included in the v3 parse.  

This will allow existing calls with no attribute (ie. selecting default) to continue working by simply changing to v3 support.  This only affects calls where OS-DCF:diskConfig is explicitly set.

DocImpact: As part of v2 API documentation we should note this attribute and feature are going to go away eventually.  As part of v3 API documentation we should include a "deprecated" statement with the expected mapping section of v2->v3.  This will be noted in the commit for removing v3 code related to this attribute/feature.  


Specification URL (additional information):

None

Comment 2 Stephen Gordon 2014-01-23 20:42:51 UTC
Moving to POST based on upstream status (Implemented).

Comment 6 errata-xmlrpc 2014-07-08 15:26:46 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHEA-2014-0853.html