summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Wright <sw3588@att.com>2019-05-28 13:08:37 +0000
committerGerrit Code Review <gerrit@onap.org>2019-05-28 13:08:37 +0000
commit32ae86efa75a62edd9e6739236bdc3c0ff87676a (patch)
treeeaa253f1c6775479c198e28ad328a86888bfcfea
parent62a48cfb8f633a5b8374d975174999d04c3bdcee (diff)
parentaac94d19ae2c3140c69cb04471183c11d78dc8d3 (diff)
Merge "[VVP] Refine nested get_param test per R-10834 update"
-rw-r--r--ice_validator/heat_requirements.json499
-rw-r--r--ice_validator/tests/fixtures/test_nested_parameter_args/fail/fail0.yaml21
-rw-r--r--ice_validator/tests/test_nested_parameter_args.py97
3 files changed, 308 insertions, 309 deletions
diff --git a/ice_validator/heat_requirements.json b/ice_validator/heat_requirements.json
index 735d8db..b152d77 100644
--- a/ice_validator/heat_requirements.json
+++ b/ice_validator/heat_requirements.json
@@ -1,5 +1,5 @@
{
- "created": "2019-05-17T18:14:51.379866",
+ "created": "2019-05-24T06:32:42.966223",
"current_version": "dublin",
"project": "",
"versions": {
@@ -45910,7 +45910,7 @@
"needs_amount": 789
},
"dublin": {
- "created": "2019-05-17T18:14:51.379790",
+ "created": "2019-05-24T06:32:42.966152",
"needs": {
"R-00011": {
"description": "A VNF's Heat Orchestration Template's parameter defined\nin a nested YAML file\n**SHOULD NOT** have a parameter constraint defined.",
@@ -45943,7 +45943,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -46175,7 +46175,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -46278,7 +46278,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -46346,7 +46346,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -46412,7 +46412,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -46711,7 +46711,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -46746,7 +46746,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -46781,7 +46781,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -46880,7 +46880,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -46913,7 +46913,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -46981,7 +46981,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -47117,7 +47117,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -47150,7 +47150,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -47382,7 +47382,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "none"
},
@@ -47616,7 +47616,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -47650,7 +47650,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -47684,7 +47684,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -47752,7 +47752,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -47820,7 +47820,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -47854,7 +47854,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -49220,7 +49220,7 @@
"hide_links": "",
"id": "R-100400",
"impacts": "",
- "introduced": "2019-1",
+ "introduced": "dublin",
"is_need": true,
"is_part": false,
"keyword": "SHOULD",
@@ -49253,7 +49253,7 @@
"hide_links": "",
"id": "R-100410",
"impacts": "",
- "introduced": "2019-1",
+ "introduced": "dublin",
"is_need": true,
"is_part": false,
"keyword": "MAY",
@@ -49344,7 +49344,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -49379,7 +49379,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -49414,7 +49414,40 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
+ "validated_by": "",
+ "validation_mode": ""
+ },
+ "R-106240": {
+ "description": "The following VES Events **SHOULD** be supported by the PNF: pnfRegistration\nVES Event, HVol VES Event, and Fault VES Event. These are onboarded via\nhe SDC Design Studio.\n\nNote: these VES Events are emitted from the PNF to support PNF Plug and\nPlay, High Volume Measurements, and Fault events respectively.",
+ "docname": "Chapter7/PNF-Plug-and-Play",
+ "full_title": "",
+ "hide_links": "",
+ "id": "R-106240",
+ "impacts": "",
+ "introduced": "casablanca",
+ "is_need": true,
+ "is_part": false,
+ "keyword": "SHOULD",
+ "links": [],
+ "notes": "",
+ "parts": {},
+ "section_name": "PNF Plug and Play",
+ "sections": [
+ "PNF Plug and Play",
+ "PNF Plug and Play"
+ ],
+ "status": null,
+ "tags": [],
+ "target": "PNF",
+ "test": "",
+ "test_case": "",
+ "test_file": "",
+ "title": "",
+ "title_from_content": "",
+ "type": "req",
+ "type_name": "Requirement",
+ "updated": "El Alto",
"validated_by": "",
"validation_mode": ""
},
@@ -49449,12 +49482,12 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
"R-10834": {
- "description": "If a VNF's Heat Orchestration Template resource attribute\n``property:`` uses a nested ``get_param``, the nested\n``get_param`` **MUST** reference an index.\n\nThat is, to obtain a property value, two ``get_param`` intrinsic\nfunctions are used. The second ``get_param`` must be used\nto obtain an index value used to reference a parameter value in\na parameter defined as ``type: comma_delimited_list``. For\nexample:\n\n* ``name: {get_param: [ name, get_param: index ] }``",
+ "description": "A VNF's Heat Orchestration Template resource attribute ``property:``\n**MUST NOT** use more than two levels of nested ``get_param`` intrinsic\nfunctions when deriving a property value. SDC does not support nested\n``get_param`` with recursive lists (i.e., a list inside list).\nThe second ``get_param`` in a nested lookup must directly derive its value\nwithout further calls to ``get_param`` functions.\n\n* Example of valid nesting:\n\n * ``name: {get_param: [ {vm-type}_names, {get_param : index } ] }``\n\n* Examples of invalid nesting. SDC will not support these examples since\n there is an array inside array.\n\n * ``name: {get_param: [ {vm-type}_names, { get_param: [ indexlist, 0 ] } ] }``\n * ``name: {get_param: [ {vm-type}_names, { get_param: [ indexlist1, { get_param: indexlist2 } ] } ] }``",
"docname": "Chapter5/Heat/ONAP Heat Orchestration Template Format",
"full_title": "",
"hide_links": "",
@@ -49463,7 +49496,7 @@
"introduced": "",
"is_need": true,
"is_part": false,
- "keyword": "MUST",
+ "keyword": "MUST NOT",
"links": [],
"notes": "",
"parts": {},
@@ -49484,7 +49517,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "dublin",
+ "updated": "El Alto",
"validated_by": "",
"validation_mode": "static"
},
@@ -49618,7 +49651,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -49652,7 +49685,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -49722,7 +49755,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -49754,7 +49787,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -49853,7 +49886,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -49921,7 +49954,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -49954,7 +49987,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -50087,7 +50120,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -50319,7 +50352,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -50420,7 +50453,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -50556,7 +50589,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -50856,7 +50889,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -50923,7 +50956,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -51124,7 +51157,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -51494,7 +51527,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -51596,7 +51629,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -51695,7 +51728,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -51729,7 +51762,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -51829,7 +51862,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -51998,7 +52031,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -52066,7 +52099,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -52100,7 +52133,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -52663,7 +52696,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -52764,7 +52797,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -52865,7 +52898,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -53262,7 +53295,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -53297,7 +53330,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -53365,7 +53398,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -53534,7 +53567,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -53666,7 +53699,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -53734,7 +53767,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -53870,7 +53903,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -54039,7 +54072,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -54074,7 +54107,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -54107,7 +54140,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -54208,7 +54241,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -54308,7 +54341,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -54575,7 +54608,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -54676,7 +54709,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -54745,7 +54778,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -54780,7 +54813,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -55144,7 +55177,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -55211,7 +55244,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -55413,7 +55446,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -55517,7 +55550,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -55717,7 +55750,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -55751,7 +55784,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -55818,7 +55851,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -55853,7 +55886,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -55919,7 +55952,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -55984,7 +56017,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -56019,7 +56052,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -56054,7 +56087,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -56252,7 +56285,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -56263,7 +56296,7 @@
"hide_links": "",
"id": "R-348813",
"impacts": "",
- "introduced": "",
+ "introduced": "dublin",
"is_need": true,
"is_part": false,
"keyword": "MUST",
@@ -56318,7 +56351,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -56386,7 +56419,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -56620,7 +56653,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -57085,7 +57118,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -57483,7 +57516,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -57652,7 +57685,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -57685,7 +57718,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -57752,7 +57785,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -57885,7 +57918,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58021,7 +58054,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58120,7 +58153,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58154,7 +58187,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58221,7 +58254,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58322,7 +58355,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58356,7 +58389,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58424,7 +58457,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58628,7 +58661,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58662,7 +58695,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58695,7 +58728,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58764,7 +58797,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58798,7 +58831,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58864,7 +58897,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -58998,7 +59031,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -59099,7 +59132,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -59165,7 +59198,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -59233,7 +59266,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -59367,7 +59400,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -59633,7 +59666,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -59734,7 +59767,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -59767,7 +59800,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -59966,7 +59999,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -60134,7 +60167,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -60303,7 +60336,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -60371,7 +60404,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -60472,7 +60505,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -60506,7 +60539,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -60541,7 +60574,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -60576,7 +60609,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -60646,7 +60679,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -60780,7 +60813,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "2019-1",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -60791,7 +60824,7 @@
"hide_links": "",
"id": "R-511776",
"impacts": "",
- "introduced": "",
+ "introduced": "dublin",
"is_need": true,
"is_part": false,
"keyword": "MUST",
@@ -60915,7 +60948,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -60981,7 +61014,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -61081,7 +61114,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "none"
},
@@ -61148,7 +61181,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -61183,7 +61216,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -61252,7 +61285,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -61420,7 +61453,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -61455,7 +61488,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -61557,7 +61590,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -62053,7 +62086,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -62317,7 +62350,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -62584,7 +62617,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -62619,7 +62652,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -62782,7 +62815,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -63051,7 +63084,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -63095,7 +63128,7 @@
"hide_links": "",
"id": "R-599443",
"impacts": "",
- "introduced": "",
+ "introduced": "dublin",
"is_need": true,
"is_part": false,
"keyword": "MUST",
@@ -63116,7 +63149,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "",
"validated_by": "",
"validation_mode": "static"
},
@@ -63185,7 +63218,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -63220,7 +63253,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -63252,7 +63285,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "none"
},
@@ -63320,7 +63353,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -63422,7 +63455,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -63656,7 +63689,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -63823,7 +63856,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -63858,7 +63891,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -64156,7 +64189,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -64224,7 +64257,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -64259,7 +64292,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -64293,7 +64326,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -64394,7 +64427,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -64429,7 +64462,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -64464,7 +64497,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -64730,7 +64763,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "2019-1",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -64797,7 +64830,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -64808,7 +64841,7 @@
"hide_links": "",
"id": "R-681859",
"impacts": "",
- "introduced": "",
+ "introduced": "dublin",
"is_need": true,
"is_part": false,
"keyword": "MUST",
@@ -64899,7 +64932,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -65001,7 +65034,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -65033,7 +65066,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "none"
},
@@ -65298,7 +65331,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -65331,7 +65364,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -65398,7 +65431,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -65500,7 +65533,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -65733,7 +65766,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -65779,7 +65812,7 @@
"hide_links": "",
"id": "R-717227",
"impacts": "",
- "introduced": "",
+ "introduced": "dublin",
"is_need": true,
"is_part": false,
"keyword": "MUST",
@@ -65802,7 +65835,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "dublin",
+ "updated": "",
"validated_by": "",
"validation_mode": "static"
},
@@ -65903,7 +65936,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -66103,7 +66136,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -66171,7 +66204,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -66206,7 +66239,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -66239,7 +66272,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -66571,7 +66604,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -66670,7 +66703,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -67071,7 +67104,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -67106,7 +67139,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -67139,7 +67172,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -67276,7 +67309,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -67343,7 +67376,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -67445,7 +67478,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -67588,7 +67621,7 @@
"hide_links": "",
"id": "R-805572",
"impacts": "",
- "introduced": "",
+ "introduced": "dublin",
"is_need": true,
"is_part": false,
"keyword": "MUST",
@@ -67611,7 +67644,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "dublin",
+ "updated": "",
"validated_by": "",
"validation_mode": "static"
},
@@ -67713,7 +67746,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -67980,7 +68013,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -68049,7 +68082,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -68148,7 +68181,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -68313,7 +68346,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -68347,7 +68380,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -68548,7 +68581,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -68583,7 +68616,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -68683,7 +68716,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -68947,7 +68980,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -69079,7 +69112,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -69111,7 +69144,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -69210,7 +69243,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -69276,7 +69309,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -69475,7 +69508,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -69974,7 +70007,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -70042,7 +70075,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -70077,7 +70110,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -70143,7 +70176,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -70244,7 +70277,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -70279,7 +70312,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -70412,7 +70445,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -70478,7 +70511,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -70513,7 +70546,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -70749,7 +70782,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -70782,7 +70815,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -70816,7 +70849,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "in_service"
},
@@ -70985,7 +71018,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -71152,7 +71185,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -71284,7 +71317,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "none"
},
@@ -71319,7 +71352,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -71419,7 +71452,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -71521,7 +71554,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -71789,7 +71822,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -71925,7 +71958,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -72089,7 +72122,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -72123,7 +72156,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -72158,7 +72191,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -72226,7 +72259,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -72261,7 +72294,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -72328,7 +72361,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -72460,7 +72493,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -72591,7 +72624,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "casablanca",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": "static"
},
@@ -72657,7 +72690,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -72725,7 +72758,7 @@
"title_from_content": "",
"type": "req",
"type_name": "Requirement",
- "updated": "",
+ "updated": "dublin",
"validated_by": "",
"validation_mode": ""
},
@@ -73127,7 +73160,7 @@
"validation_mode": "static"
}
},
- "needs_amount": 812
+ "needs_amount": 813
}
}
} \ No newline at end of file
diff --git a/ice_validator/tests/fixtures/test_nested_parameter_args/fail/fail0.yaml b/ice_validator/tests/fixtures/test_nested_parameter_args/fail/fail0.yaml
index 0d25822..7da9b03 100644
--- a/ice_validator/tests/fixtures/test_nested_parameter_args/fail/fail0.yaml
+++ b/ice_validator/tests/fixtures/test_nested_parameter_args/fail/fail0.yaml
@@ -40,19 +40,16 @@
---
parameters:
- cdl:
+ list_one:
type: comma_delimited_list
- num:
+ list_two:
+ type: comma_delimited_list
+ index_one:
+ type: number
+ index_two:
type: number
resources:
- ex1_nova_server_0:
- type: OS::Nova::Server
+ resource:
properties:
- name: { get_param: [ ex1_vm_names, 0 ] }
- metadata:
- vnf_id: { get_param: vnf_id }
- vf_module_id1:
- get_param: [ cdl, { get_param: xnum }]
- vf_module_id2:
- get_param: [ xcdl, { get_param: num }]
-
+ prop: {get_param: [list_one, {get_param: [list_two, {get_param: index_two}]}]}
+ prop_two: {get_param: [list_one, {get_param: [list_two, 0]}]}
diff --git a/ice_validator/tests/test_nested_parameter_args.py b/ice_validator/tests/test_nested_parameter_args.py
index 62c22d7..9f5e0bb 100644
--- a/ice_validator/tests/test_nested_parameter_args.py
+++ b/ice_validator/tests/test_nested_parameter_args.py
@@ -36,76 +36,45 @@
# ============LICENSE_END============================================
#
#
+import os
-"""heat parameters
-"""
+from tests.helpers import validates, traverse, load_yaml
-import collections
-import pytest
+def is_get_param(arg):
+ return isinstance(arg, dict) and "get_param" in arg
-from .structures import Heat
-from .helpers import validates
-VERSION = "1.0.0"
+class GetParamChecker:
+ def __init__(self, yaml_file):
+ self.errors = []
+ self.filename = os.path.basename(yaml_file)
+
+ def __call__(self, keys, param_value, *args, **kwargs):
+ if isinstance(param_value, str):
+ return # refers to a string or parameter - this is OK
+ if isinstance(param_value, list):
+ nested_get_params = (arg for arg in param_value if is_get_param(arg))
+ args = (call["get_param"] for call in nested_get_params)
+ invalid_args = (arg for arg in args if not isinstance(arg, str))
+ # We don't check if the args really point to parameters, because that
+ # check is already covered by test_05_all_get_param_have_defined_parameter
+ # in test_initial_configuration.py
+ if any(invalid_args):
+ self.errors.append(
+ (
+ "Invalid nesting of get_param detected in {} at {}. Calls to "
+ "get_param can only be nested two deep, and the argument to "
+ "the second get_param must only be a parameter name: {}"
+ ).format(
+ self.filename, " > ".join(keys), {"get_param": param_value}
+ )
+ )
@validates("R-10834")
def test_nested_parameter_args(yaml_file):
- """
- If a VNF’s Heat Orchestration Template resource attribute
- property metadata uses a nested get_param, then the "outer"
- get_param must take 2 arguments. The first argument must be
- a parameter of type "comma_delimited_list", and the second
- argument must be the "inner" get_param whose value must be a
- parameter of type "number".
-
- parameters:
- cdl:
- type: comma_delimited_list
- num:
- type: number
- resources:
- ex1_nova_server_0:
- type: OS::Nova::Server
- properties:
- name: { get_param: [ ex1_vm_names, 0 ] }
- metadata:
- vnf_id: { get_param: vnf_id }
- vf_module_id:
- get_param: [ cdl, { get_param: num }]
- """
- heat = Heat(filepath=yaml_file)
- if not heat.resources:
- pytest.skip("No resources found")
- has_nested_parameters = False
- bad = collections.defaultdict(list)
- for rid, r in heat.resources.items():
- metadata = heat.nested_get(r, "properties", "metadata", default={})
- for key, value in metadata.items():
- param = heat.nested_get(value, "get_param")
- if isinstance(param, list) and len(param) == 2:
- nested_param = heat.nested_get(param[1], "get_param")
- if nested_param:
- has_nested_parameters = True
- if (
- heat.nested_get(heat.parameters, param[0], "type")
- != Heat.type_cdl
- ):
- bad[rid].append(
- "%s %s parameter type not %s"
- % (key, param[0], Heat.type_cdl)
- )
- if (
- heat.nested_get(heat.parameters, nested_param, "type")
- != Heat.type_num
- ):
- bad[rid].append(
- "%s %s nested parameter type not %s"
- % (key, nested_param, Heat.type_num)
- )
- assert not bad, "resource ids with invalid nested parameter arguments\n %s" % (
- "\n ".join("%s %s" % (k, ", ".join(v)) for k, v in bad.items())
- )
- if has_nested_parameters is False:
- pytest.skip("No nested parameters found")
+ heat = load_yaml(yaml_file)
+ checker = GetParamChecker(yaml_file)
+ traverse(heat, "get_param", checker)
+ assert not checker.errors, ". ".join(checker.errors)