diff --git a/heat/engine/service.py b/heat/engine/service.py index 9e4fe7d15d..b35e6d69a0 100644 --- a/heat/engine/service.py +++ b/heat/engine/service.py @@ -1054,6 +1054,8 @@ class EngineService(service.Service): rpc_api.RES_SCHEMA_RES_TYPE: type_name, rpc_api.RES_SCHEMA_PROPERTIES: dict(properties_schema()), rpc_api.RES_SCHEMA_ATTRIBUTES: dict(attributes_schema()), + rpc_api.RES_SCHEMA_SUPPORT_STATUS: + resource_class.support_status.to_dict(), } def generate_template(self, cnxt, type_name, template_type='cfn'): diff --git a/heat/rpc/api.py b/heat/rpc/api.py index a36c6d7411..283fa74e7f 100644 --- a/heat/rpc/api.py +++ b/heat/rpc/api.py @@ -76,8 +76,9 @@ RES_KEYS = ( RES_SCHEMA_KEYS = ( RES_SCHEMA_RES_TYPE, RES_SCHEMA_PROPERTIES, RES_SCHEMA_ATTRIBUTES, + RES_SCHEMA_SUPPORT_STATUS, ) = ( - RES_TYPE, 'properties', 'attributes', + RES_TYPE, 'properties', 'attributes', 'support_status' ) EVENT_KEYS = ( diff --git a/heat/tests/test_api_openstack_v1.py b/heat/tests/test_api_openstack_v1.py index 6742ed8fcf..6278d8fba0 100644 --- a/heat/tests/test_api_openstack_v1.py +++ b/heat/tests/test_api_openstack_v1.py @@ -2036,6 +2036,11 @@ class StackControllerTest(ControllerTest, common.HeatTestCase): 'foo': {'description': 'A generic attribute'}, 'Foo': {'description': 'Another generic attribute'}, }, + 'support_status': { + 'status': 'SUPPORTED', + 'version': None, + 'message': None, + }, } self.m.StubOutWithMock(rpc_client.EngineClient, 'call') rpc_client.EngineClient.call( diff --git a/heat/tests/test_engine_service.py b/heat/tests/test_engine_service.py index 87e95d373f..6c23d2aee4 100644 --- a/heat/tests/test_engine_service.py +++ b/heat/tests/test_engine_service.py @@ -2328,6 +2328,11 @@ class StackServiceTest(common.HeatTestCase): 'foo': {'description': 'A generic attribute'}, 'Foo': {'description': 'Another generic attribute'}, }, + 'support_status': { + 'status': 'SUPPORTED', + 'version': None, + 'message': None, + }, } schema = self.eng.resource_schema(self.ctx, type_name=type_name) @@ -2347,6 +2352,11 @@ class StackServiceTest(common.HeatTestCase): 'attr2': {'description': 'Another generic attribute', 'type': 'map'}, }, + 'support_status': { + 'status': 'SUPPORTED', + 'version': None, + 'message': None, + }, } schema = self.eng.resource_schema(self.ctx, type_name=type_name) self.assertEqual(expected, schema)