Re: First Podcast

2017-11-23 Thread Avia Efrat
Maybe something like
ARIA and TOSCA Podcast - ep01 - Introduction

In addition, create a Youtube playlist for the podcasts.

On Thu, Nov 23, 2017 at 2:54 PM, Thomas Nadeau <tnadeaua...@gmail.com>
wrote:

>
> Fine with me. Thoughts, ideas and suggestions are welcome! *)
>
> —Tom
>
>
> > On Nov 23, 2017, at 3:33 AM, Avia Efrat <a...@cloudify.co> wrote:
> >
> > And maybe make the video name a little bit more descriptive and
> appealing =)
> >
> > On Nov 21, 2017 13:46, "Thomas Nadeau" <tnad...@lucidvision.com> wrote:
> >
> >> Thanks for the correction!
> >>
> >>> On Nov 20, 2017, at 4:52 PM, Miguel Angel Jimenez Achinte <
> >> mig...@rigiresearch.com> wrote:
> >>>
> >>> Hi Tom,
> >>> The correct link is: https://www.youtube.com/watch?v=nZH-Fuo-b7M
> >>>
> >>> Miguel
> >>>
> >>> --
> >>> Miguel Jimenez, PhD student
> >>> Department of Computer Science
> >>> University of Victoria
> >>> Engineering/Computer Science Building (ECS), Room 412
> >>> Victoria, BC
> >>> V8W 3p6 Canada
> >>>
> >>> On Mon, Nov 20, 2017 at 1:50 PM, Thomas Nadeau <tnadeaua...@gmail.com>
> >>> wrote:
> >>>
> >>>>
> >>>>   Hi folks:
> >>>>
> >>>>   Tal and I took a swipe at the project’s first podcast.  This
> >>>> is the link to the podcast:
> >>>>
> >>>> https://www.youtube.com/edit?video_id=nZH-Fuo-b7M <
> >>>> https://www.youtube.com/edit?video_id=nZH-Fuo-b7M>
> >>>>
> >>>>   We plan to do these on some cadence that works with
> >>>> intertwining this with the dev work that is underway. If you have
> >>>> ideas and/or would like to participate, by all means please
> >>>> get in touch with me as we’d love to have you!
> >>>>
> >>>>   —Tom
> >>>>
> >>>>
> >>>>
> >>
> >>
>
>


Re: operation dependencies

2017-11-23 Thread Avia Efrat
Never mind, I already got an answer from the spec =)

On Wed, Nov 22, 2017 at 6:29 PM, Tal Liron <t...@cloudify.co> wrote:

> Less cumbersome, sure. But it also breaks the object-oriented contract.
>
> Imagine this situation: a third party develops a powerful node type (let's
> say: a virtual router) with many well-defined and polished operations on
> custom interfaces (with their own types), custom workflows for various
> advanced features, and even comes with custom ARIA-based tooling for
> real-time analysis and monitoring.
>
> Someone can come along and create a node template based on this node type
> that changes the operation inputs. For this to work properly, that someone
> *should* also provide a new operation implementation that would deal with
> these different inputs. But, these inputs must be sent for this to work: so
> the custom workflows must also be changed, as well as the custom tooling.
> And if new tools come along from that that third party, they will not work.
>
> Object-oriented is cumbersome, sure. :) But that's also the design
> principle of TOSCA, and this is a case that breaks it. We either want our
> node types to have extensible contracts, or allow them to have breakable
> contracts. It doesn't make sense to me to be somewhere in between:
> strictness should be all the way.
>
> Finally, I don't understand this question:
>
> On Wed, Nov 22, 2017 at 7:21 AM, Avia Efrat <a...@cloudify.co> wrote:
>
> > By the way, do you see a way of not being able to derive the value of an
> > intrinsic function's 'result'? (I know it is not currently supported)
> >
>


Re: First Podcast

2017-11-23 Thread Avia Efrat
And maybe make the video name a little bit more descriptive and appealing =)

On Nov 21, 2017 13:46, "Thomas Nadeau"  wrote:

> Thanks for the correction!
>
> > On Nov 20, 2017, at 4:52 PM, Miguel Angel Jimenez Achinte <
> mig...@rigiresearch.com> wrote:
> >
> > Hi Tom,
> > The correct link is: https://www.youtube.com/watch?v=nZH-Fuo-b7M
> >
> > Miguel
> >
> > --
> > Miguel Jimenez, PhD student
> > Department of Computer Science
> > University of Victoria
> > Engineering/Computer Science Building (ECS), Room 412
> > Victoria, BC
> > V8W 3p6 Canada
> >
> > On Mon, Nov 20, 2017 at 1:50 PM, Thomas Nadeau 
> > wrote:
> >
> >>
> >>Hi folks:
> >>
> >>Tal and I took a swipe at the project’s first podcast.  This
> >> is the link to the podcast:
> >>
> >> https://www.youtube.com/edit?video_id=nZH-Fuo-b7M <
> >> https://www.youtube.com/edit?video_id=nZH-Fuo-b7M>
> >>
> >>We plan to do these on some cadence that works with
> >> intertwining this with the dev work that is underway. If you have
> >> ideas and/or would like to participate, by all means please
> >> get in touch with me as we’d love to have you!
> >>
> >>—Tom
> >>
> >>
> >>
>
>


Re: operation dependencies

2017-11-22 Thread Avia Efrat
I think keeping the ability to accept ad-hoc inputs (at least for now) is a
good idea =). This will (among other thing) make the job of writing custom
service template less cumbersome. Just mentioning again that this is the
place I see a possible justification for ad-hoc 'additions', as we don't
have an operation type, in contrast to other entities.

the suggestion of 'cfg' is only valid if we enable ad-hoc inputs, so if at
the end we will drop this support, I don't think 'cfg' is a good idea.

By the way, do you see a way of not being able to derive the value of an
intrinsic function's 'result'? (I know it is not currently supported)

On Thu, Nov 9, 2017 at 9:02 PM, Tal Liron <t...@cloudify.co> wrote:

> Thanks for keeping the discussion going, Avia.
>
> Yeah, I do not think that my interpretation is rock solid at all and it's
> definitely forced. It's not hard to find examples in the spec that
> contradict my interpretation, but also there are others that contradict the
> opposite. I think we can all agree at least that the TOSCA spec writers did
> not pin down this topic well enough so it's necessary for us to fill in the
> gaps. I'm still sure that my interpretation is the most inherently correct
> because it preserves the OOP base contract. If we allow ad-hoc inputs we
> are making it that much harder to inherit existing node types while
> expecting their existing implementations to continue working. If we allow
> ah-hoc inputs, why not go ahead and allow a complete free-for-all here and
> allow dynamic monkey patching of derived types? (This is actually what the
> NFV csd04 profile is trying to do: "deprecate" parts of
> tosca.nodes.Compute, which of course will break tooling that relies on that
> contract.) The whole point of having type derivation in TOSCA seems to be
> to allow reuse of tools, and I insist that is especially true for operation
> inputs.
>
> Your idea of supporting a "cfg" (or similar) input in ARIA is something we
> considered. (I don't think it's something we will have in the ARIA profile,
> because we need it supported by *all* operations, including the normative
> ones, and including custom ones created by template writers: so it would be
> have to be hardcoded support in the ARIA codebase.) However, the problem
> with this idea is that non-ARIA TOSCA parsers will fail. The whole idea of
> using the "dependencies" hack was to allow such templates to at least parse
> successfully with other parsers. Their are pros and cons to each approach,
> though, and I'm open to reopening this.
>
> By the way, the next commit to ARIA adds a configuration option for the
> parser: whether to support "ad-hoc inputs" or not. The default is to allow
> them: something that as you know I am very reluctant to do, but feel we
> have no choice at present. But, to do this properly, I think we need to
> also find a way to preserve the type in intrinsic functions, as mentioned
> in this discussion. It would still leave cases where it's possible to have
> type-less inputs, but I guess that's just how it is right now.
>
> [as for the side note: there are *lots* of bugs in the included TOSCA
> examples, including outright typos, so it's hard to consider them as
> canonical...]
>
>
> On Sat, Nov 4, 2017 at 9:26 AM, Avia Efrat <a...@cloudify.co> wrote:
>
> > ​​​I know this is an old thread, but since this is an important issue
> (and
> > I'm doing a review of old and interesting mails), I thought I'll take a
> > shot at a reply.
> >
> > I'm not relying on one example in the spec. actually, we can see that
> > inputs are defined under the normative "Standard" and "Configure"
> > interfaces and their operations many time throughout the spec. Isn't the
> > fact that inputs are assigned to interfaces and operations that do not
> have
> > the corresponding definition, in addition to the sentence from
> [3.5.13.3],
> > in addition to the interfaces being are the only entities in TOSCA that
> do
> > not have explicit distinction between definition and assignment enough to
> > suggest that this may have been intentional?
> >
> > These usages of untyped inputs are still there in v1.2, and
> unfortunately,
> > artifact definitions still do not have a properties-like field.
> >
> > I liked your idea suggesting that "untyped" inputs get their type
> > definition from the intrinsic functions, that seems to settle between the
> > unusualness of interface definitions, and the fact that TOSCA gives us
> the
> > notion that assignment should be derived from a definition. This could
> also
> > be a (temporary?) solution to the lack of "operation type" concep

Re: ariatosca.org sync with git repo: ARIA-400

2017-11-06 Thread Avia Efrat
I prefer option 1.
But we should take into consideration different README/getting-started for
different ARIA versions. Although if we plan to stabilize the API after the
1.0 release, this is less of an issue.

On Fri, Oct 27, 2017 at 1:14 AM, Vishwanath Jayaraman <
vishwana...@hotmail.com> wrote:

> I like option 1
>
> Sent from my iPhone
>
> On Oct 26, 2017, at 3:38 PM, Thomas Nadeau > wrote:
>
>
>I wanted to ask peoples’ opinions on this issue.
>
>A little background: after 3 people have come to the project fresh, and
> tried to
> get up and running, they all encountered difficulty with the instructions
> for building
> and setup of the project.  To this end, Vish and I took on the tasks
> related to
> getting this repaired.
>
>The first subtask I took on was ARIA-400. After investigating this
> subtask
> which relates to synchronization of the specific getting started
> information,
> I looked into how the ariatosca.org <
> http://ariatosca.org/> site is built and how it relates to
> the main code repo.
>
>For reference, there are two GitHub repos in question are:
>
> This is a mirror of apache’s repo for the code of the project:
>
> https://github.com/apache/incubator-ariatosca  incubator-ariatosca>
>
> This is a set of self-contained, Jekyll/static web pages.  These are
> reflected (i.e.: copied)
> over to the apache site when PRs are merged:
>
> https://github.com/apache/incubator-ariatosca-website <
> https://github.com/apache/incubator-ariatosca-website>
>
>
> The problem I discovered is that the contents of the main README file:
>
> https://github.com/apache/incubator-ariatosca/blob/master/README.rst <
> https://github.com/apache/incubator-ariatosca/blob/master/README.rst>
>
>has been manually synchronized with its corresponding
> file on the *-website:
>
> https://github.com/apache/incubator-ariatosca-website/
> blob/master/gettingstarted.md  incubator-ariatosca-website/blob/master/gettingstarted.md>
>
>So what has happened over time, is that these two files have
> effectively diverged, and require some manual intervention.  I looked into
> options
> for doing auto-sync after PRs are pushed to either repo (both have CI
> processes
> setup), but I think that a simpler solution is to simply have either of
> the files
> refer to the other, effectively keeping on as the “master of record”.  In
> summary,
> these are the options, so I’d like to get some feedback before taking
> action on
> this:
>
>1) Make the incubator-ariatosca/README.rst point at the file that is on
>the incubator-ariatosca-website/gettingstarted.md (and others).
>
>Put comments instructing anyone wishing to modify the README.rst
> file
>to push changes into the other file/s.
>
>2) The inverse of 1.
>
>
>
>My preference would be for 1
>
>Thanks,
>
>—Tom
>
>
>
>
>
>


Re: operation dependencies

2017-11-04 Thread Avia Efrat
ng an intrinsic function, which could
> carry the type with it... but nowhere in the spec is any mechanism like
> that explained. Many of the examples in the TOSCA spec are wrong or
> incomplete, too, so I wouldn't be shocked if this one is wrong as well.
>
> Anyway, none of this addresses the core issue in my opinion, which I keep
> returning to: these kinds of parameters we add here -- SSH user, password,
> etc. -- are meant as *directives to our execution plugin*, conceptually
> very different from operation inputs. Mixing them together is confusing
> (what do you do with name overlaps?) as well as a major security concern.
> These two kinds of values simply should not be mixed together. Indeed, in
> TOSCA 1.2 they might end up being artifact properties.
>
>
> On Mon, Sep 11, 2017 at 11:25 AM, Avia Efrat <a...@cloudify.co> wrote:
>
> > In contrary to most of the TOSCA entities, TOSCA does not differentiate
> > between 'definition' and 'assignment' in the context of operations. There
> > are only "operation definitions" [3.5.13]. Logically, there is a partial
> > differentiation [3.5.13.1], where inputs in node type operations are
> > expected to be property definitions, and inputs in node template
> operation
> > are expected to be property assignments (which are actual value
> > assignments). Both of these options are listed under "operation
> > definition".
> >
> > Under [3.5.13.3] it is explicitly stated that
> > "Template authors MAY provide property *assignments* on operation inputs
> on
> > *templates* that do not necessarily have a property definition defined in
> > its corresponding type." (my emphasis)
> >
> > That is, from this paragraph, I think that it is clear that you can
> define
> > operation inputs in node templates (level #3) without them being defined
> in
> > the node template's type. In fact, [2.14.2] is an example of doing just
> > that. And out parser treats such a syntax as valid, see:
> > https://github.com/apache/incubator-ariatosca/blob/
> > master/tests/parser/test_tosca_simple_v1_0/test_end2end.py#L73
> >
> > Me thinking it was a good idea to construct TOSCA that way is another
> thing
> > =)
> >
> > On Mon, Sep 11, 2017 at 6:35 PM, Tal Liron <t...@cloudify.co> wrote:
> >
> > > Feel free to change the wiki, Ran, to whatever name you find
> appropriate.
> > >
> > > I think what Avia discovered is not new to us and actually doesn't
> solve
> > > the problem, unfortunately. Let me go over what is clearly allowed and
> > not
> > > allowed in TOSCA, confusing because there are a few levels of
> inheritance
> > > here.
> > >
> > > 1. Interface types. Obviously, you are allowed to inherit an interface
> > type
> > > and add or override inputs. (ARIA insists that overridden input types
> be
> > > derived from what it is they are overriding, too, to keep the OO
> contract
> > > intact.)
> > >
> > > 2. Node types. In the "interfaces" section you can define several
> > > interfaces of various types. Here, again, TOSCA lets you add/override
> > > inputs. Though note here that the line of inheritance is quite complex:
> > you
> > > can override inputs from the interface type, but *also* from the parent
> > > node type. (ARIA here has to do some work to make sure that you are
> doing
> > > it all OK and not breaking the OO contract, it's a rather complex part
> of
> > > the parser code.)
> > >
> > > I think the above is what Avia discovered. However, the third level is
> > > locked to us:
> > >
> > > 3. Node templates. Unfortunately, here we can not add inputs ad hoc.
> The
> > > "interfaces" section here is not the same DSL format as those above: it
> > is
> > > operation *assignments* rather than operation *definitions*. When you
> > > assign input values here, they are validated against the defined types.
> > It
> > > would make no sense in TOSCA to just assign values without a type.
> > >
> > > So, because we can't add inputs at level #3, we still have a problem:
> we
> > > would have to derive new node types for every type of execution. SSH
> > would
> > > require its own node types, Juju would require its own node types,
> Puppet
> > > would require its own node types, etc. And that's for *all* your node
> > > types. This seems extremely un-scalable.
> > >
> > > But also, as I try to explain in the wiki page, I ins

Re: Node Template Substitution

2017-10-17 Thread Avia Efrat
There are plans to extend substitution mappings support to TOSCA 1.2, just
as any other change/improvement in the 1.2 profile.

A CSAR with one 'main' service template and other service templates will be
stored as one service template, and will have one unique name.

The design doc:
https://drive.google.com/open?id=19nPjSj6mJyXWd4KLxPqRNp_TPqLpvXjzj98NXrAmcjc

Additional v1.2 issues (a non-exhaustive list):
https://docs.google.com/document/d/18yZC8qIWMbWBeULOzmLTT_oVrZXQ3z4030U6JIXdJ84/edit


On Sat, Oct 14, 2017 at 2:10 AM, Steve Baillargeon <
steve.baillarg...@ericsson.com> wrote:

> Hi Avia
> One more question.
>
> Say we have a CSAR that contains multiple TOSCA YAML files e.g. a
> top-level ST and a bunch of low-level STs.
> I am assuming all those TOSCA service templates (all of them have a full
> topology section) will be stored as a single “service-template” in ARIA and
> a single unique name is needed to represent such single “service-template”
> composed of multiple topologies.
> Is this correct?
>
> -Steve
>
> -Original Message-
> From: Steve Baillargeon
> Sent: Wednesday, October 11, 2017 11:29 AM
> To: dev@ariatosca.incubator.apache.org
> Subject: RE: Node Template Substitution
>
> Hi Avia
> Is it possible to review the design documentation for it?
> Do you have a doc or a few notes describing how ARIA will perform "best
> matching" based on YAML 1.0/1.1 profile?
>
> The full support for NFV Profile 1.0 requires Node Template Substitution
> defined in YAML 1.2 profile.
> Any future plans for ARIA to extend Node Template Substitution as defined
> in YAML 1.2 profile ?
>
> Regards
> Steve B
>
> -Original Message-
> From: Arthur Berezin [mailto:art...@cloudify.co]
> Sent: Tuesday, October 10, 2017 12:20 PM
> To: dev@ariatosca.incubator.apache.org
> Subject: Re: Node Template Substitution
>
> Avia, can you please post a link to the design?  thanks
>
> On Mon, Oct 9, 2017 at 5:14 PM Avia Efrat <a...@cloudify.co> wrote:
>
> > Currently the design is finished, and it is on a small hold for now.
> > The plan is to support the 1.0/1.1 profile.
> >
> > On Wed, Oct 4, 2017 at 7:50 PM, Steve Baillargeon <
> > steve.baillarg...@ericsson.com> wrote:
> >
> > > Hi
> > > Can we have a status update on the availability of the Node Template
> > > Substitution feature (aka substitution mappings)?
> > > Will it support the "capabilities" defined in YAML Profile 1.0 or
> > > YAML Profile 1.2?
> > >
> > > Regards
> > > Steve B
> > >
> > >
> >
>


Re: Node Template Substitution

2017-10-09 Thread Avia Efrat
Currently the design is finished, and it is on a small hold for now.
The plan is to support the 1.0/1.1 profile.

On Wed, Oct 4, 2017 at 7:50 PM, Steve Baillargeon <
steve.baillarg...@ericsson.com> wrote:

> Hi
> Can we have a status update on the availability of the Node Template
> Substitution feature (aka substitution mappings)?
> Will it support the "capabilities" defined in YAML Profile 1.0 or YAML
> Profile 1.2?
>
> Regards
> Steve B
>
>


Re: operation dependencies

2017-09-11 Thread Avia Efrat
In contrary to most of the TOSCA entities, TOSCA does not differentiate
between 'definition' and 'assignment' in the context of operations. There
are only "operation definitions" [3.5.13]. Logically, there is a partial
differentiation [3.5.13.1], where inputs in node type operations are
expected to be property definitions, and inputs in node template operation
are expected to be property assignments (which are actual value
assignments). Both of these options are listed under "operation
definition".

Under [3.5.13.3] it is explicitly stated that
"Template authors MAY provide property *assignments* on operation inputs on
*templates* that do not necessarily have a property definition defined in
its corresponding type." (my emphasis)

That is, from this paragraph, I think that it is clear that you can define
operation inputs in node templates (level #3) without them being defined in
the node template's type. In fact, [2.14.2] is an example of doing just
that. And out parser treats such a syntax as valid, see:
https://github.com/apache/incubator-ariatosca/blob/master/tests/parser/test_tosca_simple_v1_0/test_end2end.py#L73

Me thinking it was a good idea to construct TOSCA that way is another thing
=)

On Mon, Sep 11, 2017 at 6:35 PM, Tal Liron <t...@cloudify.co> wrote:

> Feel free to change the wiki, Ran, to whatever name you find appropriate.
>
> I think what Avia discovered is not new to us and actually doesn't solve
> the problem, unfortunately. Let me go over what is clearly allowed and not
> allowed in TOSCA, confusing because there are a few levels of inheritance
> here.
>
> 1. Interface types. Obviously, you are allowed to inherit an interface type
> and add or override inputs. (ARIA insists that overridden input types be
> derived from what it is they are overriding, too, to keep the OO contract
> intact.)
>
> 2. Node types. In the "interfaces" section you can define several
> interfaces of various types. Here, again, TOSCA lets you add/override
> inputs. Though note here that the line of inheritance is quite complex: you
> can override inputs from the interface type, but *also* from the parent
> node type. (ARIA here has to do some work to make sure that you are doing
> it all OK and not breaking the OO contract, it's a rather complex part of
> the parser code.)
>
> I think the above is what Avia discovered. However, the third level is
> locked to us:
>
> 3. Node templates. Unfortunately, here we can not add inputs ad hoc. The
> "interfaces" section here is not the same DSL format as those above: it is
> operation *assignments* rather than operation *definitions*. When you
> assign input values here, they are validated against the defined types. It
> would make no sense in TOSCA to just assign values without a type.
>
> So, because we can't add inputs at level #3, we still have a problem: we
> would have to derive new node types for every type of execution. SSH would
> require its own node types, Juju would require its own node types, Puppet
> would require its own node types, etc. And that's for *all* your node
> types. This seems extremely un-scalable.
>
> But also, as I try to explain in the wiki page, I insist that these kinds
> of configuration parameters are essentially not the same as operation
> inputs. They are not meant to be used by the operation itself (script,
> charm, recipe, etc.), rather by the mechanism that executes the operation
> (SSH, Juju, Puppet, etc.). Especially I point out the security hole: you
> don't want an SSH password exposed and sent over the wire to the script
> itself. It is simply not an input.
>
> By the way, it seems that there's some acknowledgement by other folk in
> OASIS about this gap in TOSCA, and there's an interest to use artifact
> types in TOSCA 1.2 as a way to solve this problem. I don't think it's a bit
> awkward, but at least there will be a standard solution.
>
>
> On Sun, Sep 10, 2017 at 2:13 AM, Ran Ziv <r...@cloudify.co> wrote:
>
> > Avia's mentioned at one point that we might have misunderstood the spec
> at
> > this section, and that in fact it can be possible to pass arbitrary
> inputs
> > into operations regardless of the interface definition - which would mean
> > this notion of  "configuration" might be unnecessary.
> >
> > Also, note that the doc page is talking about "executors", which is
> > confusing as that's a different concept in ARIA (see the base executor
> > class); Supposedly up until now we've simply called these "operation
> > plugins".
> >
> >
> > On Sat, Sep 9, 2017 at 1:43 AM, Tal Liron <t...@cloudify.co> wrote:
> >
> > > Yes:
> > > https://cwiki.apache.org/confluence/

Substitution Mappings Property Mappings in TOSCA v1.2

2017-09-11 Thread Avia Efrat
I'm not sure I see a use case of the new properties field that is newly
defined under substitution_mappings in v1.2.

The description is:

"A property mapping allows to map the property of a substituted node type
to a property definition or value (mapped as a constant value property
definition) within the topology template.

A property mapping may refer to an input of the topology, to the property
of a node template in the topology or be assigned to a constant value."


So, as it seems, it allows to assign values, within the substitution
template, to properties defined in the substitution type.

In v1.0 and v1.1, the only use of substitution type properties was in the
top-level template, where the properties (that were defined in the
substitution node type) were assigned values. These values were passed as
inputs during the instantiation of the substituting template.


The only usage of these properties was during the substituting template
instantiating. These properties weren't 'real' in the sense of regular node
properties. The substitutable node isn't a real node in the sense that it
is not instantiated in itself, but only the nodes that it represents.


TOSCA v1.2 introduced the notion of property mapping in substitution
mappings, similar to the notions of capability and requirement mappings in
v1.0.


But, why should we use this property mapping ability, if the only thing
substitution_mappings properties are used for is a medium to transfer input
values?


Re: Support for TOSCA Simple Profile NFV 1.0

2017-09-11 Thread Avia Efrat
We indeed removed tosca.capabilities.nfv.VirtualStorage requirement from
the VDU.Compute node since this capability is not defined in csd04, but is
just mentioned by name.

The VirtualLinkable capability was in csd03, but removed from the TOSCA
spec in csd04. It seems as a leftover from csd03 that the authors didn't
properly removed all of its mentions. Regarding the reasoning behind this
decision, see the last paragraph of the email.

tosca.relationships.nfv.VirtualLinksTo was in csd03, but removed in csd04.
tosca.relationships.nfv.VDU.AttachedTo wasn't even in csd03.

One might wonder (and indeed you wondered) how to deal with all the missing
parts and inconsistencies throughout the TOSCA NFV specification. The
answer, simply put, is that this is a work in progress, still on a draft
level. A lot of effort is invested currently in TOSCA around the questions
of creating a NFV profile that combines 'naturally' with the simple TOSCA
profile. This is quite an intricate task to be honest. You can try to
contact the authors of the NFV profile for questions and possible
participation.


On Mon, Sep 11, 2017 at 4:35 PM, D Jayachandran <d.jayachand...@ericsson.com
> wrote:

> HI Avia,
>
>
>
> I had to post these questions but it took sometime for me.
>
>
>
> With the csd04, I could not see the below capabilities in the spec
>
>
>
> - tosca.capabilities.nfv.VirtualStorage
>
> - tosca.capabilities.nfv.VirtualLinkable
>
>
>
> I think since the capability " tosca.capabilities.nfv.VirtualStorage" is
> missing, you had removed the requirement for "virtual_storage" for a
> VDU.Compute node.
>
> Capability "tosca.capabilities.nfv.VirtualLinkable" is one of the
> requirement "virtual_link" for the node type VduCpd. I see this requirement
> is commented in the node type. Is this a common understanding that the
> VduCpd wont have a requirement on a virtual link ? I believe a VduCpd has
> requirement on both Compute and Virtual link as mentioned in the spec.
>
>
>
>
>
> Also these 2 relationships are missing too from the spec
>
>
>
> - tosca.relationships.nfv.VirtualLinksTo ( Relationship
> of VduCpd with a virtual link )
>
> - tosca.relationships.nfv.VDU.AttachedTo ( Relantionship
> required for virtual storage with compute node)
>
>
>
>
>
> How to address the missing parts from the spec ?
>
>
>
> Regards,
>
> DJ
>
>
>
> -Original Message-
> From: Avia Efrat [mailto:a...@gigaspaces.com]
> Sent: Tuesday, June 13, 2017 2:59 AM
> To: dev@ariatosca.incubator.apache.org
> Subject: Re: Support for TOSCA Simple Profile NFV 1.0
>
>
>
> Hi DJ,
>
>
>
> Just updating that the pull request was merged.
>
>
>
> Note that there are some inconsistencies in csd04, so if you have any
> questions regarding our reasoning in resolving them, feel encouraged to ask.
>
>
>
> On Wed, Jun 7, 2017 at 10:09 AM, D Jayachandran <
> d.jayachand...@ericsson.com
>
> > wrote:
>
>
>
> > Thanks for the update Avia.
>
> >
>
> > Regards,
>
> > DJ
>
> >
>
> > -Original Message-
>
> > From: Avia Efrat [mailto:a...@gigaspaces.com]
>
> > Sent: Wednesday, June 07, 2017 3:03 AM
>
> > To: dev@ariatosca.incubator.apache.org<mailto:dev@
> ariatosca.incubator.apache.org>
>
> > Subject: Re: Support for TOSCA Simple Profile NFV 1.0
>
> >
>
> > Hi DJ,
>
> >
>
> > I've created a pull request for the issue that Tal opened:
>
> > https://github.com/apache/incubator-ariatosca/pull/147
>
> > I expect it to be merged on Thursday/Friday.
>
> >
>
> > On Thu, Jun 1, 2017 at 7:02 PM, Tal Liron <t...@gigaspaces.com<mailto:tal
> @gigaspaces.com>> wrote:
>
> >
>
> > > Thanks DJ, I opened a new JIRA issue for this if you want to track it:
>
> > >
>
> > > https://issues.apache.org/jira/browse/ARIA-275
>
> > >
>
> > > It shouldn't be too hard to do, just some busy work in YAML. Anyone
>
> > > on the mailing list want to tackle this?
>
> > >
>
> > > On Thu, Jun 1, 2017 at 4:53 AM, D Jayachandran <
>
> > > d.jayachand...@ericsson.com<mailto:d.jayachand...@ericsson.com>>
>
> > > wrote:
>
> > >
>
> > > > Hi,
>
> > > >
>
> > > > I hope ARIA currently supports , TOSCA Simple Profile NFV 1.0 draft
> 03.
>
> > > > The Latest available TOSCA NFV profile is Simple profile NFV 1.0
>
> > > > draft
>
> > 

Re: Service Composition / Substitution Mapping

2017-09-06 Thread Avia Efrat
On Tue, Sep 5, 2017 at 6:09 PM, Tal Liron  wrote:

>
> Just like you can specify a specific node template for a requirement, I
> believe it can be useful and often necessary to specify a substituted
> service template.
>

​Even​ if it is needed, the question is how to do that. Using a policy
seems too much like a catch-all solution. In the spec, there is the notion
of the "substitutable" directive [2.10.2]. At first I thought it was meant
as a general concept, but then I noticed that:

1. node templates have a `directives` field, that is described as "an
optional list of directive values to provide processing instructions to
orchestrators and tooling" [3.7.3.1].
2. section [2.10.2] does not mention "substitutable directive", but rather
"substitutable" directive. It seems that their intention is the adding the
"substitutable" string to the `directives` field of the node template is
the mean by TOSCA is designating a node to be substituted.
3. section [2.9] extensively deals with abstract nodes. It mentions another
use of the `directives` field, this time the "selectable" directive (also
in [3.7.3.1], [3.7.3.3]).

Although section [3.3.3] states that there are no defined directives in
TOSCA 1.0, the de facto usages of the directive field indicates at least
that there is intent of using this field, and maybe define it more
explicitly in future versions.

Bottom line, currently I see the `directives` field as the the indicator of
substitutable nodes (by specifying the "substitutable" directive). It is
needed to enquire OASIS regarding their future plans of TOSCA.


Re: Service Composition / Substitution Mapping

2017-08-31 Thread Avia Efrat
gt; > > > > > > > > problem. The dream of NFV might be to have everything
> > > > > > > > > connect to
> > > > > each
> > > > > > > > other
> > > > > > > > > like LEGO blocks, but there are far too many protocols,
> > > > > > configuration,
> > > > > > > > and
> > > > > > > > > security standards. I think point #2, what I called
> > > > > > > > > "static
> > > > service
> > > > > > > > > composition," is a realistic compromise and within the
> > > > > > > > > scope of
> > > > > what
> > > > > > > > TOSCA
> > > > > > > > > promises.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Fri, Aug 11, 2017 at 12:08 PM, DeWayne Filppi <
> > > > > > dewa...@cloudify.co>
> > > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > To my eyes, the spec doesn't speak of runtime service
> > > > > substituion,
> > > > > > > but
> > > > > > > > > > parsetime template composition.  IOW, substitution
> > > > > > > > > > mapping is a
> > > > > > fancy
> > > > > > > > > > "include", or the equivalent of an interface definition.
> > > > > > > > > > Is it
> > > > > > > > > understood
> > > > > > > > > > by the ARIA team that this includes proxying of
> > > > > > > > > > running
> > > > services?
> > > > > > > IOW,
> > > > > > > > > if
> > > > > > > > > > my template requires a database service that my
> > > > > > > > > > template does
> > > > > *not*
> > > > > > > > want
> > > > > > > > > to
> > > > > > > > > > control the lifecycle of, I can "substitution map" an
> > > > > > > > > > instance
> > > > > of a
> > > > > > > > > > template (i.e. a running service)?  This would be a
> > > > > > > > > > lovely
> > > > > feature,
> > > > > > > but
> > > > > > > > > > it's not really a "substitution map", rather more of a
> > > > > > > > > > "service
> > > > > > > proxy"
> > > > > > > > > (as
> > > > > > > > > > implemented as a plugin in Cloudify).   Just trying to
> > > clarify.
> > > > > > > Maybe
> > > > > > > > > the
> > > > > > > > > > community thinks that "substitution map" as something
> > > > > > > > > > that
> > > > occurs
> > > > > > > > beyond
> > > > > > > > > > parsetime, or should.
> > > > > > > > > >
> > > > > > > > > > On Fri, Aug 11, 2017 at 9:52 AM, Tal Liron
> > > > > > > > > > <t...@cloudify.co>
> > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Well, DJ, it's all just opinion at this stage and
> > > > > > > > > > > feedback is
> > > > > > > > welcome!
> > > > > > > > > > >
> > > > > > > > > > > Option 1:
> > > > > > > > > > > > To look at satisfying nodes present in a
> > > > substituting
> > > > > > > > > service,
> > > > > > > > > > > > Have these nodes part of the newly created service
> > > > > > > > > > > > and
> > > > remove
> > > > > > the
> > > > > > > > > > > > substituting service(nodes with different ID's.
> > > > > > > > > > > > Also we are
> > > > > > very
> > > > > > > > much
> > > > > > > > > > in
> > > > > > > > > > > > favor of  UUID )
> > > > > > > > > > > > With this approach I guess the
> > > > > > > > > > > > substituting service
> > > > > > > should
> > > > > > > > > not
> > > > > > > > > > > > have any associated workflows running. If at all
> > > > > > > > > > > > an
> > > > workflow
> > > > > > > > > execution
> > > > > > > > > > is
> > > > > > > > > > > > already triggered I hope this service will not be
> > > > considered
> > > > > > for
> > > > > > > > > > > > substitution.
> > > > > > > > > > > > I hope this is the correct approach when
> > > > > > > > > > > > we are
> > > > > looking
> > > > > > > at
> > > > > > > > a
> > > > > > > > > > > > service for the substitution
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Yes, this is a good idea. It would be easy to
> > > > > > > > > > > discover this
> > > > > > > according
> > > > > > > > > to
> > > > > > > > > > > the stored node state -- just make sure that all
> > > > > > > > > > > nodes are
> > > > in a
> > > > > > > > stable
> > > > > > > > > > > state before composition.
> > > > > > > > > > >
> > > > > > > > > > > This leads to a general issue: before composition,
> > > > > > > > > > > the
> > > > > > substituting
> > > > > > > > > > > services must be validated in some way before
> > > > > > > > > > > composition
> > > > > begins.
> > > > > > > > > > >
> > > > > > > > > > > Also, let's all start using TOSCA terminology here:
> > > > > > > > > > > the
> > > > > > containing
> > > > > > > > > > service
> > > > > > > > > > > is called the "top-level service," and the contained
> > > > > > > > > > > services
> > > > > are
> > > > > > > > > called
> > > > > > > > > > > "substituting services."
> > > > > > > > > > >
> > > > > > > > > > > Also, we keep using trivial examples, but it's
> > > > > > > > > > > definitely
> > > > > > possible
> > > > > > > > for
> > > > > > > > > a
> > > > > > > > > > > top-level service to require several substituting
> > > > > > > > > > > services at
> > > > > the
> > > > > > > > same
> > > > > > > > > > > time. I can definitely see such things happening in
> > > > > > > > > > > NFV with
> > > > > even
> > > > > > > > > simple
> > > > > > > > > > > service chains. Basically every VNF could be a
> > > > > > > > > > > substituting
> > > > > > > service.
> > > > > > > > > > >
> > > > > > > > > > > So, actually one of the validations would be to make
> > > > > > > > > > > sure you
> > > > > do
> > > > > > > not
> > > > > > > > > > create
> > > > > > > > > > > circular composition: if the top-level also has
> > > > > > > > > > > substitution
> > > > > > > > mappings,
> > > > > > > > > > you
> > > > > > > > > > > need to make sure that one of the substituting ones
> > > > > > > > > > > doesn't
> > > > > > require
> > > > > > > > it.
> > > > > > > > > > :)
> > > > > > > > > > > Not a very likely situation, but it would lead to
> > failure.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > Option 2:
> > > > > > > > > > > > While creating a service look at the
> > > > > > > > > > > > req-caps at
> > > > the
> > > > > > > > > > > > service-template level and create a service
> > > > > > > > > > > > including the
> > > > > nodes
> > > > > > > > > > provided
> > > > > > > > > > > by
> > > > > > > > > > > > the substituting service-template. With this
> > > > > > > > > > > > approach there
> > > > > > would
> > > > > > > > not
> > > > > > > > > > be
> > > > > > > > > > > > any   service created from the service-template which
> > is
> > > > > > > providing
> > > > > > > > > the
> > > > > > > > > > > > substitution functionality. The service-template
> > > > > > > > > > > > would
> > > > remain
> > > > > > the
> > > > > > > > > same
> > > > > > > > > > > but
> > > > > > > > > > > > only the service would be added with extra nodes.
> > > > > > > > > > > >
> > > > > > > > > > > > Are you considering both option 1 & 2 for the
> > > > implementation
> > > > > ?
> > > > > > If
> > > > > > > > not
> > > > > > > > > > > > which one do you feel which take priority. I see
> > > > > > > > > > > > option 2
> > > > at
> > > > > > this
> > > > > > > > > stage
> > > > > > > > > > > > could be the best possible approach Also could you
> > > > > > > > > > > > please let me know a tentative time for this
> > > > > > > feature
> > > > > > > > > to
> > > > > > > > > > be
> > > > > > > > > > > > available?
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > I think both options 1 and 2 make sense and are
> > > > > > > > > > > useful, and
> > > > > > > actually
> > > > > > > > > one
> > > > > > > > > > is
> > > > > > > > > > > a subset of the other.
> > > > > > > > > > >
> > > > > > > > > > > With option #2 (substituting a service template), it
> > > > > > > > > > > means
> > > > new
> > > > > > > nodes
> > > > > > > > > are
> > > > > > > > > > > instantiated and the composed service would include
> > > > > > > > > > > all
> > > > nodes.
> > > > > > So,
> > > > > > > an
> > > > > > > > > > > "install" workflow would install everything at once.
> > > > > > > > > > > In this
> > > > > case
> > > > > > > we
> > > > > > > > do
> > > > > > > > > > > need to fix the lifecycle workflows to be "boundary
> > aware,"
> > > > so
> > > > > > that
> > > > > > > > > > > workflows of substituting service nodes are part of
> > > > > > > > > > > their own
> > > > > > task
> > > > > > > > > > graph. I
> > > > > > > > > > > think that possibly using a logical proxy node in
> > > > > > > > > > > between
> > > > might
> > > > > > > solve
> > > > > > > > > > this
> > > > > > > > > > > situation automatically.
> > > > > > > > > > >
> > > > > > > > > > > With option #1 (substituting a service) the
> > > > > > > > > > > substituting
> > > > nodes
> > > > > > > might
> > > > > > > > > > > already be installed. Or not (they might have been
> > > > instantiated
> > > > > > but
> > > > > > > > > still
> > > > > > > > > > > not installed). So, the lifecycle workflows should
> > > > > > > > > > > only work
> > > > on
> > > > > > the
> > > > > > > > > nodes
> > > > > > > > > > > that have not yet been installed.
> > > > > > > > > > >
> > > > > > > > > > > The point is that we just need to beef up the
> > > > > > > > > > > lifecycle
> > > > > workflows
> > > > > > > to
> > > > > > > > > > > properly work with boundaries and with a mix of
> > > > > > > > > > > nodes in
> > > > > > different
> > > > > > > > > > states.
> > > > > > > > > > > If they can do that, then they can handle any kind
> > > > > > > > > > > of service
> > > > > > > > > > composition,
> > > > > > > > > > > whether it's option #1 or option #2.
> > > > > > > > > > >
> > > > > > > > > > > I don't think we can provide a timeline yet, but I
> > > > > > > > > > > will say
> > > > > that
> > > > > > we
> > > > > > > > are
> > > > > > > > > > in
> > > > > > > > > > > the research phase and may have a POC soon. Avia is
> > > > > > > > > > > in charge
> > > > > of
> > > > > > > this
> > > > > > > > > > JIRA,
> > > > > > > > > > > so I will let him chime in with the current state of
> > > things.
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


