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