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

Reply via email to