Re: cli throwing PresenterNotFoundError

2017-08-17 Thread Avia Efrat
A quick late night thought - try this:
https://issues.apache.org/jira/browse/ARIA-110

Another solution, try installing via 'make install' only.

On Fri, Aug 18, 2017 at 3:47 AM, DeWayne Filppi  wrote:

> I'm running 'aria service-template validate' against a CSAR, and getting a
> 'PresenterNotFoundError'.  I installed from source using 'make
> install-virtual'.  Version 0.1.1.
>


Re: Version support for different TOSCA types

2017-08-09 Thread Avia Efrat
First, I agree with both of you about not adding this currently to the ARIA
core, as it is not certain that it is intended as a part of 1.0

As for I meant by backwards-compatibility, I'll try to give an example:
Suppose there is a cloud-provider database node type: cp.nodes.complexdb,
which corresponds with the cloud-provider's implementation of this
database. You interact with this database via API of version 1.

After a new version (version 2) of the cloud provider is released, a new
configurable feature is added to that database. It still represent the same
type of database (the cloud provider treats it as the same), just with an
extra feature.

In such a case, I don't see an immediate need for a new node type, as the
new database and old database represent the same logical entity. We could
just create a new node type (like cr.nodes.complexdb.v2), but I think using
a different version field better describes the differences between the
version 1 database and version 2 database.



On Wed, Aug 9, 2017 at 4:21 PM, Thomas Nadeau <tnad...@lucidvision.com>
wrote:

>
> > On Aug 9, 2017:9:12 AM, at 9:12 AM, Tal Liron <t...@cloudify.co> wrote:
> >
> > Why just to add functionality? (You should use inheritance in that
> case.) A
> > new version of a type might as well also remove functionality, or really
> > change everything as you said,
> >
> > In any case, TOSCA 1.0 doesn't tell us what to do with versions, so at
> this
> > point we should indeed do nothing in ARIA core.
>
> I’d agree with that. Its tempting to do an ARIA-specificly
> supported
> extension to support this and then offer that as an update to TOSCA, but
> we should think through that carefully if that is indeed what we want to
> do.
>
> —Tom
>
>
> >
> > On Wed, Aug 9, 2017 at 7:19 AM, Avia Efrat <a...@cloudify.co> wrote:
> >
> >> Actually, I can see the version field used as a backwards-compatibility
> >> mechanism that will enable to keep the same node type, while adding
> >> functionality. (maybe even modifying functionality, but that is more
> >> complex).
> >>
> >> In general, I agree that the 1.0 spec is not clear about using this
> version
> >> field, but the fact that version is consistently mentioned as a field in
> >> all the types, allows imo for a possible use of it within ARIA. There is
> >> not such a usage example of the version field in the 1.0 spec, I agree.
> >>
> >> On Tue, Aug 8, 2017 at 8:40 PM, Tal Liron <t...@cloudify.co> wrote:
> >>
> >>> The process is simply to open a JIRA ticket. However, it may be better
> to
> >>> first discuss it on this mailing list.
> >>>
> >>> For this enhancement, I think it's important to spec out how such a
> tool
> >>> would look. Let's say the inputs are two templates. What would be the
> >>> output?
> >>>
> >>> At least for TOSCA 1.0, I think this type version feature might be of
> >> more
> >>> use for "meta" tools that might be built on top of ARIA and allow some
> >> kind
> >>> of search or analysis. For example, a tool to rummage through a huge
> >>> directory of templates (or CSAR files) and do a search for node
> templates
> >>> or types that inherit from a specific base type and have a version of X
> >> or
> >>> X or similar. I don't know if such tools should be included in
> >> ARIA
> >>> proper, but they can definitely make use of ARIA as an SDK.
> >>>
> >>> On Tue, Aug 8, 2017 at 11:02 AM, Steve Baillargeon <
> >>> steve.baillarg...@ericsson.com> wrote:
> >>>
> >>>> Hi Tal
> >>>>
> >>>> I see that TOSCA version is optional for all types.
> >>>> Clearly it is not used for "identification purpose".
> >>>>
> >>>> However the definition of the TOSCA version seems to be for a
> different
> >>>> purpose.
> >>>> Here is a snippet:
> >>>> It is important to provide a reliable, normative means to represent a
> >>>> version string which enables the comparison and management of types
> and
> >>>> templates over time.
> >>>> Therefore, the TOSCA TC intends to provide a normative version type
> >>>> (string) for this purpose in future Working Drafts of this
> >> specification.
> >>>>
> >>>> I also see text about TOSCA version comparison.
> >>>>
> >>>> It  seems like TOSCA version can be used b

Re: Service Composition / Substitution Mapping

2017-08-09 Thread Avia Efrat
; > > This topic was discussed on this list a while ago. It's
> > > > > > > indeed
> > > tricky
> > > > > to
> > > > > > > get right, because TOSCA leaves a lot of room for the
> > orchestrator
> > > to
> > > > > > > implement.
> > > > > > >
> > > > > > > I'm thinking of it working something like this:
> > > > > > >
> > > > > > > 1. The reqs-and-caps engine by default will always look for
> > > > satisfiable
> > > > > > > capabilities within the currently instantiated service.
> > > > > > > HOWEVER,
> > if
> > > > > such
> > > > > > a
> > > > > > > capability is not present, the option is there to look for
> > another
> > > > > > > instantiated service that exposes the capabilities in
> > substitution
> > > > > > > mappings.
> > > > > > >
> > > > > > > 2. If we DON'T have another instantiated service, but DO
> > > > > > > have a
> > > > service
> > > > > > > template that could fit the bill, perhaps we need to
> > > > > > > instantiate
> > > that
> > > > > > other
> > > > > > > service first. One obvious option is to do this automatically.
> > But
> > > I
> > > > > feel
> > > > > > > like this can create unforeseen consequences -- for example,
> > > > > > > some
> > > > dummy
> > > > > > > test template that someone happened to have in the database
> > > > > > > might
> > > get
> > > > > > > instantiated by mistake. Also, it might need to trigger
> > > > > > > multiple
> > > > > install
> > > > > > > workflows at once... a big mess. So I suggest that instead
> > > > > > > we
> > > > provide a
> > > > > > > very detailed validation error here saying that the
> > > > > > > requirement
> > > > cannot
> > > > > be
> > > > > > > satisfied, HOWEVER there exist service templates A, B, and C
> > > > > > > that
> > > can
> > > > > > > substitute for us, so maybe the nice user would like to
> > instantiate
> > > > > them
> > > > > > > first? This seems very reasonable to me.
> > > > > > >
> > > > > > > 3. If indeed another service satisfies this, a special node
> > > > > > > is
> > > added
> > > > to
> > > > > > the
> > > > > > > current service (with the correct type -- but without a
> > > > > > > service
> > > > > template
> > > > > > > foreign key), which serves as a proxy of the other service
> > > template.
> > > > > I'm
> > > > > > > not sure how we would mark this exactly. We can't use the
> > > service_fk
> > > > > > field,
> > > > > > > because it's still in our current service. So perhaps
> > > > > > > there's
> > need
> > > > of a
> > > > > > new
> > > > > > > fk field, maybe substituted_service_fk?
> > > > > > >
> > > > > > > The above might be "sensible defaults," but it seems to me
> > > > > > > that
> > > users
> > > > > > > really need control over this. So I propose to add a new
> > > > > aria.Composition
> > > > > > > policy that would let you provide hints for this mechanism.
> > > > > > > For
> > > > > example,
> > > > > > > you might want to "filter" the target service by service
> > > > > > > template
> > > > name
> > > > > > and
> > > > > > > even by metadata in the service template. For example, you
> > > > > > > might
> > > want
> > > > > to
> > > > > > > require version 1.2.2 of a specific service, no less.
> > > > > > >
> > > > > > > Those are some quick thoughts. Exactly how such a policy
> > > > > > > would
> > look
> > > > > with
> > > > > > > require more thought...
> > > > > > >
> > > > > > >
> > > > > > > On Tue, Aug 1, 2017 at 2:20 PM, Avia Efrat
> > > > > > > <a...@cloudify.co>
> > > wrote:
> > > > > > >
> > > > > > > > Hello all,
> > > > > > > >
> > > > > > > > I'm starting to work on a full implementation of
> > > > > substitution_mapping,
> > > > > > > > which will lead to the ability of service composition.
> > > > > > > >
> > > > > > > > For those unacquainted with substitution mapping, here are
> > > > > > > > some
> > > > quick
> > > > > > > > resources:
> > > > > > > > *From the spec
> > > > > > > > <http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-
> > > > > > > > YAML/v1.0/TOSCA-Simple-Profile-YAML-v1.0.html>,
> > > > > > > > sections:*
> > > > > > > > 2.10
> > > > > > > > <http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-
> > > > > > > > YAML/v1.0/os/TOSCA-Simple-Profile-YAML-v1.0-os.html#_
> > > > Toc471725208>,
> > > > > > > > 2.11
> > > > > > > > <http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-
> > > > > > > > YAML/v1.0/os/TOSCA-Simple-Profile-YAML-v1.0-os.html#_
> > > Toc471725209>
> > > > > > > > (theory and examples)
> > > > > > > > 3.8.1, 3.8.2 (grammar)
> > > > > > > > *From Tal's amazing lecture on TOSCA
> > > > > > > > <https://www.youtube.com/watch?v=6xGmpi--7-A>:*
> > > > > > > > 00:00 until 12:30.
> > > > > > > >
> > > > > > > > If anyone wishes to:
> > > > > > > > * ask questions regarding this feature
> > > > > > > > * suggest real-life use cases
> > > > > > > > * offer their insight about vague parts of the spec
> > > > > > > > * anything else about substitution mapping and service
> > > composition
> > > > > > > > Then please, feel encouraged to leave your feedback!
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


Re: Version support for different TOSCA types

2017-08-09 Thread Avia Efrat
Actually, I can see the version field used as a backwards-compatibility
mechanism that will enable to keep the same node type, while adding
functionality. (maybe even modifying functionality, but that is more
complex).

In general, I agree that the 1.0 spec is not clear about using this version
field, but the fact that version is consistently mentioned as a field in
all the types, allows imo for a possible use of it within ARIA. There is
not such a usage example of the version field in the 1.0 spec, I agree.

On Tue, Aug 8, 2017 at 8:40 PM, Tal Liron  wrote:

> The process is simply to open a JIRA ticket. However, it may be better to
> first discuss it on this mailing list.
>
> For this enhancement, I think it's important to spec out how such a tool
> would look. Let's say the inputs are two templates. What would be the
> output?
>
> At least for TOSCA 1.0, I think this type version feature might be of more
> use for "meta" tools that might be built on top of ARIA and allow some kind
> of search or analysis. For example, a tool to rummage through a huge
> directory of templates (or CSAR files) and do a search for node templates
> or types that inherit from a specific base type and have a version of X or
> X or similar. I don't know if such tools should be included in ARIA
> proper, but they can definitely make use of ARIA as an SDK.
>
> On Tue, Aug 8, 2017 at 11:02 AM, Steve Baillargeon <
> steve.baillarg...@ericsson.com> wrote:
>
> > Hi Tal
> >
> > I see that TOSCA version is optional for all types.
> > Clearly it is not used for "identification purpose".
> >
> > However the definition of the TOSCA version seems to be for a different
> > purpose.
> > Here is a snippet:
> > It is important to provide a reliable, normative means to represent a
> > version string which enables the comparison and management of types and
> > templates over time.
> > Therefore, the TOSCA TC intends to provide a normative version type
> > (string) for this purpose in future Working Drafts of this specification.
> >
> > I also see text about TOSCA version comparison.
> >
> > It  seems like TOSCA version can be used by the parser to show
> differences
> > between 2 templates or to highlight types with different versions in the
> > same template.
> > I think this is a useful feature to add to ARIA. What do you think?
> >
> > In general, what is the process to request an enhancement to ARIA?
> >
> >
> > Cheers
> > Steve B
> >
> >
> >
> >
> > -Original Message-
> > From: Tal Liron [mailto:t...@cloudify.co]
> > Sent: Tuesday, August 08, 2017 9:07 AM
> > To: dev@ariatosca.incubator.apache.org
> > Subject: Re: Version support for different TOSCA types
> >
> > My understanding has been that this is simply internal metadata, like the
> > "description" field. There also does not seem any way to access the
> > version, e.g. by an intrinsic function.
> >
> > ARIA identifies a type by its name only, not by its version, so for the
> > same parsing session you cannot have two types of the same name even if
> > their version is different. If your understanding for TOSCA 1.0 is
> > different, and you please show me an example of different use?
> >
> > On Tue, Aug 8, 2017 at 2:28 AM, D Jayachandran <
> > d.jayachand...@ericsson.com>
> > wrote:
> >
> > > Ok Tal, I agree with having a property datatype as version and using
> > > them in my implementations. But to re-iterate I see the support for
> > > version metadata for different types ( node, artifact, attribute,
> > > capability, requirements ) in TOSCA 1.0 profile too. You can check the
> > > section starting from "3.6.3 Artifact Type".
> > >
> > > Example from SPEC:
> > >
> > > 3.6.8.2
> > > Grammar
> > > Node Types
> > > have following grammar
> > > :
> > > <
> > > node_type_name
> > > >:
> > > derived_from: <
> > > parent_node_type_name
> > > >
> > > version: <
> > > version_number
> > > >
> > > description: <
> > > node_type_description
> > > >
> > > properties:
> > > <
> > > property_definitions
> > > >
> > > attributes:
> > > <
> > > attribute_definitions
> > > >
> > > requirements:
> > > -
> > > <
> > > requirement_definitions
> > > >
> > > capabilities:
> > > <
> > > capability_definitions
> > > >
> > > interfaces:
> > > <
> > > interface_definitions
> > > >
> > > artifacts:
> > > <
> > > artifact_definitions
> > > >
> > >
> > > Even am trying to understand the use-case which can be mapped to
> > > version support with each of types.
> > >
> > > Is it like we can have same custom node types with different
> > > version in my service template ?
> > > In that case how can the node template choose a particular
> > > version of the custom node type ?
> > > Or Is the version only for the template author to track
> > > changes about custom types over time ?
> > >
> > >
> > > Regards,
> > > DJ
> > >
> > > -Original Message-
> > > From: Tal Liron [mailto:t...@cloudify.co]
> > > Sent: Tuesday, August 08, 2017 12:11 PM
> > > To: 

Re: pip executable expected as part of plugin install.

2017-08-03 Thread Avia Efrat
Hi DJ,
It seems you are correct, I don't see a reason for not using the pip
library.
Maybe it was that way since we didn't want to add pip as a dependency
explicitly (this code is from the beginning of ARIA).

Feel free to open an issue about that =)

On Wed, Aug 2, 2017 at 10:19 AM, D Jayachandran  wrote:

> Hi,
>
> Am using a Ubuntu version of linux for my development and ARIA does not
> find the correct path of pip during the plugin install.
> To be precise this happens when pip freeze is executed.
>
> @staticmethod
> def _pip_freeze():
> """Run pip freeze in current environment and return the output"""
> bin_dir = 'Scripts' if os.name == 'nt' else 'bin'
> pip_path = os.path.join(sys.prefix, bin_dir,
> 'pip{0}'.format('.exe' if os.name == 'nt'
> else ''))
> pip_freeze = subprocess.Popen([pip_path, 'freeze'],
> stdout=subprocess.PIPE)
> pip_freeze_output, _ = pip_freeze.communicate()
> assert not pip_freeze.poll()
> return pip_freeze_output
>
> Now the question is why are we executing a pip command directly and not
> using pip as a library.
>
>
> Regards,
> DJ
>


Service Composition / Substitution Mapping

2017-08-01 Thread Avia Efrat
Hello all,

I'm starting to work on a full implementation of substitution_mapping,
which will lead to the ability of service composition.

For those unacquainted with substitution mapping, here are some quick
resources:
*From the spec
,
sections:*
2.10
,
2.11

(theory and examples)
3.8.1, 3.8.2 (grammar)
*From Tal's amazing lecture on TOSCA
:*
00:00 until 12:30.

If anyone wishes to:
* ask questions regarding this feature
* suggest real-life use cases
* offer their insight about vague parts of the spec
* anything else about substitution mapping and service composition
Then please, feel encouraged to leave your feedback!


Re: Aria Backlog

2017-08-01 Thread Avia Efrat
In the view you linked to, the issues are listed in a numerical order (only
issues that are not resolved/closed are shown there).
You can see their priority by the small icon to the right of the issue name.

Personally, I don't use this view. I use:
https://issues.apache.org/jira/issues/?jql=project%20%3D%20ARIA%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)

There, you can easily sort and search the issues.

On Tue, Aug 1, 2017 at 9:33 PM, Thomas Nadeau 
wrote:

>
> Forgive me for asking a dumb question here, but is the backlog as
> listed here groomed?
> That is, are the stories/epics listed in priority order or just
> numerically?
>
> https://issues.apache.org/jira/secure/RapidBoard.jspa?
> rapidView=150=ARIA=planning.nodetail <
> https://issues.apache.org/jira/secure/RapidBoard.jspa?
> rapidView=150=ARIA=planning.nodetail>
>
> —Tom
>
>


Re: Query on operation inputs

2017-08-01 Thread Avia Efrat
Quick update on this issue:
We merged the relevant pull request:
https://github.com/apache/incubator-ariatosca/pull/187
Now inputs behave as expected.


On Tue, Jul 11, 2017 at 5:39 AM, D Jayachandran <d.jayachand...@ericsson.com
> wrote:

> Hi Avia,
>
> Thanks for the detailed explanation. Finally we have better clarity and
> are in the same page.
>
> Regards,
> DJ
>
> -----Original Message-
> From: Avia Efrat [mailto:a...@gigaspaces.com]
> Sent: Tuesday, July 11, 2017 3:42 AM
> To: dev@ariatosca.incubator.apache.org
> Subject: Re: Query on operation inputs
>
> Here is the Jira issue:
> https://issues.apache.org/jira/browse/ARIA-313
>
> On Tue, Jul 11, 2017 at 12:44 AM, Ran Ziv <r...@gigaspaces.com> wrote:
>
> > Avia, could you please create a JIRA issue for this?
> >
> >
> > On Mon, Jul 10, 2017 at 5:12 PM, Avia Efrat <a...@gigaspaces.com> wrote:
> >
> > > Hello DJ,
> > >
> > > I ran the example you provided: https://github.com/djay8887/Ar
> > > ia-operationInputs [It should be noted that you can't just parse the
> > > service template kubernetes-deployment.yaml as is. I needed to
> > > create a folder named type and place kubernetes_type.yaml in there,
> > > as the import: section in your service templates contains `-
> > > *types*/kubernetes_type.yaml`]
> > >
> > > *Short answer:*
> > > You are correct, the example should pass, and we will change the
> > > code accordingly.
> > >
> > > *Longer answer + explanations:*
> > > I will separate my answer into three parts. I will repeat some of
> > > what
> > was
> > > said before me, but I think it will help clear the situation.
> > > 1. The result of my run.
> > > 2. Why do we currently get this error.
> > > 3. Our revised understanding of the TOSCA spec regarding the
> > > required
> > field
> > > of node type operation inputs.
> > >
> > > *1.* *The result of my run:*
> > > The commands I ran were:
> > > aria plugins install sample-1.0.0-py27-none-any.wgn aria
> > > service-templates store kubernetes-deployment.yaml dj aria services
> > > create -t dj dj aria executions start -s dj install after running
> > > the last command I got:
> > > Declared parameters "labels" have not been provided values
> > >
> > > *2.* *Why do we currently get this error:* First, let my just
> > > clarify, that this error has no relation whatsoever to the contents
> > > of the inputs section under topology_template.
> > > We are dealing here only with the inputs section of an operation,
> > > which
> > is
> > > section 3.5.13 Operation Definition <https://goo.gl/g5bMtV>.
> > > Currently, when we execute a workflow (aria executions start ...),
> > > we
> > check
> > > the inputs of each operation in the following manner (ignoring
> > > interface inputs for now):
> > > we check that every input defined in the input section of the node
> > template
> > > operation, whether the input is required or not has a value, has a
> value.
> > > This check is done in the merge_parameters_value function, inside
> > > aria/modelling/utils, so you can check the logic yourself.
> > >
> > > Anyway, these values can be supplied directly from the service
> > > template,
> > or
> > > in an indirect way via execution inputs, or programmatically when
> > creating
> > > workflow tasks. The latter method shouldn't concern us now, as we
> > > are dealing with the operation inputs that were provided in the
> > > inputs
> > section
> > > of the operation.
> > >
> > > So, in conclusion, we get this error since the labels input is not
> > assigned
> > > a value in the inputs section of the operation inside the node
> template.
> > > This happens even if the input is defined as required: false in the
> > inputs
> > > section of the operation inside the node *type*.
> > >
> > > *3. **Our revised understanding of the TOSCA spec regarding the
> > > required field operation definition inputs:* After rechecking the
> > > spec, we feel that an operation input that has
> > > required:
> > > false  indeed allows it not to be defined in the corresponding
> > > operation
> > in
> > > the service template. We base this on section 3.5.13.1 Operation
> > Definition
> > > keyname <https://goo.gl/g5bMtV>. This section clear

Re: Unique identification of an instance element across services

2017-07-30 Thread Avia Efrat
First, good arguments from both 'sides'.

I am for at least adding a uuid as an option, as ARIA is intended to be
used at scale as well.
But currently, I am for the simple ids to be used as default (and not
uuids). Like it or not, right now ARIA is more at a 'TOSCA playground'
stage, and I think that's perfectly fine =)
And at this stage, I think simple ids will be better, as they easier to use
via the CLI, but more importantly, don't clog the logs with long
meaningless strings. As ARIA matures, we could switch the default to UUIDs.

And BTW, as our log format is configurable, there could be other ways than
UUIDs to distinguish between nodes with the 'same id' in a central logging
system, e.g using the user name as another indicator.

On Thu, Jul 27, 2017 at 10:20 AM, Vaishnavi K.R 
wrote:

> Hi,
>
>
> Thanks for the active discussion.
>
>
> Having UUID at the node instance level will just make the nodes unique.
>
> And these names will not be used by the user directly as no operations are
> happening on the node instance name.
>
> But at the service template and the service level, UUID will be of great
> help considering the multi user and multi tenancy situations.
>
>
> So in a large scale perspective, the node names and the service template
> names have high probability of being same.
>
> When these enter into the automated world, it will create more problem
> when name conflicts occur and its adds overhead to make changes every time
> to overcome the conflict.
>
>
> UUID at service template and the service level: will be of much use in the
> above scenario and operations by user on these are less
>
> UUID at node instance level: makes the node much unique and no operation
> happens on it
>
>
> Thanks,
>
> /Vaish
>
> 
> From: Tal Liron 
> Sent: Wednesday, July 26, 2017 8:48:40 PM
> To: dev@ariatosca.incubator.apache.org
> Subject: Re: Unique identification of an instance element across services
>
> I just don't see users having to deal much with node IDs outside of simple
> hello-world style tutorials, and I'd hate for the first impressions that
> users get out of ARIA is that it's just a playground for TOSCA. It should
> be ready out-of-the-box for the real world.
>
> On Wed, Jul 26, 2017 at 9:13 AM, DeWayne Filppi 
> wrote:
>
> > Such is their strength.  I'm just advocating using them as a last resort
> > because they are user unfriendly and gigantic.
> >
> > On Tue, Jul 25, 2017 at 12:55 PM, Tal Liron  wrote:
> >
> > > Let's consider a mass deployment: thousands of service instances of the
> > > same service template, created by many different users with their own
> > ARIA
> > > installations (and databases). In that case, assuming we use sequential
> > > IDs, you would have the same node ID appear many times. You would have
> to
> > > identify it via the particular user and service instance. If you're
> > > centralizing logs, this can quickly be cumbersome. A UUID will identify
> > it
> > > globally and avoid any confusion.
> > >
> > > I think the default should be something that avoids such problems. For
> > > users who insist on shorter IDs, we can allow them to configure it.
> > >
> > > On Tue, Jul 25, 2017 at 2:42 PM, DeWayne Filppi 
> > > wrote:
> > >
> > > > True uuids are seductive, because of their simplicity.  But they are
> > > huge,
> > > > overkill, and meaningless.  Imho a structured id is superior if it
> can
> > be
> > > > made to work without a global locking scheme.
> > > >
> > > > - DeWayne
> > > >
> > > > On Jul 25, 2017 12:11 PM, "Tal Liron"  wrote:
> > > >
> > > > > It's not an issue of thread safety -- it could be entirely
> different
> > > > > processes, on different machines, accessing the same db. It can be
> > > solved
> > > > > via a SQL transaction, but I feel the whole issue can be avoided by
> > > using
> > > > > UUIDs.
> > > > >
> > > > > Using the CLI to access specific nodes is not something I see
> > > happening a
> > > > > lot outside of debugging. And when you do debug, you'll probably be
> > > > copying
> > > > > and pasting a node ID from the logs, so shorter names do not add
> much
> > > > ease
> > > > > of use.
> > > > >
> > > > > Again, I would be personally happiest if this was configurable (and
> > > > > personally think UUIDs should be the reasonable default).
> > > > >
> > > > > On Tue, Jul 25, 2017 at 2:01 PM, Maxim Orlov 
> > > wrote:
> > > > >
> > > > > > Technically we have no issue with implementing this via uuid or a
> > > > > > threadsafe solution for the current index implementation.
> > > > > >
> > > > > > Getting node data via the cli feels more intuitive using the
> index
> > > > based
> > > > > > ID, rather than the uuid based ID in my opionion.
> > > > > >
> > > > > > On Jul 25, 2017 9:49 PM, "Tal Liron"  wrote:
> > > > > >
> > > > > > Our code for 

Re: [VOTE] Add an 'entry-level' label to some of our Jira issues

2017-07-11 Thread Avia Efrat
Seeing that the overall reaction was good, I created a Jira issue:
https://issues.apache.org/jira/browse/ARIA-316

On Mon, Jul 10, 2017 at 4:13 PM, Avia Efrat <a...@gigaspaces.com> wrote:

> These presentationa are not stand-alone, as they consist of bulletins that
> were more broadly explained in the session. That being said, there is an 4
> hour video and Q session by Tal about TOSCA. We intend to upload it to
> the ARIA site soon.
> In addition, we are planning to expand our documentation, specifically
> about such concepts as custom workflows and plugins.
>
> On Mon, Jul 10, 2017 at 3:58 PM, Steve Baillargeon <
> steve.baillarg...@ericsson.com> wrote:
>
>> Hi
>> Do you intend to introduce "other levels" or just one label for beginners?
>> If you only need one level, then maybe it is best to call it "simple" or
>> 'basic"?
>>
>> Hi Avia and Tal,
>> Is it possible to store the quick introduction to TOSCA and theoretical
>> overview for everyone to see?
>> Thanks
>>
>> Steve B
>>
>>
>>
>>
>> -Original Message-
>> From: Ran Ziv [mailto:r...@gigaspaces.com]
>> Sent: Monday, July 10, 2017 4:39 AM
>> To: dev@ariatosca.incubator.apache.org
>> Subject: Re: [VOTE] Add an 'entry-level' label to some of our Jira issues
>>
>> I'm all for it, though I don't really like "entry-level" for the name of
>> the label :) Any other suggestions?
>>
>>
>> On Mon, Jul 10, 2017 at 5:09 AM, John D. Ament <johndam...@apache.org>
>> wrote:
>>
>> > I think it's a good idea.  Lots of other projects do something
>> > similar.  We could link to a query with this from the proposed
>> > contributing guide I emailed about earlier.  If we put the
>> > contributing guide on confluence, I believe we can even embed a report.
>> >
>> > John
>> >
>> > On Sun, Jul 9, 2017 at 9:34 PM Avia Efrat <a...@gigaspaces.com> wrote:
>> >
>> > > Today Tal (t...@gigaspaces.com) and myself had a very long and
>> > > productive face-to-face session with some AT developers about
>> > > ARIA. We did a quick introduction to TOSCA (as some of them where
>> > > already familiar with it), followed by an theoretical overview and
>> live demo of ARIA 0.1.0.
>> > >
>> > > Some of the AT guys were very interested in contributing to ARIA,
>> > > and raised what I think is a very good suggestion. They said that
>> > > since sometimes you don't know where to start when contributing to a
>> > > large and unfamiliar project, and since some of them or only novice
>> > > python programmers, it would very good for them to have Jiras marked
>> > > with a special label, such as 'entry-level', to signal that these
>> > > Jiras are suitable for beginners.
>> > >
>> > > So first, I would like to hear your opinions on this suggestion, and
>> > > second, if you support it, maybe you have some better input on the
>> > > name
>> > of
>> > > such a label, as I'm not sure I'm pleased with 'entry-level'. (Some
>> > > other suggestions were 'first-time-contributor' and 'trivial', but
>> > > feel free to suggest your own)
>> > >
>> > > --
>> > > Avia Efrat
>> > > SW Engineer
>> > > a...@gigaspaces.com | +972546204553 <+972%2054-620-4553> Cloudify |
>> > > http://getcloudify.org <
>> > > http://getcloudify.org?utm_source=signaturesatori_
>> > medium=email_campaign=general_signature
>> > > >
>> > >
>> > > <https://twitter.com/CloudifySource>
>> > > <https://www.linkedin.com/groups/8467478>
>> > > <https://github.com/cloudify-cosmo>   <https://github.com/cloudify-
>> cosmo
>> > >
>> > > [image: Azure Webinar]
>> > > <
>> > > http://getcloudify.org/webinars/Azure-plugin-for-
>> > cloudify-webinar.html?utm_source=signaturesatori_
>> > medium=email_campaign=general_signature
>> > > >
>> > >
>> >
>>
>
>
>
> --
> Avia Efrat
> SW Engineer
> a...@gigaspaces.com | +972546204553
> Cloudify | http://getcloudify.org
> <http://getcloudify.org?utm_source=signaturesatori_medium=email_campaign=general_signature>
>
> <https://twitter.com/CloudifySource>
> <https://www.linkedin.com/groups/8467478>
> <https://github.com/cloudify-cosmo>   <https://github.com/cloudify-cosmo>
> [image: Azure Webinar]
> <http://getcloudify.org/webinars/Azure-plugin-for-cloudify-webinar.html?utm_source=signaturesatori_medium=email_campaign=general_signature>
>
>


Re: Query on operation inputs

2017-07-10 Thread Avia Efrat
Here is the Jira issue:
https://issues.apache.org/jira/browse/ARIA-313

On Tue, Jul 11, 2017 at 12:44 AM, Ran Ziv <r...@gigaspaces.com> wrote:

> Avia, could you please create a JIRA issue for this?
>
>
> On Mon, Jul 10, 2017 at 5:12 PM, Avia Efrat <a...@gigaspaces.com> wrote:
>
> > Hello DJ,
> >
> > I ran the example you provided: https://github.com/djay8887/Ar
> > ia-operationInputs
> > [It should be noted that you can't just parse the service template
> > kubernetes-deployment.yaml as is. I needed to create a folder named type
> > and place kubernetes_type.yaml in there, as the import: section in your
> > service templates contains `- *types*/kubernetes_type.yaml`]
> >
> > *Short answer:*
> > You are correct, the example should pass, and we will change the code
> > accordingly.
> >
> > *Longer answer + explanations:*
> > I will separate my answer into three parts. I will repeat some of what
> was
> > said before me, but I think it will help clear the situation.
> > 1. The result of my run.
> > 2. Why do we currently get this error.
> > 3. Our revised understanding of the TOSCA spec regarding the required
> field
> > of node type operation inputs.
> >
> > *1.* *The result of my run:*
> > The commands I ran were:
> > aria plugins install sample-1.0.0-py27-none-any.wgn
> > aria service-templates store kubernetes-deployment.yaml dj
> > aria services create -t dj dj
> > aria executions start -s dj install
> > after running the last command I got:
> > Declared parameters "labels" have not been provided values
> >
> > *2.* *Why do we currently get this error:*
> > First, let my just clarify, that this error has no relation whatsoever to
> > the contents of the inputs section under topology_template.
> > We are dealing here only with the inputs section of an operation, which
> is
> > section 3.5.13 Operation Definition <https://goo.gl/g5bMtV>.
> > Currently, when we execute a workflow (aria executions start ...), we
> check
> > the inputs of each operation in the following manner (ignoring interface
> > inputs for now):
> > we check that every input defined in the input section of the node
> template
> > operation, whether the input is required or not has a value, has a value.
> > This check is done in the merge_parameters_value function, inside
> > aria/modelling/utils, so you can check the logic yourself.
> >
> > Anyway, these values can be supplied directly from the service template,
> or
> > in an indirect way via execution inputs, or programmatically when
> creating
> > workflow tasks. The latter method shouldn't concern us now, as we are
> > dealing with the operation inputs that were provided in the inputs
> section
> > of the operation.
> >
> > So, in conclusion, we get this error since the labels input is not
> assigned
> > a value in the inputs section of the operation inside the node template.
> > This happens even if the input is defined as required: false in the
> inputs
> > section of the operation inside the node *type*.
> >
> > *3. **Our revised understanding of the TOSCA spec regarding the required
> > field operation definition inputs:*
> > After rechecking the spec, we feel that an operation input that has
> > required:
> > false  indeed allows it not to be defined in the corresponding operation
> in
> > the service template. We base this on section 3.5.13.1 Operation
> Definition
> > keyname <https://goo.gl/g5bMtV>. This section clearly state the node
> type
> > operation inputs are of type property definitions (3.5.8)
> > <http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-
> > YAML/v1.0/os/TOSCA-Simple-Profile-YAML-v1.0-os.html#
> > DEFN_ELEMENT_PROPERTY_DEFN>
> > .
> >
> > Therefore, the required field of a node type operation input is the same
> as
> > the required field in a node type property.
> >
> > So, just as you can omit in a node template property that has required:
> > false in its corresponding node type property, you can omit a node
> template
> > operation input that has required: false in its corresponding node type
> > operation input.
> >
> >
> >
> >
> > On Mon, Jul 3, 2017 at 10:17 PM, Tal Liron <t...@gigaspaces.com> wrote:
> >
> > > Oops, it seems your email from before was somehow tagged as read by
> > > mistake, so I missed it. I will get to it after the US holiday!
> > >
> > > On Mon, Jul 3, 2017 at 4:21 AM, D Jayachandran <
> > >

Re: Query on operation inputs

