ariatosca-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tal Liron <...@cloudify.co>
Subject Re: subnet connected to router
Date Fri, 25 Aug 2017 18:07:31 GMT
Generally the TOSCA spec is very weak in clearly defining what happens
during inheritance, especially concerning polymorphism. What fields get
inherited? What limitations exist for overriding types and values?

I am hoping to have time in the future to sit down and write a whole
chapter called "Inheritance and Polymorphism" as a contribution to the
spec. In ARIA, at least, we try to work within the required syntax while
still validating the deeper the grammar. I'm working right now on a test
suite for these things.

On Fri, Aug 25, 2017 at 1:03 PM, DeWayne Filppi <dewayne@cloudify.co> wrote:

> Pity.  I guess the stock answer is "if you want to hide such details,
> create your own type".
>
> On Fri, Aug 25, 2017 at 10:57 AM, Tal Liron <tal@cloudify.co> 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 <dewayne@cloudify.co>
> > 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 <tal@cloudify.co> 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 <dewayne@cloudify.co
> >
> > > > 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 <tal@cloudify.co>
> wrote:
> > > > >
> > > > > > What is the error?
> > > > > >
> > > > > > On Thu, Aug 24, 2017 at 6:22 PM, DeWayne Filppi <
> > dewayne@cloudify.co
> > > >
> > > > > > wrote:
> > > > > >
> > > > > > > actually "dependencies" fails validation.
> > > > > > >
> > > > > > > On Thu, Aug 24, 2017 at 4:08 PM, Tal Liron <tal@cloudify.co>
> > > 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 <tal@cloudify.co>
> > > > 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
<
> > > > > dewayne@cloudify.co
> > > > > > >
> > > > > > > > > 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
> > > > > > > > >>
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message