diff --git a/api-ref/source/v3/samples/extensions/extensions-list-response.json b/api-ref/source/v3/samples/extensions/extensions-list-response.json index 779230793ff..271fff5e9be 100644 --- a/api-ref/source/v3/samples/extensions/extensions-list-response.json +++ b/api-ref/source/v3/samples/extensions/extensions-list-response.json @@ -216,6 +216,13 @@ "links": [], "name": "Scheduler_stats", "updated": "2014-09-07T00:00:00+00:00" + }, + { + "alias": "OS-SCH-HNT", + "description": "Pass arbitrary key/value pairs to the scheduler.", + "links": [], + "name": "SchedulerHints", + "updated": "2013-04-18T00:00:00+00:00" } ] } \ No newline at end of file diff --git a/cinder/api/contrib/scheduler_hints.py b/cinder/api/contrib/scheduler_hints.py index bd5daadc1dc..b86b56c0d9b 100644 --- a/cinder/api/contrib/scheduler_hints.py +++ b/cinder/api/contrib/scheduler_hints.py @@ -12,6 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. +from cinder.api import extensions from cinder.api.schemas import scheduler_hints from cinder.api import validation @@ -31,3 +32,13 @@ def create(req, body): _validate_scheduler_hints(req=req, body=scheduler_hints_body) body['volume']['scheduler_hints'] = scheduler_hints_body.get(attr) return body + + +# NOTE: This class is added to include "OS-SCH-HNT" in the list extensions +# response and "OS-SCH-HNT" is still not loaded as a standard extension. +class Scheduler_hints(extensions.ExtensionDescriptor): + """Pass arbitrary key/value pairs to the scheduler.""" + + name = "SchedulerHints" + alias = "OS-SCH-HNT" + updated = "2013-04-18T00:00:00+00:00" diff --git a/cinder/api/extensions.py b/cinder/api/extensions.py index dfa4368c511..9ed73d8f7f0 100644 --- a/cinder/api/extensions.py +++ b/cinder/api/extensions.py @@ -31,7 +31,7 @@ import cinder.policy CONF = cfg.CONF LOG = logging.getLogger(__name__) -FILES_TO_SKIP = ['resource_common_manage.py', 'scheduler_hints.py'] +FILES_TO_SKIP = ['resource_common_manage.py'] class ExtensionDescriptor(object): diff --git a/cinder/tests/functional/api_sample_tests/samples/extensions/extensions-list-response.json.tpl b/cinder/tests/functional/api_sample_tests/samples/extensions/extensions-list-response.json.tpl index 765954d5ce3..3ccd115390c 100644 --- a/cinder/tests/functional/api_sample_tests/samples/extensions/extensions-list-response.json.tpl +++ b/cinder/tests/functional/api_sample_tests/samples/extensions/extensions-list-response.json.tpl @@ -216,6 +216,13 @@ "links": [], "name": "Scheduler_stats", "updated": "%(extension_update)s" + }, + { + "alias": "OS-SCH-HNT", + "description": "Pass arbitrary key/value pairs to the scheduler.", + "links": [], + "name": "SchedulerHints", + "updated": "%(extension_update)s" } ] } \ No newline at end of file