-
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":"d52b89e4-bd80-4be5-af0e-94c4df64d6b5","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":2785.5,"redirectCount":0,"resourceLoadedEnd":2723.9000000953674,"resourceLoadedStart":288.59999990463257,"resourceTiming":[{"duration":68.59999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":288.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":288.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":357.19999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":93.69999980926514,"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":289,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":289,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":382.69999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":94.5,"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":289.19999980926514,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":289.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":383.69999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":94.7999997138977,"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":289.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":289.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":384.19999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":95.59999990463257,"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":289.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":289.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":385.19999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":443.19999980926514,"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":289.80000019073486,"connectEnd":506.90000009536743,"connectStart":458.80000019073486,"domainLookupEnd":458.80000019073486,"domainLookupStart":458.80000019073486,"fetchStart":289.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":507,"responseEnd":733,"responseStart":543.0999999046326,"secureConnectionStart":482.59999990463257},{"duration":2279.4000000953674,"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":290.40000009536743,"connectEnd":508.40000009536743,"connectStart":460.09999990463257,"domainLookupEnd":460.09999990463257,"domainLookupStart":460.09999990463257,"fetchStart":290.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":508.5,"responseEnd":2569.800000190735,"responseStart":541.6999998092651,"secureConnectionStart":484},{"duration":251.80000019073486,"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":290.69999980926514,"connectEnd":508.5,"connectStart":459.5,"domainLookupEnd":459.5,"domainLookupStart":459.5,"fetchStart":290.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":508.59999990463257,"responseEnd":542.5,"responseStart":541,"secureConnectionStart":483.69999980926514},{"duration":315.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":290.90000009536743,"connectEnd":579,"connectStart":530.4000000953674,"domainLookupEnd":530.4000000953674,"domainLookupStart":530.4000000953674,"fetchStart":290.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":579,"responseEnd":606.4000000953674,"responseStart":605.3000001907349,"secureConnectionStart":554.3000001907349},{"duration":326.69999980926514,"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":291,"connectEnd":590.9000000953674,"connectStart":542.4000000953674,"domainLookupEnd":542.4000000953674,"domainLookupStart":542.4000000953674,"fetchStart":291,"redirectEnd":0,"redirectStart":0,"requestStart":591.1999998092651,"responseEnd":617.6999998092651,"responseStart":616.8000001907349,"secureConnectionStart":566.5},{"duration":392.30000019073486,"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":291.19999980926514,"connectEnd":655.4000000953674,"connectStart":606.3000001907349,"domainLookupEnd":606.3000001907349,"domainLookupStart":606.3000001907349,"fetchStart":291.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":655.8000001907349,"responseEnd":683.5,"responseStart":682.4000000953674,"secureConnectionStart":630.8000001907349},{"duration":101.5,"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":291.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":291.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":392.90000009536743,"responseStart":0,"secureConnectionStart":0},{"duration":401.2000002861023,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":291.59999990463257,"connectEnd":665.6999998092651,"connectStart":617.5,"domainLookupEnd":617.5,"domainLookupStart":617.5,"fetchStart":291.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":665.8000001907349,"responseEnd":692.8000001907349,"responseStart":691.8000001907349,"secureConnectionStart":641.4000000953674},{"duration":302.09999990463257,"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":335.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":335.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":637.5,"responseStart":0,"secureConnectionStart":0},{"duration":1805.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":335.69999980926514,"connectEnd":2113.0999999046326,"connectStart":2064.4000000953674,"domainLookupEnd":2064.4000000953674,"domainLookupStart":2064.4000000953674,"fetchStart":335.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":2113.199999809265,"responseEnd":2141.0999999046326,"responseStart":2140.199999809265,"secureConnectionStart":2088.5},{"duration":2342.0999999046326,"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":355.59999990463257,"connectEnd":2670.9000000953674,"connectStart":2622.5999999046326,"domainLookupEnd":2622.5999999046326,"domainLookupStart":2622.5999999046326,"fetchStart":355.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":2670.9000000953674,"responseEnd":2697.699999809265,"responseStart":2696.5999999046326,"secureConnectionStart":2646.699999809265},{"duration":2344.5999999046326,"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":379.30000019073486,"connectEnd":2694.699999809265,"connectStart":2646.199999809265,"domainLookupEnd":2646.199999809265,"domainLookupStart":2646.199999809265,"fetchStart":379.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":2694.9000000953674,"responseEnd":2723.9000000953674,"responseStart":2722.300000190735,"secureConnectionStart":2670},{"duration":1592,"initiatorType":"xmlhttprequest","name":"https://issues.oasis-open.org/rest/webResources/1.0/resources","startTime":863.1999998092651,"connectEnd":2424.300000190735,"connectStart":2374.699999809265,"domainLookupEnd":2374.699999809265,"domainLookupStart":2374.699999809265,"fetchStart":863.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":2424.4000000953674,"responseEnd":2455.199999809265,"responseStart":2454.4000000953674,"secureConnectionStart":2399.800000190735}],"threshold":1000,"fetchStart":0,"domainLookupStart":78,"domainLookupEnd":120,"connectStart":121,"connectEnd":208,"secureConnectionStart":145,"requestStart":208,"responseStart":275,"responseEnd":379,"domLoading":278,"domInteractive":2869,"domContentLoadedEventStart":2869,"domContentLoadedEventEnd":2926,"domComplete":3487,"loadEventStart":3487,"loadEventEnd":3490,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"bc19d03b49a9aa","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":145,"dbReadsTimeInMs":19,"dbConnsTimeInMs":26,"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.