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_connected_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 > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
