GitHub user tliron opened a pull request:

    https://github.com/apache/incubator-ariatosca/pull/72

    Aria 105 integrate modeling

    So, this is a very big pull request.
    
    As it stands, I am not yet done fixing all the tests, however it's been a 
long time and we need to at least start the review process.
    
    Let me give an overview:
    
    `aria.modeling` is where all the new models sit. They are all very detailed 
and documented using Sphinx. They ended up diverging quite a lot from what 
Maxim first created, though I built a lot on his work. In particular, I made 
sure that SqlAlchemy specifics would be "hidden" from users using standard 
Python lists and dicts. I reworked a lot of the helper functions in `bases` to 
support these additional features.
    
    Some highlights:
    
    * A true normalized relational database structure. No fields with string 
dicts or lists in them.
    * No more name lookups: all relationships between models are done using 
foreign keys. I would actually want to add more constraints in the future to 
improve validation. As of the now, the `validate` functions are not good 
enough: a user could create invalid models.
    * Parameters are serialized via pickling. This allows us to maintain the 
rich type structure of TOSCA. So far it seems to be working great, though ... 
we would need to keep an eye on this.
    * There might be seem to be a lot of duplication between templates and 
instances. This is because 1) the move from one to the other may involve 
intrinsic function calls, so all properties might indeed be different, and 2) I 
want to make it possible, in theory at least, to be able to create a service 
instance even if there is no service template. This would allow the ARIA 
orchestrator to work on any service, even if it does not have a blueprint. 
(Actually, a smart modeling tool could possibly "templatize" an existing 
modeled service, allowing one to generate a blueprint in order to duplicate it. 
Neat!) The relationship between the two sets of models should be optional, not 
required.
    
    If you want to see how they are created by the parser, see 
`aria_extensions_tosca.simple_v1_0.modeling.__init__`.
    
    `aria.orchestrator.workflows.task.api` has been reworked to use both 
"interface_name" and "operation_name" instead of a single string that is parsed 
using the period. This has helped a lot in reducing confusion and ambiguity in 
many parts of the code, and correctly represents the reality of the modeling 
structure.
    
    The impact on our tests has been huge. :/ I am marching through all of them 
and am not done yet. So please don't be worried to see many tests failing.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/apache/incubator-ariatosca 
ARIA-105-integrate-modeling

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-ariatosca/pull/72.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #72
    
----
commit 58e10523713f08b51181d84f4a303fbc15e23810
Author: Tal Liron <[email protected]>
Date:   2017-02-17T22:00:40Z

    Initial refactoring (mostly broken)

commit f28b0af157e13c41482921ecba03409c07ca2660
Author: Tal Liron <[email protected]>
Date:   2017-02-21T23:49:14Z

    Added RelationshipTemplate; added one-to-many support

commit 1a0b85ab1bc048bee7a9efe3e9e11969ce202c0a
Author: Tal Liron <[email protected]>
Date:   2017-02-23T00:05:49Z

    Full use of aria.modeling! (but with problems)

commit f1074fee24d3a9895ad7e35dd8d58a7ab7265b99
Author: Tal Liron <[email protected]>
Date:   2017-02-23T23:07:03Z

    Modeling refactoring; improved metadata; work on instance models

commit f62cdd4b95c556c3b893654cba6842b1f23f51a0
Author: Tal Liron <[email protected]>
Date:   2017-02-24T23:12:46Z

    Service instance models

commit 33a4ee7252ddfbfdfc6a6bcf7ab5c5c6117c71aa
Author: Tal Liron <[email protected]>
Date:   2017-02-27T18:50:34Z

    Template and instance complete (as_raw as well)

commit 0150da178ebd63c055f9cd05af7ddba5e5a711e8
Author: Tal Liron <[email protected]>
Date:   2017-02-28T23:00:38Z

    Major reworking of models to make better use of SqlAlchemy; unfinished work 
on orchestration models

commit 58aac8da2e6ecdc9749a1d128f78810d39cd0d67
Author: Tal Liron <[email protected]>
Date:   2017-03-01T22:10:12Z

    Modeling integation complete -- except testing ;)

commit daa2d538b590e38ff97dcec2e721a011c37b3e15
Author: Tal Liron <[email protected]>
Date:   2017-03-03T02:15:12Z

    Add types to modeling, plus many fixes to models

commit 091152f2716ae8abfdd42f23f399ff540abea41a
Author: Tal Liron <[email protected]>
Date:   2017-03-03T17:05:19Z

    Some test updates (unfinished)

commit 36eb2d24c2d0791738e6b9f88a81fc5f906745ce
Author: Tal Liron <[email protected]>
Date:   2017-03-03T23:42:53Z

    Move types into service template; continue fixing tests

commit 24ad8ba1e1a013a2348880459e81830fc270b16f
Author: Tal Liron <[email protected]>
Date:   2017-03-05T03:31:42Z

    Add rich docs, fix many tests

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to