-
Type:
Task
-
Status:
Closed
-
Priority:
Critical
-
Resolution:
Unresolved
-
Affects Version/s:
CSD2
-
-
-
-
Resolution:
Hide
Fixed with addition of "node filters" grammar and use on Requirement definitions as a "target filter".
Show
Fixed with addition of "node filters" grammar and use on Requirement definitions as a "target filter".
Section 11 of WD03, Rev05 has the following example which shows constraints on a requirement. The intent is to constrain the properties used for finding/matching the Target (Compute) node of a relationship. If we still want to allow this, we have no grammar for doing this and need one. Also, the grammar implied by the example perhaps is not sufficient to indicate that these constraints are on the properties of the Target node.
Here is the example as written:
node_templates:
mysql:
type: tosca.nodes.DBMS.MySQL
properties:
- omitted here for sake of brevity
requirements:
- host: tosca.nodes.Compute
constraints:
- num_cpus:
{ in_range: [ 1, 4 ] }
- mem_size:
{ greater_or_equal: 2 }
- os_arch: x86_64
- os_type: linux
- os_distribution: ubuntu
{"report":{"apdex":0.5,"isInitial":true,"journeyId":"99db66fd-1ce3-492b-b08a-cb59a9e928e0","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":3690,"redirectCount":0,"resourceLoadedEnd":3564.199999809265,"resourceLoadedStart":589.5999999046326,"resourceTiming":[{"duration":548.0999999046326,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":589.5999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":589.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1137.6999998092651,"responseStart":0,"secureConnectionStart":0},{"duration":548,"initiatorType":"link","name":"https://issues.oasis-open.org/s/7d2823769c2e7b66e860863fe879b7f8-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/css/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&richediton=true","startTime":590,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":590,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1138,"responseStart":0,"secureConnectionStart":0},{"duration":548,"initiatorType":"link","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.css","startTime":590.0999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":590.0999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1138.0999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":591.2999997138977,"initiatorType":"link","name":"https://issues.oasis-open.org/s/645acc233eb869f48a571293b8358a7d-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static-adgs/jira.webresources:global-static-adgs.css","startTime":590.4000000953674,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":590.4000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1181.6999998092651,"responseStart":0,"secureConnectionStart":0},{"duration":591.1999998092651,"initiatorType":"link","name":"https://issues.oasis-open.org/s/a0dd6509771c1de0667aae5429c04cda-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static/jira.webresources:global-static.css","startTime":590.5999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":590.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1181.7999997138977,"responseStart":0,"secureConnectionStart":0},{"duration":859.8000001907349,"initiatorType":"script","name":"https://issues.oasis-open.org/s/e5479157e7a0c08b005e6522f2f04104-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/js/_super/batch.js?locale=en-US","startTime":590.7999997138977,"connectEnd":1222.7999997138977,"connectStart":1172.0999999046326,"domainLookupEnd":1172.0999999046326,"domainLookupStart":1172.0999999046326,"fetchStart":590.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":1222.9000000953674,"responseEnd":1450.5999999046326,"responseStart":1267.9000000953674,"secureConnectionStart":1198.0999999046326},{"duration":2657.2999997138977,"initiatorType":"script","name":"https://issues.oasis-open.org/s/83514d5d4e8543747b02042eafcdc99c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/js/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":591.4000000953674,"connectEnd":1225.0999999046326,"connectStart":1172.6999998092651,"domainLookupEnd":1172.6999998092651,"domainLookupStart":1172.6999998092651,"fetchStart":591.4000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":1227.5999999046326,"responseEnd":3248.699999809265,"responseStart":1272.5999999046326,"secureConnectionStart":1199.0999999046326},{"duration":685,"initiatorType":"script","name":"https://issues.oasis-open.org/s/70bb2263e59e7e1f04fbd137c80b895b-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/aae1242f5fc81cc6a5bb8bc963ccda29/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en-US","startTime":591.5999999046326,"connectEnd":1225.0999999046326,"connectStart":1173,"domainLookupEnd":1173,"domainLookupStart":1173,"fetchStart":591.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":1228,"responseEnd":1276.5999999046326,"responseStart":1270.2999997138977,"secureConnectionStart":1199.4000000953674},{"duration":685.5,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":591.6999998092651,"connectEnd":1225.1999998092651,"connectStart":1173.2999997138977,"domainLookupEnd":1173.2999997138977,"domainLookupStart":1173.2999997138977,"fetchStart":591.6999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":1228.2999997138977,"responseEnd":1277.1999998092651,"responseStart":1271.2999997138977,"secureConnectionStart":1200.2999997138977},{"duration":760.3999996185303,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":591.9000000953674,"connectEnd":1324.9000000953674,"connectStart":1276.5,"domainLookupEnd":1276.5,"domainLookupStart":1276.5,"fetchStart":591.9000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":1324.9000000953674,"responseEnd":1352.2999997138977,"responseStart":1351.4000000953674,"secureConnectionStart":1300.4000000953674},{"duration":839.1999998092651,"initiatorType":"script","name":"https://issues.oasis-open.org/s/cda37faab827dbdf305de8efe8282062-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.js?locale=en-US","startTime":592,"connectEnd":1401.0999999046326,"connectStart":1352.2999997138977,"domainLookupEnd":1352.2999997138977,"domainLookupStart":1352.2999997138977,"fetchStart":592,"redirectEnd":0,"redirectStart":0,"requestStart":1402.7999997138977,"responseEnd":1431.1999998092651,"responseStart":1430.2999997138977,"secureConnectionStart":1376.4000000953674},{"duration":589.7000002861023,"initiatorType":"link","name":"https://issues.oasis-open.org/s/07245784f53abc49bad9d9d4d36c577a-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/cadc4f20cc5c138dee060d42cf85f220/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":592.1999998092651,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":592.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1181.9000000953674,"responseStart":0,"secureConnectionStart":0},{"duration":982.2000002861023,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":592.2999997138977,"connectEnd":1543.5999999046326,"connectStart":1475.6999998092651,"domainLookupEnd":1475.6999998092651,"domainLookupStart":1475.6999998092651,"fetchStart":592.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":1543.6999998092651,"responseEnd":1574.5,"responseStart":1570.7999997138977,"secureConnectionStart":1518.6999998092651},{"duration":573.3000001907349,"initiatorType":"link","name":"https://issues.oasis-open.org/s/f77fd89aa211a76b20e9b0e63564383c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.css?jira.create.linked.issue=true&richediton=true","startTime":618.2999997138977,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":618.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1191.5999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":1942.4000000953674,"initiatorType":"script","name":"https://issues.oasis-open.org/s/41525c48ddceeb9b11e54085268fc285-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":618.5,"connectEnd":2523.699999809265,"connectStart":2452.699999809265,"domainLookupEnd":2452.699999809265,"domainLookupStart":2452.5999999046326,"fetchStart":618.5,"redirectEnd":0,"redirectStart":0,"requestStart":2523.699999809265,"responseEnd":2560.9000000953674,"responseStart":2557.199999809265,"secureConnectionStart":2499},{"duration":2915.199999809265,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":622.4000000953674,"connectEnd":3511.0999999046326,"connectStart":3450.199999809265,"domainLookupEnd":3450.199999809265,"domainLookupStart":3450.199999809265,"fetchStart":622.4000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":3511.0999999046326,"responseEnd":3537.5999999046326,"responseStart":3536.5999999046326,"secureConnectionStart":3486.699999809265},{"duration":2910.4000000953674,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":653.7999997138977,"connectEnd":3538,"connectStart":3489.0999999046326,"domainLookupEnd":3489.0999999046326,"domainLookupStart":3489.0999999046326,"fetchStart":653.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":3538.0999999046326,"responseEnd":3564.199999809265,"responseStart":3563.5,"secureConnectionStart":3513.4000000953674},{"duration":1436.2999997138977,"initiatorType":"xmlhttprequest","name":"https://issues.oasis-open.org/rest/webResources/1.0/resources","startTime":1710,"connectEnd":3115.7999997138977,"connectStart":3065.0999999046326,"domainLookupEnd":3065.0999999046326,"domainLookupStart":3065.0999999046326,"fetchStart":1710,"redirectEnd":0,"redirectStart":0,"requestStart":3115.9000000953674,"responseEnd":3146.2999997138977,"responseStart":3145.5999999046326,"secureConnectionStart":3088.9000000953674}],"threshold":1000,"fetchStart":0,"domainLookupStart":285,"domainLookupEnd":410,"connectStart":410,"connectEnd":501,"secureConnectionStart":437,"requestStart":501,"responseStart":556,"responseEnd":647,"domLoading":560,"domInteractive":3785,"domContentLoadedEventStart":3785,"domContentLoadedEventEnd":3860,"domComplete":6240,"loadEventStart":6240,"loadEventEnd":6242,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"627a736237e26c","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":120,"dbReadsTimeInMs":20,"dbConnsTimeInMs":27,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}
Ok, so summing up the suggestion would be to go with 'target_filter' which would look something like this:
mysql:
type: tosca.nodes.DBMS.MySQL
properties:
requirements:
target_filter:
We will have to add a section to the spec that defines the grammer for the target_filter statement. It is basically a list of filter constraints on properties of the entity to be selected. Each entry is a key-value pair where the key is the name of a property and the value is the filter criterion. Note that there can be multiple entries for the same property (since we are using a list), so one would be able to to defined multiple additive criteria.
I will work with Matt on including this into the spec, if everyone is ok.