2017-07-10 Thread Avia Efrat
; > > (true or
> > > > > > > > > false) indicating whether or not the property is required.
> > > > > > > > > If this keyname is not present on a property definition,
> > > > > > > > > then the property SHALL be considered required (i.e., true)
> > by default.
> > > > > > > > >
> > > > > > > > > It is not clear to whom this property is required or not ?
> > > > > > > > >
> > > > > > > > > With your argument, it seems we always need to provide a
> > > > > > > > > default value to an input, when we don’t declare in my
> > > > > > > > > service
> > > > template.
> > > > > > > > > Is my understanding correct here ?
> > > > > > > > > But the TOSCA spec says the default value is always an
> > > > > > > > > optional
> > > > > one.
> > > > > > > > > Also since the parser validates the service template
> > > > > > > > > inputs according to the "required" field am not sure why
> > > > > > > > > we need another validation during the execution ?
> > > > > > > > >
> > > > > > > > > I also don’t find any reference in TOSCA spec which says,
> > > > > > > > > all inputs defined in node type be declared in node
> > > > > > > > > template to be used by any operation. Could you please
> > > > > > > > > help me with that reference
> > > > > > in TOSCA spec ?
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Regards,
> > > > > > > > > DJ
> > > > > > > > >
> > > > > > > > > -Original Message-
> > > > > > > > > From: Ran Ziv [mailto:r...@gigaspaces.com]
> > > > > > > > > Sent: Thursday, May 25, 2017 5:16 PM
> > > > > > > > > To: dev@ariatosca.incubator.apache.org
> > > > > > > > > Subject: Re: Query on operation inputs
> > > > > > > > >
> > > > > > > > > Yes, I understand the confusion here. The issue is that,
> > > > > > > > > despite its name, the "required" field isn't what defines
> > > > > > > > > whether an input is optional or not
> > > > > > > > > - it is only relevant during the parsing phase (This is
> > > > > > > > > according to our understanding of the TOSCA spec. Tal
> > > > > > > > > could probably expand more on
> > > > > > > > this).
> > > > > > > > > What's relevant for deciding whether an input is required
> > > > > > > > > or not for actual execution is whether it has a default
> > > > > > > > > value - so all inputs would have a value when the actual
> > > > > > > > > execution
> > > takes
> > > > place.
> > > > > > > > >
> > > > > > > > > I hope this helps clearing this confusing issue..
> > > > > > > > >
> > > > > > > > > Ran
> > > > > > > > >
> > > > > > > > > On Thu, May 25, 2017 at 2:08 PM, D Jayachandran <
> > > > > > > > > d.jayachand...@ericsson.com
> > > > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > Hi Ran,
> > > > > > > > > >
> > > > > > > > > > Thanks for your response.
> > > > > > > > > >
> > > > > > > > > > In my case, I have defined the inputs as optional under
> > > > > > > > > > the create operation of my custom node type.
> > > > > > > > > > Since it is an optional input, I haven't declared it in
> > > > > > > > > > my
> > > > > > > > node-template.
> > > > > > > > > > I assume optional input may or may not be declared in a
> > > > > > > > > > service template
> > > > > > > > > ?
> > > > > > > > > > Am I missing something here ?
> > > > > > > > > >
> > > > > > > > > > Please find below the node type and node template in my
> > case.
> > > > > > > > > >
> > > > > > > > > > # python /root/incubator-ariatosca/aria/cli/main.py
> > > > > > > > > > executions start -s
> > > > > > > > > > demo-sr-1 install
> > > > > > > > > > Required inputs [u'labels'] have not been specified -
> > > > > > > > > > expected
> > > > > > > inputs:
> > > > > > > > > > [u'isService', u'name', u'exposed_port', u'image',
> > > > > > > > > > u'labels', u'target_port', u'target_host']
> > > > > > > > > >
> > > > > > > > > > Node-type
> > > > > > > > > >
> > > > > > > > > > node_types:
> > > > > > > > > > test.nodes.Container.Application:
> > > > > > > > > > derived_from: tosca.nodes.Root
> > > > > > > > > > properties:
> > > > > > > > > > name:
> > > > > > > > > >   type: string
> > > > > > > > > >   required: true
> > > > > > > > > > image:
> > > > > > > > > >   type: string
> > > > > > > > > >   required: true
> > > > > > > > > > port:
> > > > > > > > > >   type: integer
> > > > > > > > > >   required: false
> > > > > > > > > > interfaces:
> > > > > > > > > > Standard:
> > > > > > > > > > type: tosca.interfaces.node.
> > > lifecycle.Standard
> > > > > > > > > > create:
> > > > > > > > > > inputs:
> > > > > > > > > > name:
> > > > > > > > > > type: string
> > > > > > > > > > required: true
> > > > > > > > > > image:
> > > > > > > > > > type: string
> > > > > > > > > > required: true
> > > > > > > > > > exposed_port:
> > > > > > > > > > type: integer
> > > > > > > > > > required: false
> > > > > > > > > > target_port:
> > > > > > > > > > type: integer
> > > > > > > > > > required: false
> > > > > > > > > > target_host:
> > > > > > > > > > type: integer
> > > > > > > > > > required: false
> > > > > > > > > > labels:
> > > > > > > > > > type: string
> > > > > > > > > > required: false
> > > > > > > > > > isService:
> > > > > > > > > > type: boolean
> > > > > > > > > > required: false
> > > > > > > > > > implementation:
> > > > > > > > > > primary: sample >
> > > > > > > > > > sample.samplemethod
> > > > > > > > > >
> > > > > > > > > > Node template:
> > > > > > > > > >
> > > > > > > > > > web_app:
> > > > > > > > > > type: test.nodes.Container.Application
> > > > > > > > > > properties:
> > > > > > > > > > name: { get_input: web_app_name }
> > > > > > > > > > image: { get_input: web_app_image }
> > > > > > > > > > port: { get_input: web_app_port }
> > > > > > > > > > requirements:
> > > > > > > > > > - dependency:
> > > > > > > > > >   node: database
> > > > > > > > > >   relationship:
> > > > > > > > > >   type:
> > tosca.relationships.DependsOn
> > > > > > > > > > interfaces:
> > > > > > > > > > Standard:
> > > > > > > > > >  create:
> > > > > > > > > > inputs:
> > > > > > > > > > name: { get_input:
> > web_app_name }
> > > > > > > > > > image: { get_property: [
> > > > > > > > > > web_app, image]
> > > > > > > }
> > > > > > > > > > exposed_port: {
> > > > > > > > > > get_property: [ web_app, port] }
> > > > > > > > > > target_host: { get_property:
> > > > > > > > > > [ database, name] }
> > > > > > > > > > target_port: { get_property:
> > > > > > > > > > [ database, port] }
> > > > > > > > > > isService: true
> > > > > > > > > >
> > > > > > > > > > Regards,
> > > > > > > > > > DJ
> > > > > > > > > >
> > > > > > > > > > -Original Message-
> > > > > > > > > > From: Ran Ziv [mailto:r...@gigaspaces.com]
> > > > > > > > > > Sent: Thursday, May 25, 2017 4:07 PM
> > > > > > > > > > To: dev@ariatosca.incubator.apache.org
> > > > > > > > > > Subject: Re: Query on operation inputs
> > > > > > > > > >
> > > > > > > > > > Hi,
> > > > > > > > > >
> > > > > > > > > > Weird, I remember responding to this mail before, but it
> > > > > > > > > > doesn't seem like I have.
> > > > > > > > > > In any case, it is indeed our intention that no inputs
> > > > > > > > > > may be passed into operations unless they have been
> > > > > > > > > > clearly declared in the
> > > > > > > > > service-template.
> > > > > > > > > > ARIA opts to be a strict implementation of TOSCA
> > > > > > > > > > wherever
> > > > > possible.
> > > > > > > > > >
> > > > > > > > > > Ran
> > > > > > > > > >
> > > > > > > > > > On Thu, May 25, 2017 at 1:22 PM, D Jayachandran <
> > > > > > > > > > d.jayachand...@ericsson.com
> > > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Hi,
> > > > > > > > > > >
> > > > > > > > > > > The latest Apache-aria is throwing a validation error
> > > > > > > > > > > during the execution of a service.
> > > > > > > > > > > It demands all the operation inputs defined in a node
> > > > > > > > > > > type be declared in the service template though they
> > > > > > > > > > > are optional
> > > > > inputs.
> > > > > > > > > > > Could you please let us know if this change was
> > > intentional ?
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Regards,
> > > > > > > > > > > DJ(D Jayachandran)
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Tal Liron
> > > > > > > > Senior Engineer
> > > > > > > > t...@gigaspaces.com | +1 (773) 828-9339 Cloudify |
> > > > > > > > http://getcloudify.org
> > > > > > > > <http://getcloudify.org?utm_source=signaturesatori_
> > > > > > > > medium=email_campaign=general_signature>
> > > > > > > >
> > > > > > > > <https://twitter.com/CloudifySource>
> > > > > > > > <https://www.linkedin.com/groups/8467478>
> > > > > > > > <https://github.com/cloudify-cosmo>   <
> > > > https://github.com/cloudify-
> > > > > > cosmo
> > > > > > > >
> > > > > > > > [image: Azure Webinar]
> > > > > > > > <http://getcloudify.org/webinars/Azure-plugin-for-
> > > > > > > > cloudify-webinar.html?utm_source=signaturesatori_
> > > > > > > > medium=email_campaign=general_signature>
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Tal Liron
> > > > > > > Senior Engineer
> > > > > > > t...@gigaspaces.com | +1 (773) 828-9339 Cloudify |
> > > > > > > http://getcloudify.org
> > > > > > > <http://getcloudify.org?utm_source=signaturesatori_
> > > > > > > medium=email_campaign=general_signature>
> > > > > > >
> > > > > > > <https://twitter.com/CloudifySource>
> > > > > > > <https://www.linkedin.com/groups/8467478>
> > > > > > > <https://github.com/cloudify-cosmo>   <
> > > https://github.com/cloudify-
> > > > > cosmo
> > > > > > >
> > > > > > > [image: Azure Webinar]
> > > > > > > <http://getcloudify.org/webinars/Azure-plugin-for-
> > > > > > > cloudify-webinar.html?utm_source=signaturesatori_
> > > > > > > medium=email_campaign=general_signature>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> >
> >
> > --
> > Tal Liron
> > Senior Engineer
> > t...@gigaspaces.com | +1 (773) 828-9339
> > Cloudify | http://getcloudify.org
> > <http://getcloudify.org?utm_source=signaturesatori_
> > medium=email_campaign=general_signature>
> >
> > <https://twitter.com/CloudifySource>
> > <https://www.linkedin.com/groups/8467478>
> > <https://github.com/cloudify-cosmo>   <https://github.com/cloudify-cosmo
> >
> > [image: Azure Webinar]
> > <http://getcloudify.org/webinars/Azure-plugin-for-
> > cloudify-webinar.html?utm_source=signaturesatori_
> > medium=email_campaign=general_signature>
> >
>
>
>
> --
> Tal Liron, Senior Solutions Architect <http://cloudify.co>
> --
> M: +1-312-375-8299 http://cloudify.co @cloudifysource
> <https://twitter.com/CloudifySource>
> <https://www.linkedin.com/company-beta/17918192/>
> <https://github.com/cloudify-cosmo>
> <https://www.youtube.com/cloudifysource>
>



-- 
Avia Efrat
SW Engineer
a...@gigaspaces.com | +972546204553
Cloudify | http://getcloudify.org
<http://getcloudify.org?utm_source=signaturesatori_medium=email_campaign=general_signature>

<https://twitter.com/CloudifySource>
<https://www.linkedin.com/groups/8467478>
<https://github.com/cloudify-cosmo>   <https://github.com/cloudify-cosmo>
[image: Azure Webinar]
<http://getcloudify.org/webinars/Azure-plugin-for-cloudify-webinar.html?utm_source=signaturesatori_medium=email_campaign=general_signature>


Re: [VOTE] Add an 'entry-level' label to some of our Jira issues

2017-07-10 Thread Avia Efrat
These presentationa are not stand-alone, as they consist of bulletins that
were more broadly explained in the session. That being said, there is an 4
hour video and Q session by Tal about TOSCA. We intend to upload it to
the ARIA site soon.
In addition, we are planning to expand our documentation, specifically
about such concepts as custom workflows and plugins.

On Mon, Jul 10, 2017 at 3:58 PM, Steve Baillargeon <
steve.baillarg...@ericsson.com> wrote:

> Hi
> Do you intend to introduce "other levels" or just one label for beginners?
> If you only need one level, then maybe it is best to call it "simple" or
> 'basic"?
>
> Hi Avia and Tal,
> Is it possible to store the quick introduction to TOSCA and theoretical
> overview for everyone to see?
> Thanks
>
> Steve B
>
>
>
>
> -Original Message-
> From: Ran Ziv [mailto:r...@gigaspaces.com]
> Sent: Monday, July 10, 2017 4:39 AM
> To: dev@ariatosca.incubator.apache.org
> Subject: Re: [VOTE] Add an 'entry-level' label to some of our Jira issues
>
> I'm all for it, though I don't really like "entry-level" for the name of
> the label :) Any other suggestions?
>
>
> On Mon, Jul 10, 2017 at 5:09 AM, John D. Ament <johndam...@apache.org>
> wrote:
>
> > I think it's a good idea.  Lots of other projects do something
> > similar.  We could link to a query with this from the proposed
> > contributing guide I emailed about earlier.  If we put the
> > contributing guide on confluence, I believe we can even embed a report.
> >
> > John
> >
> > On Sun, Jul 9, 2017 at 9:34 PM Avia Efrat <a...@gigaspaces.com> wrote:
> >
> > > Today Tal (t...@gigaspaces.com) and myself had a very long and
> > > productive face-to-face session with some AT developers about
> > > ARIA. We did a quick introduction to TOSCA (as some of them where
> > > already familiar with it), followed by an theoretical overview and
> live demo of ARIA 0.1.0.
> > >
> > > Some of the AT guys were very interested in contributing to ARIA,
> > > and raised what I think is a very good suggestion. They said that
> > > since sometimes you don't know where to start when contributing to a
> > > large and unfamiliar project, and since some of them or only novice
> > > python programmers, it would very good for them to have Jiras marked
> > > with a special label, such as 'entry-level', to signal that these
> > > Jiras are suitable for beginners.
> > >
> > > So first, I would like to hear your opinions on this suggestion, and
> > > second, if you support it, maybe you have some better input on the
> > > name
> > of
> > > such a label, as I'm not sure I'm pleased with 'entry-level'. (Some
> > > other suggestions were 'first-time-contributor' and 'trivial', but
> > > feel free to suggest your own)
> > >
> > > --
> > > Avia Efrat
> > > SW Engineer
> > > a...@gigaspaces.com | +972546204553 <+972%2054-620-4553> Cloudify |
> > > http://getcloudify.org <
> > > http://getcloudify.org?utm_source=signaturesatori_
> > medium=email_campaign=general_signature
> > > >
> > >
> > > <https://twitter.com/CloudifySource>
> > > <https://www.linkedin.com/groups/8467478>
> > > <https://github.com/cloudify-cosmo>   <https://github.com/cloudify-
> cosmo
> > >
> > > [image: Azure Webinar]
> > > <
> > > http://getcloudify.org/webinars/Azure-plugin-for-
> > cloudify-webinar.html?utm_source=signaturesatori_
> > medium=email_campaign=general_signature
> > > >
> > >
> >
>



-- 
Avia Efrat
SW Engineer
a...@gigaspaces.com | +972546204553
Cloudify | http://getcloudify.org
<http://getcloudify.org?utm_source=signaturesatori_medium=email_campaign=general_signature>

<https://twitter.com/CloudifySource>
<https://www.linkedin.com/groups/8467478>
<https://github.com/cloudify-cosmo>   <https://github.com/cloudify-cosmo>
[image: Azure Webinar]
<http://getcloudify.org/webinars/Azure-plugin-for-cloudify-webinar.html?utm_source=signaturesatori_medium=email_campaign=general_signature>


Re: [VOTE] publish ariatosca 0.1.0 (#2)

2017-07-04 Thread Avia Efrat
gt; > > The file is signed (.asc) and its MD5 / SHA512 checksums may be
> found
> > > in
> > > > > that folder as well.
> > > > >
> > > > >
> > > > > In addition, I've created packages for (Pythonic-)source & binary
> > > > > distributions, which would be uploaded to PyPI if the release is
> > > > approved.
> > > > > These artifacts may be found here:
> > > > > Source distribution:
> > > > >
> > > https://dist.apache.org/repos/dist/dev/incubator/ariatosca/
> 0.1.0-sdist/
> > > > > Binary distribution:
> > > > >
> > > https://dist.apache.org/repos/dist/dev/incubator/ariatosca/
> 0.1.0-bdist/
> > > > >
> > > > >
> > > > >
> > > > > The list of issues Resolved for this release are simply all the
> > issues
> > > > that
> > > > > have been resolved thus far, seeing as this would be the first
> > release
> > > :)
> > > > > Those can be found here:
> > > > > https://issues.apache.org/jira/browse/ARIA-295?filter=-1;
> > > > > jql=project%3Dariatosca%20and%20status%20in%20(resolved%2C%
> 20closed)
> > > > >
> > > > >
> > > > > Instructions for installation etc. may be found in the README file
> > > inside
> > > > > the tarball.
> > > > > (Please note that the relevant installation instructions are for
> > > "source
> > > > > installation", not "install from PyPI")
> > > > >
> > > > >
> > > > > To use RAT to validate package conformance with ASF standards,
> please
> > > use
> > > > > the ".rat-excludes" file, for example:
> > > > > java -jar ../apache-rat-0.12/apache-rat-0.12.jar . -E
> .rat-excludes
> > > > >
> > > > >
> > > > >
> > > > > The vote will last 72 hours.
> > > > >
> > > > > Please vote:
> > > > >
> > > > > [ ] +1: Good to go!
> > > > > [ ] 0: I don't care
> > > > > [ ] -1: Don't release this because...
> > > > >
> > > > >
> > > > > Thanks,
> > > > > Ran
> > > > >
> > > >
> > >
> >
>



-- 
Avia Efrat
SW Engineer
a...@gigaspaces.com | +972546204553
Cloudify | http://getcloudify.org
<http://getcloudify.org?utm_source=signaturesatori_medium=email_campaign=general_signature>

<https://twitter.com/CloudifySource>
<https://www.linkedin.com/groups/8467478>
<https://github.com/cloudify-cosmo>   <https://github.com/cloudify-cosmo>
[image: Azure Webinar]
<http://getcloudify.org/webinars/Azure-plugin-for-cloudify-webinar.html?utm_source=signaturesatori_medium=email_campaign=general_signature>


[incubator-ariatosca] Git Push Summary

2017-06-13 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/avia-tmp [deleted] 848ada03a


incubator-ariatosca git commit: Add file a.txt

2017-06-13 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/avia-tmp [created] 848ada03a


Add file a.txt


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/848ada03
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/848ada03
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/848ada03

Branch: refs/heads/avia-tmp
Commit: 848ada03a8a7fe83fb220d18c471aa44a789005a
Parents: 1e883c5
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 13 14:03:38 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 13 14:03:38 2017 +0300

--
 a.txt | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/848ada03/a.txt
--
diff --git a/a.txt b/a.txt
new file mode 100644
index 000..e69de29



[incubator-ariatosca] Git Push Summary

2017-06-12 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-275-update-NFV-profile-to-csd04 [deleted] 1e883c57a


Re: Support for TOSCA Simple Profile NFV 1.0

2017-06-12 Thread Avia Efrat
Hi DJ,

Just updating that the pull request was merged.

Note that there are some inconsistencies in csd04, so if you have any
questions regarding our reasoning in resolving them, feel encouraged to ask.

On Wed, Jun 7, 2017 at 10:09 AM, D Jayachandran <d.jayachand...@ericsson.com
> wrote:

> Thanks for the update Avia.
>
> Regards,
> DJ
>
> -Original Message-
> From: Avia Efrat [mailto:a...@gigaspaces.com]
> Sent: Wednesday, June 07, 2017 3:03 AM
> To: dev@ariatosca.incubator.apache.org
> Subject: Re: Support for TOSCA Simple Profile NFV 1.0
>
> Hi DJ,
>
> I've created a pull request for the issue that Tal opened:
> https://github.com/apache/incubator-ariatosca/pull/147
> I expect it to be merged on Thursday/Friday.
>
> On Thu, Jun 1, 2017 at 7:02 PM, Tal Liron <t...@gigaspaces.com> wrote:
>
> > Thanks DJ, I opened a new JIRA issue for this if you want to track it:
> >
> > https://issues.apache.org/jira/browse/ARIA-275
> >
> > It shouldn't be too hard to do, just some busy work in YAML. Anyone on
> > the mailing list want to tackle this?
> >
> > On Thu, Jun 1, 2017 at 4:53 AM, D Jayachandran <
> > d.jayachand...@ericsson.com>
> > wrote:
> >
> > > Hi,
> > >
> > > I hope ARIA currently supports , TOSCA Simple Profile NFV 1.0 draft 03.
> > > The Latest available TOSCA NFV profile is Simple profile NFV 1.0
> > > draft
> > 04,
> > > released on 11 May 2017.
> > >
> > > Could you kindly confirm the current level of support from ARIA for
> > > NFV profiles and do you have any timelines to support draft 04 ?
> > >
> > >
> > > Regards,
> > > DJ
> > >
> >
> >
> >
> > --
> > Tal Liron
> > Senior Engineer
> > t...@gigaspaces.com | +1 (773) 828-9339 Cloudify |
> > http://getcloudify.org
> > <http://getcloudify.org?utm_source=signaturesatori_
> > medium=email_campaign=general_signature>
> >
> > <https://twitter.com/CloudifySource>
> > <https://www.linkedin.com/groups/8467478>
> > <https://github.com/cloudify-cosmo>   <https://github.com/cloudify-cosmo
> >
> > [image: Azure Webinar]
> > <http://getcloudify.org/webinars/Azure-plugin-for-
> > cloudify-webinar.html?utm_source=signaturesatori_
> > medium=email_campaign=general_signature>
> >
>
>
>
> --
> Avia Efrat
> SW Engineer
> a...@gigaspaces.com | +972546204553
> Cloudify | http://getcloudify.org
> <http://getcloudify.org?utm_source=signaturesatori_
> medium=email_campaign=general_signature>
>
> <https://twitter.com/CloudifySource>
> <https://www.linkedin.com/groups/8467478>
> <https://github.com/cloudify-cosmo>   <https://github.com/cloudify-cosmo>
> [image: Azure Webinar]
> <http://getcloudify.org/webinars/Azure-plugin-for-
> cloudify-webinar.html?utm_source=signaturesatori_
> medium=email_campaign=general_signature>
>



-- 
Avia Efrat
SW Engineer
a...@gigaspaces.com | +972546204553
Cloudify | http://getcloudify.org
<http://getcloudify.org?utm_source=signaturesatori_medium=email_campaign=general_signature>

<https://twitter.com/CloudifySource>
<https://www.linkedin.com/groups/8467478>
<https://github.com/cloudify-cosmo>   <https://github.com/cloudify-cosmo>
[image: Azure Webinar]
<http://getcloudify.org/webinars/Azure-plugin-for-cloudify-webinar.html?utm_source=signaturesatori_medium=email_campaign=general_signature>


incubator-ariatosca git commit: ARIA-275 Update NFV profile to csd04

2017-06-12 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/master 22f6e9efd -> 1e883c57a


ARIA-275 Update NFV profile to csd04

This update was done according to:
http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html

We resolved some inconsistencies of csd04 with the TOSCA spec, and within csd04 
itself. Wherever we resolved such inconsistencies, we added a detailed
comment describing our reasoning.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/1e883c57
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/1e883c57
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/1e883c57

Branch: refs/heads/master
Commit: 1e883c57abb733b10e13f0b7005cf564886d3fb1
Parents: 22f6e9e
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Sun Jun 4 22:11:10 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Mon Jun 12 22:24:04 2017 +0300

--
 .../profiles/tosca-simple-1.0/artifacts.yaml|   8 +-
 .../profiles/tosca-simple-1.0/capabilities.yaml |   2 +-
 .../profiles/tosca-simple-1.0/data.yaml |   2 +-
 .../profiles/tosca-simple-1.0/groups.yaml   |   2 +-
 .../profiles/tosca-simple-1.0/interfaces.yaml   |   2 +-
 .../profiles/tosca-simple-1.0/nodes.yaml|   2 +-
 .../profiles/tosca-simple-1.0/policies.yaml |  10 +-
 .../tosca-simple-1.0/relationships.yaml |   2 +-
 .../tosca-simple-nfv-1.0/artifacts.yaml |  84 +
 .../tosca-simple-nfv-1.0/capabilities.yaml  |  99 ++
 .../profiles/tosca-simple-nfv-1.0/data.yaml | 305 ++---
 .../profiles/tosca-simple-nfv-1.0/groups.yaml   |  56 
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 323 ---
 .../tosca-simple-nfv-1.0/relationships.yaml |  37 +--
 .../tosca-simple-nfv-1.0.yaml   |   2 +-
 15 files changed, 604 insertions(+), 332 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
index af99340..cfb0df5 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
@@ -17,7 +17,7 @@ artifact_types:
 
   tosca.artifacts.Root:
 _extensions:
-  shorthand_name: Root # ARIA NOTE: ommitted in the spec
+  shorthand_name: Root # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Root
   specification: tosca-simple-1.0
   specification_section: 5.3.1
@@ -41,7 +41,7 @@ artifact_types:
   
   tosca.artifacts.Deployment:
 _extensions:
-  shorthand_name: Deployment # ARIA NOTE: ommitted in the spec
+  shorthand_name: Deployment # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Deployment
   specification: tosca-simple-1.0
   specification_section: 5.3.3.1
@@ -67,7 +67,7 @@ artifact_types:
   
   tosca.artifacts.Deployment.Image.VM:
 _extensions:
-  shorthand_name: Deployment.VM # ARIA NOTE: ommitted in the spec
+  shorthand_name: Deployment.VM # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Deployment.VM
   specification: tosca-simple-1.0
   specification_section: 5.3.3.4
@@ -85,7 +85,7 @@ artifact_types:
   
   tosca.artifacts.Implementation:
 _extensions:
-  shorthand_name: Implementation # ARIA NOTE: ommitted in the spec
+  shorthand_name: Implementation # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Implementation
   specification: tosca-simple-1.0
   specification_section: 5.3.4.1

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
index 0b81a16..30abe10 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
@@ -17,7 +17,7 @@ capability_types:
 
   tosca.capabilities.Root:
 _extensions:
-  shorthand_name: Root # ARIA NOTE: ommitted in the spec
+  shorthand_name: Root # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Root
   specification: tosca-simple-1.0
   specification_section: 5.4.1

[1/2] incubator-ariatosca git commit: ARIA-166 Update README file [Forced Update!]

2017-06-12 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-275-update-NFV-profile-to-csd04 692f61299 -> 1e883c57a 
(forced update)


ARIA-166 Update README file


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/22f6e9ef
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/22f6e9ef
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/22f6e9ef

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 22f6e9efd5300f33bee51a1c1622c22b1531bbf5
Parents: 5afa2f7
Author: Ran Ziv 
Authored: Thu Jun 8 18:26:29 2017 +0300
Committer: Ran Ziv 
Committed: Mon Jun 12 19:08:44 2017 +0300

--
 README.md | 231 +++--
 1 file changed, 75 insertions(+), 156 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/22f6e9ef/README.md
--
diff --git a/README.md b/README.md
index e534645..6aee414 100644
--- a/README.md
+++ b/README.md
@@ -1,201 +1,120 @@
 ARIA
 
 
-[![Build 
Status](https://travis-ci.org/apache/incubator-ariatosca.svg?branch=master)](https://travis-ci.org/apache/incubator-ariatosca)
-[![Appveyor Build 
Status](https://ci.appveyor.com/api/projects/status/ltv89jk63ahiu306?svg=true)](https://ci.appveyor.com/project/ApacheSoftwareFoundation/incubator-ariatosca/history)
-[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
+[![Build 
Status](https://img.shields.io/travis/apache/incubator-ariatosca/master.svg)](https://travis-ci.org/apache/incubator-ariatosca)
+[![Appveyor Build 
Status](https://img.shields.io/appveyor/ci/ApacheSoftwareFoundation/incubator-ariatosca/master.svg)](https://ci.appveyor.com/project/ApacheSoftwareFoundation/incubator-ariatosca/history)
+[![License](https://img.shields.io/github/license/apache/incubator-ariatosca.svg)](http://www.apache.org/licenses/LICENSE-2.0)
+[![PyPI 
release](https://img.shields.io/pypi/v/ariatosca.svg)](https://pypi.python.org/pypi/ariatosca)
+![Python Versions](https://img.shields.io/pypi/pyversions/ariatosca.svg)
+![Wheel](https://img.shields.io/pypi/wheel/ariatosca.svg)
+![Contributors](https://img.shields.io/github/contributors/apache/incubator-ariatosca.svg)
+[![Open Pull 
Requests](https://img.shields.io/github/issues-pr/apache/incubator-ariatosca.svg)](https://github.com/apache/incubator-ariatosca/pulls)
+[![Closed Pull 
Requests](https://img.shields.io/github/issues-pr-closed-raw/apache/incubator-ariatosca.svg)](https://github.com/apache/incubator-ariatosca/pulls?q=is%3Apr+is%3Aclosed)
 
 
-[ARIA](http://ariatosca.org/) is a minimal TOSCA orchestrator, as well as a 
platform for building
-TOSCA-based products. Its features can be accessed via a well-documented 
Python API.
+What is ARIA?
+
 
-On its own, ARIA provides built-in tools for blueprint validation and for 
creating ready-to-run
-service instances. 
+[ARIA](http://ariatosca.incubator.apache.org/) is a an open-source, 
[TOSCA](https://www.oasis-open.org/committees/tosca/)-based, lightweight 
library and CLI for orchestration and for consumption by projects building 
TOSCA-based solutions for resources and services orchestration.
 
-ARIA adheres strictly and meticulously to the
-[TOSCA Simple Profile v1.0 cos01 
specification](http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html),
-providing state-of-the-art validation at seven different levels:
+ARIA can be utilized by any organization that wants to implement TOSCA-based 
orchestration in its solutions, whether a multi-cloud enterprise application, 
or an NFV or SDN solution for multiple virtual infrastructure managers.
 
-
-Platform errors. E.g. network, hardware, or even an internal bug in ARIA 
(let us know,
-   please!).
-Syntax and format errors. E.g. non-compliant YAML, XML, JSON.
-Field validation. E.g. assigning a string where an integer is expected, 
using a list instead of
-   a dict.
-Relationships between fields within a type. This is "grammar" as it 
applies to rules for
-setting the values of fields in relation to each other.
-Relationships between types. E.g. referring to an unknown type, causing a 
type inheritance
-loop.
-Topology. These errors happen if requirements and capabilities cannot be 
matched in order to
-   assemble a valid topology.
-External dependencies. These errors happen if requirement/capability 
matching fails due to
-external resources missing, e.g. the lack of a valid virtual machine, API 
credentials, etc.
- 
-
+With ARIA, you can utilize TOSCA's cloud portability out-of-the-box, to 

[2/2] incubator-ariatosca git commit: ARIA-275 Update NFV profile to csd04

2017-06-12 Thread avia
ARIA-275 Update NFV profile to csd04

This update was done according to:
http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html

We resolved some inconsistencies of csd04 with the TOSCA spec, and within csd04 
itself. Wherever we resolved such inconsistencies, we added a detailed
comment describing our reasoning.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/1e883c57
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/1e883c57
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/1e883c57

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 1e883c57abb733b10e13f0b7005cf564886d3fb1
Parents: 22f6e9e
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Sun Jun 4 22:11:10 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Mon Jun 12 22:24:04 2017 +0300

--
 .../profiles/tosca-simple-1.0/artifacts.yaml|   8 +-
 .../profiles/tosca-simple-1.0/capabilities.yaml |   2 +-
 .../profiles/tosca-simple-1.0/data.yaml |   2 +-
 .../profiles/tosca-simple-1.0/groups.yaml   |   2 +-
 .../profiles/tosca-simple-1.0/interfaces.yaml   |   2 +-
 .../profiles/tosca-simple-1.0/nodes.yaml|   2 +-
 .../profiles/tosca-simple-1.0/policies.yaml |  10 +-
 .../tosca-simple-1.0/relationships.yaml |   2 +-
 .../tosca-simple-nfv-1.0/artifacts.yaml |  84 +
 .../tosca-simple-nfv-1.0/capabilities.yaml  |  99 ++
 .../profiles/tosca-simple-nfv-1.0/data.yaml | 305 ++---
 .../profiles/tosca-simple-nfv-1.0/groups.yaml   |  56 
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 323 ---
 .../tosca-simple-nfv-1.0/relationships.yaml |  37 +--
 .../tosca-simple-nfv-1.0.yaml   |   2 +-
 15 files changed, 604 insertions(+), 332 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
index af99340..cfb0df5 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
@@ -17,7 +17,7 @@ artifact_types:
 
   tosca.artifacts.Root:
 _extensions:
-  shorthand_name: Root # ARIA NOTE: ommitted in the spec
+  shorthand_name: Root # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Root
   specification: tosca-simple-1.0
   specification_section: 5.3.1
@@ -41,7 +41,7 @@ artifact_types:
   
   tosca.artifacts.Deployment:
 _extensions:
-  shorthand_name: Deployment # ARIA NOTE: ommitted in the spec
+  shorthand_name: Deployment # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Deployment
   specification: tosca-simple-1.0
   specification_section: 5.3.3.1
@@ -67,7 +67,7 @@ artifact_types:
   
   tosca.artifacts.Deployment.Image.VM:
 _extensions:
-  shorthand_name: Deployment.VM # ARIA NOTE: ommitted in the spec
+  shorthand_name: Deployment.VM # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Deployment.VM
   specification: tosca-simple-1.0
   specification_section: 5.3.3.4
@@ -85,7 +85,7 @@ artifact_types:
   
   tosca.artifacts.Implementation:
 _extensions:
-  shorthand_name: Implementation # ARIA NOTE: ommitted in the spec
+  shorthand_name: Implementation # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Implementation
   specification: tosca-simple-1.0
   specification_section: 5.3.4.1

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1e883c57/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
index 0b81a16..30abe10 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
@@ -17,7 +17,7 @@ capability_types:
 
   tosca.capabilities.Root:
 _extensions:
-  shorthand_name: Root # ARIA NOTE: ommitted in the spec
+  shorthand_name: Root # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Root
   specification: tosca-simple-1.0
   specification_section: 5.4.1

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/b

[07/13] incubator-ariatosca git commit: Fixed WD04, Rev02 (2016-9-6) and WD04, Rev03 (2016-11-7)

2017-06-07 Thread avia
Fixed WD04, Rev02 (2016-9-6) and WD04, Rev03 (2016-11-7)


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/bb8c4af4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/bb8c4af4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/bb8c4af4

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: bb8c4af454a505b33b1942adc2e6af09b7bfca4e
Parents: 422a95b
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Mon Jun 5 16:21:19 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/data.yaml | 289 +++
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 240 +++
 2 files changed, 473 insertions(+), 56 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/bb8c4af4/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
index 89e3565..f6a07ef 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
@@ -15,6 +15,295 @@
 
 data_types:
 
+  tosca.datatypes.nfv.L2AddressData:
+_extensions:
+  shorthand_name: L2AddressData
+  type_qualified_name: tosca:L2AddressData
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.3.1
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896055'
+# ARIA NOTE: This type is empty in csd04, and is only specified here since 
the
+# tosca.datatypes.nfv.AddressData references it (and states 'empty in "GS 
NFV IFA011 V0.7.3"')
+
+  tosca.datatypes.nfv.L3AddressData:
+_extensions:
+  shorthand_name: L3AddressData
+  type_qualified_name: tosca:L3AddressData
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.3.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896056'
+description: >-
+  The L3AddressData type is a complex TOSCA data type used to describe 
L3AddressData information
+  element as defined in [ETSI GS NFV-IFA 011], it provides the information 
on the IP addresses
+  to be assigned to the connection point instantiated from the parent 
Connection Point
+  Descriptor.
+derived_from: tosca.datatypes.Root
+properties:
+  ip_address_assignment:
+description: >-
+  Specify if the address assignment is the responsibility of 
management and orchestration
+  function or not. If it is set to True, it is the management and 
orchestration function
+  responsibility.
+type: boolean
+required: true
+  floating_ip_activated:
+description: Specify if the floating IP scheme is activated on the 
Connection Point or not.
+type: boolean
+required: true
+  ip_address_type:
+description: >-
+  Define address type. The address type should be aligned with the 
address type supported by
+  the layer_protocol properties of the parent VnfExtCpd
+type: string
+required: false
+constraints:
+  - valid_values: [ ipv4, ipv6 ]
+  number_of_ip_address:
+description: Minimum number of IP addresses to be assigned.
+type: integer
+required: false
+
+  tosca.datatypes.nfv.AddressData:
+_extensions:
+  shorthand_name: AddressData
+  type_qualified_name: tosca:AddressData
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.3.3
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896057'
+description: >-
+  The AddressData type is a complex TOSCA data type used to describe 
AddressData information
+  element as defined in [ETSI GS NFV-IFA 011], it provides information on 
the addresses to be
+  assigned to the connection point(s) instantiated from a Connection Point 
Descriptor.
+derived_from: tosca.datatypes.Root
+properties:
+  address_type:
+description: >-
+  Describes the type of the address to be assigned to the connection 
point instantiated from
+  the parent Connection Point Descriptor. The content type shall be 
aligned with the address
+  type supported by the layerProtocol property of the parent 
Connection Point Descriptor.
+type: string
+  

[11/13] incubator-ariatosca git commit: Removed the virtual link (VL) node types, as they do not appear in csd04

2017-06-07 Thread avia
Removed the virtual link (VL) node types, as they do not appear in csd04


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/c80c5f6e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/c80c5f6e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/c80c5f6e

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: c80c5f6ee9447097d644b342362738ab5df277b0
Parents: f9bffe4
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:50:47 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 109 ++-
 1 file changed, 35 insertions(+), 74 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/c80c5f6e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index 5bd002d..2e1b634 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -192,41 +192,41 @@ node_types:
   specification: tosca-simple-nfv-1.0
   specification_section: 5.9.4
   specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896081'
-  derived_from: tosca.nodes.Root
-  description: >-
-The TOSCA nfv.Cpd node represents network connectivity to a compute 
resource or a VL as defined
-by [ETSI GS NFV-IFA 011]. This is an abstract type used as parent for the 
various Cpd types.
-  derived_from: tosca.nodes.Root
-  properties:
-layer_protocol:
-  description: Identifies which protocol the connection point uses for 
connectivity purposes
-  type: string
-  constraints:
-- valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
-  required: false
-role: # Name in ETSI NFV IFA011 v0.7.3 cpRole
-  description: >-
-Identifies the role of the port in the context of the traffic flow 
patterns in the VNF or
-parent NS. For example a VNF with a tree flow pattern within the VNF 
will have legal cpRoles
-of ROOT and LEAF
-  type: string
-  constraints:
-- valid_values: [ root, leaf ]
-  required: false
-description:
-  description: >-
-Provides human-readable information on the purpose of the connection 
point
-(e.g. connection point for control plane traffic).
-  type: string
-  required: false
-address_data:
-  description: >-
-Provides information on the addresses to be assigned to the connection 
point(s) instantiated
-from this Connection Point Descriptor.
-  type: list
-  entry_schema:
-type: tosca.datatype.nfv.AddressData
-  required: false
+derived_from: tosca.nodes.Root
+description: >-
+  The TOSCA nfv.Cpd node represents network connectivity to a compute 
resource or a VL as defined
+  by [ETSI GS NFV-IFA 011]. This is an abstract type used as parent for 
the various Cpd types.
+
+properties:
+  layer_protocol:
+description: Identifies which protocol the connection point uses for 
connectivity purposes
+type: string
+constraints:
+  - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
+required: false
+  role: # Name in ETSI NFV IFA011 v0.7.3 cpRole
+description: >-
+  Identifies the role of the port in the context of the traffic flow 
patterns in the VNF or
+  parent NS. For example a VNF with a tree flow pattern within the VNF 
will have legal cpRoles
+  of ROOT and LEAF
+type: string
+constraints:
+  - valid_values: [ root, leaf ]
+required: false
+  description:
+description: >-
+  Provides human-readable information on the purpose of the connection 
point
+  (e.g. connection point for control plane traffic).
+type: string
+required: false
+  address_data:
+description: >-
+  Provides information on the addresses to be assigned to the 
connection point(s) instantiated
+  from this Connection Point Descriptor.
+type: list
+entry_schema:
+  type: tosca.datatype.nfv.AddressData
+required: false
 
   tosca.nodes.nfv.VduCpd:
 _extensions:
@@ -320,42 +320,3 @@ node_types:
 
   # monitoring_parameters:
 # modeled as ad hoc (named) capabilities in node te

[10/13] incubator-ariatosca git commit: Add tosca.nodes.nfv.VDU.Compute and tosca.nodes.nfv.VDU.VirtualStorage

2017-06-07 Thread avia
Add tosca.nodes.nfv.VDU.Compute and tosca.nodes.nfv.VDU.VirtualStorage


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/68c1b7ac
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/68c1b7ac
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/68c1b7ac

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 68c1b7acdf313cb2005279de67655074974fa598
Parents: f424164
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:30:13 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/data.yaml |   2 +-
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 180 ++-
 2 files changed, 176 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/68c1b7ac/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
index cf35cba..cec230c 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
@@ -99,7 +99,7 @@ data_types:
   instantiated from the parent Connection Point Descriptor.
 type: tosca.datatypes.nfv.L3AddressData
 required: false
-# ARIA NOTE: states under the "constraints" column in the properties 
table:
+# ARIA NOTE: the spec states under the "constraints" column in the 
properties table:
 # "Shall be present when the addressType is ip_address."
 
   tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/68c1b7ac/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index d0ccadd..b123aab 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -15,6 +15,176 @@
 
 node_types:
 
+  tosca.nodes.nfv.VDU.Compute:
+_extensions:
+  shorthand_name: VDU.Compute
+  type_qualified_name: tosca:VDU.Compute
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.9.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896079'
+description: >-
+  The TOSCA nfv.VDU.Compute node type represents the virtual compute part 
of a VDU entity which
+  it mainly describes the deployment and operational behavior of a VNF 
component (VNFC), as
+  defined by [ETSI NFV IFA011].
+derived_from: tosca.nodes.Compute
+properties:
+  name:
+description: Human readable name of the Vdu
+type: string
+required: true
+  description:
+description: Human readable description of the Vdu
+type: string
+required: true
+  boot_order:
+description: >-
+  The key indicates the boot index (lowest index defines highest boot 
priority).
+  The Value references a descriptor from which a valid boot device is 
created e.g.
+  VirtualStorageDescriptor from which a VirtualStorage instance is 
created. If no boot order
+  is defined the default boot order defined in the VIM or NFVI shall 
be used.
+type: type: # explicit index (boot index) not necessary, contrary to 
IFA011
+  entry_schema:
+type: string
+required: false
+  nfvi_constraints:
+description: >-
+  Describes constraints on the NFVI for the VNFC instance(s) created 
from this Vdu.
+  For example, aspects of a secure hosting environment for the VNFC 
instance that involve
+  additional entities or processes. More software images can be 
attached to the
+  virtualization container using virtual_storage.
+type: list
+entry_schema:
+  type: string
+required: false
+  configurable_properties:
+description: Describes the configurable properties of all VNFC 
instances based on this VDU.
+type: map
+entry_schema:
+  type: tosca.datatypes.nfv.VnfcConfigurableProperties
+required: true
+attributes: # ARIA NOTE: The attributes

[02/13] incubator-ariatosca git commit: ARIA-199 Add "services outputs" CLI command

2017-06-07 Thread avia
ARIA-199 Add "services outputs" CLI command

* Also add an output to hello world example


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/5afa2f7f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/5afa2f7f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/5afa2f7f

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 5afa2f7fe11977593009b6da25733fa8dd61a1e9
Parents: cd83073
Author: Tal Liron 
Authored: Fri Jun 2 14:20:28 2017 -0500
Committer: Tal Liron 
Committed: Wed Jun 7 14:42:35 2017 -0500

--
 aria/cli/commands/services.py   | 23 -
 aria/modeling/models.py |  4 +--
 examples/hello-world/helloworld.yaml| 16 
 tests/cli/test_services.py  | 26 ++--
 tests/end2end/test_hello_world.py   |  1 +
 tests/mock/models.py| 21 ++--
 .../node-cellar/node-cellar.yaml| 12 +
 7 files changed, 76 insertions(+), 27 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5afa2f7f/aria/cli/commands/services.py
--
diff --git a/aria/cli/commands/services.py b/aria/cli/commands/services.py
index 476387c..ae5895a 100644
--- a/aria/cli/commands/services.py
+++ b/aria/cli/commands/services.py
@@ -192,17 +192,16 @@ def outputs(service_name, model_storage, logger):
 """
 logger.info('Showing outputs for service {0}...'.format(service_name))
 service = model_storage.service.get_by_name(service_name)
-#TODO fix this section..
-outputs_def = service.outputs
-response = model_storage.service.outputs.get(service_name)
-outputs_ = StringIO()
-for output_name, output in response.outputs.iteritems():
-outputs_.write(' - "{0}":{1}'.format(output_name, os.linesep))
-description = outputs_def[output_name].get('description', '')
-outputs_.write(' Description: {0}{1}'.format(description,
- os.linesep))
-outputs_.write(' Value: {0}{1}'.format(output, os.linesep))
-logger.info(outputs_.getvalue())
+
+if service.outputs:
+outputs_string = StringIO()
+for output_name, output in service.outputs.iteritems():
+outputs_string.write(' - "{0}":{1}'.format(output_name, 
os.linesep))
+outputs_string.write(' Description: 
{0}{1}'.format(output.description, os.linesep))
+outputs_string.write(' Value: {0}{1}'.format(output.value, 
os.linesep))
+logger.info(outputs_string.getvalue())
+else:
+logger.info('\tNo outputs')
 
 
 @services.command(name='inputs',
@@ -218,10 +217,12 @@ def inputs(service_name, model_storage, logger):
 """
 logger.info('Showing inputs for service {0}...'.format(service_name))
 service = model_storage.service.get_by_name(service_name)
+
 if service.inputs:
 inputs_string = StringIO()
 for input_name, input_ in service.inputs.iteritems():
 inputs_string.write(' - "{0}":{1}'.format(input_name, os.linesep))
+inputs_string.write(' Description: 
{0}{1}'.format(input_.description, os.linesep))
 inputs_string.write(' Value: {0}{1}'.format(input_.value, 
os.linesep))
 logger.info(inputs_string.getvalue())
 else:

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5afa2f7f/aria/modeling/models.py
--
diff --git a/aria/modeling/models.py b/aria/modeling/models.py
index 4102090..f30b86f 100644
--- a/aria/modeling/models.py
+++ b/aria/modeling/models.py
@@ -268,7 +268,7 @@ class Argument(aria_declarative_base, 
orchestration.ArgumentBase):
 
 
 # See also __all__ at the top of this file
-models_to_register = [
+models_to_register = (
 # Service template models
 ServiceTemplate,
 NodeTemplate,
@@ -317,4 +317,4 @@ models_to_register = [
 Task,
 Log,
 Argument
-]
+)

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5afa2f7f/examples/hello-world/helloworld.yaml
--
diff --git a/examples/hello-world/helloworld.yaml 
b/examples/hello-world/helloworld.yaml
index be78401..d3369b7 100644
--- a/examples/hello-world/helloworld.yaml
+++ b/examples/hello-world/helloworld.yaml
@@ -1,13 +1,14 @@
 tosca_definitions_version: tosca_simple_yaml_1_0
 
 node_types:
-  web_server:
+
+  WebServer:
 derived_from: tosca.nodes.Root
 capabilities:
   host:
 type: 

[09/13] incubator-ariatosca git commit: Address more non-consistent issues of csd04

2017-06-07 Thread avia
Address more non-consistent issues of csd04


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/9240e20e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/9240e20e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/9240e20e

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 9240e20ec7442c1d47f94fd6c40fb5260f7b
Parents: 49cb98d
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 22:32:02 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../tosca-simple-nfv-1.0/artifacts.yaml |  76 +++
 .../tosca-simple-nfv-1.0/capabilities.yaml  |   2 +-
 .../profiles/tosca-simple-nfv-1.0/data.yaml |   2 +-
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 206 +++
 .../tosca-simple-nfv-1.0.yaml   |   1 +
 5 files changed, 204 insertions(+), 83 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9240e20e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml
new file mode 100644
index 000..2e68f57
--- /dev/null
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml
@@ -0,0 +1,76 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+artifact_types:
+  tosca.artifacts.nfv.SwImage:
+_extensions:
+  shorthand_name: SwImage
+  type_qualified_name: tosca:SwImage
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.4.1
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896067'
+derived_from: tosca.artifacts.Deployment.Image
+properties:
+  name:
+description: Name of this software image
+type: string
+required: true
+  version:
+description: Version of this software image
+type: string
+required: true
+  checksum:
+description: Checksum of the software image file
+type: string
+  container_format:
+description: >-
+  The container format describes the container file format in which 
software image is provided
+type: string
+required: true
+  disk_format:
+description: The disk format of a software image is the format of the 
underlying disk image
+type: string
+required: true
+  min_disk:
+description: The minimal disk size requirement for this software image.
+type: scalar-unit.size
+required: true
+  min_ram:
+description: The minimal disk size requirement for this software image.
+type: scalar-unit.size
+required: false
+  size: # ARIA NOTE: section [5.4.1.1 Properties] calls this field 'Size'.
+description: The size of this software image
+type: scalar-unit.size
+required: true
+  sw_image:
+description: A reference to the actual software image within VNF 
Package, or url.
+type: string
+required: true
+  operating_system:
+description: Identifies the operating system used in the software 
image.
+type: string
+required: false
+  supported _virtualization_enviroment:
+description: >-
+  Identifies the virtualization environments (e.g. hypervisor) 
compatible with this software
+  image
+type: list
+entry_schema:
+  type: string
+required: false
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9240e20e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria

[08/13] incubator-ariatosca git commit: Fixed WD04, Rev04 (2016-11-14) and WD04, Rev05 (2017-1-17)

2017-06-07 Thread avia
Fixed WD04, Rev04 (2016-11-14) and WD04, Rev05 (2017-1-17)


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/f4241645
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/f4241645
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/f4241645

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: f4241645c3da8cfff9a52341e92cb10c724f887b
Parents: bb8c4af
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Mon Jun 5 16:36:52 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../tosca-simple-nfv-1.0/capabilities.yaml  |  45 
 .../profiles/tosca-simple-nfv-1.0/data.yaml |  75 -
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 112 +--
 3 files changed, 5 insertions(+), 227 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f4241645/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
index 6bc6b67..375ba13 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
@@ -15,51 +15,6 @@
 
 capability_types:
 
-  tosca.capabilities.Compute.Container.Architecture:
-_extensions:
-  shorthand_name: Compute.Container.Architecture
-  type_qualified_name: tosca:Compute.Container.Architecture
-  specification: tosca-simple-nfv-1.0
-  specification_section: 8.2.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#DEFN_TYPE_CAPABILITIES_CONTAINER'
-description: >-
-  Enhance compute architecture capability that needs to be typically use 
for performance sensitive NFV workloads.
-derived_from: tosca.capabilities.Container
-properties:
-  mem_page_size:
-description: >-
-  Describe page size of the VM:
-  
-  * small page size is typically 4KB
-  * large page size is typically 2MB
-  * any page size maps to system default
-  * custom MB value: sets TLB size to this specific value
-type: string
-# ARIA NOTE: seems wrong in the spec
-#constraints:
-#  - [ normal, huge ]
-  cpu_allocation:
-description: >-
-  Describes CPU allocation requirements like dedicated CPUs (cpu 
pinning), socket count, thread count, etc.
-type: tosca.datatypes.compute.Container.Architecture.CPUAllocation
-required: false
-  numa_node_count:
-description: >-
-  Specifies the symmetric count of NUMA nodes to expose to the VM. 
vCPU and Memory equally split across this number of
-  NUMA.
-  
-  NOTE: the map of numa_nodes should not be specified.
-type: integer
-required: false 
-  numa_nodes:
-description: >-
-  Asymmetric allocation of vCPU and Memory across the specific NUMA 
nodes (CPU sockets and memory banks).
-  
-  NOTE: symmetric numa_node_count should not be specified.
-type: map
-entry_schema: tosca.datatypes.compute.Container.Architecture.NUMA
-required: false
-
   tosca.capabilities.nfv.VirtualBindable:
 _extensions:
   shorthand_name: VirtualBindable

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f4241645/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
index f6a07ef..cf35cba 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
@@ -303,78 +303,3 @@ data_types:
 entry_schema:
   type: string
 required: false
-
-  tosca.datatypes.compute.Container.Architecture.CPUAllocation:
-_extensions:
-  shorthand_name: Container.Architecture.CPUAllocation # seems to be a 
mistake in the spec; the norm is to add a "Container.Architecture." prefix
-  type_qualified_name: tosca:Container.Architecture.CPUAllocation
-  specification: tosca-simple-nfv-1.0
-  specification_section: 8.3.1
-description: >-
-  Granular CPU allocation requirements for NFV workloads.
-derived_fr

[01/13] incubator-ariatosca git commit: ARIA-213 sporadic tests failures over locked database issue [Forced Update!]

2017-06-07 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-275-update-NFV-profile-to-csd04 5e8044d4b -> 9240e20ec 
(forced update)


ARIA-213 sporadic tests failures over locked database issue

Increased the timeout for acquiring database lock (for sqlite based db).


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/cd830731
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/cd830731
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/cd830731

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: cd830731bff21e836b5e661623b269aa40f92f52
Parents: 180e0a1
Author: max-orlov 
Authored: Tue Jun 6 17:05:21 2017 +0300
Committer: max-orlov 
Committed: Wed Jun 7 17:21:01 2017 +0300

--
 aria/storage/sql_mapi.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/cd830731/aria/storage/sql_mapi.py
--
diff --git a/aria/storage/sql_mapi.py b/aria/storage/sql_mapi.py
index 4d7e233..bb6223a 100644
--- a/aria/storage/sql_mapi.py
+++ b/aria/storage/sql_mapi.py
@@ -405,7 +405,8 @@ def init_storage(base_dir, filename='db.sqlite'):
 
 path=os.path.join(base_dir, filename))
 
-engine = create_engine(uri)
+engine = create_engine(uri, connect_args=dict(timeout=15))
+
 session_factory = orm.sessionmaker(bind=engine)
 session = orm.scoped_session(session_factory=session_factory)
 



[13/13] incubator-ariatosca git commit: remove two relationship types

2017-06-07 Thread avia
remove two relationship types

- tosca.relationships.nfv.ForwardsTo
- tosca.relationships.nfv.VirtualLinksTo

They are not present in csd04.
The changelog at the end of csd04 states:
"Deleted NSD related content, v1.0 will only cover VNFD model."
The second relationship was a part of the NSD model.
The first relationship was a part of the VNFFGD model, which probably
also got deleted, since it is not the VNFD model.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/325ae1e0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/325ae1e0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/325ae1e0

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 325ae1e0ab41767a6e78492aebb59ea7207e2e56
Parents: c80c5f6
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 01:05:13 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../tosca-simple-nfv-1.0/relationships.yaml | 35 
 1 file changed, 7 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/325ae1e0/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml
index b745735..6cf0f6e 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml
@@ -20,8 +20,8 @@ relationship_types:
   shorthand_name: VirtualBindsTo
   type_qualified_name: tosca:VirtualBindsTo
   specification: tosca-simple-nfv-1.0
-  specification_section: 8.4.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290234'
+  specification_section: 5.7.1
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896074'
 description: >-
   This relationship type represents an association relationship between 
VDU and CP node types.
 derived_from: tosca.relationships.DependsOn
@@ -32,33 +32,12 @@ relationship_types:
   shorthand_name: Monitor
   type_qualified_name: tosca:Monitor
   specification: tosca-simple-nfv-1.0
-  specification_section: 8.4.2
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc418607880'
+  specification_section: 5.7.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896075'
 description: >-
   This relationship type represents an association relationship to the 
Metric capability of VDU node types.
 derived_from: tosca.relationships.ConnectsTo
 valid_target_types: [ tosca.capabilities.nfv.Metric ]
-
-  tosca.relationships.nfv.ForwardsTo:
-_extensions:
-  shorthand_name: ForwardsTo
-  type_qualified_name: tosca:ForwardsTo
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.4.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714720'
-description: >-
-  This relationship type represents a traffic flow between two connection 
point node types.
-derived_from: tosca.relationships.Root
-valid_target_types: [ tosca.capabilities.nfv.Forwarder ]
-
-  tosca.relationships.nfv.VirtualLinksTo:
-_extensions:
-  shorthand_name: VirtualLinksTo
-  type_qualified_name: tosca:VirtualLinksTo
-  specification: tosca-simple-nfv-1.0
-  specification_section: 11.4.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714737'
-description: >-
-  This relationship type represents an association relationship between 
VNFs and VL node types.
-derived_from: tosca.relationships.DependsOn
-valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
+# ARIA NOTE: csd04 lacks the definition of tosca.relationships.nfv.Monitor 
(the derived_from and
+# valid_target_types). It took the liberty of copying their values from 
csd03 as I feel they
+# just got lost in an extensive cut-and-paste session that took place 
between csd03 and csd04.



[06/13] incubator-ariatosca git commit: Fixed WD03, Rev01 (2016-7-29)

2017-06-07 Thread avia
Fixed WD03, Rev01 (2016-7-29)

Also fixed a typo that repeated itself.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/422a95b2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/422a95b2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/422a95b2

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 422a95b277e28e83f24373ce9e2c903e6444e5b7
Parents: 5afa2f7
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Sun Jun 4 22:11:10 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../profiles/tosca-simple-1.0/artifacts.yaml|  8 ++--
 .../profiles/tosca-simple-1.0/capabilities.yaml |  2 +-
 .../profiles/tosca-simple-1.0/data.yaml |  2 +-
 .../profiles/tosca-simple-1.0/groups.yaml   |  2 +-
 .../profiles/tosca-simple-1.0/interfaces.yaml   |  2 +-
 .../profiles/tosca-simple-1.0/nodes.yaml|  2 +-
 .../profiles/tosca-simple-1.0/policies.yaml | 10 ++--
 .../tosca-simple-1.0/relationships.yaml |  2 +-
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 48 ++--
 9 files changed, 40 insertions(+), 38 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/422a95b2/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
index af99340..cfb0df5 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
@@ -17,7 +17,7 @@ artifact_types:
 
   tosca.artifacts.Root:
 _extensions:
-  shorthand_name: Root # ARIA NOTE: ommitted in the spec
+  shorthand_name: Root # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Root
   specification: tosca-simple-1.0
   specification_section: 5.3.1
@@ -41,7 +41,7 @@ artifact_types:
   
   tosca.artifacts.Deployment:
 _extensions:
-  shorthand_name: Deployment # ARIA NOTE: ommitted in the spec
+  shorthand_name: Deployment # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Deployment
   specification: tosca-simple-1.0
   specification_section: 5.3.3.1
@@ -67,7 +67,7 @@ artifact_types:
   
   tosca.artifacts.Deployment.Image.VM:
 _extensions:
-  shorthand_name: Deployment.VM # ARIA NOTE: ommitted in the spec
+  shorthand_name: Deployment.VM # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Deployment.VM
   specification: tosca-simple-1.0
   specification_section: 5.3.3.4
@@ -85,7 +85,7 @@ artifact_types:
   
   tosca.artifacts.Implementation:
 _extensions:
-  shorthand_name: Implementation # ARIA NOTE: ommitted in the spec
+  shorthand_name: Implementation # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Implementation
   specification: tosca-simple-1.0
   specification_section: 5.3.4.1

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/422a95b2/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
index 0b81a16..30abe10 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
@@ -17,7 +17,7 @@ capability_types:
 
   tosca.capabilities.Root:
 _extensions:
-  shorthand_name: Root # ARIA NOTE: ommitted in the spec
+  shorthand_name: Root # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Root
   specification: tosca-simple-1.0
   specification_section: 5.4.1

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/422a95b2/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
index 5210aa0..771a969 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
@@ -95,7 +95,7 @@ data_types:
 
   tosca.datatypes.Root:
 _extensions:
-  shorthand_name: Root # ARIA NOTE: ommitted in the spec
+  shorthand_name: Root # ARIA N

[12/13] incubator-ariatosca git commit: Remove tosca.groups.nfv.VNFFG

2017-06-07 Thread avia
Remove tosca.groups.nfv.VNFFG

It is  not present in csd04.
The changelog at the end of csd04 states:
"Deleted NSD related content, v1.0 will only cover VNFD model."
tosca.groups.nfv.VNFFG was a part of the VNFFGD model, which probably
also got deleted, since it is not the VNFD model.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/49cb98de
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/49cb98de
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/49cb98de

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 49cb98de3bc2f1179fb6d287fc443867373f4dfa
Parents: 923787f
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 01:30:48 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/groups.yaml   | 56 
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml|  2 +-
 .../tosca-simple-nfv-1.0.yaml   |  1 -
 3 files changed, 1 insertion(+), 58 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/49cb98de/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
deleted file mode 100644
index 5eb87c8..000
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-group_types:
-
-  tosca.groups.nfv.VNFFG:
-_extensions:
-  shorthand_name: VNFFG # ARIA NOTE: the spec must be mistaken here, says 
"VL"
-  type_qualified_name: tosca:VNFFG
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.6.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714727'
-description: >-
-  The NFV VNFFG group type represents a logical VNF forwarding graph 
entity as defined by [ETSI GS NFV-MAN 001 v1.1.1].
-derived_from: tosca.groups.Root
-properties:
-  vendor:
-description: >-
-  Specify the vendor generating this VNFFG.
-type: string
-  version:
-description: >-
-  Specify the identifier (e.g. name), version, and description of 
service this VNFFG is describing.
-type: string
-  number_of_endpoints:
-description: >-
-  Count of the external endpoints included in this VNFFG, to form an 
index.
-type: integer
-  dependent_virtual_link:
-description: >-
-  Reference to a list of VLD used in this Forwarding Graph.
-type: list
-entry_schema: string
-  connection_point:
-description: >-
-  Reference to Connection Points forming the VNFFG.
-type: list
-entry_schema: string
-  constituent_vnfs:
-description: >-
-  Reference to a list of VNFD used in this VNF Forwarding Graph.
-type: list
-entry_schema: string
-members: [ tosca.nodes.nfv.FP ]

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/49cb98de/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index 2e1b634..6d68190 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -42,7 +42,7 @@ node_types:
   The Value references a descriptor from which a valid boot device is 
created e.g.
   VirtualStorageDesc

[04/13] incubator-ariatosca git commit: Remove two capability types

2017-06-07 Thread avia
Remove two capability types

- tosca.capabilities.nfv.Forwarder
- tosca.capabilities.nfv.VirtualLinkable

They are not present in csd04.
The changelog at the end of csd04 states:
"Deleted NSD related content, v1.0 will only cover VNFD model."
The second capability was a part of the NSD model.
The first capability was a part of the VNFFGD model, which probably
also got deleted, since it is not the VNFD model.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/923787f7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/923787f7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/923787f7

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 923787f7be27742febbf1dbab183fac85c79f61c
Parents: 325ae1e
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 01:26:08 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../tosca-simple-nfv-1.0/capabilities.yaml  | 32 +++-
 1 file changed, 4 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/923787f7/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
index 6f50f61..db6a62b 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
@@ -20,8 +20,8 @@ capability_types:
   shorthand_name: VirtualBindable
   type_qualified_name: tosca:VirtualBindable
   specification: tosca-simple-nfv-1.0
-  specification_section: 8.2.2
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290220'
+  specification_section: 5.5.1
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896069'
 description: >-
   A node type that includes the VirtualBindable capability indicates that 
it can be pointed by
   tosca.relationships.nfv.VirtualBindsTo relationship type.
@@ -32,37 +32,13 @@ capability_types:
   shorthand_name: Metric
   type_qualified_name: tosca:Metric
   specification: tosca-simple-nfv-1.0
-  specification_section: 8.2.3
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc418607874'
+  specification_section: 5.5.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896070'
 description: >-
   A node type that includes the Metric capability indicates that it can be 
monitored using an nfv.relationships.Monitor
   relationship type.
 derived_from: tosca.capabilities.Endpoint
 
-  tosca.capabilities.nfv.Forwarder:
-_extensions:
-  shorthand_name: Forwarder
-  type_qualified_name: tosca:Forwarder
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.3.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714718'
-description: >-
-  A node type that includes the Forwarder capability indicates that it can 
be pointed by tosca.relationships.nfv.FowardsTo
-  relationship type.
-derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.VirtualLinkable:
-_extensions:
-  shorthand_name: VirtualLinkable
-  type_qualified_name: tosca:VirtualLinkable
-  specification: tosca-simple-nfv-1.0
-  specification_section: 11.3.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714735'
-description: >-
-  A node type that includes the VirtualLinkable capability indicates that 
it can be pointed by
-  tosca.relationships.nfv.VirtualLinksTo relationship type.
-derived_from: tosca.capabilities.Node
-
   tosca.capabilites.nfv.VirtualCompute:
 _extensions:
   shorthand_name: VirtualCompute



[05/13] incubator-ariatosca git commit: Remove tosca.nodes.nfv.FP, as it does not appear in csd04

2017-06-07 Thread avia
Remove tosca.nodes.nfv.FP, as it does not appear in csd04


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/f9bffe46
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/f9bffe46
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/f9bffe46

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: f9bffe46e413b4824a5746ab8a02bacbb16e81c3
Parents: 0acb187
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:45:31 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 20 
 1 file changed, 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f9bffe46/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index b123aab..5bd002d 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -321,26 +321,6 @@ node_types:
   # monitoring_parameters:
 # modeled as ad hoc (named) capabilities in node template
 
-  tosca.nodes.nfv.FP:
-_extensions:
-  shorthand_name: FP # ARIA NOTE: the spec must be mistaken here, says "VL"
-  type_qualified_name: tosca:FP
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.5.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714722'
-description: >-
-  The NFV FP node type represents a logical network forwarding path entity 
as defined by [ETSI GS NFV-MAN 001 v1.1.1].
-derived_from: tosca.nodes.Root
-properties:
-  policy:
-description: >-
-  A policy or rule to apply to the NFP
-type: string
-required: false
-requirements:
-  - forwarder:
-  capability: tosca.capabilities.nfv.Forwarder
-
   tosca.nodes.nfv.VL.ELine:
 _extensions:
   shorthand_name: VL.ELine # ARIA NOTE: omitted in the spec



[03/13] incubator-ariatosca git commit: Add tosca.capabilites.nfv.VirtualCompute

2017-06-07 Thread avia
Add tosca.capabilites.nfv.VirtualCompute


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/0acb187a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/0acb187a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/0acb187a

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 0acb187ad2352d7bb3d85d3d41377a0553073459
Parents: 68c1b7a
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:39:54 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed Jun 7 23:01:04 2017 +0300

--
 .../tosca-simple-nfv-1.0/capabilities.yaml  | 26 
 1 file changed, 26 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/0acb187a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
index 375ba13..6f50f61 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
@@ -62,3 +62,29 @@ capability_types:
   A node type that includes the VirtualLinkable capability indicates that 
it can be pointed by
   tosca.relationships.nfv.VirtualLinksTo relationship type.
 derived_from: tosca.capabilities.Node
+
+  tosca.capabilites.nfv.VirtualCompute:
+_extensions:
+  shorthand_name: VirtualCompute
+  type_qualified_name: tosca:VirtualCompute
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.5.3
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896071'
+derived_from: tosca.capabilities.Root
+properties:
+  requested_additional_capabilities:
+# ARIA NOTE: in section [5.5.3.1 Properties] the name of this property 
is
+# "request_additional_capabilities", and its type is not a map, but 
tosca.datatypes.nfv.RequestedAdditionalCapability
+description: Describes additional capability for a particular VDU.
+type: map
+entry_schema:
+   type: tosca.datatypes.nfv.RequestedAdditionalCapability
+required: false
+  virtual_memory:
+description: Describes virtual memory of the virtualized compute
+type: tosca.datatypes.nfv.VirtualMemory
+required: true
+  virtual_cpu:
+description: Describes virtual CPU(s) of the virtualized compute.
+type: tosca.datatypes.nfv.VirtualCpu
+required: true



Re: Support for TOSCA Simple Profile NFV 1.0

2017-06-06 Thread Avia Efrat
Hi DJ,

I've created a pull request for the issue that Tal opened:
https://github.com/apache/incubator-ariatosca/pull/147
I expect it to be merged on Thursday/Friday.

On Thu, Jun 1, 2017 at 7:02 PM, Tal Liron <t...@gigaspaces.com> wrote:

> Thanks DJ, I opened a new JIRA issue for this if you want to track it:
>
> https://issues.apache.org/jira/browse/ARIA-275
>
> It shouldn't be too hard to do, just some busy work in YAML. Anyone on the
> mailing list want to tackle this?
>
> On Thu, Jun 1, 2017 at 4:53 AM, D Jayachandran <
> d.jayachand...@ericsson.com>
> wrote:
>
> > Hi,
> >
> > I hope ARIA currently supports , TOSCA Simple Profile NFV 1.0 draft 03.
> > The Latest available TOSCA NFV profile is Simple profile NFV 1.0 draft
> 04,
> > released on 11 May 2017.
> >
> > Could you kindly confirm the current level of support from ARIA for NFV
> > profiles and do you have any timelines to support draft 04 ?
> >
> >
> > Regards,
> > DJ
> >
>
>
>
> --
> Tal Liron
> Senior Engineer
> t...@gigaspaces.com | +1 (773) 828-9339
> Cloudify | http://getcloudify.org
> <http://getcloudify.org?utm_source=signaturesatori_
> medium=email_campaign=general_signature>
>
> <https://twitter.com/CloudifySource>
> <https://www.linkedin.com/groups/8467478>
> <https://github.com/cloudify-cosmo>   <https://github.com/cloudify-cosmo>
> [image: Azure Webinar]
> <http://getcloudify.org/webinars/Azure-plugin-for-
> cloudify-webinar.html?utm_source=signaturesatori_
> medium=email_campaign=general_signature>
>



-- 
Avia Efrat
SW Engineer
a...@gigaspaces.com | +972546204553
Cloudify | http://getcloudify.org
<http://getcloudify.org?utm_source=signaturesatori_medium=email_campaign=general_signature>

<https://twitter.com/CloudifySource>
<https://www.linkedin.com/groups/8467478>
<https://github.com/cloudify-cosmo>   <https://github.com/cloudify-cosmo>
[image: Azure Webinar]
<http://getcloudify.org/webinars/Azure-plugin-for-cloudify-webinar.html?utm_source=signaturesatori_medium=email_campaign=general_signature>


[01/13] incubator-ariatosca git commit: ARIA-64 Remove PyYAML dependency [Forced Update!]

2017-06-06 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-275-update-NFV-profile-to-csd04 fcdbdd702 -> 5e8044d4b 
(forced update)


ARIA-64 Remove PyYAML dependency


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/e4d00368
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/e4d00368
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/e4d00368

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: e4d003680acc1dc4bc442a044a5feb0688475b46
Parents: b6d3c43
Author: Tal Liron 
Authored: Fri Jun 2 12:39:00 2017 -0500
Committer: Ran Ziv 
Committed: Tue Jun 6 11:50:09 2017 +0300

--
 aria/cli/config/config.py | 2 +-
 aria/cli/inputs.py| 2 +-
 requirements.in   | 1 -
 3 files changed, 2 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/e4d00368/aria/cli/config/config.py
--
diff --git a/aria/cli/config/config.py b/aria/cli/config/config.py
index 8c4214c..d584fad 100644
--- a/aria/cli/config/config.py
+++ b/aria/cli/config/config.py
@@ -15,8 +15,8 @@
 
 
 import os
-import yaml
 import pkg_resources
+from ruamel import yaml
 
 from jinja2.environment import Template
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/e4d00368/aria/cli/inputs.py
--
diff --git a/aria/cli/inputs.py b/aria/cli/inputs.py
index 0ff48dc..4d46ebb 100644
--- a/aria/cli/inputs.py
+++ b/aria/cli/inputs.py
@@ -15,7 +15,7 @@
 
 import os
 import glob
-import yaml
+from ruamel import yaml
 
 from .env import logger
 from .exceptions import AriaCliError

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/e4d00368/requirements.in
--
diff --git a/requirements.in b/requirements.in
index ab06d93..54e8714 100644
--- a/requirements.in
+++ b/requirements.in
@@ -13,7 +13,6 @@
 # In order to create the requirements.txt file, execute
 # pip-compile --output-file requirements.txt requirements.in (pip-tools 
package is needed).
 
-PyYAML<3.13
 requests>=2.3.0, <2.14.0
 networkx>=1.9, <1.10 # version 1.10 dropped support of python 2.6
 retrying>=1.3.0, <1.4.0



[06/13] incubator-ariatosca git commit: Fixed WD03, Rev01 (2016-7-29)

2017-06-06 Thread avia
Fixed WD03, Rev01 (2016-7-29)

Also fixed a typo that repeated itself.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/99fcd9d6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/99fcd9d6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/99fcd9d6

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 99fcd9d61303ac0840ce04b951aeaf5ac795e435
Parents: 180e0a1
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Sun Jun 4 22:11:10 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 22:33:10 2017 +0300

--
 .../profiles/tosca-simple-1.0/artifacts.yaml|  8 ++--
 .../profiles/tosca-simple-1.0/capabilities.yaml |  2 +-
 .../profiles/tosca-simple-1.0/data.yaml |  2 +-
 .../profiles/tosca-simple-1.0/groups.yaml   |  2 +-
 .../profiles/tosca-simple-1.0/interfaces.yaml   |  2 +-
 .../profiles/tosca-simple-1.0/nodes.yaml|  2 +-
 .../profiles/tosca-simple-1.0/policies.yaml | 10 ++--
 .../tosca-simple-1.0/relationships.yaml |  2 +-
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 48 ++--
 9 files changed, 40 insertions(+), 38 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/99fcd9d6/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
index af99340..cfb0df5 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml
@@ -17,7 +17,7 @@ artifact_types:
 
   tosca.artifacts.Root:
 _extensions:
-  shorthand_name: Root # ARIA NOTE: ommitted in the spec
+  shorthand_name: Root # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Root
   specification: tosca-simple-1.0
   specification_section: 5.3.1
@@ -41,7 +41,7 @@ artifact_types:
   
   tosca.artifacts.Deployment:
 _extensions:
-  shorthand_name: Deployment # ARIA NOTE: ommitted in the spec
+  shorthand_name: Deployment # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Deployment
   specification: tosca-simple-1.0
   specification_section: 5.3.3.1
@@ -67,7 +67,7 @@ artifact_types:
   
   tosca.artifacts.Deployment.Image.VM:
 _extensions:
-  shorthand_name: Deployment.VM # ARIA NOTE: ommitted in the spec
+  shorthand_name: Deployment.VM # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Deployment.VM
   specification: tosca-simple-1.0
   specification_section: 5.3.3.4
@@ -85,7 +85,7 @@ artifact_types:
   
   tosca.artifacts.Implementation:
 _extensions:
-  shorthand_name: Implementation # ARIA NOTE: ommitted in the spec
+  shorthand_name: Implementation # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Implementation
   specification: tosca-simple-1.0
   specification_section: 5.3.4.1

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/99fcd9d6/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
index 0b81a16..30abe10 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml
@@ -17,7 +17,7 @@ capability_types:
 
   tosca.capabilities.Root:
 _extensions:
-  shorthand_name: Root # ARIA NOTE: ommitted in the spec
+  shorthand_name: Root # ARIA NOTE: omitted in the spec
   type_qualified_name: tosca:Root
   specification: tosca-simple-1.0
   specification_section: 5.4.1

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/99fcd9d6/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
index 5210aa0..771a969 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml
@@ -95,7 +95,7 @@ data_types:
 
   tosca.datatypes.Root:
 _extensions:
-  shorthand_name: Root # ARIA NOTE: ommitted in the spec
+  shorthand_name: Root # ARIA N

[02/13] incubator-ariatosca git commit: ARIA-262 Inconsistent node attributes behavior

2017-06-06 Thread avia
ARIA-262 Inconsistent node attributes behavior

Inroduced a more comprehensive way to instrument relationship attributes.

Old behavior instrumented attributes only if they were accessed directly from 
the
parent model. Traversing the storage made the access to an attribute 
inconsistent.

The new solution enables encapsulating the attributes disregarding the way they
were retrieved.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/180e0a1c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/180e0a1c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/180e0a1c

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 180e0a1cf1ad6da0ddd611b90a58e71acbea52e7
Parents: e4d0036
Author: max-orlov 
Authored: Wed May 31 21:07:49 2017 +0300
Committer: max-orlov 
Committed: Tue Jun 6 15:20:12 2017 +0300

--
 .../context/collection_instrumentation.py   | 242 ---
 aria/orchestrator/context/operation.py  |  21 +-
 aria/orchestrator/context/toolbelt.py   |   6 +-
 aria/orchestrator/decorators.py |   6 +-
 .../execution_plugin/ctx_proxy/server.py|  17 +-
 aria/storage/api.py |  10 +
 aria/storage/collection_instrumentation.py  | 306 +++
 aria/storage/core.py|  15 +
 aria/storage/sql_mapi.py|  14 +-
 aria/utils/imports.py   |   2 +-
 .../context/test_collection_instrumentation.py  | 150 ++---
 .../execution_plugin/test_ctx_proxy_server.py   |   2 +-
 tests/orchestrator/execution_plugin/test_ssh.py |  10 +-
 tests/orchestrator/workflows/core/test_task.py  |   2 +-
 .../executor/test_process_executor_extension.py |   3 +-
 15 files changed, 490 insertions(+), 316 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/180e0a1c/aria/orchestrator/context/collection_instrumentation.py
--
diff --git a/aria/orchestrator/context/collection_instrumentation.py 
b/aria/orchestrator/context/collection_instrumentation.py
deleted file mode 100644
index 8f80d4a..000
--- a/aria/orchestrator/context/collection_instrumentation.py
+++ /dev/null
@@ -1,242 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-from functools import partial
-
-from aria.modeling import models
-
-
-class _InstrumentedCollection(object):
-
-def __init__(self,
- model,
- parent,
- field_name,
- seq=None,
- is_top_level=True,
- **kwargs):
-self._model = model
-self._parent = parent
-self._field_name = field_name
-self._is_top_level = is_top_level
-self._load(seq, **kwargs)
-
-@property
-def _raw(self):
-raise NotImplementedError
-
-def _load(self, seq, **kwargs):
-"""
-Instantiates the object from existing seq.
-
-:param seq: the original sequence to load from
-:return:
-"""
-raise NotImplementedError
-
-def _set(self, key, value):
-"""
-set the changes for the current object (not in the db)
-
-:param key:
-:param value:
-:return:
-"""
-raise NotImplementedError
-
-def _del(self, collection, key):
-raise NotImplementedError
-
-def _instrument(self, key, value):
-"""
-Instruments any collection to track changes (and ease of access)
-:param key:
-:param value:
-:return:
-"""
-if isinstance(value, _InstrumentedCollection):
-return value
-elif isinstance(value, dict):
-instrumentation_cls = _InstrumentedDict
-elif isinstance(value, list):
-instrumentation_cls = _InstrumentedList
-else:
-return value
-
-return 

[09/13] incubator-ariatosca git commit: Address more non-consistent issues of csd04

2017-06-06 Thread avia
Address more non-consistent issues of csd04


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/5e8044d4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/5e8044d4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/5e8044d4

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 5e8044d4b8c937da6bdfcaac27314415a2f4a982
Parents: c8e4986
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 22:32:02 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 22:33:10 2017 +0300

--
 .../tosca-simple-nfv-1.0/artifacts.yaml |  76 +++
 .../tosca-simple-nfv-1.0/capabilities.yaml  |   2 +-
 .../profiles/tosca-simple-nfv-1.0/data.yaml |   2 +-
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 206 +++
 .../tosca-simple-nfv-1.0.yaml   |   1 +
 5 files changed, 204 insertions(+), 83 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e8044d4/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml
new file mode 100644
index 000..2e68f57
--- /dev/null
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml
@@ -0,0 +1,76 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+artifact_types:
+  tosca.artifacts.nfv.SwImage:
+_extensions:
+  shorthand_name: SwImage
+  type_qualified_name: tosca:SwImage
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.4.1
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896067'
+derived_from: tosca.artifacts.Deployment.Image
+properties:
+  name:
+description: Name of this software image
+type: string
+required: true
+  version:
+description: Version of this software image
+type: string
+required: true
+  checksum:
+description: Checksum of the software image file
+type: string
+  container_format:
+description: >-
+  The container format describes the container file format in which 
software image is provided
+type: string
+required: true
+  disk_format:
+description: The disk format of a software image is the format of the 
underlying disk image
+type: string
+required: true
+  min_disk:
+description: The minimal disk size requirement for this software image.
+type: scalar-unit.size
+required: true
+  min_ram:
+description: The minimal disk size requirement for this software image.
+type: scalar-unit.size
+required: false
+  size: # ARIA NOTE: section [5.4.1.1 Properties] calls this field 'Size'.
+description: The size of this software image
+type: scalar-unit.size
+required: true
+  sw_image:
+description: A reference to the actual software image within VNF 
Package, or url.
+type: string
+required: true
+  operating_system:
+description: Identifies the operating system used in the software 
image.
+type: string
+required: false
+  supported _virtualization_enviroment:
+description: >-
+  Identifies the virtualization environments (e.g. hypervisor) 
compatible with this software
+  image
+type: list
+entry_schema:
+  type: string
+required: false
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5e8044d4/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria

[10/13] incubator-ariatosca git commit: Add tosca.nodes.nfv.VDU.Compute and tosca.nodes.nfv.VDU.VirtualStorage

2017-06-06 Thread avia
Add tosca.nodes.nfv.VDU.Compute and tosca.nodes.nfv.VDU.VirtualStorage


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/15b9054e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/15b9054e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/15b9054e

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 15b9054e219ca7176e5d2cbbfee8f2cd114e3f0d
Parents: 794af1c
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:30:13 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 22:33:10 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/data.yaml |   2 +-
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 180 ++-
 2 files changed, 176 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/15b9054e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
index cf35cba..cec230c 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
@@ -99,7 +99,7 @@ data_types:
   instantiated from the parent Connection Point Descriptor.
 type: tosca.datatypes.nfv.L3AddressData
 required: false
-# ARIA NOTE: states under the "constraints" column in the properties 
table:
+# ARIA NOTE: the spec states under the "constraints" column in the 
properties table:
 # "Shall be present when the addressType is ip_address."
 
   tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/15b9054e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index d0ccadd..b123aab 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -15,6 +15,176 @@
 
 node_types:
 
+  tosca.nodes.nfv.VDU.Compute:
+_extensions:
+  shorthand_name: VDU.Compute
+  type_qualified_name: tosca:VDU.Compute
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.9.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896079'
+description: >-
+  The TOSCA nfv.VDU.Compute node type represents the virtual compute part 
of a VDU entity which
+  it mainly describes the deployment and operational behavior of a VNF 
component (VNFC), as
+  defined by [ETSI NFV IFA011].
+derived_from: tosca.nodes.Compute
+properties:
+  name:
+description: Human readable name of the Vdu
+type: string
+required: true
+  description:
+description: Human readable description of the Vdu
+type: string
+required: true
+  boot_order:
+description: >-
+  The key indicates the boot index (lowest index defines highest boot 
priority).
+  The Value references a descriptor from which a valid boot device is 
created e.g.
+  VirtualStorageDescriptor from which a VirtualStorage instance is 
created. If no boot order
+  is defined the default boot order defined in the VIM or NFVI shall 
be used.
+type: type: # explicit index (boot index) not necessary, contrary to 
IFA011
+  entry_schema:
+type: string
+required: false
+  nfvi_constraints:
+description: >-
+  Describes constraints on the NFVI for the VNFC instance(s) created 
from this Vdu.
+  For example, aspects of a secure hosting environment for the VNFC 
instance that involve
+  additional entities or processes. More software images can be 
attached to the
+  virtualization container using virtual_storage.
+type: list
+entry_schema:
+  type: string
+required: false
+  configurable_properties:
+description: Describes the configurable properties of all VNFC 
instances based on this VDU.
+type: map
+entry_schema:
+  type: tosca.datatypes.nfv.VnfcConfigurableProperties
+required: true
+attributes: # ARIA NOTE: The attributes

[11/13] incubator-ariatosca git commit: Removed the virtual link (VL) node types, as they do not appear in csd04

2017-06-06 Thread avia
Removed the virtual link (VL) node types, as they do not appear in csd04


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/7bffd188
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/7bffd188
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/7bffd188

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 7bffd1881f26cd086e885424332f2f70f2db9faa
Parents: 0a22481
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:50:47 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 22:33:10 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 109 ++-
 1 file changed, 35 insertions(+), 74 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7bffd188/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index 5bd002d..2e1b634 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -192,41 +192,41 @@ node_types:
   specification: tosca-simple-nfv-1.0
   specification_section: 5.9.4
   specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896081'
-  derived_from: tosca.nodes.Root
-  description: >-
-The TOSCA nfv.Cpd node represents network connectivity to a compute 
resource or a VL as defined
-by [ETSI GS NFV-IFA 011]. This is an abstract type used as parent for the 
various Cpd types.
-  derived_from: tosca.nodes.Root
-  properties:
-layer_protocol:
-  description: Identifies which protocol the connection point uses for 
connectivity purposes
-  type: string
-  constraints:
-- valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
-  required: false
-role: # Name in ETSI NFV IFA011 v0.7.3 cpRole
-  description: >-
-Identifies the role of the port in the context of the traffic flow 
patterns in the VNF or
-parent NS. For example a VNF with a tree flow pattern within the VNF 
will have legal cpRoles
-of ROOT and LEAF
-  type: string
-  constraints:
-- valid_values: [ root, leaf ]
-  required: false
-description:
-  description: >-
-Provides human-readable information on the purpose of the connection 
point
-(e.g. connection point for control plane traffic).
-  type: string
-  required: false
-address_data:
-  description: >-
-Provides information on the addresses to be assigned to the connection 
point(s) instantiated
-from this Connection Point Descriptor.
-  type: list
-  entry_schema:
-type: tosca.datatype.nfv.AddressData
-  required: false
+derived_from: tosca.nodes.Root
+description: >-
+  The TOSCA nfv.Cpd node represents network connectivity to a compute 
resource or a VL as defined
+  by [ETSI GS NFV-IFA 011]. This is an abstract type used as parent for 
the various Cpd types.
+
+properties:
+  layer_protocol:
+description: Identifies which protocol the connection point uses for 
connectivity purposes
+type: string
+constraints:
+  - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
+required: false
+  role: # Name in ETSI NFV IFA011 v0.7.3 cpRole
+description: >-
+  Identifies the role of the port in the context of the traffic flow 
patterns in the VNF or
+  parent NS. For example a VNF with a tree flow pattern within the VNF 
will have legal cpRoles
+  of ROOT and LEAF
+type: string
+constraints:
+  - valid_values: [ root, leaf ]
+required: false
+  description:
+description: >-
+  Provides human-readable information on the purpose of the connection 
point
+  (e.g. connection point for control plane traffic).
+type: string
+required: false
+  address_data:
+description: >-
+  Provides information on the addresses to be assigned to the 
connection point(s) instantiated
+  from this Connection Point Descriptor.
+type: list
+entry_schema:
+  type: tosca.datatype.nfv.AddressData
+required: false
 
   tosca.nodes.nfv.VduCpd:
 _extensions:
@@ -320,42 +320,3 @@ node_types:
 
   # monitoring_parameters:
 # modeled as ad hoc (named) capabilities in node te

[05/13] incubator-ariatosca git commit: Remove tosca.nodes.nfv.FP, as it does not appear in csd04

2017-06-06 Thread avia
Remove tosca.nodes.nfv.FP, as it does not appear in csd04


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/0a224811
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/0a224811
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/0a224811

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 0a2248111548d8faadfb85832a2324de58ac471d
Parents: 41c9f25
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:45:31 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 22:33:10 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 20 
 1 file changed, 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/0a224811/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index b123aab..5bd002d 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -321,26 +321,6 @@ node_types:
   # monitoring_parameters:
 # modeled as ad hoc (named) capabilities in node template
 
-  tosca.nodes.nfv.FP:
-_extensions:
-  shorthand_name: FP # ARIA NOTE: the spec must be mistaken here, says "VL"
-  type_qualified_name: tosca:FP
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.5.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714722'
-description: >-
-  The NFV FP node type represents a logical network forwarding path entity 
as defined by [ETSI GS NFV-MAN 001 v1.1.1].
-derived_from: tosca.nodes.Root
-properties:
-  policy:
-description: >-
-  A policy or rule to apply to the NFP
-type: string
-required: false
-requirements:
-  - forwarder:
-  capability: tosca.capabilities.nfv.Forwarder
-
   tosca.nodes.nfv.VL.ELine:
 _extensions:
   shorthand_name: VL.ELine # ARIA NOTE: omitted in the spec



[07/13] incubator-ariatosca git commit: Fixed WD04, Rev02 (2016-9-6) and WD04, Rev03 (2016-11-7)

2017-06-06 Thread avia
Fixed WD04, Rev02 (2016-9-6) and WD04, Rev03 (2016-11-7)


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/ca3dc4ad
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/ca3dc4ad
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/ca3dc4ad

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: ca3dc4ad3fa6f2d9f603eaa73ad3b58a00754933
Parents: 99fcd9d
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Mon Jun 5 16:21:19 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 22:33:10 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/data.yaml | 289 +++
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 240 +++
 2 files changed, 473 insertions(+), 56 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/ca3dc4ad/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
index 89e3565..f6a07ef 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
@@ -15,6 +15,295 @@
 
 data_types:
 
+  tosca.datatypes.nfv.L2AddressData:
+_extensions:
+  shorthand_name: L2AddressData
+  type_qualified_name: tosca:L2AddressData
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.3.1
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896055'
+# ARIA NOTE: This type is empty in csd04, and is only specified here since 
the
+# tosca.datatypes.nfv.AddressData references it (and states 'empty in "GS 
NFV IFA011 V0.7.3"')
+
+  tosca.datatypes.nfv.L3AddressData:
+_extensions:
+  shorthand_name: L3AddressData
+  type_qualified_name: tosca:L3AddressData
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.3.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896056'
+description: >-
+  The L3AddressData type is a complex TOSCA data type used to describe 
L3AddressData information
+  element as defined in [ETSI GS NFV-IFA 011], it provides the information 
on the IP addresses
+  to be assigned to the connection point instantiated from the parent 
Connection Point
+  Descriptor.
+derived_from: tosca.datatypes.Root
+properties:
+  ip_address_assignment:
+description: >-
+  Specify if the address assignment is the responsibility of 
management and orchestration
+  function or not. If it is set to True, it is the management and 
orchestration function
+  responsibility.
+type: boolean
+required: true
+  floating_ip_activated:
+description: Specify if the floating IP scheme is activated on the 
Connection Point or not.
+type: boolean
+required: true
+  ip_address_type:
+description: >-
+  Define address type. The address type should be aligned with the 
address type supported by
+  the layer_protocol properties of the parent VnfExtCpd
+type: string
+required: false
+constraints:
+  - valid_values: [ ipv4, ipv6 ]
+  number_of_ip_address:
+description: Minimum number of IP addresses to be assigned.
+type: integer
+required: false
+
+  tosca.datatypes.nfv.AddressData:
+_extensions:
+  shorthand_name: AddressData
+  type_qualified_name: tosca:AddressData
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.3.3
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896057'
+description: >-
+  The AddressData type is a complex TOSCA data type used to describe 
AddressData information
+  element as defined in [ETSI GS NFV-IFA 011], it provides information on 
the addresses to be
+  assigned to the connection point(s) instantiated from a Connection Point 
Descriptor.
+derived_from: tosca.datatypes.Root
+properties:
+  address_type:
+description: >-
+  Describes the type of the address to be assigned to the connection 
point instantiated from
+  the parent Connection Point Descriptor. The content type shall be 
aligned with the address
+  type supported by the layerProtocol property of the parent 
Connection Point Descriptor.
+type: string
+  

[04/13] incubator-ariatosca git commit: Remove two capability types

2017-06-06 Thread avia
Remove two capability types

- tosca.capabilities.nfv.Forwarder
- tosca.capabilities.nfv.VirtualLinkable

They are not present in csd04.
The changelog at the end of csd04 states:
"Deleted NSD related content, v1.0 will only cover VNFD model."
The second capability was a part of the NSD model.
The first capability was a part of the VNFFGD model, which probably
also got deleted, since it is not the VNFD model.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/6bad650e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/6bad650e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/6bad650e

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 6bad650eb673edd07b1aafca68dd3106a3774e42
Parents: bdf117c
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 01:26:08 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 22:33:10 2017 +0300

--
 .../tosca-simple-nfv-1.0/capabilities.yaml  | 32 +++-
 1 file changed, 4 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/6bad650e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
index 6f50f61..db6a62b 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
@@ -20,8 +20,8 @@ capability_types:
   shorthand_name: VirtualBindable
   type_qualified_name: tosca:VirtualBindable
   specification: tosca-simple-nfv-1.0
-  specification_section: 8.2.2
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290220'
+  specification_section: 5.5.1
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896069'
 description: >-
   A node type that includes the VirtualBindable capability indicates that 
it can be pointed by
   tosca.relationships.nfv.VirtualBindsTo relationship type.
@@ -32,37 +32,13 @@ capability_types:
   shorthand_name: Metric
   type_qualified_name: tosca:Metric
   specification: tosca-simple-nfv-1.0
-  specification_section: 8.2.3
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc418607874'
+  specification_section: 5.5.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896070'
 description: >-
   A node type that includes the Metric capability indicates that it can be 
monitored using an nfv.relationships.Monitor
   relationship type.
 derived_from: tosca.capabilities.Endpoint
 
-  tosca.capabilities.nfv.Forwarder:
-_extensions:
-  shorthand_name: Forwarder
-  type_qualified_name: tosca:Forwarder
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.3.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714718'
-description: >-
-  A node type that includes the Forwarder capability indicates that it can 
be pointed by tosca.relationships.nfv.FowardsTo
-  relationship type.
-derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.VirtualLinkable:
-_extensions:
-  shorthand_name: VirtualLinkable
-  type_qualified_name: tosca:VirtualLinkable
-  specification: tosca-simple-nfv-1.0
-  specification_section: 11.3.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714735'
-description: >-
-  A node type that includes the VirtualLinkable capability indicates that 
it can be pointed by
-  tosca.relationships.nfv.VirtualLinksTo relationship type.
-derived_from: tosca.capabilities.Node
-
   tosca.capabilites.nfv.VirtualCompute:
 _extensions:
   shorthand_name: VirtualCompute



[08/13] incubator-ariatosca git commit: Fixed WD04, Rev04 (2016-11-14) and WD04, Rev05 (2017-1-17)

2017-06-06 Thread avia
Fixed WD04, Rev04 (2016-11-14) and WD04, Rev05 (2017-1-17)


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/794af1c8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/794af1c8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/794af1c8

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 794af1c8ef3b9e53cf4beec3fdf87ac0c1799623
Parents: ca3dc4a
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Mon Jun 5 16:36:52 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 22:33:10 2017 +0300

--
 .../tosca-simple-nfv-1.0/capabilities.yaml  |  45 
 .../profiles/tosca-simple-nfv-1.0/data.yaml |  75 -
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 112 +--
 3 files changed, 5 insertions(+), 227 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/794af1c8/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
index 6bc6b67..375ba13 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
@@ -15,51 +15,6 @@
 
 capability_types:
 
-  tosca.capabilities.Compute.Container.Architecture:
-_extensions:
-  shorthand_name: Compute.Container.Architecture
-  type_qualified_name: tosca:Compute.Container.Architecture
-  specification: tosca-simple-nfv-1.0
-  specification_section: 8.2.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#DEFN_TYPE_CAPABILITIES_CONTAINER'
-description: >-
-  Enhance compute architecture capability that needs to be typically use 
for performance sensitive NFV workloads.
-derived_from: tosca.capabilities.Container
-properties:
-  mem_page_size:
-description: >-
-  Describe page size of the VM:
-  
-  * small page size is typically 4KB
-  * large page size is typically 2MB
-  * any page size maps to system default
-  * custom MB value: sets TLB size to this specific value
-type: string
-# ARIA NOTE: seems wrong in the spec
-#constraints:
-#  - [ normal, huge ]
-  cpu_allocation:
-description: >-
-  Describes CPU allocation requirements like dedicated CPUs (cpu 
pinning), socket count, thread count, etc.
-type: tosca.datatypes.compute.Container.Architecture.CPUAllocation
-required: false
-  numa_node_count:
-description: >-
-  Specifies the symmetric count of NUMA nodes to expose to the VM. 
vCPU and Memory equally split across this number of
-  NUMA.
-  
-  NOTE: the map of numa_nodes should not be specified.
-type: integer
-required: false 
-  numa_nodes:
-description: >-
-  Asymmetric allocation of vCPU and Memory across the specific NUMA 
nodes (CPU sockets and memory banks).
-  
-  NOTE: symmetric numa_node_count should not be specified.
-type: map
-entry_schema: tosca.datatypes.compute.Container.Architecture.NUMA
-required: false
-
   tosca.capabilities.nfv.VirtualBindable:
 _extensions:
   shorthand_name: VirtualBindable

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/794af1c8/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
index f6a07ef..cf35cba 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
@@ -303,78 +303,3 @@ data_types:
 entry_schema:
   type: string
 required: false
-
-  tosca.datatypes.compute.Container.Architecture.CPUAllocation:
-_extensions:
-  shorthand_name: Container.Architecture.CPUAllocation # seems to be a 
mistake in the spec; the norm is to add a "Container.Architecture." prefix
-  type_qualified_name: tosca:Container.Architecture.CPUAllocation
-  specification: tosca-simple-nfv-1.0
-  specification_section: 8.3.1
-description: >-
-  Granular CPU allocation requirements for NFV workloads.
-derived_fr

[03/13] incubator-ariatosca git commit: Add tosca.capabilites.nfv.VirtualCompute

2017-06-06 Thread avia
Add tosca.capabilites.nfv.VirtualCompute


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/41c9f25e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/41c9f25e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/41c9f25e

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 41c9f25ec920ad53c8b70699ea36a9b9d1a68980
Parents: 15b9054
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:39:54 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 22:33:10 2017 +0300

--
 .../tosca-simple-nfv-1.0/capabilities.yaml  | 26 
 1 file changed, 26 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/41c9f25e/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
index 375ba13..6f50f61 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
@@ -62,3 +62,29 @@ capability_types:
   A node type that includes the VirtualLinkable capability indicates that 
it can be pointed by
   tosca.relationships.nfv.VirtualLinksTo relationship type.
 derived_from: tosca.capabilities.Node
+
+  tosca.capabilites.nfv.VirtualCompute:
+_extensions:
+  shorthand_name: VirtualCompute
+  type_qualified_name: tosca:VirtualCompute
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.5.3
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896071'
+derived_from: tosca.capabilities.Root
+properties:
+  requested_additional_capabilities:
+# ARIA NOTE: in section [5.5.3.1 Properties] the name of this property 
is
+# "request_additional_capabilities", and its type is not a map, but 
tosca.datatypes.nfv.RequestedAdditionalCapability
+description: Describes additional capability for a particular VDU.
+type: map
+entry_schema:
+   type: tosca.datatypes.nfv.RequestedAdditionalCapability
+required: false
+  virtual_memory:
+description: Describes virtual memory of the virtualized compute
+type: tosca.datatypes.nfv.VirtualMemory
+required: true
+  virtual_cpu:
+description: Describes virtual CPU(s) of the virtualized compute.
+type: tosca.datatypes.nfv.VirtualCpu
+required: true



incubator-ariatosca git commit: Remove tosca.groups.nfv.VNFFG [Forced Update!]

2017-06-05 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-275-update-NFV-profile-to-csd04 ee2a16e61 -> fcdbdd702 
(forced update)


Remove tosca.groups.nfv.VNFFG

It is  not present in csd04.
The changelog at the end of csd04 states:
"Deleted NSD related content, v1.0 will only cover VNFD model."
tosca.groups.nfv.VNFFG was a part of the VNFFGD model, which probably
also got deleted, since it is not the VNFD model.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/fcdbdd70
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/fcdbdd70
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/fcdbdd70

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: fcdbdd702abce8958dc7f500329c2bd588844700
Parents: d42ebb1
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 01:30:48 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 01:54:01 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/groups.yaml   | 56 
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml|  2 +-
 .../tosca-simple-nfv-1.0.yaml   |  1 -
 3 files changed, 1 insertion(+), 58 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/fcdbdd70/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
deleted file mode 100644
index 5eb87c8..000
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-group_types:
-
-  tosca.groups.nfv.VNFFG:
-_extensions:
-  shorthand_name: VNFFG # ARIA NOTE: the spec must be mistaken here, says 
"VL"
-  type_qualified_name: tosca:VNFFG
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.6.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714727'
-description: >-
-  The NFV VNFFG group type represents a logical VNF forwarding graph 
entity as defined by [ETSI GS NFV-MAN 001 v1.1.1].
-derived_from: tosca.groups.Root
-properties:
-  vendor:
-description: >-
-  Specify the vendor generating this VNFFG.
-type: string
-  version:
-description: >-
-  Specify the identifier (e.g. name), version, and description of 
service this VNFFG is describing.
-type: string
-  number_of_endpoints:
-description: >-
-  Count of the external endpoints included in this VNFFG, to form an 
index.
-type: integer
-  dependent_virtual_link:
-description: >-
-  Reference to a list of VLD used in this Forwarding Graph.
-type: list
-entry_schema: string
-  connection_point:
-description: >-
-  Reference to Connection Points forming the VNFFG.
-type: list
-entry_schema: string
-  constituent_vnfs:
-description: >-
-  Reference to a list of VNFD used in this VNF Forwarding Graph.
-type: list
-entry_schema: string
-members: [ tosca.nodes.nfv.FP ]

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/fcdbdd70/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index 2e1b634..6d68190 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -42,7 

[incubator-ariatosca] Git Push Summary

2017-06-05 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many [deleted] b6d3c43ba


[04/10] incubator-ariatosca git commit: Add tosca.nodes.nfv.VDU.Compute and tosca.nodes.nfv.VDU.VirtualStorage

2017-06-05 Thread avia
Add tosca.nodes.nfv.VDU.Compute and tosca.nodes.nfv.VDU.VirtualStorage


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/bd577f59
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/bd577f59
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/bd577f59

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: bd577f5935760f77b546c0bb2f4a9c436e3dc183
Parents: 7d5a157
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:30:13 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 00:30:13 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/data.yaml |   2 +-
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 180 ++-
 2 files changed, 176 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/bd577f59/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
index cf35cba..cec230c 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
@@ -99,7 +99,7 @@ data_types:
   instantiated from the parent Connection Point Descriptor.
 type: tosca.datatypes.nfv.L3AddressData
 required: false
-# ARIA NOTE: states under the "constraints" column in the properties 
table:
+# ARIA NOTE: the spec states under the "constraints" column in the 
properties table:
 # "Shall be present when the addressType is ip_address."
 
   tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/bd577f59/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index d0ccadd..b123aab 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -15,6 +15,176 @@
 
 node_types:
 
+  tosca.nodes.nfv.VDU.Compute:
+_extensions:
+  shorthand_name: VDU.Compute
+  type_qualified_name: tosca:VDU.Compute
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.9.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896079'
+description: >-
+  The TOSCA nfv.VDU.Compute node type represents the virtual compute part 
of a VDU entity which
+  it mainly describes the deployment and operational behavior of a VNF 
component (VNFC), as
+  defined by [ETSI NFV IFA011].
+derived_from: tosca.nodes.Compute
+properties:
+  name:
+description: Human readable name of the Vdu
+type: string
+required: true
+  description:
+description: Human readable description of the Vdu
+type: string
+required: true
+  boot_order:
+description: >-
+  The key indicates the boot index (lowest index defines highest boot 
priority).
+  The Value references a descriptor from which a valid boot device is 
created e.g.
+  VirtualStorageDescriptor from which a VirtualStorage instance is 
created. If no boot order
+  is defined the default boot order defined in the VIM or NFVI shall 
be used.
+type: type: # explicit index (boot index) not necessary, contrary to 
IFA011
+  entry_schema:
+type: string
+required: false
+  nfvi_constraints:
+description: >-
+  Describes constraints on the NFVI for the VNFC instance(s) created 
from this Vdu.
+  For example, aspects of a secure hosting environment for the VNFC 
instance that involve
+  additional entities or processes. More software images can be 
attached to the
+  virtualization container using virtual_storage.
+type: list
+entry_schema:
+  type: string
+required: false
+  configurable_properties:
+description: Describes the configurable properties of all VNFC 
instances based on this VDU.
+type: map
+entry_schema:
+  type: tosca.datatypes.nfv.VnfcConfigurableProperties
+required: true
+attributes: # ARIA NOTE: The attributes

[07/10] incubator-ariatosca git commit: Removed the virtual link (VL) node types, as they do not appear in csd04

2017-06-05 Thread avia
Removed the virtual link (VL) node types, as they do not appear in csd04


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/636244ca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/636244ca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/636244ca

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 636244cac33590baf17edf1efa6e6b1de4f5168e
Parents: fba9d31
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:50:47 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 00:50:47 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 109 ++-
 1 file changed, 35 insertions(+), 74 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/636244ca/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index 5bd002d..2e1b634 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -192,41 +192,41 @@ node_types:
   specification: tosca-simple-nfv-1.0
   specification_section: 5.9.4
   specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896081'
-  derived_from: tosca.nodes.Root
-  description: >-
-The TOSCA nfv.Cpd node represents network connectivity to a compute 
resource or a VL as defined
-by [ETSI GS NFV-IFA 011]. This is an abstract type used as parent for the 
various Cpd types.
-  derived_from: tosca.nodes.Root
-  properties:
-layer_protocol:
-  description: Identifies which protocol the connection point uses for 
connectivity purposes
-  type: string
-  constraints:
-- valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
-  required: false
-role: # Name in ETSI NFV IFA011 v0.7.3 cpRole
-  description: >-
-Identifies the role of the port in the context of the traffic flow 
patterns in the VNF or
-parent NS. For example a VNF with a tree flow pattern within the VNF 
will have legal cpRoles
-of ROOT and LEAF
-  type: string
-  constraints:
-- valid_values: [ root, leaf ]
-  required: false
-description:
-  description: >-
-Provides human-readable information on the purpose of the connection 
point
-(e.g. connection point for control plane traffic).
-  type: string
-  required: false
-address_data:
-  description: >-
-Provides information on the addresses to be assigned to the connection 
point(s) instantiated
-from this Connection Point Descriptor.
-  type: list
-  entry_schema:
-type: tosca.datatype.nfv.AddressData
-  required: false
+derived_from: tosca.nodes.Root
+description: >-
+  The TOSCA nfv.Cpd node represents network connectivity to a compute 
resource or a VL as defined
+  by [ETSI GS NFV-IFA 011]. This is an abstract type used as parent for 
the various Cpd types.
+
+properties:
+  layer_protocol:
+description: Identifies which protocol the connection point uses for 
connectivity purposes
+type: string
+constraints:
+  - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
+required: false
+  role: # Name in ETSI NFV IFA011 v0.7.3 cpRole
+description: >-
+  Identifies the role of the port in the context of the traffic flow 
patterns in the VNF or
+  parent NS. For example a VNF with a tree flow pattern within the VNF 
will have legal cpRoles
+  of ROOT and LEAF
+type: string
+constraints:
+  - valid_values: [ root, leaf ]
+required: false
+  description:
+description: >-
+  Provides human-readable information on the purpose of the connection 
point
+  (e.g. connection point for control plane traffic).
+type: string
+required: false
+  address_data:
+description: >-
+  Provides information on the addresses to be assigned to the 
connection point(s) instantiated
+  from this Connection Point Descriptor.
+type: list
+entry_schema:
+  type: tosca.datatype.nfv.AddressData
+required: false
 
   tosca.nodes.nfv.VduCpd:
 _extensions:
@@ -320,42 +320,3 @@ node_types:
 
   # monitoring_parameters:
 # modeled as ad hoc (named) capabilities in node te

[05/10] incubator-ariatosca git commit: Add tosca.capabilites.nfv.VirtualCompute

2017-06-05 Thread avia
Add tosca.capabilites.nfv.VirtualCompute


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/49373efa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/49373efa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/49373efa

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 49373efa0361e4354f64ffd08a84adab76f73e04
Parents: bd577f5
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:39:54 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 00:39:54 2017 +0300

--
 .../tosca-simple-nfv-1.0/capabilities.yaml  | 26 
 1 file changed, 26 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/49373efa/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
index 375ba13..6f50f61 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
@@ -62,3 +62,29 @@ capability_types:
   A node type that includes the VirtualLinkable capability indicates that 
it can be pointed by
   tosca.relationships.nfv.VirtualLinksTo relationship type.
 derived_from: tosca.capabilities.Node
+
+  tosca.capabilites.nfv.VirtualCompute:
+_extensions:
+  shorthand_name: VirtualCompute
+  type_qualified_name: tosca:VirtualCompute
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.5.3
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896071'
+derived_from: tosca.capabilities.Root
+properties:
+  requested_additional_capabilities:
+# ARIA NOTE: in section [5.5.3.1 Properties] the name of this property 
is
+# "request_additional_capabilities", and its type is not a map, but 
tosca.datatypes.nfv.RequestedAdditionalCapability
+description: Describes additional capability for a particular VDU.
+type: map
+entry_schema:
+   type: tosca.datatypes.nfv.RequestedAdditionalCapability
+required: false
+  virtual_memory:
+description: Describes virtual memory of the virtualized compute
+type: tosca.datatypes.nfv.VirtualMemory
+required: true
+  virtual_cpu:
+description: Describes virtual CPU(s) of the virtualized compute.
+type: tosca.datatypes.nfv.VirtualCpu
+required: true



[08/10] incubator-ariatosca git commit: remove two relationship types

2017-06-05 Thread avia
remove two relationship types

- tosca.relationships.nfv.ForwardsTo
- tosca.relationships.nfv.VirtualLinksTo

They are not present in csd04.
The changelog at the end of csd04 states:
"Deleted NSD related content, v1.0 will only cover VNFD model."
The second relationship was a part of the NSD model.
The first relationship was a part of the VNFFGD model, which probably
also got deleted, since it is not the VNFD model.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/1d855472
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/1d855472
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/1d855472

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 1d855472b9181a86b92aafa7ccbd899660c2a269
Parents: 636244c
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 01:05:13 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 01:05:13 2017 +0300

--
 .../tosca-simple-nfv-1.0/relationships.yaml | 35 
 1 file changed, 7 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/1d855472/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml
index b745735..6cf0f6e 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml
@@ -20,8 +20,8 @@ relationship_types:
   shorthand_name: VirtualBindsTo
   type_qualified_name: tosca:VirtualBindsTo
   specification: tosca-simple-nfv-1.0
-  specification_section: 8.4.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290234'
+  specification_section: 5.7.1
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896074'
 description: >-
   This relationship type represents an association relationship between 
VDU and CP node types.
 derived_from: tosca.relationships.DependsOn
@@ -32,33 +32,12 @@ relationship_types:
   shorthand_name: Monitor
   type_qualified_name: tosca:Monitor
   specification: tosca-simple-nfv-1.0
-  specification_section: 8.4.2
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc418607880'
+  specification_section: 5.7.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896075'
 description: >-
   This relationship type represents an association relationship to the 
Metric capability of VDU node types.
 derived_from: tosca.relationships.ConnectsTo
 valid_target_types: [ tosca.capabilities.nfv.Metric ]
-
-  tosca.relationships.nfv.ForwardsTo:
-_extensions:
-  shorthand_name: ForwardsTo
-  type_qualified_name: tosca:ForwardsTo
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.4.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714720'
-description: >-
-  This relationship type represents a traffic flow between two connection 
point node types.
-derived_from: tosca.relationships.Root
-valid_target_types: [ tosca.capabilities.nfv.Forwarder ]
-
-  tosca.relationships.nfv.VirtualLinksTo:
-_extensions:
-  shorthand_name: VirtualLinksTo
-  type_qualified_name: tosca:VirtualLinksTo
-  specification: tosca-simple-nfv-1.0
-  specification_section: 11.4.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714737'
-description: >-
-  This relationship type represents an association relationship between 
VNFs and VL node types.
-derived_from: tosca.relationships.DependsOn
-valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
+# ARIA NOTE: csd04 lacks the definition of tosca.relationships.nfv.Monitor 
(the derived_from and
+# valid_target_types). It took the liberty of copying their values from 
csd03 as I feel they
+# just got lost in an extensive cut-and-paste session that took place 
between csd03 and csd04.



[02/10] incubator-ariatosca git commit: Fixed WD04, Rev02 (2016-9-6) and WD04, Rev03 (2016-11-7)

2017-06-05 Thread avia
Fixed WD04, Rev02 (2016-9-6) and WD04, Rev03 (2016-11-7)


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/caa535e5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/caa535e5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/caa535e5

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: caa535e515c7e1e27c32be6e3341f0e3c0163284
Parents: 5660d51
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Mon Jun 5 16:21:19 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Mon Jun 5 16:21:19 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/data.yaml | 289 +++
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 240 +++
 2 files changed, 473 insertions(+), 56 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/caa535e5/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
index 89e3565..f6a07ef 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
@@ -15,6 +15,295 @@
 
 data_types:
 
+  tosca.datatypes.nfv.L2AddressData:
+_extensions:
+  shorthand_name: L2AddressData
+  type_qualified_name: tosca:L2AddressData
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.3.1
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896055'
+# ARIA NOTE: This type is empty in csd04, and is only specified here since 
the
+# tosca.datatypes.nfv.AddressData references it (and states 'empty in "GS 
NFV IFA011 V0.7.3"')
+
+  tosca.datatypes.nfv.L3AddressData:
+_extensions:
+  shorthand_name: L3AddressData
+  type_qualified_name: tosca:L3AddressData
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.3.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896056'
+description: >-
+  The L3AddressData type is a complex TOSCA data type used to describe 
L3AddressData information
+  element as defined in [ETSI GS NFV-IFA 011], it provides the information 
on the IP addresses
+  to be assigned to the connection point instantiated from the parent 
Connection Point
+  Descriptor.
+derived_from: tosca.datatypes.Root
+properties:
+  ip_address_assignment:
+description: >-
+  Specify if the address assignment is the responsibility of 
management and orchestration
+  function or not. If it is set to True, it is the management and 
orchestration function
+  responsibility.
+type: boolean
+required: true
+  floating_ip_activated:
+description: Specify if the floating IP scheme is activated on the 
Connection Point or not.
+type: boolean
+required: true
+  ip_address_type:
+description: >-
+  Define address type. The address type should be aligned with the 
address type supported by
+  the layer_protocol properties of the parent VnfExtCpd
+type: string
+required: false
+constraints:
+  - valid_values: [ ipv4, ipv6 ]
+  number_of_ip_address:
+description: Minimum number of IP addresses to be assigned.
+type: integer
+required: false
+
+  tosca.datatypes.nfv.AddressData:
+_extensions:
+  shorthand_name: AddressData
+  type_qualified_name: tosca:AddressData
+  specification: tosca-simple-nfv-1.0
+  specification_section: 5.3.3
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896057'
+description: >-
+  The AddressData type is a complex TOSCA data type used to describe 
AddressData information
+  element as defined in [ETSI GS NFV-IFA 011], it provides information on 
the addresses to be
+  assigned to the connection point(s) instantiated from a Connection Point 
Descriptor.
+derived_from: tosca.datatypes.Root
+properties:
+  address_type:
+description: >-
+  Describes the type of the address to be assigned to the connection 
point instantiated from
+  the parent Connection Point Descriptor. The content type shall be 
aligned with the address
+  type supported by the layerProtocol property of the parent 
Connection Point Descriptor.
+type: string
+  

[03/10] incubator-ariatosca git commit: Fixed WD04, Rev04 (2016-11-14) and WD04, Rev05 (2017-1-17)

2017-06-05 Thread avia
Fixed WD04, Rev04 (2016-11-14) and WD04, Rev05 (2017-1-17)


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/7d5a1573
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/7d5a1573
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/7d5a1573

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: 7d5a157361bfe52b73141c3b3bda256dc626311e
Parents: caa535e
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Mon Jun 5 16:36:52 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Mon Jun 5 17:09:19 2017 +0300

--
 .../tosca-simple-nfv-1.0/capabilities.yaml  |  45 
 .../profiles/tosca-simple-nfv-1.0/data.yaml |  75 -
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 112 +--
 3 files changed, 5 insertions(+), 227 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7d5a1573/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
index 6bc6b67..375ba13 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
@@ -15,51 +15,6 @@
 
 capability_types:
 
-  tosca.capabilities.Compute.Container.Architecture:
-_extensions:
-  shorthand_name: Compute.Container.Architecture
-  type_qualified_name: tosca:Compute.Container.Architecture
-  specification: tosca-simple-nfv-1.0
-  specification_section: 8.2.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#DEFN_TYPE_CAPABILITIES_CONTAINER'
-description: >-
-  Enhance compute architecture capability that needs to be typically use 
for performance sensitive NFV workloads.
-derived_from: tosca.capabilities.Container
-properties:
-  mem_page_size:
-description: >-
-  Describe page size of the VM:
-  
-  * small page size is typically 4KB
-  * large page size is typically 2MB
-  * any page size maps to system default
-  * custom MB value: sets TLB size to this specific value
-type: string
-# ARIA NOTE: seems wrong in the spec
-#constraints:
-#  - [ normal, huge ]
-  cpu_allocation:
-description: >-
-  Describes CPU allocation requirements like dedicated CPUs (cpu 
pinning), socket count, thread count, etc.
-type: tosca.datatypes.compute.Container.Architecture.CPUAllocation
-required: false
-  numa_node_count:
-description: >-
-  Specifies the symmetric count of NUMA nodes to expose to the VM. 
vCPU and Memory equally split across this number of
-  NUMA.
-  
-  NOTE: the map of numa_nodes should not be specified.
-type: integer
-required: false 
-  numa_nodes:
-description: >-
-  Asymmetric allocation of vCPU and Memory across the specific NUMA 
nodes (CPU sockets and memory banks).
-  
-  NOTE: symmetric numa_node_count should not be specified.
-type: map
-entry_schema: tosca.datatypes.compute.Container.Architecture.NUMA
-required: false
-
   tosca.capabilities.nfv.VirtualBindable:
 _extensions:
   shorthand_name: VirtualBindable

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7d5a1573/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
index f6a07ef..cf35cba 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml
@@ -303,78 +303,3 @@ data_types:
 entry_schema:
   type: string
 required: false
-
-  tosca.datatypes.compute.Container.Architecture.CPUAllocation:
-_extensions:
-  shorthand_name: Container.Architecture.CPUAllocation # seems to be a 
mistake in the spec; the norm is to add a "Container.Architecture." prefix
-  type_qualified_name: tosca:Container.Architecture.CPUAllocation
-  specification: tosca-simple-nfv-1.0
-  specification_section: 8.3.1
-description: >-
-  Granular CPU allocation requirements for NFV workloads.
-derived_fr

[06/10] incubator-ariatosca git commit: Remove tosca.nodes.nfv.FP, as it does not appear in csd04

2017-06-05 Thread avia
Remove tosca.nodes.nfv.FP, as it does not appear in csd04


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/fba9d312
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/fba9d312
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/fba9d312

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: fba9d3123621af808c885091dcd32dbddae6248b
Parents: 49373ef
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 00:45:31 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 00:45:31 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/nodes.yaml| 20 
 1 file changed, 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/fba9d312/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
index b123aab..5bd002d 100644
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
+++ b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml
@@ -321,26 +321,6 @@ node_types:
   # monitoring_parameters:
 # modeled as ad hoc (named) capabilities in node template
 
-  tosca.nodes.nfv.FP:
-_extensions:
-  shorthand_name: FP # ARIA NOTE: the spec must be mistaken here, says "VL"
-  type_qualified_name: tosca:FP
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.5.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714722'
-description: >-
-  The NFV FP node type represents a logical network forwarding path entity 
as defined by [ETSI GS NFV-MAN 001 v1.1.1].
-derived_from: tosca.nodes.Root
-properties:
-  policy:
-description: >-
-  A policy or rule to apply to the NFP
-type: string
-required: false
-requirements:
-  - forwarder:
-  capability: tosca.capabilities.nfv.Forwarder
-
   tosca.nodes.nfv.VL.ELine:
 _extensions:
   shorthand_name: VL.ELine # ARIA NOTE: omitted in the spec



[09/10] incubator-ariatosca git commit: Remove two capability types

2017-06-05 Thread avia
Remove two capability types

- tosca.capabilities.nfv.Forwarder
- tosca.capabilities.nfv.VirtualLinkable

They are not present in csd04.
The changelog at the end of csd04 states:
"Deleted NSD related content, v1.0 will only cover VNFD model."
The second capability was a part of the NSD model.
The first capability was a part of the VNFFGD model, which probably
also got deleted, since it is not the VNFD model.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/d42ebb1c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/d42ebb1c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/d42ebb1c

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: d42ebb1c13fffa35e69a6b34ccd7605c267db8b3
Parents: 1d85547
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 01:26:08 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 01:26:08 2017 +0300

--
 .../tosca-simple-nfv-1.0/capabilities.yaml  | 32 +++-
 1 file changed, 4 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/d42ebb1c/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
index 6f50f61..db6a62b 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml
@@ -20,8 +20,8 @@ capability_types:
   shorthand_name: VirtualBindable
   type_qualified_name: tosca:VirtualBindable
   specification: tosca-simple-nfv-1.0
-  specification_section: 8.2.2
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc419290220'
+  specification_section: 5.5.1
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896069'
 description: >-
   A node type that includes the VirtualBindable capability indicates that 
it can be pointed by
   tosca.relationships.nfv.VirtualBindsTo relationship type.
@@ -32,37 +32,13 @@ capability_types:
   shorthand_name: Metric
   type_qualified_name: tosca:Metric
   specification: tosca-simple-nfv-1.0
-  specification_section: 8.2.3
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc418607874'
+  specification_section: 5.5.2
+  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896070'
 description: >-
   A node type that includes the Metric capability indicates that it can be 
monitored using an nfv.relationships.Monitor
   relationship type.
 derived_from: tosca.capabilities.Endpoint
 
-  tosca.capabilities.nfv.Forwarder:
-_extensions:
-  shorthand_name: Forwarder
-  type_qualified_name: tosca:Forwarder
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.3.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714718'
-description: >-
-  A node type that includes the Forwarder capability indicates that it can 
be pointed by tosca.relationships.nfv.FowardsTo
-  relationship type.
-derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.VirtualLinkable:
-_extensions:
-  shorthand_name: VirtualLinkable
-  type_qualified_name: tosca:VirtualLinkable
-  specification: tosca-simple-nfv-1.0
-  specification_section: 11.3.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714735'
-description: >-
-  A node type that includes the VirtualLinkable capability indicates that 
it can be pointed by
-  tosca.relationships.nfv.VirtualLinksTo relationship type.
-derived_from: tosca.capabilities.Node
-
   tosca.capabilites.nfv.VirtualCompute:
 _extensions:
   shorthand_name: VirtualCompute



[10/10] incubator-ariatosca git commit: Remove tosca.groups.nfv.VNFFG

2017-06-05 Thread avia
Remove tosca.groups.nfv.VNFFG

It is  not present in csd04.
The changelog at the end of csd04 states:
"Deleted NSD related content, v1.0 will only cover VNFD model."
tosca.groups.nfv.VNFFG was a part of the VNFFGD model, which probably
also got deleted, since it is not the VNFD model.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/ee2a16e6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/ee2a16e6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/ee2a16e6

Branch: refs/heads/ARIA-275-update-NFV-profile-to-csd04
Commit: ee2a16e61446ac3f61f7679181d3ef6f55b98fd9
Parents: d42ebb1
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Tue Jun 6 01:30:48 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Tue Jun 6 01:30:48 2017 +0300

--
 .../profiles/tosca-simple-nfv-1.0/groups.yaml   | 56 
 .../tosca-simple-nfv-1.0.yaml   |  1 -
 2 files changed, 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/ee2a16e6/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
deleted file mode 100644
index 5eb87c8..000
--- a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/groups.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-group_types:
-
-  tosca.groups.nfv.VNFFG:
-_extensions:
-  shorthand_name: VNFFG # ARIA NOTE: the spec must be mistaken here, says 
"VL"
-  type_qualified_name: tosca:VNFFG
-  specification: tosca-simple-nfv-1.0
-  specification_section: 10.6.1
-  specification_url: 
'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd03/tosca-nfv-v1.0-csd03.html#_Toc447714727'
-description: >-
-  The NFV VNFFG group type represents a logical VNF forwarding graph 
entity as defined by [ETSI GS NFV-MAN 001 v1.1.1].
-derived_from: tosca.groups.Root
-properties:
-  vendor:
-description: >-
-  Specify the vendor generating this VNFFG.
-type: string
-  version:
-description: >-
-  Specify the identifier (e.g. name), version, and description of 
service this VNFFG is describing.
-type: string
-  number_of_endpoints:
-description: >-
-  Count of the external endpoints included in this VNFFG, to form an 
index.
-type: integer
-  dependent_virtual_link:
-description: >-
-  Reference to a list of VLD used in this Forwarding Graph.
-type: list
-entry_schema: string
-  connection_point:
-description: >-
-  Reference to Connection Points forming the VNFFG.
-type: list
-entry_schema: string
-  constituent_vnfs:
-description: >-
-  Reference to a list of VNFD used in this VNF Forwarding Graph.
-type: list
-entry_schema: string
-members: [ tosca.nodes.nfv.FP ]

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/ee2a16e6/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml
--
diff --git 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml
 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml
index 911ff3b..e881b7e 100644
--- 
a/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml
+++ 
b/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml
@@ -16,6 +16,5 @@
 imports:
   - capabilities.yaml
   - data.yaml
-  - groups.yaml
   - nodes.yaml
   - relationships.yaml



[2/2] incubator-ariatosca git commit: ARIA-180 Separate Parameter models and change relationships

2017-06-04 Thread avia
ARIA-180 Separate Parameter models and change relationships

First, the Parameter model was separated in 6 individual models:
Input, Output, Property, Attribute, Configuration, Argument.

The first four models are TOSCA-related, and we needed to separate them
as according to the TOSCA spec, all four of these represent different
things, and have different fields.

The other two models (Configuration, Argument) are
orchestration-related, as and such are not supposed to represent the
same object as the TOSCA-related objects.

Second, up until now, the relationships of the then-Parameter models
were many-to-many to any other object related to them. This was a problem,
as logically the relationships were one-to-many (from the other models
to the Parameter models).
In this commit, we changed them to one-to-many. In addition, separating
the Parameter models allowed us to more accurately represent the relationship 
of each individual Parameter-model with its related models.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/b6d3c43b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/b6d3c43b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/b6d3c43b

Branch: refs/heads/master
Commit: b6d3c43ba42ccc3fa7287aff132c83563abea035
Parents: 9174f94
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Sun May 21 16:28:30 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Sun Jun 4 15:40:03 2017 +0300

--
 aria/modeling/mixins.py | 216 +-
 aria/modeling/models.py |  42 +-
 aria/modeling/orchestration.py  |  37 +-
 aria/modeling/service_changes.py|  12 -
 aria/modeling/service_common.py | 423 +++
 aria/modeling/service_instance.py   | 177 
 aria/modeling/service_template.py   | 164 +++
 aria/modeling/utils.py  |   6 +-
 .../context/collection_instrumentation.py   |  10 +-
 .../execution_plugin/instantiation.py   |  36 +-
 aria/orchestrator/workflow_runner.py|   4 +-
 aria/orchestrator/workflows/api/task.py |   6 +-
 aria/orchestrator/workflows/executor/dry.py |   2 +-
 examples/hello-world/helloworld.yaml|   2 +-
 .../simple_v1_0/modeling/__init__.py|  71 ++--
 tests/cli/test_service_templates.py |   2 +-
 tests/mock/models.py|  21 +-
 tests/mock/topology.py  |   8 +-
 tests/modeling/test_models.py   |  49 ++-
 .../context/test_collection_instrumentation.py  |  64 +--
 tests/orchestrator/context/test_toolbelt.py |   2 +-
 tests/orchestrator/test_workflow_runner.py  |  14 +-
 .../workflows/executor/test_executor.py |   2 +-
 tests/storage/test_model_storage.py |   6 +-
 tox.ini |   2 -
 25 files changed, 867 insertions(+), 511 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b6d3c43b/aria/modeling/mixins.py
--
diff --git a/aria/modeling/mixins.py b/aria/modeling/mixins.py
index 38c812d..c98a866 100644
--- a/aria/modeling/mixins.py
+++ b/aria/modeling/mixins.py
@@ -23,10 +23,14 @@ from sqlalchemy.ext import associationproxy
 from sqlalchemy import (
 Column,
 Integer,
-Text
+Text,
+PickleType
 )
 
-from . import utils
+from ..parser.consumption import ConsumptionContext
+from ..utils import console, collections, caching, formatting
+from ..utils.type import canonical_type_name, full_type_name
+from . import utils, functions
 
 
 class ModelMixin(object):
@@ -140,3 +144,211 @@ class TemplateModelMixin(InstanceModelMixin):
 
 def instantiate(self, container):
 raise NotImplementedError
+
+
+class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
 #pylint: disable=abstract-method
+"""
+Represents a typed value. The value can contain nested intrinsic functions.
+
+This model can be used as the ``container_holder`` argument for 
:func:`functions.evaluate`.
+
+:ivar name: Name
+:vartype name: basestring
+:ivar type_name: Type name
+:vartype type_name: basestring
+:ivar value: Value
+:ivar description: Description
+:vartype description: basestring
+"""
+
+__tablename__ = 'parameter'
+
+name = Column(Text)
+type_name = Column(Text)
+description = Column(Text)
+_value = Column(PickleType)
+
+@property
+def value(self):
+value = self._value
+if value is not None:
+   

[1/2] incubator-ariatosca git commit: ARIA-180 Separate Parameter models and change relationships

2017-06-04 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/master 9174f9469 -> b6d3c43ba


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b6d3c43b/tests/cli/test_service_templates.py
--
diff --git a/tests/cli/test_service_templates.py 
b/tests/cli/test_service_templates.py
index 7e86896..cc0150e 100644
--- a/tests/cli/test_service_templates.py
+++ b/tests/cli/test_service_templates.py
@@ -215,7 +215,7 @@ class TestServiceTemplatesInputs(TestCliBase):
 
 def test_inputs_existing_inputs(self, monkeypatch, mock_storage):
 monkeypatch.setattr(_Environment, 'model_storage', mock_storage)
-input = mock_models.create_parameter(name='input1', value='value1')
+input = mock_models.create_input(name='input1', value='value1')
 st = mock_models.create_service_template(inputs={'input1': input})
 monkeypatch.setattr(mock_storage.service_template, 'get_by_name',
 mock.MagicMock(return_value=st))

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b6d3c43b/tests/mock/models.py
--
diff --git a/tests/mock/models.py b/tests/mock/models.py
index 50aa340..56a6e3e 100644
--- a/tests/mock/models.py
+++ b/tests/mock/models.py
@@ -94,7 +94,7 @@ def create_service_with_dependencies(include_execution=False,
 service.executions = [execution]
 execution.id = '1'
 if include_input:
-input = create_parameter(name='input1', value='value1')
+input = create_input(name='input1', value='value1')
 service.inputs = {'input1': input}
 if include_node:
 node_template = create_node_template(service_template=service_template)
@@ -110,7 +110,7 @@ def 
create_node_template_with_dependencies(include_node=False, include_property=
 service = create_service(service_template=service_template)
 create_node(dependency_node_template=node_template, service=service)
 if include_property:
-node_template.properties = {'prop1': create_parameter(name='prop1', 
value='value1')}
+node_template.properties = {'prop1': create_property(name='prop1', 
value='value1')}
 return node_template
 
 
@@ -120,7 +120,7 @@ def create_node_with_dependencies(include_attribute=False):
 node_template.service_template.services[0] = 
create_service(node_template.service_template)
 node = create_node(node_template, 
node_template.service_template.services[0])
 if include_attribute:
-node.attributes['attribute1'] = models.Parameter.wrap('attribute1', 
'value1')   # pylint: disable=unsubscriptable-object
+node.attributes['attribute1'] = models.Attribute.wrap('attribute1', 
'value1')   # pylint: disable=unsubscriptable-object
 return node
 
 
@@ -227,7 +227,7 @@ def create_interface(service, interface_name, 
operation_name, operation_kwargs=N
 
 if operation_kwargs and operation_kwargs.get('arguments'):
 operation_kwargs['arguments'] = dict(
-(argument_name, models.Parameter.wrap(argument_name, 
argument_value))
+(argument_name, models.Argument.wrap(argument_name, 
argument_value))
 for argument_name, argument_value in 
operation_kwargs['arguments'].iteritems()
 if argument_value is not None)
 
@@ -278,9 +278,16 @@ def create_plugin_specification(name='test_plugin', 
version='0.1'):
 )
 
 
-def create_parameter(name, value):
-p = models.Parameter()
-return p.wrap(name, value)
+def _create_parameter(name, value, model_cls):
+return model_cls.wrap(name, value)
+
+
+def create_property(name, value):
+return _create_parameter(name, value, model_cls=models.Property)
+
+
+def create_input(name, value):
+return _create_parameter(name, value, model_cls=models.Input)
 
 
 def _dictify(item):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b6d3c43b/tests/mock/topology.py
--
diff --git a/tests/mock/topology.py b/tests/mock/topology.py
index ab08dbd..9f0521f 100644
--- a/tests/mock/topology.py
+++ b/tests/mock/topology.py
@@ -28,8 +28,8 @@ def create_simple_topology_single_node(model_storage, 
create_operation):
 'Standard', 'create',
 operation_kwargs=dict(
 function=create_operation,
-arguments={'key': aria_models.Parameter.wrap('key', 'create'),
-   'value': aria_models.Parameter.wrap('value', True)})
+arguments={'key': aria_models.Argument.wrap('key', 'create'),
+   'value': aria_models.Argument.wrap('value', True)})
 )
 node_template.interface_templates[interface_template.name] = 
interface_template # pylint: disable=unsubscriptable-object
 
@@ -39,8 +39,8 @@ def create_simple_topology_single_node(model_storage, 

[1/2] incubator-ariatosca git commit: ARIA-180 Separate Parameter models and change relationships [Forced Update!]

2017-06-04 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many 7ca7d0f48 -> b6d3c43ba 
(forced update)


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b6d3c43b/tests/cli/test_service_templates.py
--
diff --git a/tests/cli/test_service_templates.py 
b/tests/cli/test_service_templates.py
index 7e86896..cc0150e 100644
--- a/tests/cli/test_service_templates.py
+++ b/tests/cli/test_service_templates.py
@@ -215,7 +215,7 @@ class TestServiceTemplatesInputs(TestCliBase):
 
 def test_inputs_existing_inputs(self, monkeypatch, mock_storage):
 monkeypatch.setattr(_Environment, 'model_storage', mock_storage)
-input = mock_models.create_parameter(name='input1', value='value1')
+input = mock_models.create_input(name='input1', value='value1')
 st = mock_models.create_service_template(inputs={'input1': input})
 monkeypatch.setattr(mock_storage.service_template, 'get_by_name',
 mock.MagicMock(return_value=st))

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b6d3c43b/tests/mock/models.py
--
diff --git a/tests/mock/models.py b/tests/mock/models.py
index 50aa340..56a6e3e 100644
--- a/tests/mock/models.py
+++ b/tests/mock/models.py
@@ -94,7 +94,7 @@ def create_service_with_dependencies(include_execution=False,
 service.executions = [execution]
 execution.id = '1'
 if include_input:
-input = create_parameter(name='input1', value='value1')
+input = create_input(name='input1', value='value1')
 service.inputs = {'input1': input}
 if include_node:
 node_template = create_node_template(service_template=service_template)
@@ -110,7 +110,7 @@ def 
create_node_template_with_dependencies(include_node=False, include_property=
 service = create_service(service_template=service_template)
 create_node(dependency_node_template=node_template, service=service)
 if include_property:
-node_template.properties = {'prop1': create_parameter(name='prop1', 
value='value1')}
+node_template.properties = {'prop1': create_property(name='prop1', 
value='value1')}
 return node_template
 
 
@@ -120,7 +120,7 @@ def create_node_with_dependencies(include_attribute=False):
 node_template.service_template.services[0] = 
create_service(node_template.service_template)
 node = create_node(node_template, 
node_template.service_template.services[0])
 if include_attribute:
-node.attributes['attribute1'] = models.Parameter.wrap('attribute1', 
'value1')   # pylint: disable=unsubscriptable-object
+node.attributes['attribute1'] = models.Attribute.wrap('attribute1', 
'value1')   # pylint: disable=unsubscriptable-object
 return node
 
 
@@ -227,7 +227,7 @@ def create_interface(service, interface_name, 
operation_name, operation_kwargs=N
 
 if operation_kwargs and operation_kwargs.get('arguments'):
 operation_kwargs['arguments'] = dict(
-(argument_name, models.Parameter.wrap(argument_name, 
argument_value))
+(argument_name, models.Argument.wrap(argument_name, 
argument_value))
 for argument_name, argument_value in 
operation_kwargs['arguments'].iteritems()
 if argument_value is not None)
 
@@ -278,9 +278,16 @@ def create_plugin_specification(name='test_plugin', 
version='0.1'):
 )
 
 
-def create_parameter(name, value):
-p = models.Parameter()
-return p.wrap(name, value)
+def _create_parameter(name, value, model_cls):
+return model_cls.wrap(name, value)
+
+
+def create_property(name, value):
+return _create_parameter(name, value, model_cls=models.Property)
+
+
+def create_input(name, value):
+return _create_parameter(name, value, model_cls=models.Input)
 
 
 def _dictify(item):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b6d3c43b/tests/mock/topology.py
--
diff --git a/tests/mock/topology.py b/tests/mock/topology.py
index ab08dbd..9f0521f 100644
--- a/tests/mock/topology.py
+++ b/tests/mock/topology.py
@@ -28,8 +28,8 @@ def create_simple_topology_single_node(model_storage, 
create_operation):
 'Standard', 'create',
 operation_kwargs=dict(
 function=create_operation,
-arguments={'key': aria_models.Parameter.wrap('key', 'create'),
-   'value': aria_models.Parameter.wrap('value', True)})
+arguments={'key': aria_models.Argument.wrap('key', 'create'),
+   'value': aria_models.Argument.wrap('value', True)})
 )
 node_template.interface_templates[interface_template.name] = 
interface_template # pylint: disable=unsubscriptable-object
 
@@ -39,8 +39,8 @@ def 

[2/2] incubator-ariatosca git commit: ARIA-180 Separate Parameter models and change relationships

2017-06-04 Thread avia
ARIA-180 Separate Parameter models and change relationships

First, the Parameter model was separated in 6 individual models:
Input, Output, Property, Attribute, Configuration, Argument.

The first four models are TOSCA-related, and we needed to separate them
as according to the TOSCA spec, all four of these represent different
things, and have different fields.

The other two models (Configuration, Argument) are
orchestration-related, as and such are not supposed to represent the
same object as the TOSCA-related objects.

Second, up until now, the relationships of the then-Parameter models
were many-to-many to any other object related to them. This was a problem,
as logically the relationships were one-to-many (from the other models
to the Parameter models).
In this commit, we changed them to one-to-many. In addition, separating
the Parameter models allowed us to more accurately represent the relationship 
of each individual Parameter-model with its related models.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/b6d3c43b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/b6d3c43b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/b6d3c43b

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: b6d3c43ba42ccc3fa7287aff132c83563abea035
Parents: 9174f94
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Sun May 21 16:28:30 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Sun Jun 4 15:40:03 2017 +0300

--
 aria/modeling/mixins.py | 216 +-
 aria/modeling/models.py |  42 +-
 aria/modeling/orchestration.py  |  37 +-
 aria/modeling/service_changes.py|  12 -
 aria/modeling/service_common.py | 423 +++
 aria/modeling/service_instance.py   | 177 
 aria/modeling/service_template.py   | 164 +++
 aria/modeling/utils.py  |   6 +-
 .../context/collection_instrumentation.py   |  10 +-
 .../execution_plugin/instantiation.py   |  36 +-
 aria/orchestrator/workflow_runner.py|   4 +-
 aria/orchestrator/workflows/api/task.py |   6 +-
 aria/orchestrator/workflows/executor/dry.py |   2 +-
 examples/hello-world/helloworld.yaml|   2 +-
 .../simple_v1_0/modeling/__init__.py|  71 ++--
 tests/cli/test_service_templates.py |   2 +-
 tests/mock/models.py|  21 +-
 tests/mock/topology.py  |   8 +-
 tests/modeling/test_models.py   |  49 ++-
 .../context/test_collection_instrumentation.py  |  64 +--
 tests/orchestrator/context/test_toolbelt.py |   2 +-
 tests/orchestrator/test_workflow_runner.py  |  14 +-
 .../workflows/executor/test_executor.py |   2 +-
 tests/storage/test_model_storage.py |   6 +-
 tox.ini |   2 -
 25 files changed, 867 insertions(+), 511 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b6d3c43b/aria/modeling/mixins.py
--
diff --git a/aria/modeling/mixins.py b/aria/modeling/mixins.py
index 38c812d..c98a866 100644
--- a/aria/modeling/mixins.py
+++ b/aria/modeling/mixins.py
@@ -23,10 +23,14 @@ from sqlalchemy.ext import associationproxy
 from sqlalchemy import (
 Column,
 Integer,
-Text
+Text,
+PickleType
 )
 
-from . import utils
+from ..parser.consumption import ConsumptionContext
+from ..utils import console, collections, caching, formatting
+from ..utils.type import canonical_type_name, full_type_name
+from . import utils, functions
 
 
 class ModelMixin(object):
@@ -140,3 +144,211 @@ class TemplateModelMixin(InstanceModelMixin):
 
 def instantiate(self, container):
 raise NotImplementedError
+
+
+class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
 #pylint: disable=abstract-method
+"""
+Represents a typed value. The value can contain nested intrinsic functions.
+
+This model can be used as the ``container_holder`` argument for 
:func:`functions.evaluate`.
+
+:ivar name: Name
+:vartype name: basestring
+:ivar type_name: Type name
+:vartype type_name: basestring
+:ivar value: Value
+:ivar description: Description
+:vartype description: basestring
+"""
+
+__tablename__ = 'parameter'
+
+name = Column(Text)
+type_name = Column(Text)
+description = Column(Text)
+_value = Column(PickleType)
+
+@property
+def value(self):
+value =

[2/2] incubator-ariatosca git commit: ARIA-180 Separate Parameter models and change relationships

2017-06-04 Thread avia
ARIA-180 Separate Parameter models and change relationships

First, the Parameter model was separated in 6 individual models:
Input, Output, Property, Attribute, Configuration, Argument.

The first four models are TOSCA-related, and we needed to separate them
as according to the TOSCA spec, all four of these represent different
things, and have different fields.

The other two models (Configuration, Argument) are
orchestration-related, as and such are not supposed to represent the
same object as the TOSCA-related objects.

Second, up until now, the relationships of the then-Parameter models
were many-to-many to any other object related to them. This was a problem,
as logically the relationships were one-to-many (from the other models
to the Parameter models).
In this commit, we changed them to one-to-many. In addition, separating
the Parameter models allowed us to more accurately represent the relationship 
of each individual Parameter-model with its related models.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/7ca7d0f4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/7ca7d0f4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/7ca7d0f4

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 7ca7d0f48812504b1b083c0a00833f6a3546964d
Parents: 9174f94
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Sun May 21 16:28:30 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Sun Jun 4 15:31:20 2017 +0300

--
 aria/modeling/mixins.py | 216 +-
 aria/modeling/models.py |  42 +-
 aria/modeling/orchestration.py  |  37 +-
 aria/modeling/service_changes.py|  12 -
 aria/modeling/service_common.py | 423 +++
 aria/modeling/service_instance.py   | 177 
 aria/modeling/service_template.py   | 164 +++
 aria/modeling/utils.py  |   6 +-
 .../context/collection_instrumentation.py   |  10 +-
 .../execution_plugin/instantiation.py   |  36 +-
 aria/orchestrator/workflow_runner.py|   4 +-
 aria/orchestrator/workflows/api/task.py |   6 +-
 aria/orchestrator/workflows/executor/dry.py |   2 +-
 examples/hello-world/helloworld.yaml|   2 +-
 .../simple_v1_0/modeling/__init__.py|  71 ++--
 tests/cli/test_service_templates.py |   2 +-
 tests/mock/models.py|  21 +-
 tests/mock/topology.py  |   8 +-
 tests/modeling/test_models.py   |  49 ++-
 .../context/test_collection_instrumentation.py  |  64 +--
 tests/orchestrator/context/test_toolbelt.py |   2 +-
 tests/orchestrator/test_workflow_runner.py  |  14 +-
 .../workflows/executor/test_executor.py |   2 +-
 tests/storage/test_model_storage.py |   6 +-
 tox.ini |   2 -
 25 files changed, 867 insertions(+), 511 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7ca7d0f4/aria/modeling/mixins.py
--
diff --git a/aria/modeling/mixins.py b/aria/modeling/mixins.py
index 38c812d..c98a866 100644
--- a/aria/modeling/mixins.py
+++ b/aria/modeling/mixins.py
@@ -23,10 +23,14 @@ from sqlalchemy.ext import associationproxy
 from sqlalchemy import (
 Column,
 Integer,
-Text
+Text,
+PickleType
 )
 
-from . import utils
+from ..parser.consumption import ConsumptionContext
+from ..utils import console, collections, caching, formatting
+from ..utils.type import canonical_type_name, full_type_name
+from . import utils, functions
 
 
 class ModelMixin(object):
@@ -140,3 +144,211 @@ class TemplateModelMixin(InstanceModelMixin):
 
 def instantiate(self, container):
 raise NotImplementedError
+
+
+class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
 #pylint: disable=abstract-method
+"""
+Represents a typed value. The value can contain nested intrinsic functions.
+
+This model can be used as the ``container_holder`` argument for 
:func:`functions.evaluate`.
+
+:ivar name: Name
+:vartype name: basestring
+:ivar type_name: Type name
+:vartype type_name: basestring
+:ivar value: Value
+:ivar description: Description
+:vartype description: basestring
+"""
+
+__tablename__ = 'parameter'
+
+name = Column(Text)
+type_name = Column(Text)
+description = Column(Text)
+_value = Column(PickleType)
+
+@property
+def value(self):
+value =

incubator-ariatosca git commit: After Maxim's review

2017-06-04 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many 798e5583e -> cf68ce5be


After Maxim's review


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/cf68ce5b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/cf68ce5b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/cf68ce5b

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: cf68ce5be4165de6c6deb20ae9a3e1703c6f2dae
Parents: 798e558
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Sun Jun 4 14:38:56 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Sun Jun 4 14:38:56 2017 +0300

--
 aria/modeling/mixins.py |  2 +-
 aria/modeling/service_common.py | 10 +++--
 aria/orchestrator/workflows/executor/dry.py |  2 +-
 .../simple_v1_0/modeling/__init__.py| 42 +++-
 tests/mock/models.py|  9 ++---
 tests/modeling/test_models.py   | 42 
 tox.ini |  2 -
 7 files changed, 77 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/cf68ce5b/aria/modeling/mixins.py
--
diff --git a/aria/modeling/mixins.py b/aria/modeling/mixins.py
index 9a88f81..c98a866 100644
--- a/aria/modeling/mixins.py
+++ b/aria/modeling/mixins.py
@@ -146,7 +146,7 @@ class TemplateModelMixin(InstanceModelMixin):
 raise NotImplementedError
 
 
-class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
+class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
 #pylint: disable=abstract-method
 """
 Represents a typed value. The value can contain nested intrinsic functions.
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/cf68ce5b/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index d305f7a..272dfd7 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -22,11 +22,13 @@ from sqlalchemy import (
 from sqlalchemy.ext.declarative import declared_attr
 
 from ..parser.consumption import ConsumptionContext
-from ..utils import (collections, formatting, console)
-from .mixins import (InstanceModelMixin, TemplateModelMixin, ParameterMixin)
-from . import (
-relationship,
+from ..utils import (
+collections,
+formatting,
+console,
 )
+from .mixins import InstanceModelMixin, TemplateModelMixin, ParameterMixin
+from . import relationship
 
 
 class OutputBase(ParameterMixin):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/cf68ce5b/aria/orchestrator/workflows/executor/dry.py
--
diff --git a/aria/orchestrator/workflows/executor/dry.py 
b/aria/orchestrator/workflows/executor/dry.py
index 8848df8..72080b4 100644
--- a/aria/orchestrator/workflows/executor/dry.py
+++ b/aria/orchestrator/workflows/executor/dry.py
@@ -45,7 +45,7 @@ class DryExecutor(BaseExecutor):
 logger(dry_msg.format(name=name, task=task, suffix='started...'))
 logger(dry_msg.format(name=name, task=task, suffix='successful'))
 else:
-logger(dry_msg.format(name=name, task=task, suffix='has no 
function'))
+logger(dry_msg.format(name=name, task=task, suffix='has no 
implementation'))
 
 # updating the task manually instead of calling 
self._task_succeeded(task),
 # to avoid any side effects raising that event might cause

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/cf68ce5b/extensions/aria_extension_tosca/simple_v1_0/modeling/__init__.py
--
diff --git a/extensions/aria_extension_tosca/simple_v1_0/modeling/__init__.py 
b/extensions/aria_extension_tosca/simple_v1_0/modeling/__init__.py
index 2d50ad5..5813ccf 100644
--- a/extensions/aria_extension_tosca/simple_v1_0/modeling/__init__.py
+++ b/extensions/aria_extension_tosca/simple_v1_0/modeling/__init__.py
@@ -96,10 +96,10 @@ def create_service_template_model(context): # pylint: 
disable=too-many-locals,to
 if topology_template is not None:
 create_parameter_models_from_values(model.inputs,
 
topology_template._get_input_values(context),
-model_class=Input)
+model_cls=Input)
 creat

incubator-ariatosca git commit: Add Argument and Configuration models [Forced Update!]

2017-06-04 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many 133976eae -> 798e5583e 
(forced update)


Add Argument and Configuration models


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/798e5583
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/798e5583
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/798e5583

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 798e5583ecba8d5fc34a83bede010d1b9f691992
Parents: fdda757
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Thu Jun 1 17:09:22 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Sun Jun 4 11:17:53 2017 +0300

--
 aria/modeling/mixins.py | 216 -
 aria/modeling/models.py |  17 +-
 aria/modeling/orchestration.py  |  35 ++-
 aria/modeling/service_common.py | 243 +++
 aria/modeling/service_instance.py   |  44 ++--
 aria/modeling/service_template.py   |  28 +--
 aria/modeling/utils.py  |   6 +-
 .../context/collection_instrumentation.py   |  10 +-
 .../execution_plugin/instantiation.py   |  36 +--
 aria/orchestrator/workflow_runner.py|   4 +-
 aria/orchestrator/workflows/api/task.py |   6 +-
 examples/hello-world/helloworld.yaml|   7 +-
 .../simple_v1_0/modeling/__init__.py|   8 +-
 tests/mock/models.py|   4 +-
 tests/mock/topology.py  |   8 +-
 tests/modeling/test_models.py   |   3 +-
 .../context/test_collection_instrumentation.py  |  64 ++---
 tests/orchestrator/context/test_toolbelt.py |   2 +-
 tests/orchestrator/test_workflow_runner.py  |   6 +-
 .../workflows/executor/test_executor.py |   2 +-
 20 files changed, 417 insertions(+), 332 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/798e5583/aria/modeling/mixins.py
--
diff --git a/aria/modeling/mixins.py b/aria/modeling/mixins.py
index 38c812d..9a88f81 100644
--- a/aria/modeling/mixins.py
+++ b/aria/modeling/mixins.py
@@ -23,10 +23,14 @@ from sqlalchemy.ext import associationproxy
 from sqlalchemy import (
 Column,
 Integer,
-Text
+Text,
+PickleType
 )
 
-from . import utils
+from ..parser.consumption import ConsumptionContext
+from ..utils import console, collections, caching, formatting
+from ..utils.type import canonical_type_name, full_type_name
+from . import utils, functions
 
 
 class ModelMixin(object):
@@ -140,3 +144,211 @@ class TemplateModelMixin(InstanceModelMixin):
 
 def instantiate(self, container):
 raise NotImplementedError
+
+
+class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
+"""
+Represents a typed value. The value can contain nested intrinsic functions.
+
+This model can be used as the ``container_holder`` argument for 
:func:`functions.evaluate`.
+
+:ivar name: Name
+:vartype name: basestring
+:ivar type_name: Type name
+:vartype type_name: basestring
+:ivar value: Value
+:ivar description: Description
+:vartype description: basestring
+"""
+
+__tablename__ = 'parameter'
+
+name = Column(Text)
+type_name = Column(Text)
+description = Column(Text)
+_value = Column(PickleType)
+
+@property
+def value(self):
+value = self._value
+if value is not None:
+evaluation = functions.evaluate(value, self)
+if evaluation is not None:
+value = evaluation.value
+return value
+
+@value.setter
+def value(self, value):
+self._value = value
+
+@property
+@caching.cachedmethod
+def owner(self):
+"""
+The sole owner of this parameter, which is another model that relates 
to it.
+
+*All* parameters should have an owner model. In case this property 
method fails to find
+it, it will raise a ValueError, which should signify an abnormal, 
orphaned parameter.
+"""
+
+# Find first non-null relationship
+for the_relationship in self.__mapper__.relationships:
+v = getattr(self, the_relationship.key)
+if v:
+return v
+
+raise ValueError('orphaned {class_name}: does not have an owner: 
{name}'.format(
+class_name=type(self).__name__, name=self.name))
+
+@property
+@caching.cachedmethod
+def container(self): # pylint: 
disable=too-many-retu

incubator-ariatosca git commit: Add Argument and Configuration models [Forced Update!]

2017-06-01 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many b7d2df00e -> 133976eae 
(forced update)


Add Argument and Configuration models


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/133976ea
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/133976ea
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/133976ea

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 133976eae1492ef8767362ddaef6ab94b48d9b2e
Parents: fdda757
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Thu Jun 1 17:09:22 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu Jun 1 19:29:03 2017 +0300

--
 aria/modeling/mixins.py | 216 -
 aria/modeling/models.py |  17 +-
 aria/modeling/orchestration.py  |  35 ++-
 aria/modeling/service_common.py | 243 +++
 aria/modeling/service_instance.py   |  44 ++--
 aria/modeling/service_template.py   |  28 +--
 aria/modeling/utils.py  |   6 +-
 .../context/collection_instrumentation.py   |  10 +-
 .../execution_plugin/instantiation.py   |  26 +-
 aria/orchestrator/workflow_runner.py|   4 +-
 aria/orchestrator/workflows/api/task.py |   6 +-
 examples/hello-world/helloworld.yaml|   7 +-
 .../simple_v1_0/modeling/__init__.py|   6 +-
 tests/mock/models.py|   4 +-
 tests/mock/topology.py  |   8 +-
 tests/modeling/test_models.py   |   3 +-
 .../context/test_collection_instrumentation.py  |  64 ++---
 tests/orchestrator/context/test_toolbelt.py |   2 +-
 tests/orchestrator/test_workflow_runner.py  |   6 +-
 .../workflows/executor/test_executor.py |   2 +-
 20 files changed, 411 insertions(+), 326 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/133976ea/aria/modeling/mixins.py
--
diff --git a/aria/modeling/mixins.py b/aria/modeling/mixins.py
index 38c812d..9a88f81 100644
--- a/aria/modeling/mixins.py
+++ b/aria/modeling/mixins.py
@@ -23,10 +23,14 @@ from sqlalchemy.ext import associationproxy
 from sqlalchemy import (
 Column,
 Integer,
-Text
+Text,
+PickleType
 )
 
-from . import utils
+from ..parser.consumption import ConsumptionContext
+from ..utils import console, collections, caching, formatting
+from ..utils.type import canonical_type_name, full_type_name
+from . import utils, functions
 
 
 class ModelMixin(object):
@@ -140,3 +144,211 @@ class TemplateModelMixin(InstanceModelMixin):
 
 def instantiate(self, container):
 raise NotImplementedError
+
+
+class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
+"""
+Represents a typed value. The value can contain nested intrinsic functions.
+
+This model can be used as the ``container_holder`` argument for 
:func:`functions.evaluate`.
+
+:ivar name: Name
+:vartype name: basestring
+:ivar type_name: Type name
+:vartype type_name: basestring
+:ivar value: Value
+:ivar description: Description
+:vartype description: basestring
+"""
+
+__tablename__ = 'parameter'
+
+name = Column(Text)
+type_name = Column(Text)
+description = Column(Text)
+_value = Column(PickleType)
+
+@property
+def value(self):
+value = self._value
+if value is not None:
+evaluation = functions.evaluate(value, self)
+if evaluation is not None:
+value = evaluation.value
+return value
+
+@value.setter
+def value(self, value):
+self._value = value
+
+@property
+@caching.cachedmethod
+def owner(self):
+"""
+The sole owner of this parameter, which is another model that relates 
to it.
+
+*All* parameters should have an owner model. In case this property 
method fails to find
+it, it will raise a ValueError, which should signify an abnormal, 
orphaned parameter.
+"""
+
+# Find first non-null relationship
+for the_relationship in self.__mapper__.relationships:
+v = getattr(self, the_relationship.key)
+if v:
+return v
+
+raise ValueError('orphaned {class_name}: does not have an owner: 
{name}'.format(
+class_name=type(self).__name__, name=self.name))
+
+@property
+@caching.cachedmethod
+def container(self): # pylint: 
disable=too-many-retu

incubator-ariatosca git commit: Add Argument and Configuration models [Forced Update!]

2017-06-01 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many 5038c65df -> b7d2df00e 
(forced update)


Add Argument and Configuration models


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/b7d2df00
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/b7d2df00
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/b7d2df00

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: b7d2df00e27b911f8bda89af3af05ce2cc2b446d
Parents: fdda757
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Thu Jun 1 17:09:22 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu Jun 1 19:22:10 2017 +0300

--
 aria/modeling/mixins.py | 216 -
 aria/modeling/models.py |  17 +-
 aria/modeling/orchestration.py  |  35 ++-
 aria/modeling/service_common.py | 243 +++
 aria/modeling/service_instance.py   |  44 ++--
 aria/modeling/service_template.py   |  28 +--
 aria/modeling/utils.py  |   6 +-
 .../context/collection_instrumentation.py   |  10 +-
 .../execution_plugin/instantiation.py   |  26 +-
 aria/orchestrator/workflow_runner.py|   4 +-
 aria/orchestrator/workflows/api/task.py |   6 +-
 examples/hello-world/helloworld.yaml|   7 +-
 .../simple_v1_0/modeling/__init__.py|   6 +-
 tests/mock/models.py|   4 +-
 tests/mock/topology.py  |   8 +-
 tests/modeling/test_models.py   |   3 +-
 .../context/test_collection_instrumentation.py  |  64 ++---
 tests/orchestrator/context/test_toolbelt.py |   2 +-
 tests/orchestrator/test_workflow_runner.py  |   6 +-
 .../workflows/executor/test_executor.py |   2 +-
 20 files changed, 411 insertions(+), 326 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b7d2df00/aria/modeling/mixins.py
--
diff --git a/aria/modeling/mixins.py b/aria/modeling/mixins.py
index 38c812d..9a88f81 100644
--- a/aria/modeling/mixins.py
+++ b/aria/modeling/mixins.py
@@ -23,10 +23,14 @@ from sqlalchemy.ext import associationproxy
 from sqlalchemy import (
 Column,
 Integer,
-Text
+Text,
+PickleType
 )
 
-from . import utils
+from ..parser.consumption import ConsumptionContext
+from ..utils import console, collections, caching, formatting
+from ..utils.type import canonical_type_name, full_type_name
+from . import utils, functions
 
 
 class ModelMixin(object):
@@ -140,3 +144,211 @@ class TemplateModelMixin(InstanceModelMixin):
 
 def instantiate(self, container):
 raise NotImplementedError
+
+
+class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
+"""
+Represents a typed value. The value can contain nested intrinsic functions.
+
+This model can be used as the ``container_holder`` argument for 
:func:`functions.evaluate`.
+
+:ivar name: Name
+:vartype name: basestring
+:ivar type_name: Type name
+:vartype type_name: basestring
+:ivar value: Value
+:ivar description: Description
+:vartype description: basestring
+"""
+
+__tablename__ = 'parameter'
+
+name = Column(Text)
+type_name = Column(Text)
+description = Column(Text)
+_value = Column(PickleType)
+
+@property
+def value(self):
+value = self._value
+if value is not None:
+evaluation = functions.evaluate(value, self)
+if evaluation is not None:
+value = evaluation.value
+return value
+
+@value.setter
+def value(self, value):
+self._value = value
+
+@property
+@caching.cachedmethod
+def owner(self):
+"""
+The sole owner of this parameter, which is another model that relates 
to it.
+
+*All* parameters should have an owner model. In case this property 
method fails to find
+it, it will raise a ValueError, which should signify an abnormal, 
orphaned parameter.
+"""
+
+# Find first non-null relationship
+for the_relationship in self.__mapper__.relationships:
+v = getattr(self, the_relationship.key)
+if v:
+return v
+
+raise ValueError('orphaned {class_name}: does not have an owner: 
{name}'.format(
+class_name=type(self).__name__, name=self.name))
+
+@property
+@caching.cachedmethod
+def container(self): # pylint: 
disable=too-many-retu

[14/16] incubator-ariatosca git commit: Add property many-to-one relationships

2017-06-01 Thread avia
Add property many-to-one relationships

To:
node template, node,
group template, group,
policy template, policy,
relationship template, relationship,
capability template, capability,
artifact template, artifact.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/3e562785
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/3e562785
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/3e562785

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 3e562785ce389d2f9d748729a96115cad7f19def
Parents: b0d251f
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Wed May 24 17:59:27 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu Jun 1 12:05:17 2017 +0300

--
 aria/modeling/service_common.py   | 178 +++--
 aria/modeling/service_instance.py |  58 +--
 aria/modeling/service_template.py |  56 +--
 3 files changed, 194 insertions(+), 98 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/3e562785/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index 1606e78..11f9d01 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -85,7 +85,6 @@ class ParameterBase(TemplateModelMixin, 
caching.HasCachedMethods):
 
 raise ValueError('orphaned parameter: does not have an owner: 
{0}'.format(self.name))
 
-
 @property
 @caching.cachedmethod
 def container(self): # pylint: 
disable=too-many-return-statements,too-many-branches
@@ -875,6 +874,121 @@ class PropertyBase(TemplateModelMixin, 
caching.HasCachedMethods):
 def value(self, value):
 self._value = value
 
+# region foreign keys
+
+@declared_attr
+def node_template_fk(cls):
+"""For Property many-to-one to NodeTemplate"""
+return relationship.foreign_key('node_template', nullable=True)
+
+@declared_attr
+def group_template_fk(cls):
+"""For Property many-to-one to GroupTemplate"""
+return relationship.foreign_key('group_template', nullable=True)
+
+@declared_attr
+def policy_template_fk(cls):
+"""For Property many-to-one to PolicyTemplate"""
+return relationship.foreign_key('policy_template', nullable=True)
+
+@declared_attr
+def relationship_template_fk(cls):
+"""For Property many-to-one to RelationshipTemplate"""
+return relationship.foreign_key('relationship_template', nullable=True)
+
+@declared_attr
+def capability_template_fk(cls):
+"""For Property many-to-one to CapabilityTemplate"""
+return relationship.foreign_key('capability_template', nullable=True)
+
+@declared_attr
+def artifact_template_fk(cls):
+"""For Property many-to-one to ArtifactTemplate"""
+return relationship.foreign_key('artifact_template', nullable=True)
+
+@declared_attr
+def node_fk(cls):
+"""For Property many-to-one to Node"""
+return relationship.foreign_key('node', nullable=True)
+
+@declared_attr
+def group_fk(cls):
+"""For Property many-to-one to Group"""
+return relationship.foreign_key('group', nullable=True)
+
+@declared_attr
+def policy_fk(cls):
+"""For Property many-to-one to Policy"""
+return relationship.foreign_key('policy', nullable=True)
+
+@declared_attr
+def relationship_fk(cls):
+"""For Property many-to-one to Relationship"""
+return relationship.foreign_key('relationship', nullable=True)
+
+@declared_attr
+def capability_fk(cls):
+"""For Property many-to-one to Capability"""
+return relationship.foreign_key('capability', nullable=True)
+
+@declared_attr
+def artifact_fk(cls):
+"""For Property many-to-one to Artifact"""
+return relationship.foreign_key('artifact', nullable=True)
+# endregion
+
+# region many_to_one relationships
+
+@declared_attr
+def node_template(cls):
+return relationship.many_to_one(cls, 'node_template')
+
+@declared_attr
+def group_template(cls):
+return relationship.many_to_one(cls, 'group_template')
+
+@declared_attr
+def policy_template(cls):
+return relationship.many_to_one(cls, 'p

[16/16] incubator-ariatosca git commit: Add Argument and Configuration models

2017-06-01 Thread avia
Add Argument and Configuration models


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/5038c65d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/5038c65d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/5038c65d

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 5038c65df6bd6c8f77582d23ea3d4d381d8ab30b
Parents: fdda757
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Thu Jun 1 17:09:22 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu Jun 1 17:10:06 2017 +0300

--
 aria/modeling/mixins.py | 207 +++-
 aria/modeling/models.py |  17 +-
 aria/modeling/orchestration.py  |  35 ++-
 aria/modeling/service_common.py | 243 +++
 aria/modeling/service_instance.py   |  34 +--
 aria/modeling/service_template.py   |  28 +--
 aria/modeling/utils.py  |   6 +-
 .../context/collection_instrumentation.py   |  10 +-
 .../execution_plugin/instantiation.py   |  26 +-
 aria/orchestrator/workflow_runner.py|   4 +-
 aria/orchestrator/workflows/api/task.py |   6 +-
 examples/hello-world/helloworld.yaml|   7 +-
 .../simple_v1_0/modeling/__init__.py|   6 +-
 tests/mock/models.py|   4 +-
 tests/mock/topology.py  |   8 +-
 tests/modeling/test_models.py   |   3 +-
 .../context/test_collection_instrumentation.py  |  64 ++---
 tests/orchestrator/context/test_toolbelt.py |   2 +-
 .../workflows/executor/test_executor.py |   2 +-
 19 files changed, 388 insertions(+), 324 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/5038c65d/aria/modeling/mixins.py
--
diff --git a/aria/modeling/mixins.py b/aria/modeling/mixins.py
index 38c812d..4b307ab 100644
--- a/aria/modeling/mixins.py
+++ b/aria/modeling/mixins.py
@@ -23,10 +23,14 @@ from sqlalchemy.ext import associationproxy
 from sqlalchemy import (
 Column,
 Integer,
-Text
+Text,
+PickleType
 )
 
-from . import utils
+from ..parser.consumption import ConsumptionContext
+from ..utils import console, collections, caching, formatting
+from ..utils.type import canonical_type_name, full_type_name
+from . import utils, functions
 
 
 class ModelMixin(object):
@@ -140,3 +144,202 @@ class TemplateModelMixin(InstanceModelMixin):
 
 def instantiate(self, container):
 raise NotImplementedError
+
+
+class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
+"""
+Represents a typed value. The value can contain nested intrinsic functions.
+
+This model can be used as the ``container_holder`` argument for 
:func:`functions.evaluate`.
+
+:ivar name: Name
+:vartype name: basestring
+:ivar type_name: Type name
+:vartype type_name: basestring
+:ivar value: Value
+:ivar description: Description
+:vartype description: basestring
+"""
+
+__tablename__ = 'parameter'
+
+name = Column(Text)
+type_name = Column(Text)
+description = Column(Text)
+_value = Column(PickleType)
+
+@property
+def value(self):
+value = self._value
+if value is not None:
+evaluation = functions.evaluate(value, self)
+if evaluation is not None:
+value = evaluation.value
+return value
+
+@value.setter
+def value(self, value):
+self._value = value
+
+@property
+@caching.cachedmethod
+def owner(self):
+"""
+The sole owner of this parameter, which is another model that relates 
to it.
+
+*All* parameters should have an owner model. In case this property 
method fails to find
+it, it will raise a ValueError, which should signify an abnormal, 
orphaned parameter.
+"""
+
+# Find first non-null relationship
+for the_relationship in self.__mapper__.relationships:
+v = getattr(self, the_relationship.key)
+if v:
+return v
+
+raise ValueError('orphaned {class_name}: does not have an owner: 
{name}'.format(
+class_name=type(self).__name__, name=self.name))
+
+@property
+@caching.cachedmethod
+def container(self): # pylint: 
disable=too-many-return-statements,too-many-branches
+"""
+The logical container for this parameter, which would be another 
model: service, node,
+group, or policy (or their templates).
+
+T

[07/16] incubator-ariatosca git commit: ARIA-149 Enhance operation configuration

2017-06-01 Thread avia
ARIA-149 Enhance operation configuration

* Also fixes ARIA-121, ARIA-190
* Parse special "dependencies" configuration parameters as YAML and
  treat as Parameter models, allowing them full use of intrinsic
  functions, type coersions, and validations
* Rename various functions that process "properties" to more generically
  process "parameters" (properties, inputs, attributes, arguments, etc.)
* The "configuration" field in OperationTemplate and Operation models
  is now now a dict of Parameter models
* Add "function" and "arguments" fields to Operation model to preserve
  user data (in "implementation" and "inputs") and to clearly demarcate
  orchestration data from user data; update task API accordingly
* Some cleanup of parser code touched by this commit
* Rename "create_parameters" to "merge_parameter_values" and improve


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/9174f946
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/9174f946
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/9174f946

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 9174f9469922c57f9a979c6161bd17a9f3f90c97
Parents: 07d7951
Author: Tal Liron 
Authored: Thu Apr 20 17:54:47 2017 -0500
Committer: Tal Liron 
Committed: Wed May 31 16:42:02 2017 -0500

--
 aria/cli/commands/services.py   |   2 +-
 aria/cli/execution_logging.py   |   6 +-
 aria/core.py|  14 +-
 aria/modeling/constraints.py|  28 +++
 aria/modeling/contraints.py |  28 ---
 aria/modeling/exceptions.py |  16 +-
 aria/modeling/orchestration.py  |  14 +-
 aria/modeling/service_common.py |   7 +-
 aria/modeling/service_instance.py   |  89 +---
 aria/modeling/service_template.py   |  67 +++---
 aria/modeling/utils.py  | 114 +-
 aria/orchestrator/__init__.py   |   7 +-
 aria/orchestrator/context/operation.py  |   4 +-
 aria/orchestrator/decorators.py |   3 +-
 .../execution_plugin/instantiation.py   | 139 +++-
 aria/orchestrator/workflow_runner.py|  17 +-
 aria/orchestrator/workflows/api/task.py |  89 +---
 .../workflows/builtin/execute_operation.py  |   2 +-
 aria/orchestrator/workflows/core/task.py|   5 +-
 aria/orchestrator/workflows/events_logging.py   |   6 +-
 aria/orchestrator/workflows/executor/base.py|   4 +-
 aria/orchestrator/workflows/executor/celery.py  |   6 +-
 aria/orchestrator/workflows/executor/dry.py |   6 +-
 aria/orchestrator/workflows/executor/process.py |  12 +-
 aria/orchestrator/workflows/executor/thread.py  |   6 +-
 aria/utils/formatting.py|   4 +-
 aria/utils/validation.py|   8 +-
 .../profiles/aria-1.0/aria-1.0.yaml |   8 -
 .../simple_v1_0/assignments.py  |   4 +-
 .../simple_v1_0/modeling/__init__.py|  72 +--
 .../simple_v1_0/modeling/artifacts.py   |   2 +-
 .../simple_v1_0/modeling/capabilities.py|  24 ++-
 .../simple_v1_0/modeling/constraints.py |   2 +-
 .../simple_v1_0/modeling/data_types.py  |  16 ++
 .../simple_v1_0/modeling/functions.py   |   4 +-
 .../simple_v1_0/modeling/interfaces.py  |  34 ++-
 .../simple_v1_0/modeling/parameters.py  | 211 +++
 .../simple_v1_0/modeling/policies.py|   2 +
 .../simple_v1_0/modeling/properties.py  | 202 --
 .../simple_v1_0/modeling/requirements.py|  20 +-
 .../modeling/substitution_mappings.py   |   4 +
 .../simple_v1_0/templates.py|  13 +-
 .../aria_extension_tosca/simple_v1_0/types.py   |  24 +--
 tests/cli/test_services.py  |  14 +-
 tests/mock/models.py|  10 +-
 tests/mock/topology.py  |  12 +-
 tests/modeling/test_models.py   |  12 +-
 tests/orchestrator/context/test_operation.py|  86 
 tests/orchestrator/context/test_serialize.py|   6 +-
 tests/orchestrator/context/test_toolbelt.py |  14 +-
 .../orchestrator/execution_plugin/test_local.py |  14 +-
 tests/orchestrator/execution_plugin/test_ssh.py |  16 +-
 tests/orchestrator/test_workflow_runner.py  |  16 +-
 tests/orchestrator/workflows/api/test_task.py   |  40 ++--
 .../workflows/builtin/test_execute_operation.py |   2 +-
 .../orchestrator/workflows/core/test_engine.py  |  44 ++--
 .../orchestrator/workflows/core/test_events.py  |   3 +-
 tests/orchestrator/workflows/core/test_task.py  |  10 +-
 

[01/16] incubator-ariatosca git commit: ARIA-258 Convert runtime_properties to attributes [Forced Update!]

2017-06-01 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many 42f924f58 -> 5038c65df 
(forced update)


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/50b997e3/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py
--
diff --git 
a/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py
 
b/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py
index 4fbe9c1..2b628a0 100644
--- 
a/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py
+++ 
b/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py
@@ -28,7 +28,7 @@ from tests import mock
 from tests import storage
 
 
-_TEST_RUNTIME_PROPERTIES = {
+_TEST_ATTRIBUTES = {
 'some': 'values', 'that': 'are', 'most': 'likely', 'only': 'set', 'here': 
'yo'
 }
 
@@ -46,17 +46,18 @@ def test_track_changes_of_failed_operation(context, 
executor):
 
 def _assert_tracked_changes_are_applied(context):
 instance = context.model.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME)
-assert instance.runtime_properties == _TEST_RUNTIME_PROPERTIES
+assert all(instance.attributes[key].value == value
+   for key, value in _TEST_ATTRIBUTES.items())
 
 
-def _update_runtime_properties(context):
-context.node.runtime_properties.clear()
-context.node.runtime_properties.update(_TEST_RUNTIME_PROPERTIES)
+def _update_attributes(context):
+context.node.attributes.clear()
+context.node.attributes.update(_TEST_ATTRIBUTES)
 
 
 def test_refresh_state_of_tracked_attributes(context, executor):
 out = _run_workflow(context=context, executor=executor, 
op_func=_mock_refreshing_operation)
-assert out['initial'] == out['after_refresh']
+assert out['after_refresh'] == out['after_change']
 assert out['initial'] != out['after_change']
 
 
@@ -66,22 +67,19 @@ def test_apply_tracked_changes_during_an_operation(context, 
executor):
 'changed_but_refreshed': {'some': 'newer', 'properties': 'right there'}
 }
 
-expected_initial = context.model.node.get_by_name(
-mock.models.DEPENDENCY_NODE_NAME).runtime_properties
-
-out = _run_workflow(context=context, executor=executor, 
op_func=_mock_updating_operation,
-inputs=inputs)
+expected_initial = 
context.model.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME).attributes
+out = _run_workflow(
+context=context, executor=executor, op_func=_mock_updating_operation, 
inputs=inputs)
 
 expected_after_update = expected_initial.copy()
 expected_after_update.update(inputs['committed']) # pylint: 
disable=no-member
 expected_after_change = expected_after_update.copy()
 expected_after_change.update(inputs['changed_but_refreshed']) # pylint: 
disable=no-member
-expected_after_refresh = expected_after_update
 
 assert out['initial'] == expected_initial
 assert out['after_update'] == expected_after_update
 assert out['after_change'] == expected_after_change
-assert out['after_refresh'] == expected_after_refresh
+assert out['after_refresh'] == expected_after_change
 
 
 def _run_workflow(context, executor, op_func, inputs=None):
@@ -109,42 +107,42 @@ def _run_workflow(context, executor, op_func, 
inputs=None):
 graph = mock_workflow(ctx=context)  # pylint: 
disable=no-value-for-parameter
 eng = engine.Engine(executor=executor, workflow_context=context, 
tasks_graph=graph)
 eng.execute()
-return context.model.node.get_by_name(
-mock.models.DEPENDENCY_NODE_NAME).runtime_properties.get('out')
+out = 
context.model.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME).attributes.get('out')
+return out.value if out else None
 
 
 @operation
 def _mock_success_operation(ctx):
-_update_runtime_properties(ctx)
+_update_attributes(ctx)
 
 
 @operation
 def _mock_fail_operation(ctx):
-_update_runtime_properties(ctx)
+_update_attributes(ctx)
 raise RuntimeError
 
 
 @operation
 def _mock_refreshing_operation(ctx):
-out = {'initial': copy.deepcopy(ctx.node.runtime_properties)}
-ctx.node.runtime_properties.update({'some': 'new', 'properties': 'right 
here'})
-out['after_change'] = copy.deepcopy(ctx.node.runtime_properties)
+out = {'initial': copy.deepcopy(ctx.node.attributes)}
+ctx.node.attributes.update({'some': 'new', 'properties': 'right here'})
+out['after_change'] = copy.deepcopy(ctx.node.attributes)
 ctx.model.node.refresh(ctx.node)
-out['after_refresh'] = copy.deepcopy(ctx.node.runtime_properties)
-ctx.node.runtime_properties['out'] = out
+out['after_refresh'] = copy.deepcopy(ctx.node.attributes)
+ctx.node.attributes['out'] = out
 
 
 @operation
 def _mock_updating_operation(ctx, committed, changed_but_refreshed):
-out = {'initial': copy.deepcopy(ctx.node.runtime_properties)}

[11/16] incubator-ariatosca git commit: Add input model

2017-06-01 Thread avia
Add input model


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/3943ad0b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/3943ad0b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/3943ad0b

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 3943ad0b921001ff8f7110618975f16264e1cff0
Parents: 74cc94e
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Sun May 21 20:10:50 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu Jun 1 11:51:02 2017 +0300

--
 aria/modeling/models.py |  11 +-
 aria/modeling/orchestration.py  |   2 +-
 aria/modeling/relationship.py   |   6 +-
 aria/modeling/service_common.py | 202 ++-
 aria/modeling/service_instance.py   |  14 +-
 aria/modeling/service_template.py   |  14 +-
 .../simple_v1_0/modeling/__init__.py|  29 +--
 tests/modeling/test_models.py   |   4 +-
 tests/orchestrator/test_workflow_runner.py  |   8 +-
 9 files changed, 249 insertions(+), 41 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/3943ad0b/aria/modeling/models.py
--
diff --git a/aria/modeling/models.py b/aria/modeling/models.py
index f3acca6..d7b417b 100644
--- a/aria/modeling/models.py
+++ b/aria/modeling/models.py
@@ -73,6 +73,7 @@ __all__ = (
 
 # Common service models
 'Parameter',
+'Input'
 'Output'
 'Type',
 'Metadata',
@@ -211,10 +212,15 @@ class Parameter(aria_declarative_base, 
service_common.ParameterBase):
 pass
 
 
+class Input(aria_declarative_base, service_common.InputBase):
+# Temporarily, until we will separate the Parameter model into Input, 
Output, Property and
+# Attribute, Parameter will represent only Property and Attribute.
+pass
+
+
 class Output(aria_declarative_base, service_common.OutputBase):
 # Temporarily, until we will separate the Parameter model into Input, 
Output, Property and
-# Attribute, Parameter will represent Input, Property and Attribute, and 
Output will represent
-# the outputs.
+# Attribute, Parameter will represent only Property and Attribute.
 pass
 
 
@@ -285,6 +291,7 @@ models_to_register = [
 
 # Common service models
 Parameter,
+Input,
 Output,
 Type,
 Metadata,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/3943ad0b/aria/modeling/orchestration.py
--
diff --git a/aria/modeling/orchestration.py b/aria/modeling/orchestration.py
index 97de552..3753090 100644
--- a/aria/modeling/orchestration.py
+++ b/aria/modeling/orchestration.py
@@ -115,7 +115,7 @@ class ExecutionBase(ModelMixin):
 
 @declared_attr
 def inputs(cls):
-return relationship.many_to_many(cls, 'parameter', prefix='inputs', 
dict_key='name')
+return relationship.many_to_many(cls, 'input', dict_key='name')
 
 # region foreign keys
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/3943ad0b/aria/modeling/relationship.py
--
diff --git a/aria/modeling/relationship.py b/aria/modeling/relationship.py
index c4f4cf3..8644d42 100644
--- a/aria/modeling/relationship.py
+++ b/aria/modeling/relationship.py
@@ -287,8 +287,10 @@ def many_to_many(model_class,
 
 if prefix is not None:
 secondary_table_name = '{0}_{1}'.format(prefix, secondary_table_name)
-if other_property is None:
-other_property = '{0}_{1}'.format(prefix, 
formatting.pluralize(this_table))
+if other_property is None:
+other_property = '{0}_{1}'.format(prefix, 
formatting.pluralize(this_table))
+elif other_property is None:
+other_property = '{0}_{1}'.format(other_table, 
formatting.pluralize(this_table))
 
 secondary_table = _get_secondary_table(
 model_class.metadata,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/3943ad0b/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index 0f22dfb..0571ec9 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -412,9 +412,9 @@ class OutputBase(TemplateModelMixin, 
caching.HasCachedMethods):
 """
 Wraps an arbitrary value as a parameter. The type will be guessed via 
introspection.
 
-:param name: Parameter name
+:param name: Output name
 :type name: basestring
-:p

[10/16] incubator-ariatosca git commit: Add output many-to-one relationships

2017-06-01 Thread avia
Add output many-to-one relationships

To service template and service.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/05d2b2a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/05d2b2a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/05d2b2a0

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 05d2b2a0b162076228db334ce33e57b91790e048
Parents: fceceb7
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Wed May 24 14:53:20 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu Jun 1 11:51:02 2017 +0300

--
 aria/modeling/service_common.py   | 80 ++
 aria/modeling/service_instance.py |  8 ++--
 aria/modeling/service_template.py |  8 ++--
 3 files changed, 61 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/05d2b2a0/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index f85b2b5..2e981a3 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -336,36 +336,62 @@ class OutputBase(TemplateModelMixin, 
caching.HasCachedMethods):
 
 raise ValueError('orphaned output: does not have a container: 
{0}'.format(self.name))
 
-@property
-@caching.cachedmethod
-def service(self):
-"""
-The :class:`Service` containing this parameter, or None if not 
contained in a service.
-"""
+# @property
+# @caching.cachedmethod
+# def service(self):
+# """
+# The :class:`Service` containing this parameter, or None if not 
contained in a service.
+# """
+#
+# from . import models
+# container = self.container
+# if isinstance(container, models.Service):
+# return container
+# elif hasattr(container, 'service'):
+# return container.service
+# return None
+
+# @property
+# @caching.cachedmethod
+# def service_template(self):
+# """
+# The :class:`ServiceTemplate` containing this parameter, or None if 
not contained in a
+# service template.
+# """
+#
+# from . import models
+# container = self.container
+# if isinstance(container, models.ServiceTemplate):
+# return container
+# elif hasattr(container, 'service_template'):
+# return container.service_template
+# return None
 
-from . import models
-container = self.container
-if isinstance(container, models.Service):
-return container
-elif hasattr(container, 'service'):
-return container.service
-return None
+# region foreign keys
 
-@property
-@caching.cachedmethod
-def service_template(self):
-"""
-The :class:`ServiceTemplate` containing this parameter, or None if not 
contained in a
-service template.
-"""
+@declared_attr
+def service_template_fk(cls):
+"""For Output many-to-one to ServiceTemplate"""
+return relationship.foreign_key('service_template', nullable=True)
 
-from . import models
-container = self.container
-if isinstance(container, models.ServiceTemplate):
-return container
-elif hasattr(container, 'service_template'):
-return container.service_template
-return None
+@declared_attr
+def service_fk(cls):
+"""For Output many-to-one to Service"""
+return relationship.foreign_key('service', nullable=True)
+
+# endregion
+
+# region many_to_one relationships
+
+@declared_attr
+def service_template(cls):
+return relationship.many_to_one(cls, 'service_template')
+
+@declared_attr
+def service(cls):
+return relationship.many_to_one(cls, 'service')
+
+# endregion
 
 @property
 def as_raw(self):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/05d2b2a0/aria/modeling/service_instance.py
--
diff --git a/aria/modeling/service_instance.py 
b/aria/modeling/service_instance.py
index 97ae5b7..1a162d2 100644
--- a/aria/modeling/service_instance.py
+++ b/aria/modeling/service_instance.py
@@ -125,6 +125,10 @@ class ServiceBase(InstanceModelMixin):
 # region one_to_many relationships
 
 @declared_attr
+def outputs(cls):
+return re

[04/16] incubator-ariatosca git commit: ARIA-268 Add NOTICE file

2017-06-01 Thread avia
ARIA-268 Add NOTICE file


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/07d79513
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/07d79513
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/07d79513

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 07d79513a4ac41ba66d84f2922a17fd0ab7ec39c
Parents: adf7607
Author: Ran Ziv 
Authored: Mon May 29 17:11:04 2017 +0300
Committer: Ran Ziv 
Committed: Mon May 29 17:11:04 2017 +0300

--
 NOTICE | 5 +
 1 file changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/07d79513/NOTICE
--
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 000..bf03ab5
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,5 @@
+Apache AriaTosca
+Copyright 2016-2017 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
\ No newline at end of file



[06/16] incubator-ariatosca git commit: ARIA-149 Enhance operation configuration

2017-06-01 Thread avia
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9174f946/extensions/aria_extension_tosca/simple_v1_0/modeling/capabilities.py
--
diff --git 
a/extensions/aria_extension_tosca/simple_v1_0/modeling/capabilities.py 
b/extensions/aria_extension_tosca/simple_v1_0/modeling/capabilities.py
index 6df7177..a90a9fc 100644
--- a/extensions/aria_extension_tosca/simple_v1_0/modeling/capabilities.py
+++ b/extensions/aria_extension_tosca/simple_v1_0/modeling/capabilities.py
@@ -16,8 +16,9 @@
 from aria.utils.collections import deepcopy_with_locators, OrderedDict
 from aria.parser.validation import Issue
 
-from .properties import (convert_property_definitions_to_values, 
merge_raw_property_definitions,
- get_assigned_and_defined_property_values)
+from .parameters import (convert_parameter_definitions_to_values, 
merge_raw_parameter_definitions,
+ get_assigned_and_defined_parameter_values)
+
 
 #
 # CapabilityType
@@ -38,6 +39,7 @@ def get_inherited_valid_source_types(context, presentation):
 
 return valid_source_types
 
+
 #
 # NodeType
 #
@@ -92,6 +94,7 @@ def get_inherited_capability_definitions(context, 
presentation, for_presentation
 
 return capability_definitions
 
+
 #
 # NodeTemplate
 #
@@ -127,8 +130,9 @@ def get_template_capabilities(context, presentation):
 capability_assignment = capability_assignments[capability_name]
 
 # Assign properties
-values = get_assigned_and_defined_property_values(context,
-  
our_capability_assignment)
+values = get_assigned_and_defined_parameter_values(context,
+   
our_capability_assignment,
+   'property')
 if values:
 capability_assignment._raw['properties'] = values
 else:
@@ -139,6 +143,7 @@ def get_template_capabilities(context, presentation):
 
 return capability_assignments
 
+
 #
 # Utils
 #
@@ -150,24 +155,25 @@ def 
convert_capability_from_definition_to_assignment(context, presentation, cont
 
 properties = presentation.properties
 if properties is not None:
-raw['properties'] = convert_property_definitions_to_values(context, 
properties)
+raw['properties'] = convert_parameter_definitions_to_values(context, 
properties)
 
 # TODO attributes
 
 return CapabilityAssignment(name=presentation._name, raw=raw, 
container=container)
 
+
 def merge_capability_definition_from_type(context, presentation, 
capability_definition):
 raw_properties = OrderedDict()
 
 # Merge properties from type
 the_type = capability_definition._get_type(context)
 type_property_defintions = the_type._get_properties(context)
-merge_raw_property_definitions(context, presentation, raw_properties, 
type_property_defintions,
-   'properties')
+merge_raw_parameter_definitions(context, presentation, raw_properties, 
type_property_defintions,
+'properties')
 
 # Merge our properties
-merge_raw_property_definitions(context, presentation, raw_properties,
-   capability_definition.properties, 
'properties')
+merge_raw_parameter_definitions(context, presentation, raw_properties,
+capability_definition.properties, 
'properties')
 
 if raw_properties:
 capability_definition._raw['properties'] = raw_properties

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9174f946/extensions/aria_extension_tosca/simple_v1_0/modeling/constraints.py
--
diff --git 
a/extensions/aria_extension_tosca/simple_v1_0/modeling/constraints.py 
b/extensions/aria_extension_tosca/simple_v1_0/modeling/constraints.py
index 7c99eab..9a30cc1 100644
--- a/extensions/aria_extension_tosca/simple_v1_0/modeling/constraints.py
+++ b/extensions/aria_extension_tosca/simple_v1_0/modeling/constraints.py
@@ -15,7 +15,7 @@
 
 import re
 
-from aria.modeling.contraints import NodeTemplateConstraint
+from aria.modeling.constraints import NodeTemplateConstraint
 from aria.modeling.utils import NodeTemplateContainerHolder
 from aria.modeling.functions import evaluate
 from aria.parser import implements_specification

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9174f946/extensions/aria_extension_tosca/simple_v1_0/modeling/data_types.py
--
diff --git a/extensions/aria_extension_tosca/simple_v1_0/modeling/data_types.py 
b/extensions/aria_extension_tosca/simple_v1_0/modeling/data_types.py
index 3952785..c0d79e5 100644
--- 

[05/16] incubator-ariatosca git commit: ARIA-149 Enhance operation configuration

2017-06-01 Thread avia
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/9174f946/tests/orchestrator/workflows/api/test_task.py
--
diff --git a/tests/orchestrator/workflows/api/test_task.py 
b/tests/orchestrator/workflows/api/test_task.py
index 642c785..9d91b6b 100644
--- a/tests/orchestrator/workflows/api/test_task.py
+++ b/tests/orchestrator/workflows/api/test_task.py
@@ -44,15 +44,15 @@ class TestOperationTask(object):
 plugin = mock.models.create_plugin('test_plugin', '0.1')
 ctx.model.node.update(plugin)
 
-inputs = {'test_input': True}
+arguments = {'test_input': True}
 
 interface = mock.models.create_interface(
 ctx.service,
 interface_name,
 operation_name,
 operation_kwargs=dict(plugin=plugin,
-  implementation='op_path',
-  inputs=inputs),)
+  function='op_path',
+  arguments=arguments),)
 
 node = ctx.model.node.get_by_name(mock.models.DEPENDENT_NODE_NAME)
 node.interfaces[interface_name] = interface
@@ -66,7 +66,7 @@ class TestOperationTask(object):
 node,
 interface_name=interface_name,
 operation_name=operation_name,
-inputs=inputs,
+arguments=arguments,
 max_attempts=max_attempts,
 retry_interval=retry_interval,
 ignore_failure=ignore_failure)
@@ -77,9 +77,9 @@ class TestOperationTask(object):
 interface=interface_name,
 operation=operation_name
 )
-assert api_task.implementation == 'op_path'
+assert api_task.function == 'op_path'
 assert api_task.actor == node
-assert api_task.inputs['test_input'].value is True
+assert api_task.arguments['test_input'].value is True
 assert api_task.retry_interval == retry_interval
 assert api_task.max_attempts == max_attempts
 assert api_task.ignore_failure == ignore_failure
@@ -92,15 +92,15 @@ class TestOperationTask(object):
 plugin = mock.models.create_plugin('test_plugin', '0.1')
 ctx.model.plugin.update(plugin)
 
-inputs = {'test_input': True}
+arguments = {'test_input': True}
 
 interface = mock.models.create_interface(
 ctx.service,
 interface_name,
 operation_name,
 operation_kwargs=dict(plugin=plugin,
-  implementation='op_path',
-  inputs=inputs)
+  function='op_path',
+  arguments=arguments)
 )
 
 relationship = ctx.model.relationship.list()[0]
@@ -113,7 +113,7 @@ class TestOperationTask(object):
 relationship,
 interface_name=interface_name,
 operation_name=operation_name,
-inputs=inputs,
+arguments=arguments,
 max_attempts=max_attempts,
 retry_interval=retry_interval)
 
@@ -123,9 +123,9 @@ class TestOperationTask(object):
 interface=interface_name,
 operation=operation_name
 )
-assert api_task.implementation == 'op_path'
+assert api_task.function == 'op_path'
 assert api_task.actor == relationship
-assert api_task.inputs['test_input'].value is True
+assert api_task.arguments['test_input'].value is True
 assert api_task.retry_interval == retry_interval
 assert api_task.max_attempts == max_attempts
 assert api_task.plugin.name == 'test_plugin'
@@ -137,15 +137,15 @@ class TestOperationTask(object):
 plugin = mock.models.create_plugin('test_plugin', '0.1')
 ctx.model.node.update(plugin)
 
-inputs = {'test_input': True}
+arguments = {'test_input': True}
 
 interface = mock.models.create_interface(
 ctx.service,
 interface_name,
 operation_name,
 operation_kwargs=dict(plugin=plugin,
-  implementation='op_path',
-  inputs=inputs)
+  function='op_path',
+  arguments=arguments)
 )
 
 relationship = ctx.model.relationship.list()[0]
@@ -158,7 +158,7 @@ class TestOperationTask(object):
 relationship,
 interface_name=interface_name,
 operation_name=operation_name,
-inputs=inputs,
+arguments=arguments,
 max_attempts=max_attempts,
 retry_interval=retry_interval)
 
@@ -168,9 +168,9 @@ class TestOperationTask(object):
 interface=interface_name,
 

[03/16] incubator-ariatosca git commit: ARIA-261 Single-source ARIA version

2017-06-01 Thread avia
ARIA-261 Single-source ARIA version


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/adf76079
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/adf76079
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/adf76079

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: adf76079568b6ccaf89871907b9b98c22ef6681e
Parents: 50b997e
Author: Ran Ziv 
Authored: Thu May 25 12:18:58 2017 +0300
Committer: Ran Ziv 
Committed: Thu May 25 18:49:49 2017 +0300

--
 MANIFEST.in  |  2 ++
 VERSION  |  1 +
 aria/VERSION.py  | 21 -
 aria/__init__.py | 13 -
 aria/parser/reading/jinja.py |  2 +-
 requirements.in  |  3 ++-
 requirements.txt |  8 ++--
 setup.py | 14 +-
 8 files changed, 25 insertions(+), 39 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/adf76079/MANIFEST.in
--
diff --git a/MANIFEST.in b/MANIFEST.in
index d934e18..6c79a3a 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,2 +1,4 @@
 include requirements.txt
+include VERSION
+include LICENSE
 recursive-include examples *

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/adf76079/VERSION
--
diff --git a/VERSION b/VERSION
new file mode 100644
index 000..6c6aa7c
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+0.1.0
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/adf76079/aria/VERSION.py
--
diff --git a/aria/VERSION.py b/aria/VERSION.py
deleted file mode 100644
index 9ce332c..000
--- a/aria/VERSION.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""
-ARIA Version module:
-* version: ARIA Package version
-"""
-
-version = '0.1.0'  # pylint: disable=C0103

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/adf76079/aria/__init__.py
--
diff --git a/aria/__init__.py b/aria/__init__.py
index df75b1e..34db3a8 100644
--- a/aria/__init__.py
+++ b/aria/__init__.py
@@ -19,7 +19,8 @@ ARIA top level package
 
 import sys
 
-from .VERSION import version as __version__
+import pkg_resources
+__version__ = pkg_resources.get_distribution('aria').version
 
 from .orchestrator.decorators import workflow, operation
 from . import (
@@ -39,11 +40,6 @@ if sys.version_info < (2, 7):
 else:
 from pkgutil import iter_modules
 
-try:
-import pkg_resources
-except ImportError:
-pkg_resources = None
-
 __all__ = (
 '__version__',
 'workflow',
@@ -60,9 +56,8 @@ def install_aria_extensions():
 for loader, module_name, _ in iter_modules():
 if module_name.startswith('aria_extension_'):
 loader.find_module(module_name).load_module(module_name)
-if pkg_resources:
-for entry_point in 
pkg_resources.iter_entry_points(group='aria_extension'):
-entry_point.load()
+for entry_point in pkg_resources.iter_entry_points(group='aria_extension'):
+entry_point.load()
 extension.init()
 
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/adf76079/aria/parser/reading/jinja.py
--
diff --git a/aria/parser/reading/jinja.py b/aria/parser/reading/jinja.py
index 17bf49e..687317a 100644
--- a/aria/parser/reading/jinja.py
+++ b/aria/parser/reading/jinja.py
@@ -14,7 +14,7 @@ import os
 
 from jinja2 import Template
 
-from ...VERSION import version
+from ... import __version__ as version
 from ..loading import LiteralLocation, LiteralLoader
 from .reader import Reader
 from .exceptions import ReaderSyntaxError


[12/16] incubator-ariatosca git commit: Clean up the code

2017-06-01 Thread avia
Clean up the code


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/fdda7573
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/fdda7573
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/fdda7573

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: fdda7573bd82154c621860826523031afa70e9f1
Parents: 93c01b9
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Thu May 25 19:40:35 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu Jun 1 12:05:17 2017 +0300

--
 aria/modeling/models.py |5 -
 aria/modeling/relationship.py   |2 -
 aria/modeling/service_common.py | 1206 +++---
 .../simple_v1_0/modeling/__init__.py|2 +-
 tests/mock/models.py|   13 +-
 tests/storage/test_model_storage.py |6 +-
 6 files changed, 223 insertions(+), 1011 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/fdda7573/aria/modeling/models.py
--
diff --git a/aria/modeling/models.py b/aria/modeling/models.py
index 9b7e776..bfa0ece 100644
--- a/aria/modeling/models.py
+++ b/aria/modeling/models.py
@@ -72,7 +72,6 @@ __all__ = (
 'ServiceModification',
 
 # Common service models
-'Parameter',
 'Input',
 'Output',
 'Property',
@@ -210,9 +209,6 @@ class ServiceModification(aria_declarative_base, 
service_changes.ServiceModifica
 
 # region common service models
 
-class Parameter(aria_declarative_base, service_common.ParameterBase):
-pass
-
 
 class Input(aria_declarative_base, service_common.InputBase):
 pass
@@ -296,7 +292,6 @@ models_to_register = [
 ServiceModification,
 
 # Common service models
-Parameter,
 Input,
 Output,
 Property,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/fdda7573/aria/modeling/relationship.py
--
diff --git a/aria/modeling/relationship.py b/aria/modeling/relationship.py
index 8644d42..40be5b2 100644
--- a/aria/modeling/relationship.py
+++ b/aria/modeling/relationship.py
@@ -289,8 +289,6 @@ def many_to_many(model_class,
 secondary_table_name = '{0}_{1}'.format(prefix, secondary_table_name)
 if other_property is None:
 other_property = '{0}_{1}'.format(prefix, 
formatting.pluralize(this_table))
-elif other_property is None:
-other_property = '{0}_{1}'.format(other_table, 
formatting.pluralize(this_table))
 
 secondary_table = _get_secondary_table(
 model_class.metadata,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/fdda7573/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index 0a452dc..07b45a4 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -32,7 +32,7 @@ from . import (
 )
 
 
-class ParameterBase(TemplateModelMixin, caching.HasCachedMethods):
+class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
 """
 Represents a typed value. The value can contain nested intrinsic functions.
 
@@ -81,9 +81,10 @@ class ParameterBase(TemplateModelMixin, 
caching.HasCachedMethods):
 for the_relationship in self.__mapper__.relationships:
 v = getattr(self, the_relationship.key)
 if v:
-return v[0] # because we are many-to-many, the back reference 
will be a list
+return v
 
-raise ValueError('orphaned parameter: does not have an owner: 
{0}'.format(self.name))
+raise ValueError('orphaned {class_name}: does not have an owner: 
{name}'.format(
+class_name=type(self).__name__, name=self.name))
 
 @property
 @caching.cachedmethod
@@ -118,7 +119,7 @@ class ParameterBase(TemplateModelMixin, 
caching.HasCachedMethods):
 elif isinstance(container, models.Capability) or isinstance(container, 
models.Artifact):
 container = container.node
 elif isinstance(container, models.CapabilityTemplate) \
-or isinstance(container, models.ArtifactTemplate):
+or isinstance(container, models.ArtifactTemplate):
 container = container.node_template
 elif isinstance(container, models.Task):
 container = container.actor
@@ -174,11 +175,10 @@ class ParameterBase(TemplateModelMixin, 
caching.HasCachedMethods):
 ('description', self.description)))
 
 def instantiate(self, container):
-from . im

[15/16] incubator-ariatosca git commit: Add input many-to-one relationships

2017-06-01 Thread avia
Add input many-to-one relationships

To service template, service, interface template, interface, operation
template, operation, execution, task.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/b0d251f4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/b0d251f4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/b0d251f4

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: b0d251f43aed556db505fbc552c94ba105345482
Parents: 05d2b2a
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Wed May 24 16:16:37 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu Jun 1 12:05:17 2017 +0300

--
 aria/modeling/orchestration.py|   2 +-
 aria/modeling/service_changes.py  |  12 --
 aria/modeling/service_common.py   | 202 +++--
 aria/modeling/service_instance.py |  37 +++---
 aria/modeling/service_template.py |  38 ++-
 5 files changed, 167 insertions(+), 124 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b0d251f4/aria/modeling/orchestration.py
--
diff --git a/aria/modeling/orchestration.py b/aria/modeling/orchestration.py
index 3753090..0cee682 100644
--- a/aria/modeling/orchestration.py
+++ b/aria/modeling/orchestration.py
@@ -115,7 +115,7 @@ class ExecutionBase(ModelMixin):
 
 @declared_attr
 def inputs(cls):
-return relationship.many_to_many(cls, 'input', dict_key='name')
+return relationship.one_to_many(cls, 'input', dict_key='name')
 
 # region foreign keys
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b0d251f4/aria/modeling/service_changes.py
--
diff --git a/aria/modeling/service_changes.py b/aria/modeling/service_changes.py
index 1974424..f632fef 100644
--- a/aria/modeling/service_changes.py
+++ b/aria/modeling/service_changes.py
@@ -105,10 +105,6 @@ class ServiceUpdateBase(ModelMixin):
 
 # endregion
 
-# region many_to_many relationships
-
-# endregion
-
 def to_dict(self, suppress_error=False, **kwargs):
 dep_update_dict = super(ServiceUpdateBase, 
self).to_dict(suppress_error) #pylint: disable=no-member
 # Taking care of the fact the DeploymentSteps are _BaseModels
@@ -180,10 +176,6 @@ class ServiceUpdateStepBase(ModelMixin):
 
 # endregion
 
-# region many_to_many relationships
-
-# endregion
-
 def __hash__(self):
 return hash((getattr(self, self.id_column_name()), self.entity_id))
 
@@ -266,7 +258,3 @@ class ServiceModificationBase(ModelMixin):
 return relationship.many_to_one(cls, 'service', 
back_populates='modifications')
 
 # endregion
-
-# region many_to_many relationships
-
-# endregion

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/b0d251f4/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index 2e981a3..1606e78 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -598,6 +598,86 @@ class InputBase(TemplateModelMixin, 
caching.HasCachedMethods):
 def value(self, value):
 self._value = value
 
+# region foreign keys
+
+@declared_attr
+def service_template_fk(cls):
+"""For Input many-to-one to ServiceTemplate"""
+return relationship.foreign_key('service_template', nullable=True)
+
+@declared_attr
+def service_fk(cls):
+"""For Input many-to-one to Service"""
+return relationship.foreign_key('service', nullable=True)
+
+@declared_attr
+def interface_fk(cls):
+"""For Input many-to-one to Interface"""
+return relationship.foreign_key('interface', nullable=True)
+
+@declared_attr
+def operation_fk(cls):
+"""For Input many-to-one to Operation"""
+return relationship.foreign_key('operation', nullable=True)
+
+@declared_attr
+def interface_template_fk(cls):
+"""For Input many-to-one to InterfaceTemplate"""
+return relationship.foreign_key('interface_template', nullable=True)
+
+@declared_attr
+def operation_template_fk(cls):
+"""For Input many-to-one to OperationTemplate"""
+return relationship.foreign_key('operation_template', nullable=True)
+
+@declared_attr
+def execution_fk(cls):
+"""For Input many-to-one to Execution&q

[02/16] incubator-ariatosca git commit: ARIA-258 Convert runtime_properties to attributes

2017-06-01 Thread avia
ARIA-258 Convert runtime_properties to attributes


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/50b997e3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/50b997e3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/50b997e3

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 50b997e3bfbaf26df5e66327d30fe8a015b92dd7
Parents: 0c98684
Author: max-orlov 
Authored: Sun May 14 22:38:39 2017 +0300
Committer: max-orlov 
Committed: Thu May 25 18:30:21 2017 +0300

--
 aria/cli/commands/nodes.py  |   6 +-
 aria/modeling/service_common.py |   9 +-
 aria/modeling/service_instance.py   |   8 +-
 aria/modeling/service_template.py   |   1 -
 aria/modeling/types.py  |  20 -
 .../context/collection_instrumentation.py   | 242 
 aria/orchestrator/context/operation.py  |  13 +-
 aria/orchestrator/context/toolbelt.py   |   5 +-
 .../execution_plugin/ctx_proxy/server.py|   1 -
 aria/orchestrator/workflows/core/engine.py  |   1 -
 aria/orchestrator/workflows/executor/process.py | 125 +-
 aria/storage/instrumentation.py | 282 -
 tests/helpers.py|  10 +
 tests/mock/models.py|   7 +-
 tests/modeling/test_mixins.py   |   1 -
 tests/modeling/test_models.py   |  28 +-
 .../context/test_collection_instrumentation.py  | 253 
 tests/orchestrator/context/test_operation.py|  90 -
 tests/orchestrator/context/test_toolbelt.py |   5 +-
 .../orchestrator/execution_plugin/test_local.py |  66 ++--
 tests/orchestrator/execution_plugin/test_ssh.py |  36 +-
 tests/orchestrator/workflows/core/test_task.py  |   2 +-
 .../orchestrator/workflows/executor/__init__.py |   4 +
 ...process_executor_concurrent_modifications.py |  67 ++--
 .../executor/test_process_executor_extension.py |   6 +-
 .../test_process_executor_tracked_changes.py|  56 ++-
 tests/resources/scripts/test_ssh.sh |  30 +-
 tests/storage/test_instrumentation.py   | 396 ---
 28 files changed, 786 insertions(+), 984 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/50b997e3/aria/cli/commands/nodes.py
--
diff --git a/aria/cli/commands/nodes.py b/aria/cli/commands/nodes.py
index e43493f..1bbefe6 100644
--- a/aria/cli/commands/nodes.py
+++ b/aria/cli/commands/nodes.py
@@ -47,9 +47,9 @@ def show(node_id, model_storage, logger):
 
 # print node attributes
 logger.info('Node attributes:')
-if node.runtime_properties:
-for prop_name, prop_value in node.runtime_properties.iteritems():
-logger.info('\t{0}: {1}'.format(prop_name, prop_value))
+if node.attributes:
+for param_name, param in node.attributes.iteritems():
+logger.info('\t{0}: {1}'.format(param_name, param.value))
 else:
 logger.info('\tNo attributes')
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/50b997e3/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index e9c96a4..ef19c8e 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -218,14 +218,13 @@ class ParameterBase(TemplateModelMixin, 
caching.HasCachedMethods):
 :type description: basestring
 """
 
-from . import models
 type_name = canonical_type_name(value)
 if type_name is None:
 type_name = full_type_name(value)
-return models.Parameter(name=name, # pylint: 
disable=unexpected-keyword-arg
-type_name=type_name,
-value=value,
-description=description)
+return cls(name=name, # pylint: disable=unexpected-keyword-arg
+   type_name=type_name,
+   value=value,
+   description=description)
 
 
 class TypeBase(InstanceModelMixin):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/50b997e3/aria/modeling/service_instance.py
--
diff --git a/aria/modeling/service_instance.py 
b/aria/modeling/service_instance.py
index 41a388d..7058969 100644
--- a/aria/modeling/service_instance.py
+++ b/aria/modeling/service_instance.py
@@ -333,8 +333,6 @@ class NodeBase(InstanceModelMixin):
 :vartype inbound_relationships: 

[08/16] incubator-ariatosca git commit: add output model

2017-06-01 Thread avia
add output model


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/74cc94ee
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/74cc94ee
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/74cc94ee

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 74cc94eeeb8d113994e7104477d4a7bcd78fc3d6
Parents: 9174f94
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Sun May 21 16:28:30 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu Jun 1 11:39:13 2017 +0300

--
 aria/modeling/models.py |   9 +
 aria/modeling/relationship.py   |   4 +-
 aria/modeling/service_common.py | 197 +++
 aria/modeling/service_instance.py   |   4 +-
 aria/modeling/service_template.py   |   4 +-
 examples/hello-world/helloworld.yaml|   5 +
 .../simple_v1_0/modeling/__init__.py|  20 +-
 7 files changed, 230 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/74cc94ee/aria/modeling/models.py
--
diff --git a/aria/modeling/models.py b/aria/modeling/models.py
index 584b877..f3acca6 100644
--- a/aria/modeling/models.py
+++ b/aria/modeling/models.py
@@ -73,6 +73,7 @@ __all__ = (
 
 # Common service models
 'Parameter',
+'Output'
 'Type',
 'Metadata',
 
@@ -210,6 +211,13 @@ class Parameter(aria_declarative_base, 
service_common.ParameterBase):
 pass
 
 
+class Output(aria_declarative_base, service_common.OutputBase):
+# Temporarily, until we will separate the Parameter model into Input, 
Output, Property and
+# Attribute, Parameter will represent Input, Property and Attribute, and 
Output will represent
+# the outputs.
+pass
+
+
 class Type(aria_declarative_base, service_common.TypeBase):
 pass
 
@@ -277,6 +285,7 @@ models_to_register = [
 
 # Common service models
 Parameter,
+Output,
 Type,
 Metadata,
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/74cc94ee/aria/modeling/relationship.py
--
diff --git a/aria/modeling/relationship.py b/aria/modeling/relationship.py
index 40be5b2..c4f4cf3 100644
--- a/aria/modeling/relationship.py
+++ b/aria/modeling/relationship.py
@@ -287,8 +287,8 @@ def many_to_many(model_class,
 
 if prefix is not None:
 secondary_table_name = '{0}_{1}'.format(prefix, secondary_table_name)
-if other_property is None:
-other_property = '{0}_{1}'.format(prefix, 
formatting.pluralize(this_table))
+if other_property is None:
+other_property = '{0}_{1}'.format(prefix, 
formatting.pluralize(this_table))
 
 secondary_table = _get_secondary_table(
 model_class.metadata,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/74cc94ee/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index 8f844a2..0f22dfb 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -232,6 +232,203 @@ class ParameterBase(TemplateModelMixin, 
caching.HasCachedMethods):
description=description)
 
 
+# TODO dry this code. currently it is a copy of ParameterBase
+class OutputBase(TemplateModelMixin, caching.HasCachedMethods):
+"""
+Represents a typed value. The value can contain nested intrinsic functions.
+
+This model can be used as the ``container_holder`` argument for 
:func:`functions.evaluate`.
+
+:ivar name: Name
+:vartype name: basestring
+:ivar type_name: Type name
+:vartype type_name: basestring
+:ivar value: Value
+:ivar description: Description
+:vartype description: basestring
+"""
+
+__tablename__ = 'output'
+
+name = Column(Text)
+type_name = Column(Text)
+description = Column(Text)
+_value = Column(PickleType)
+
+@property
+def value(self):
+value = self._value
+if value is not None:
+evaluation = functions.evaluate(value, self)
+if evaluation is not None:
+value = evaluation.value
+return value
+
+@value.setter
+def value(self, value):
+self._value = value
+
+@property
+@caching.cachedmethod
+def owner(self):
+"""
+The sole owner of this parameter, which is another model that relates 
to it.
+
+*All* parameters should have an owner model. In case this property 
method fails to f

incubator-ariatosca git commit: Clean up the code

2017-05-25 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many 515c5886c -> 42f924f58


Clean up the code


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/42f924f5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/42f924f5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/42f924f5

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 42f924f586cffca7463499c92f36500904de9a0c
Parents: 515c588
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Thu May 25 19:40:35 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu May 25 19:40:35 2017 +0300

--
 aria/modeling/models.py |5 -
 aria/modeling/relationship.py   |2 -
 aria/modeling/service_common.py | 1209 +++---
 .../simple_v1_0/modeling/__init__.py|2 +-
 tests/mock/models.py|   13 +-
 tests/storage/test_model_storage.py |6 +-
 6 files changed, 224 insertions(+), 1013 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/42f924f5/aria/modeling/models.py
--
diff --git a/aria/modeling/models.py b/aria/modeling/models.py
index 9b7e776..bfa0ece 100644
--- a/aria/modeling/models.py
+++ b/aria/modeling/models.py
@@ -72,7 +72,6 @@ __all__ = (
 'ServiceModification',
 
 # Common service models
-'Parameter',
 'Input',
 'Output',
 'Property',
@@ -210,9 +209,6 @@ class ServiceModification(aria_declarative_base, 
service_changes.ServiceModifica
 
 # region common service models
 
-class Parameter(aria_declarative_base, service_common.ParameterBase):
-pass
-
 
 class Input(aria_declarative_base, service_common.InputBase):
 pass
@@ -296,7 +292,6 @@ models_to_register = [
 ServiceModification,
 
 # Common service models
-Parameter,
 Input,
 Output,
 Property,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/42f924f5/aria/modeling/relationship.py
--
diff --git a/aria/modeling/relationship.py b/aria/modeling/relationship.py
index 8644d42..40be5b2 100644
--- a/aria/modeling/relationship.py
+++ b/aria/modeling/relationship.py
@@ -289,8 +289,6 @@ def many_to_many(model_class,
 secondary_table_name = '{0}_{1}'.format(prefix, secondary_table_name)
 if other_property is None:
 other_property = '{0}_{1}'.format(prefix, 
formatting.pluralize(this_table))
-elif other_property is None:
-other_property = '{0}_{1}'.format(other_table, 
formatting.pluralize(this_table))
 
 secondary_table = _get_secondary_table(
 model_class.metadata,

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/42f924f5/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index 0542e00..227d4ea 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -32,7 +32,7 @@ from . import (
 )
 
 
-class ParameterBase(TemplateModelMixin, caching.HasCachedMethods):
+class ParameterMixin(TemplateModelMixin, caching.HasCachedMethods):
 """
 Represents a typed value. The value can contain nested intrinsic functions.
 
@@ -81,9 +81,10 @@ class ParameterBase(TemplateModelMixin, 
caching.HasCachedMethods):
 for the_relationship in self.__mapper__.relationships:
 v = getattr(self, the_relationship.key)
 if v:
-return v[0] # because we are many-to-many, the back reference 
will be a list
+return v
 
-raise ValueError('orphaned parameter: does not have an owner: 
{0}'.format(self.name))
+raise ValueError('orphaned {class_name}: does not have an owner: 
{name}'.format(
+class_name=type(self).__name__, name=self.name))
 
 @property
 @caching.cachedmethod
@@ -118,7 +119,7 @@ class ParameterBase(TemplateModelMixin, 
caching.HasCachedMethods):
 elif isinstance(container, models.Capability) or isinstance(container, 
models.Artifact):
 container = container.node
 elif isinstance(container, models.CapabilityTemplate) \
-or isinstance(container, models.ArtifactTemplate):
+or isinstance(container, models.ArtifactTemplate):
 container = container.node_template
 elif isinstance(container, models.Task):
 container = container.actor
@@ -174,11 +175,10 @@ class ParameterBase(TemplateModelMi

incubator-ariatosca git commit: Add attribute model and attribute many-to-one relationships [Forced Update!]

2017-05-24 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many 517574533 -> 515c5886c 
(forced update)


Add attribute model and attribute many-to-one relationships

To node template and node.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/515c5886
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/515c5886
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/515c5886

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 515c5886c32cb69b7b93036fa4c0c8325bccb33a
Parents: 7cb6acc
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Thu May 25 01:04:11 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu May 25 01:12:18 2017 +0300

--
 aria/modeling/models.py |  12 +-
 aria/modeling/service_common.py | 221 +++
 aria/modeling/service_instance.py   |  14 +-
 aria/modeling/service_template.py   |  12 +-
 .../simple_v1_0/modeling/__init__.py|  10 +-
 5 files changed, 240 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/515c5886/aria/modeling/models.py
--
diff --git a/aria/modeling/models.py b/aria/modeling/models.py
index 6d43327..9b7e776 100644
--- a/aria/modeling/models.py
+++ b/aria/modeling/models.py
@@ -76,6 +76,7 @@ __all__ = (
 'Input',
 'Output',
 'Property',
+'Attribute',
 'Type',
 'Metadata',
 
@@ -214,20 +215,18 @@ class Parameter(aria_declarative_base, 
service_common.ParameterBase):
 
 
 class Input(aria_declarative_base, service_common.InputBase):
-# Temporarily, until we will separate the Parameter model into Input, 
Output, Property and
-# Attribute, Parameter will represent only Attribute.
 pass
 
 
 class Output(aria_declarative_base, service_common.OutputBase):
-# Temporarily, until we will separate the Parameter model into Input, 
Output, Property and
-# Attribute, Parameter will represent only Attribute.
 pass
 
 
 class Property(aria_declarative_base, service_common.PropertyBase):
-# Temporarily, until we will separate the Parameter model into Input, 
Output, Property and
-# Attribute, Parameter will represent only Attribute.
+pass
+
+
+class Attribute(aria_declarative_base, service_common.AttributeBase):
 pass
 
 
@@ -301,6 +300,7 @@ models_to_register = [
 Input,
 Output,
 Property,
+Attribute,
 Type,
 Metadata,
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/515c5886/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index c9bd0d8..0542e00 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -1146,6 +1146,227 @@ class PropertyBase(TemplateModelMixin, 
caching.HasCachedMethods):
description=description)
 
 
+class AttributeBase(TemplateModelMixin, caching.HasCachedMethods):
+"""
+Represents a typed value. The value can contain nested intrinsic functions.
+
+This model can be used as the ``container_holder`` argument for 
:func:`functions.evaluate`.
+
+:ivar name: Name
+:vartype name: basestring
+:ivar type_name: Type name
+:vartype type_name: basestring
+:ivar value: Value
+:ivar description: Description
+:vartype description: basestring
+"""
+
+__tablename__ = 'attribute'
+
+name = Column(Text)
+type_name = Column(Text)
+description = Column(Text)
+_value = Column(PickleType)
+
+@property
+def value(self):
+value = self._value
+if value is not None:
+evaluation = functions.evaluate(value, self)
+if evaluation is not None:
+value = evaluation.value
+return value
+
+@value.setter
+def value(self, value):
+self._value = value
+
+# region foreign keys
+
+@declared_attr
+def node_template_fk(cls):
+"""For Attribute many-to-one to NodeTemplate"""
+return relationship.foreign_key('node_template', nullable=True)
+
+@declared_attr
+def node_fk(cls):
+"""For Attribute many-to-one to Node"""
+return relationship.foreign_key('node', nullable=True)
+
+# endregion
+
+# region many_to_one relationships
+
+@declared_attr
+def node_template(cls):
+return relationship.many_to_one(cls, 'node_template')
+
+@declared_attr
+   

incubator-ariatosca git commit: Add attribute model and attribute many-to-one relationships

2017-05-24 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many 7cb6accf5 -> 517574533


Add attribute model and attribute many-to-one relationships

To node template and node.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/51757453
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/51757453
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/51757453

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 5175745338b017ff2de888c52162eb67d50c2966
Parents: 7cb6acc
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Thu May 25 01:04:11 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Thu May 25 01:04:11 2017 +0300

--
 aria/modeling/models.py |  12 +-
 aria/modeling/service_common.py | 221 +++
 aria/modeling/service_instance.py   |  14 +-
 aria/modeling/service_template.py   |  12 +-
 .../simple_v1_0/modeling/__init__.py|  10 +-
 5 files changed, 240 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/51757453/aria/modeling/models.py
--
diff --git a/aria/modeling/models.py b/aria/modeling/models.py
index 6d43327..9b95f19 100644
--- a/aria/modeling/models.py
+++ b/aria/modeling/models.py
@@ -76,6 +76,7 @@ __all__ = (
 'Input',
 'Output',
 'Property',
+'Attribute'
 'Type',
 'Metadata',
 
@@ -214,20 +215,18 @@ class Parameter(aria_declarative_base, 
service_common.ParameterBase):
 
 
 class Input(aria_declarative_base, service_common.InputBase):
-# Temporarily, until we will separate the Parameter model into Input, 
Output, Property and
-# Attribute, Parameter will represent only Attribute.
 pass
 
 
 class Output(aria_declarative_base, service_common.OutputBase):
-# Temporarily, until we will separate the Parameter model into Input, 
Output, Property and
-# Attribute, Parameter will represent only Attribute.
 pass
 
 
 class Property(aria_declarative_base, service_common.PropertyBase):
-# Temporarily, until we will separate the Parameter model into Input, 
Output, Property and
-# Attribute, Parameter will represent only Attribute.
+pass
+
+
+class Attribute(aria_declarative_base, service_common.AttributeBase):
 pass
 
 
@@ -301,6 +300,7 @@ models_to_register = [
 Input,
 Output,
 Property,
+Attribute,
 Type,
 Metadata,
 

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/51757453/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index c9bd0d8..0542e00 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -1146,6 +1146,227 @@ class PropertyBase(TemplateModelMixin, 
caching.HasCachedMethods):
description=description)
 
 
+class AttributeBase(TemplateModelMixin, caching.HasCachedMethods):
+"""
+Represents a typed value. The value can contain nested intrinsic functions.
+
+This model can be used as the ``container_holder`` argument for 
:func:`functions.evaluate`.
+
+:ivar name: Name
+:vartype name: basestring
+:ivar type_name: Type name
+:vartype type_name: basestring
+:ivar value: Value
+:ivar description: Description
+:vartype description: basestring
+"""
+
+__tablename__ = 'attribute'
+
+name = Column(Text)
+type_name = Column(Text)
+description = Column(Text)
+_value = Column(PickleType)
+
+@property
+def value(self):
+value = self._value
+if value is not None:
+evaluation = functions.evaluate(value, self)
+if evaluation is not None:
+value = evaluation.value
+return value
+
+@value.setter
+def value(self, value):
+self._value = value
+
+# region foreign keys
+
+@declared_attr
+def node_template_fk(cls):
+"""For Attribute many-to-one to NodeTemplate"""
+return relationship.foreign_key('node_template', nullable=True)
+
+@declared_attr
+def node_fk(cls):
+"""For Attribute many-to-one to Node"""
+return relationship.foreign_key('node', nullable=True)
+
+# endregion
+
+# region many_to_one relationships
+
+@declared_attr
+def node_template(cls):
+return relationship.many_to_one(cls, 'node_template')
+
+@declared_attr
+   

incubator-ariatosca git commit: Add property many-to-one relationships

2017-05-24 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many 0cbe5f969 -> 7cb6accf5


Add property many-to-one relationships

To:
node template, node,
group template, group,
policy template, policy,
relationship template, relationship,
capability template, capability,
artifact template, artifact.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/7cb6accf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/7cb6accf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/7cb6accf

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 7cb6accf54059a38693aef6d78d64fb0eea0cfe7
Parents: 0cbe5f9
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Wed May 24 17:59:27 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed May 24 17:59:27 2017 +0300

--
 aria/modeling/service_common.py   | 178 +++--
 aria/modeling/service_instance.py |  58 +--
 aria/modeling/service_template.py |  56 +--
 3 files changed, 194 insertions(+), 98 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7cb6accf/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index 3f3d99d..c9bd0d8 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -85,7 +85,6 @@ class ParameterBase(TemplateModelMixin, 
caching.HasCachedMethods):
 
 raise ValueError('orphaned parameter: does not have an owner: 
{0}'.format(self.name))
 
-
 @property
 @caching.cachedmethod
 def container(self): # pylint: 
disable=too-many-return-statements,too-many-branches
@@ -871,6 +870,121 @@ class PropertyBase(TemplateModelMixin, 
caching.HasCachedMethods):
 def value(self, value):
 self._value = value
 
+# region foreign keys
+
+@declared_attr
+def node_template_fk(cls):
+"""For Property many-to-one to NodeTemplate"""
+return relationship.foreign_key('node_template', nullable=True)
+
+@declared_attr
+def group_template_fk(cls):
+"""For Property many-to-one to GroupTemplate"""
+return relationship.foreign_key('group_template', nullable=True)
+
+@declared_attr
+def policy_template_fk(cls):
+"""For Property many-to-one to PolicyTemplate"""
+return relationship.foreign_key('policy_template', nullable=True)
+
+@declared_attr
+def relationship_template_fk(cls):
+"""For Property many-to-one to RelationshipTemplate"""
+return relationship.foreign_key('relationship_template', nullable=True)
+
+@declared_attr
+def capability_template_fk(cls):
+"""For Property many-to-one to CapabilityTemplate"""
+return relationship.foreign_key('capability_template', nullable=True)
+
+@declared_attr
+def artifact_template_fk(cls):
+"""For Property many-to-one to ArtifactTemplate"""
+return relationship.foreign_key('artifact_template', nullable=True)
+
+@declared_attr
+def node_fk(cls):
+"""For Property many-to-one to Node"""
+return relationship.foreign_key('node', nullable=True)
+
+@declared_attr
+def group_fk(cls):
+"""For Property many-to-one to Group"""
+return relationship.foreign_key('group', nullable=True)
+
+@declared_attr
+def policy_fk(cls):
+"""For Property many-to-one to Policy"""
+return relationship.foreign_key('policy', nullable=True)
+
+@declared_attr
+def relationship_fk(cls):
+"""For Property many-to-one to Relationship"""
+return relationship.foreign_key('relationship', nullable=True)
+
+@declared_attr
+def capability_fk(cls):
+"""For Property many-to-one to Capability"""
+return relationship.foreign_key('capability', nullable=True)
+
+@declared_attr
+def artifact_fk(cls):
+"""For Property many-to-one to Artifact"""
+return relationship.foreign_key('artifact', nullable=True)
+# endregion
+
+# region many_to_one relationships
+
+@declared_attr
+def node_template(cls):
+return relationship.many_to_one(cls, 'node_template')
+
+@declared_attr
+def group_template(cls):
+return relationship.many_to_o

incubator-ariatosca git commit: Add input many-to-one relationships [Forced Update!]

2017-05-24 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many 08bec1792 -> 0cbe5f969 
(forced update)


Add input many-to-one relationships

To service template, service, interface template, interface, operation
template, operation, execution, task.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/0cbe5f96
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/0cbe5f96
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/0cbe5f96

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 0cbe5f96981918d88e56909b0e133b1b1df13032
Parents: ff9dc08
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Wed May 24 16:16:37 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed May 24 17:08:57 2017 +0300

--
 aria/modeling/orchestration.py|   4 +-
 aria/modeling/service_changes.py  |  12 --
 aria/modeling/service_common.py   | 202 +++--
 aria/modeling/service_instance.py |  41 +++
 aria/modeling/service_template.py |  46 ++--
 5 files changed, 168 insertions(+), 137 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/0cbe5f96/aria/modeling/orchestration.py
--
diff --git a/aria/modeling/orchestration.py b/aria/modeling/orchestration.py
index b65ca62..4bd0d85 100644
--- a/aria/modeling/orchestration.py
+++ b/aria/modeling/orchestration.py
@@ -115,7 +115,7 @@ class ExecutionBase(ModelMixin):
 
 @declared_attr
 def inputs(cls):
-return relationship.many_to_many(cls, 'input', dict_key='name')
+return relationship.one_to_many(cls, 'input', dict_key='name')
 
 # region foreign keys
 
@@ -301,7 +301,7 @@ class TaskBase(ModelMixin):
 
 @declared_attr
 def inputs(cls):
-return relationship.many_to_many(cls, 'input', dict_key='name')
+return relationship.one_to_many(cls, 'input', dict_key='name')
 
 implementation = Column(String)
 max_attempts = Column(Integer, default=1)

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/0cbe5f96/aria/modeling/service_changes.py
--
diff --git a/aria/modeling/service_changes.py b/aria/modeling/service_changes.py
index 1974424..f632fef 100644
--- a/aria/modeling/service_changes.py
+++ b/aria/modeling/service_changes.py
@@ -105,10 +105,6 @@ class ServiceUpdateBase(ModelMixin):
 
 # endregion
 
-# region many_to_many relationships
-
-# endregion
-
 def to_dict(self, suppress_error=False, **kwargs):
 dep_update_dict = super(ServiceUpdateBase, 
self).to_dict(suppress_error) #pylint: disable=no-member
 # Taking care of the fact the DeploymentSteps are _BaseModels
@@ -180,10 +176,6 @@ class ServiceUpdateStepBase(ModelMixin):
 
 # endregion
 
-# region many_to_many relationships
-
-# endregion
-
 def __hash__(self):
 return hash((getattr(self, self.id_column_name()), self.entity_id))
 
@@ -266,7 +258,3 @@ class ServiceModificationBase(ModelMixin):
 return relationship.many_to_one(cls, 'service', 
back_populates='modifications')
 
 # endregion
-
-# region many_to_many relationships
-
-# endregion

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/0cbe5f96/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index fec837a..3f3d99d 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -594,6 +594,86 @@ class InputBase(TemplateModelMixin, 
caching.HasCachedMethods):
 def value(self, value):
 self._value = value
 
+# region foreign keys
+
+@declared_attr
+def service_template_fk(cls):
+"""For Input many-to-one to ServiceTemplate"""
+return relationship.foreign_key('service_template', nullable=True)
+
+@declared_attr
+def service_fk(cls):
+"""For Input many-to-one to Service"""
+return relationship.foreign_key('service', nullable=True)
+
+@declared_attr
+def interface_fk(cls):
+"""For Input many-to-one to Interface"""
+return relationship.foreign_key('interface', nullable=True)
+
+@declared_attr
+def operation_fk(cls):
+"""For Input many-to-one to Operation"""
+return relationship.foreign_key('operation', nullable=True)
+
+@declared_attr
+def interface_template_fk(cls):
+""&

incubator-ariatosca git commit: Add input many-to-one relationships

2017-05-24 Thread avia
Repository: incubator-ariatosca
Updated Branches:
  refs/heads/ARIA-180-convert-parameter-to-one-to-many ff9dc08e6 -> 08bec1792


Add input many-to-one relationships

To service template, service, interface template, interface, operation
template, operation, execution, task.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/08bec179
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/08bec179
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/08bec179

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: 08bec1792e7c88421b614bbdc5f6a09604c16d44
Parents: ff9dc08
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Wed May 24 16:16:37 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed May 24 16:16:37 2017 +0300

--
 aria/modeling/orchestration.py|   4 +-
 aria/modeling/service_changes.py  |  12 ---
 aria/modeling/service_common.py   | 140 ++---
 aria/modeling/service_instance.py |  41 +++---
 aria/modeling/service_template.py |  46 +++
 5 files changed, 137 insertions(+), 106 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/08bec179/aria/modeling/orchestration.py
--
diff --git a/aria/modeling/orchestration.py b/aria/modeling/orchestration.py
index b65ca62..4bd0d85 100644
--- a/aria/modeling/orchestration.py
+++ b/aria/modeling/orchestration.py
@@ -115,7 +115,7 @@ class ExecutionBase(ModelMixin):
 
 @declared_attr
 def inputs(cls):
-return relationship.many_to_many(cls, 'input', dict_key='name')
+return relationship.one_to_many(cls, 'input', dict_key='name')
 
 # region foreign keys
 
@@ -301,7 +301,7 @@ class TaskBase(ModelMixin):
 
 @declared_attr
 def inputs(cls):
-return relationship.many_to_many(cls, 'input', dict_key='name')
+return relationship.one_to_many(cls, 'input', dict_key='name')
 
 implementation = Column(String)
 max_attempts = Column(Integer, default=1)

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/08bec179/aria/modeling/service_changes.py
--
diff --git a/aria/modeling/service_changes.py b/aria/modeling/service_changes.py
index 1974424..f632fef 100644
--- a/aria/modeling/service_changes.py
+++ b/aria/modeling/service_changes.py
@@ -105,10 +105,6 @@ class ServiceUpdateBase(ModelMixin):
 
 # endregion
 
-# region many_to_many relationships
-
-# endregion
-
 def to_dict(self, suppress_error=False, **kwargs):
 dep_update_dict = super(ServiceUpdateBase, 
self).to_dict(suppress_error) #pylint: disable=no-member
 # Taking care of the fact the DeploymentSteps are _BaseModels
@@ -180,10 +176,6 @@ class ServiceUpdateStepBase(ModelMixin):
 
 # endregion
 
-# region many_to_many relationships
-
-# endregion
-
 def __hash__(self):
 return hash((getattr(self, self.id_column_name()), self.entity_id))
 
@@ -266,7 +258,3 @@ class ServiceModificationBase(ModelMixin):
 return relationship.many_to_one(cls, 'service', 
back_populates='modifications')
 
 # endregion
-
-# region many_to_many relationships
-
-# endregion

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/08bec179/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index fec837a..9a8dbdf 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -594,6 +594,86 @@ class InputBase(TemplateModelMixin, 
caching.HasCachedMethods):
 def value(self, value):
 self._value = value
 
+# region foreign keys
+
+@declared_attr
+def service_template_fk(cls):
+"""For Input many-to-one to ServiceTemplate"""
+return relationship.foreign_key('service_template', nullable=True)
+
+@declared_attr
+def service_fk(cls):
+"""For Input many-to-one to Service"""
+return relationship.foreign_key('service', nullable=True)
+
+@declared_attr
+def interface_fk(cls):
+"""For Input many-to-one to Interface"""
+return relationship.foreign_key('interface', nullable=True)
+
+@declared_attr
+def operation_fk(cls):
+"""For Input many-to-one to Operation"""
+return relationship.foreign_key('operation', nullable=True)
+
+@declared_attr
+def interface_template_fk(cls):
+"""For 

[5/5] incubator-ariatosca git commit: Add output many-to-one relationships

2017-05-24 Thread avia
Add output many-to-one relationships

To service template and service.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/ff9dc08e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/ff9dc08e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/ff9dc08e

Branch: refs/heads/ARIA-180-convert-parameter-to-one-to-many
Commit: ff9dc08e62da08e2e15e3910d5638b98eac0a6d9
Parents: 6dafdf1
Author: Avia Efrat <a...@gigaspaces.com>
Authored: Wed May 24 14:53:20 2017 +0300
Committer: Avia Efrat <a...@gigaspaces.com>
Committed: Wed May 24 14:53:20 2017 +0300

--
 aria/modeling/service_common.py   | 80 ++
 aria/modeling/service_instance.py |  8 ++--
 aria/modeling/service_template.py |  8 ++--
 3 files changed, 61 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/ff9dc08e/aria/modeling/service_common.py
--
diff --git a/aria/modeling/service_common.py b/aria/modeling/service_common.py
index 534e466..fec837a 100644
--- a/aria/modeling/service_common.py
+++ b/aria/modeling/service_common.py
@@ -332,36 +332,62 @@ class OutputBase(TemplateModelMixin, 
caching.HasCachedMethods):
 
 raise ValueError('orphaned output: does not have a container: 
{0}'.format(self.name))
 
-@property
-@caching.cachedmethod
-def service(self):
-"""
-The :class:`Service` containing this parameter, or None if not 
contained in a service.
-"""
+# @property
+# @caching.cachedmethod
+# def service(self):
+# """
+# The :class:`Service` containing this parameter, or None if not 
contained in a service.
+# """
+#
+# from . import models
+# container = self.container
+# if isinstance(container, models.Service):
+# return container
+# elif hasattr(container, 'service'):
+# return container.service
+# return None
+
+# @property
+# @caching.cachedmethod
+# def service_template(self):
+# """
+# The :class:`ServiceTemplate` containing this parameter, or None if 
not contained in a
+# service template.
+# """
+#
+# from . import models
+# container = self.container
+# if isinstance(container, models.ServiceTemplate):
+# return container
+# elif hasattr(container, 'service_template'):
+# return container.service_template
+# return None
 
-from . import models
-container = self.container
-if isinstance(container, models.Service):
-return container
-elif hasattr(container, 'service'):
-return container.service
-return None
+# region foreign keys
 
-@property
-@caching.cachedmethod
-def service_template(self):
-"""
-The :class:`ServiceTemplate` containing this parameter, or None if not 
contained in a
-service template.
-"""
+@declared_attr
+def service_template_fk(cls):
+"""For Output many-to-one to ServiceTemplate"""
+return relationship.foreign_key('service_template', nullable=True)
 
-from . import models
-container = self.container
-if isinstance(container, models.ServiceTemplate):
-return container
-elif hasattr(container, 'service_template'):
-return container.service_template
-return None
+@declared_attr
+def service_fk(cls):
+"""For Output many-to-one to Service"""
+return relationship.foreign_key('service', nullable=True)
+
+# endregion
+
+# region many_to_one relationships
+
+@declared_attr
+def service_template(cls):
+return relationship.many_to_one(cls, 'service_template')
+
+@declared_attr
+def service(cls):
+return relationship.many_to_one(cls, 'service')
+
+# endregion
 
 @property
 def as_raw(self):

http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/ff9dc08e/aria/modeling/service_instance.py
--
diff --git a/aria/modeling/service_instance.py 
b/aria/modeling/service_instance.py
index 64e64d3..594a531 100644
--- a/aria/modeling/service_instance.py
+++ b/aria/modeling/service_instance.py
@@ -121,6 +121,10 @@ class ServiceBase(InstanceModelMixin):
 # region one_to_many relationships
 
 @declared_attr
+def outputs(cls):
+

  1   2   3   4   >