And you're saying that also in "aria services show -f" you see that it's NOT SET?
On Fri, Aug 25, 2017 at 5:29 PM, DeWayne Filppi <[email protected]> wrote: > Never mind, figured it out from the code. Here's the simplified template: > > tosca_definitions_version: tosca_simple_yaml_1_0 > > > imports: > - aria-1.0 > > dsl_definitions: > openstack_config: &openstack_config > username: dewayne > > data_types: > config: > properties: > username: > type: string > default: 'NOT SET' > > relationship_types: > subnet_connected_to_router: > derived_from: ConnectsTo > interfaces: > Configure: > add_target: > implementation: connect.sh > inputs: > openstack_config: > type: config > required: true > default: {} > > node_types: > router: > derived_from: tosca.nodes.Root > > subnet: > derived_from: tosca.nodes.Root > requirements: > - router: > capability: tosca.capabilities.Node > node: router > relationship: subnet_connected_to_router > > topology_template: > > node_templates: > > router: > type: router > > subnet: > type: subnet > requirements: > - router: > node: router > relationship: > type: subnet_connected_to_router > interfaces: > Configure: > add_target: > inputs: > openstack_config: *openstack_config > > > There is a script in the same directory referred to "connect.sh": > > #!/bin/sh > > ctx logger info "HERE $openstack_config" > > > When "install" is run, the output of the log statement is "NOT SET" (the > default). Even though I have overridden it (should be "dewayne"). > > > > On Fri, Aug 25, 2017 at 3:06 PM, DeWayne Filppi <[email protected]> > wrote: > > > For the simplified example I need to provide a shell script or python > > script that dumps the inputs passed to the operation impl. Not sure how > > that's done in ARIA. IOW, I don't know how to refer to inputs, and don't > > see any example. > > > > On Fri, Aug 25, 2017 at 2:17 PM, Tal Liron <[email protected]> wrote: > > > >> That you supply where? Override where? What is the error? Sorry DeWayne, > >> very hard for me to follow your explanation. We really need a complete > >> simple example here and the exact errors that you get. > >> > >> On Fri, Aug 25, 2017 at 4:06 PM, DeWayne Filppi <[email protected]> > >> wrote: > >> > >> > Yes, in my case the relationship bewteen the subnet and router > >> (add_target) > >> > is executed properly. The problem is that the "openstack_config" > input > >> > that I supply is not passed as an input. When I run 'aria service > show > >> > -f', it is clear that my override is ignore and default (all empty > >> strings) > >> > is used. > >> > > >> > On Fri, Aug 25, 2017 at 2:02 PM, Tal Liron <[email protected]> wrote: > >> > > >> > > Is my attempt not what you meant? Was your error different? > >> > > > >> > > On Fri, Aug 25, 2017 at 4:01 PM, DeWayne Filppi < > [email protected]> > >> > > wrote: > >> > > > >> > > > OK. You want something not tied to Openstack, probably with just > >> two > >> > > > nodes. Will do. > >> > > > > >> > > > On Fri, Aug 25, 2017 at 1:55 PM, Tal Liron <[email protected]> > wrote: > >> > > > > >> > > > > DeWayne, this is still not very minimal, and I don't understand > >> what > >> > > > "dies" > >> > > > > means. Could you please provide the error? > >> > > > > > >> > > > > Here's my stab at a minimal example, please let me know if it's > >> what > >> > > you > >> > > > > got: > >> > > > > > >> > > > > tosca_definitions_version: tosca_simple_yaml_1_0 > >> > > > > > >> > > > > relationship_types: > >> > > > > > >> > > > > MyRelationship: > >> > > > > interfaces: > >> > > > > Configure: > >> > > > > add_target: > >> > > > > inputs: > >> > > > > my_input: > >> > > > > type: string > >> > > > > > >> > > > > node_types: > >> > > > > > >> > > > > MyNode: > >> > > > > requirements: > >> > > > > - my_requirement: > >> > > > > capability: tosca.capabilities.Container > >> > > > > relationship: MyRelationship > >> > > > > > >> > > > > topology_template: > >> > > > > > >> > > > > node_templates: > >> > > > > my_node: > >> > > > > type: MyNode > >> > > > > requirements: > >> > > > > - my_requirement: > >> > > > > relationship: > >> > > > > interfaces: > >> > > > > Configure: > >> > > > > add_target: > >> > > > > inputs: > >> > > > > my_input: test > >> > > > > > >> > > > > The above gave me this exception: > >> > > > > > >> > > > > AttributeError: 'NoneType' object has no attribute '_name' > >> > > > > File "/home/emblemparade/ariatosca/aria/parser/consumption/ > >> > > > consumer.py", > >> > > > > line 73, in consume > >> > > > > consumer.consume() > >> > > > > File "/home/emblemparade/ariatosca/aria/parser/consumption/ > >> > > > modeling.py", > >> > > > > line 36, in consume > >> > > > > self.context.presentation.presenter._get_model(self. > context) > >> > > > > File "/home/emblemparade/ariatosca/aria/utils/caching.py", > line > >> > 84, > >> > > in > >> > > > > __call__ > >> > > > > return_value = self.func(*args, **kwargs) > >> > > > > File > >> > > > > "/home/emblemparade/ariatosca/extensions/aria_extension_ > >> > > > > tosca/simple_v1_0/presenter.py", > >> > > > > line 82, in _get_model > >> > > > > return create_service_template_model(context) > >> > > > > File > >> > > > > "/home/emblemparade/ariatosca/extensions/aria_extension_ > >> > > > > tosca/simple_v1_0/modeling/__init__.py", > >> > > > > line 123, in create_service_template_model > >> > > > > fix_node_template_model(context, model, node_template) > >> > > > > File > >> > > > > "/home/emblemparade/ariatosca/extensions/aria_extension_ > >> > > > > tosca/simple_v1_0/modeling/__init__.py", > >> > > > > line 209, in fix_node_template_model > >> > > > > requirement)) > >> > > > > File > >> > > > > "/home/emblemparade/ariatosca/extensions/aria_extension_ > >> > > > > tosca/simple_v1_0/modeling/__init__.py", > >> > > > > line 293, in create_requirement_template_model > >> > > > > create_relationship_template_model(context, > service_template, > >> > > > > relationship) > >> > > > > File > >> > > > > "/home/emblemparade/ariatosca/extensions/aria_extension_ > >> > > > > tosca/simple_v1_0/modeling/__init__.py", > >> > > > > line 318, in create_relationship_template_model > >> > > > > relationship.interfaces) > >> > > > > File > >> > > > > "/home/emblemparade/ariatosca/extensions/aria_extension_ > >> > > > > tosca/simple_v1_0/modeling/__init__.py", > >> > > > > line 621, in create_interface_template_models > >> > > > > interface = create_interface_template_model(context, > >> > > > service_template, > >> > > > > interface) > >> > > > > File > >> > > > > "/home/emblemparade/ariatosca/extensions/aria_extension_ > >> > > > > tosca/simple_v1_0/modeling/__init__.py", > >> > > > > line 354, in create_interface_template_model > >> > > > > interface_type = > >> > > > > service_template.interface_types.get_descendant( > >> > interface_type._name) > >> > > > > Validation issues: > >> > > > > 0: 'NoneType' object has no attribute '_name' > >> > > > > AttributeError: 'NoneType' object has no attribute '_name' > >> > > > > > >> > > > > > >> > > > > On Fri, Aug 25, 2017 at 3:28 PM, DeWayne Filppi < > >> [email protected] > >> > > > >> > > > > wrote: > >> > > > > > >> > > > > > tosca_definitions_version: tosca_simple_yaml_1_0 > >> > > > > > > >> > > > > > imports: > >> > > > > > - > >> > > > > > https://raw.githubusercontent.com/cloudify-cosmo/aria- > >> > > > > > extension-cloudify/master/plugins/openstack/plugin.yaml > >> > > > > > - aria-1.0 > >> > > > > > > >> > > > > > dsl_definitions: > >> > > > > > openstack_config: &openstack_config > >> > > > > > username: > >> > > > > > password: > >> > > > > > tenant_name: > >> > > > > > auth_url: > >> > > > > > > >> > > > > > topology_template: > >> > > > > > > >> > > > > > node_templates: > >> > > > > > > >> > > > > > router: > >> > > > > > type: aria.openstack.nodes.Router > >> > > > > > properties: > >> > > > > > external_network: gateway_net > >> > > > > > create_if_missing: true > >> > > > > > resource_id: aria_helloworld_rtr > >> > > > > > interfaces: > >> > > > > > Standard: > >> > > > > > create: > >> > > > > > inputs: > >> > > > > > openstack_config: *openstack_config > >> > > > > > > >> > > > > > network: > >> > > > > > type: aria.openstack.nodes.Network > >> > > > > > properties: > >> > > > > > resource_id: aria_helloworld_network > >> > > > > > create_if_missing: true > >> > > > > > interfaces: > >> > > > > > Standard: > >> > > > > > create: > >> > > > > > inputs: > >> > > > > > openstack_config: *openstack_config > >> > > > > > > >> > > > > > subnet: > >> > > > > > type: aria.openstack.nodes.Subnet > >> > > > > > properties: > >> > > > > > resource_id: aria_helloworld_subnet > >> > > > > > create_if_missing: true > >> > > > > > interfaces: > >> > > > > > Standard: > >> > > > > > create: > >> > > > > > inputs: > >> > > > > > openstack_config: *openstack_config > >> > > > > > requirements: > >> > > > > > - router: > >> > > > > > node: router > >> > > > > > relationship: > >> > > > > > type: aria.openstack.subnet_connected_to_router > >> > > > > > interfaces: > >> > > > > > Configure: > >> > > > > > add_target: > >> > > > > > inputs: > >> > > > > > openstack_config: *openstack_config > >> > > > > > - network: network > >> > > > > > > >> > > > > > Dies in add_target of subnet_connected_to_router because > default > >> > > > (empty) > >> > > > > > openstack_config input being used rather than the override. I > >> > didn't > >> > > > put > >> > > > > > the "implementation" line in because doing so has no effect. > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > On Fri, Aug 25, 2017 at 1:03 PM, Tal Liron <[email protected]> > >> > wrote: > >> > > > > > > >> > > > > > > Could you create a minimal YAML file that demonstrates this > >> > problem > >> > > > so > >> > > > > we > >> > > > > > > can reproduce it? It could be a bug. > >> > > > > > > > >> > > > > > > On Fri, Aug 25, 2017 at 2:48 PM, DeWayne Filppi < > >> > > [email protected] > >> > > > > > >> > > > > > > wrote: > >> > > > > > > > >> > > > > > > > I don't know if this is a clue or not, but I modified the > >> > > > > > > > relationship: aria.openstack.subnet_connected_to_router, > >> in > >> > the > >> > > > > aria > >> > > > > > > > openstack plugin.yaml to require the 'openstack_config' > >> input > >> > for > >> > > > the > >> > > > > > > > Configure.add_target operation (and got rid of the > default). > >> > > > > > Afterwards, > >> > > > > > > > any attempt to validate this: > >> > > > > > > > > >> > > > > > > > subnet: > >> > > > > > > > type: aria.openstack.nodes.Subnet > >> > > > > > > > properties: > >> > > > > > > > resource_id: aria_helloworld_subnet > >> > > > > > > > create_if_missing: true > >> > > > > > > > interfaces: > >> > > > > > > > Standard: > >> > > > > > > > create: > >> > > > > > > > inputs: > >> > > > > > > > openstack_config: { get_input: > >> openstack_config } > >> > > > > > > > requirements: > >> > > > > > > > - router: > >> > > > > > > > node: router > >> > > > > > > > relationship: > >> > > > > > > > type: aria.openstack.subnet_connecte > >> d_to_router > >> > > > > > > > interfaces: > >> > > > > > > > Configure: > >> > > > > > > > add_target: > >> > > > > > > > inputs: > >> > > > > > > > openstack_config: { get_input: > >> > > > > openstack_config } > >> > > > > > > > > >> > > > > > > > Fails with the error : Validation issues: > >> > > > > > > > 4: interface definition "Configure" does not assign a > >> value > >> > to > >> > > a > >> > > > > > > required > >> > > > > > > > operation input "add_target.openstack_config" in > >> "relationship" > >> > > > > > > > > >> > > > > > > > Which is further confirmation that the input isn't seen, > and > >> > > > normally > >> > > > > > the > >> > > > > > > > default gets used (empty strings). I don't see examples > >> > anywhere > >> > > > > that > >> > > > > > > show > >> > > > > > > > how to properly override the interface inside a > relationship > >> > > > inside a > >> > > > > > > > requirement. > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > On Fri, Aug 25, 2017 at 10:57 AM, Tal Liron < > >> [email protected]> > >> > > > wrote: > >> > > > > > > > > >> > > > > > > > > "implementation" is a required field in the TOSCA spec, > so > >> > you > >> > > > must > >> > > > > > > > specify > >> > > > > > > > > it even if it is the same. > >> > > > > > > > > > >> > > > > > > > > On Fri, Aug 25, 2017 at 12:47 PM, DeWayne Filppi < > >> > > > > > [email protected]> > >> > > > > > > > > wrote: > >> > > > > > > > > > >> > > > > > > > > > It appears that this issue *was* fixed by repeating > the > >> > > > > > > implementation > >> > > > > > > > > key > >> > > > > > > > > > in the add_target block. Intuitively, I would expect > >> that > >> > > > > fields I > >> > > > > > > > > didn't > >> > > > > > > > > > override would be untouched, but apparently not. > >> > > > > > > > > > > >> > > > > > > > > > On Thu, Aug 24, 2017 at 4:59 PM, Tal Liron < > >> > [email protected]> > >> > > > > > wrote: > >> > > > > > > > > > > >> > > > > > > > > > > Did you read the wiki? ARIA will send those > specially > >> > > > formatted > >> > > > > > > > > > > dependencies as arguments to the @operation > function. > >> > > > > > > > > > > > >> > > > > > > > > > > It would help to see your complete example, as I > don't > >> > know > >> > > > > what > >> > > > > > > > you're > >> > > > > > > > > > > doing and not doing anymore. Could you throw it > into a > >> > > GitHub > >> > > > > > repo > >> > > > > > > > > > perhaps? > >> > > > > > > > > > > > >> > > > > > > > > > > On Thu, Aug 24, 2017 at 6:53 PM, DeWayne Filppi < > >> > > > > > > [email protected] > >> > > > > > > > > > >> > > > > > > > > > > wrote: > >> > > > > > > > > > > > >> > > > > > > > > > > > 'dependencies' is a child of implementation in the > >> > spec. > >> > > > I > >> > > > > > > don't > >> > > > > > > > > > think > >> > > > > > > > > > > > it's going to do anything for me anyway. I just > >> want > >> > to > >> > > > pass > >> > > > > > > > > > > > openstack_config to the add_target operation as > >> inputs. > >> > > > > > > > > > > > > >> > > > > > > > > > > > On Thu, Aug 24, 2017 at 4:28 PM, Tal Liron < > >> > > > [email protected]> > >> > > > > > > > wrote: > >> > > > > > > > > > > > > >> > > > > > > > > > > > > What is the error? > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > On Thu, Aug 24, 2017 at 6:22 PM, DeWayne Filppi > < > >> > > > > > > > > [email protected] > >> > > > > > > > > > > > >> > > > > > > > > > > > > wrote: > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > actually "dependencies" fails validation. > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > On Thu, Aug 24, 2017 at 4:08 PM, Tal Liron < > >> > > > > > [email protected]> > >> > > > > > > > > > wrote: > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > Oops, sorry, this is the syntax: > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > interfaces: > >> > > > > > > > > > > > > > > Configure: > >> > > > > > > > > > > > > > > add_target: > >> > > > > > > > > > > > > > > primary: my_script.sh > >> > > > > > > > > > > > > > > dependencies: > >> > > > > > > > > > > > > > > - "openstack_config > { get_input: > >> > > > > > openstack_config > >> > > > > > > > }" > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > On Thu, Aug 24, 2017 at 6:00 PM, Tal Liron < > >> > > > > > > [email protected]> > >> > > > > > > > > > > wrote: > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > A few syntax problems: > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > 1. It looks like you don't have any > >> operation > >> > > > > > > > implementation, > >> > > > > > > > > > > which > >> > > > > > > > > > > > > is > >> > > > > > > > > > > > > > a > >> > > > > > > > > > > > > > > > required field. (What do you expect the > >> inputs > >> > to > >> > > > be > >> > > > > > sent > >> > > > > > > > > to?) > >> > > > > > > > > > > > > > > > 2. Also, you are not naming the input. It > >> > should > >> > > be > >> > > > > > > > "inputs: > >> > > > > > > > > { > >> > > > > > > > > > > > > > > > my_input_name: { get_input: > >> openstack_config } > >> > }" > >> > > > > > > > > > > > > > > > 3. But #2 won't work because you can't > just > >> add > >> > > > > inputs > >> > > > > > in > >> > > > > > > > > this > >> > > > > > > > > > > > case, > >> > > > > > > > > > > > > > > > because they are not declared at the > >> interface > >> > > > type. > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > Assuming you do have an implementation, > you > >> > could > >> > > > you > >> > > > > > try > >> > > > > > > > > > passing > >> > > > > > > > > > > > it > >> > > > > > > > > > > > > > > using > >> > > > > > > > > > > > > > > > execution configuration: > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > https://cwiki.apache.org/ > >> > > > > confluence/display/ARIATOSCA/ > >> > > > > > > > > > > > > > > > Execution+Configuration > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > Try something like this: > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > interfaces: > >> > > > > > > > > > > > > > > > Configure: > >> > > > > > > > > > > > > > > > add_target: > >> > > > > > > > > > > > > > > > primary: my_script.sh > >> > > > > > > > > > > > > > > > dependencies: > >> > > > > > > > > > > > > > > > - openstack_config: { get_input: > >> > > > > > > openstack_config } > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > On Thu, Aug 24, 2017 at 5:49 PM, DeWayne > >> > Filppi < > >> > > > > > > > > > > > [email protected] > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > wrote: > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> In the ARIA usage of the plugin, I need > to > >> > pass > >> > > > > > > > > > openstack_config > >> > > > > > > > > > > > > > > >> explicitly > >> > > > > > > > > > > > > > > >> to every operation. Since the > >> relationships > >> > are > >> > > > > > > implicit, > >> > > > > > > > > how > >> > > > > > > > > > > do > >> > > > > > > > > > > > I > >> > > > > > > > > > > > > > > >> accomplish this? Currently I get errors > >> when > >> > > > trying > >> > > > > > to > >> > > > > > > > > > connect > >> > > > > > > > > > > a > >> > > > > > > > > > > > > > subnet > >> > > > > > > > > > > > > > > >> to > >> > > > > > > > > > > > > > > >> a router. I've tried overriding the > >> > > relationship > >> > > > > > like > >> > > > > > > > so: > >> > > > > > > > > > > > > > > >> > >> > > > > > > > > > > > > > > >> subnet: > >> > > > > > > > > > > > > > > >> type: aria.openstack.nodes.Subnet > >> > > > > > > > > > > > > > > >> properties: > >> > > > > > > > > > > > > > > >> resource_id: > aria_helloworld_subnet > >> > > > > > > > > > > > > > > >> create_if_missing: true > >> > > > > > > > > > > > > > > >> interfaces: > >> > > > > > > > > > > > > > > >> Standard: > >> > > > > > > > > > > > > > > >> create: > >> > > > > > > > > > > > > > > >> inputs: > >> > > > > > > > > > > > > > > >> openstack_config: { > >> get_input: > >> > > > > > > > > openstack_config > >> > > > > > > > > > } > >> > > > > > > > > > > > > > > >> requirements: > >> > > > > > > > > > > > > > > >> - router: > >> > > > > > > > > > > > > > > >> node: router > >> > > > > > > > > > > > > > > >> relationship: > >> > > > > > > > > > > > > > > >> type: > aria.openstack.subnet_ > >> > > > > > > > > connected_to_router > >> > > > > > > > > > > > > > > >> interfaces: > >> > > > > > > > > > > > > > > >> Configure: > >> > > > > > > > > > > > > > > >> add_target: > >> > > > > > > > > > > > > > > >> inputs: { get_input: > >> > > > > > > openstack_config > >> > > > > > > > } > >> > > > > > > > > > > > > > > >> - network: network > >> > > > > > > > > > > > > > > >> > >> > > > > > > > > > > > > > > >> Note the router requirement. Does this > >> syntax > >> > > > look > >> > > > > > > > correct? > >> > > > > > > > > > > > > Spoiler: > >> > > > > > > > > > > > > > > >> openstack_config never makes it to the > >> plugin. > >> > > > > > > > > > > > > > > >> > >> > > > > > > > > > > > > > > >> DeWayne > >> > > > > > > > > > > > > > > >> > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > > > > >
