incubator-ariatosca.git
7 days agoMerge pull request #227 from djay87/master master
Thomas D. Nadeau [Mon, 12 Feb 2018 16:24:30 +0000 (18:24 +0200)] 
Merge pull request #227 from djay87/master

ARIA-118 plugin.yaml importing

7 days agoARIA-118 plugin.yaml importing 227/head
root [Thu, 7 Dec 2017 05:49:06 +0000 (06:49 +0100)] 
ARIA-118 plugin.yaml importing

Revert "ARIA-435 get_attribute function not supporting SELF as <modelable_entity_name>"

This reverts commit 7f5e0c8b236dba972a27306174ae8fcefd3d2534.

ARIA-118 plugin.yaml importing

ARIA-118 plugin.yaml importing

2 weeks agoMerge pull request #225 from dfilppi/master
Thomas D. Nadeau [Mon, 5 Feb 2018 15:27:40 +0000 (17:27 +0200)] 
Merge pull request #225 from dfilppi/master

Add service proxy plugin example

2 weeks agoadded back .travis.yml 224/head 225/head
dfilppi [Sat, 3 Feb 2018 05:27:19 +0000 (05:27 +0000)] 
added back .travis.yml

2 weeks agoinitial
dfilppi [Fri, 2 Feb 2018 23:34:26 +0000 (23:34 +0000)] 
initial

2 weeks agoMerge branch 'master' of https://github.com/apache/incubator-ariatosca
dfilppi [Fri, 2 Feb 2018 23:33:20 +0000 (23:33 +0000)] 
Merge branch 'master' of https://github.com/apache/incubator-ariatosca

3 weeks agoMerge pull request #218 from tnadeauaria/master
Thomas D. Nadeau [Thu, 25 Jan 2018 19:06:39 +0000 (21:06 +0200)] 
Merge pull request #218 from tnadeauaria/master

ARIA-430 Typo in error message during CSAR creation

7 weeks agoUse a single command to move release
John Ament [Fri, 29 Dec 2017 23:16:36 +0000 (18:16 -0500)] 
Use a single command to move release

You can directly use svn mv to move from the dev to release repos.

7 weeks agoOutput file name should now be sha512
John Ament [Fri, 29 Dec 2017 23:07:49 +0000 (18:07 -0500)] 
Output file name should now be sha512

2 months agoadded service proxy plugin 221/head
dfilppi [Thu, 7 Dec 2017 10:04:21 +0000 (10:04 +0000)] 
added service proxy plugin

2 months agoARIA-430 Typo in error message during CSAR creation 218/head
Thomas Nadeau [Wed, 6 Dec 2017 10:01:33 +0000 (12:01 +0200)] 
ARIA-430 Typo in error message during CSAR creation

2 months agoARIA-422 Parsing CSARs is broken
max-orlov [Mon, 4 Dec 2017 14:10:25 +0000 (16:10 +0200)] 
ARIA-422 Parsing CSARs is broken

2 months agoARIA-425 Make process executor extension loading configurable (#216)
Maxim Orlov [Wed, 6 Dec 2017 08:48:19 +0000 (10:48 +0200)] 
ARIA-425 Make process executor extension loading configurable (#216)

2 months agoARIA-416 Providing handlers to logging_handlers only adds handles instead of replacing
max-orlov [Tue, 28 Nov 2017 15:20:12 +0000 (17:20 +0200)] 
ARIA-416 Providing handlers to logging_handlers only adds handles instead of replacing

2 months agoARIA-417 Encoding models to json is too strict
max-orlov [Tue, 28 Nov 2017 15:24:31 +0000 (17:24 +0200)] 
ARIA-417 Encoding models to json is too strict

2 months agoARIA-414 Current events handler mechanism relies on sqlalchemy
max-orlov [Tue, 28 Nov 2017 15:19:48 +0000 (17:19 +0200)] 
ARIA-414 Current events handler mechanism relies on sqlalchemy

2 months agoARIA-1 Parser test suite 207/head
Tal Liron [Thu, 17 Aug 2017 22:50:27 +0000 (17:50 -0500)] 
ARIA-1 Parser test suite

* This commit additionally fixes many parser bugs revealed by the test
suite, which includes adding validations that were missing.

* A new "extensions" tox suite is introduced.

* The /tests/parser cases were refactored into /tests/topology and
/tests/extensions.

* The Hello World example was fixed and refactored, as it in fact had
invalid TOSCA (it previously passed due to a missing validation).

* Parser performance was greatly improved by:

 1. Switching to the YAML C library
 2. Aggressive caching of parsed presentations
 3. The ability to skip importing the TOSCA profile
 4. The ability to skip validation of normative types
 5. A new deepcopy_fast util
 6. A new BlockingExecutor that is faster for single-threaded use

* Unicode is now fully supported for all validation and log messages. This
requires the use a unicode (u'' notation) for all .format specs.

* Additionally, PyLint comment directives have been standardized by
pushing them to column 100.

2 months agoARIA-408 remove execution creation from workflow runner 208/head
max-orlov [Sun, 19 Nov 2017 08:09:54 +0000 (10:09 +0200)] 
ARIA-408 remove execution creation from workflow runner

Separated the creation of the models and the execution of the workflow.
This enables creating the execution, and executing it from a different
process.

3 months agoARIA-392 Failing to load ruamel.yaml 199/head
max-orlov [Mon, 23 Oct 2017 12:58:14 +0000 (15:58 +0300)] 
ARIA-392 Failing to load ruamel.yaml

3 months agoARIA-393 Enable configuration of extension loading mechanism strictness 200/head
max-orlov [Mon, 23 Oct 2017 12:55:46 +0000 (15:55 +0300)] 
ARIA-393 Enable configuration of extension loading mechanism strictness

3 months agoARIA-405 Remove support for Python 2.6 206/head
Tal Liron [Mon, 30 Oct 2017 21:56:57 +0000 (16:56 -0500)] 
ARIA-405 Remove support for Python 2.6

* setup.py now requires Python 2.7
* Upgrade all 3rd party libraries to recent versions
* API changes to networkx
* Stricter yaml.load call for ruamel.yaml
* Remove iter_modules implementation for Python 2.6
* Remove NullHander implementation for Python 2.6
* Remove "py26" tox test environments

3 months agoARIA-395 Fix AppVeyor failures due to use of SSL
Tal Liron [Mon, 23 Oct 2017 17:08:59 +0000 (12:08 -0500)] 
ARIA-395 Fix AppVeyor failures due to use of SSL

3 months agoARIA-389 Apache Code of Conduct and minor spacing correction
Thomas Nadeau [Mon, 23 Oct 2017 19:51:00 +0000 (15:51 -0400)] 
ARIA-389 Apache Code of Conduct and minor spacing correction

3 months agoARIA-396 Added a link that points to revisions released 204/head
Vishwanath Jayaraman [Tue, 24 Oct 2017 17:52:52 +0000 (12:52 -0500)] 
ARIA-396 Added a link that points to revisions released

5 months agoARIA-385 Limit wheel version for python 2.6 support 195/head
max-orlov [Mon, 18 Sep 2017 10:35:08 +0000 (13:35 +0300)] 
ARIA-385 Limit wheel version for python 2.6 support

5 months agoARIA-321 Provide Clearwater IMS example 191/head
Tal Liron [Thu, 27 Jul 2017 22:58:17 +0000 (17:58 -0500)] 
ARIA-321 Provide Clearwater IMS example

Related fixes included in this commit:

* Allows capabilities, interfaces, and properties to override parent
definition types only if the new type is a descendant of the overridden
type
* Fix to get_property intrinsic function
* Fix the "required" field for parameters (it wasn't working)
* Don't let scalar values be negative
* Doc fixes related to ARIA-277
* Fix SSH tests

5 months agoARIA-353 Add node template directives 194/head
Avia Efrat [Wed, 30 Aug 2017 14:54:46 +0000 (17:54 +0300)] 
ARIA-353 Add node template directives

The directives field already existed in the presentation level, but it
needed to be added to the node template model.

5 months agoARIA-348 Validate substitution_mapping field 193/head
Avia Efrat [Wed, 16 Aug 2017 15:54:57 +0000 (18:54 +0300)] 
ARIA-348 Validate substitution_mapping field

5 months agoARIA-352 Fixed package name aria[ssh] incorrect in the installation document link 192/head
Vishwanath Jayaraman [Mon, 21 Aug 2017 13:50:55 +0000 (13:50 +0000)] 
ARIA-352 Fixed package name aria[ssh] incorrect in the installation document link

6 months agoARIA-349 get_attribute is not calculated at runtime 190/head
max-orlov [Tue, 15 Aug 2017 12:20:16 +0000 (15:20 +0300)] 
ARIA-349 get_attribute is not calculated at runtime

6 months agoARIA-174 Refactor instantiation phase 189/head
max-orlov [Thu, 13 Jul 2017 13:49:15 +0000 (16:49 +0300)] 
ARIA-174 Refactor instantiation phase

The main issue this PR addressed was the consolidation
of instantiation mechanism into a single package - `topology`.

The code itself got additional refactoring:
1. `dump` no longer prints onto the console but rather returns a string representation to be printed.
2. The service related consumers use the new `topology` package.

These additional issues were fixed as part of this PR:
* Req-Cap mechanism is now trying to satisfy requirements for a specific capability type.
* Issue with resuming workflows - accessing a non existing attribute.

6 months agoARIA-324 Refactor ctx proxy access 188/head
Tal Liron [Thu, 27 Jul 2017 22:58:17 +0000 (17:58 -0500)] 
ARIA-324 Refactor ctx proxy access

Our previous use of "." to delimit nested dict keys was wrong (keys
could have a ".") and inflexible. The new implementation uses subsequent
args to move into the dict. The same format can now be used to access
object attributes.

This commit also changes how to support setting values: we must now use
"=" as the penultimate argument with the new value following.

Calling functions now requires delimiting function arguments via "[" and
"]" arguments. This makes it possible to continue accessing the return
value of a function after the "]".

Also fixed: callables will now "grab" the number of args they need
instead of all remaining args, making it possible to do further
inspection on the returned value from the callable. To allow for this,
kwargs are now expected as the first arg rather than the last.

Relatedly, this commit instruments all parameter fields from all models
and fixes related bugs in the instrumentation implementation.

Furthmore, this commit fixes a bad null check in the ctx client, and
also allows it to retrieve Unicode data.

6 months agoARIA-313 Fix handling the `required` field of inputs 187/head
Avia Efrat [Wed, 26 Jul 2017 12:11:21 +0000 (15:11 +0300)] 
ARIA-313 Fix handling the `required` field of inputs

The required field is handled in the following way:

topology_template inputs:
-------------------------
Every input that is declared as required must be supplied a value while
creating the service.
In addition, supplying inputs that were not declared in the topology
template is forbidden.

workflow inputs:*
----------------
Every input that is declared as required must be supplied a value while
creating/starting the execution.
In addition, supplying inputs that were not declared in the policy_type
is forbidden.
* workflow inputs are defined as properties of policy_types that are
derived from aria.Workflow

operation and interface inputs:
-------------------------------
The validation of the required field of inputs that belong to
operations and interfaces is done only in the parsing stage.
This reasoning follows the TOSCA spirit, where anything that is declared
as required in the type, must be assigned in the corresponding template

I split the logic of merging provided and declared input values into
three steps:

1. Validate that no undeclared inputs were provided.
2. Validate that all required inputs were provided with a value.
3. The actual merging process, which includes type checking.

7 months agoARIA-277 Support for Type Qualified Name
djay87 [Wed, 19 Jul 2017 09:26:19 +0000 (12:26 +0300)] 
ARIA-277 Support for Type Qualified Name

7 months agoARIA-311 Update CHANGELOG with 0.1.1 issues
Ran Ziv [Mon, 10 Jul 2017 15:02:59 +0000 (18:02 +0300)] 
ARIA-311 Update CHANGELOG with 0.1.1 issues

7 months agoARIA-76 Parallelize PyTest 183/head
Tal Liron [Mon, 10 Jul 2017 15:06:05 +0000 (18:06 +0300)] 
ARIA-76 Parallelize PyTest

Use the PyTest xdist plugin to parallelize tests in boxed subprocesses.
Through benchmarking we discovered that paralellizing on the number of
CPU cores ("-n auto") provides the best times.

Also update all our testing dependencies.

7 months agoARIA-237 Support for resuming failed workflow executions 176/head
max-orlov [Sun, 2 Jul 2017 18:43:43 +0000 (21:43 +0300)] 
ARIA-237 Support for resuming failed workflow executions

Support for resuming failed workflow. It is now possible to rerun
failed tasks.

Additional changes:
* When a task succeeds, the attempt_counter is moved forward.
* Fixed an issue with the cli usage of resumable workflows.

7 months agoARIA-307 Automate release process 184/head
Ran Ziv [Mon, 10 Jul 2017 13:29:22 +0000 (16:29 +0300)] 
ARIA-307 Automate release process

Created a bash script to help with the releaes process

7 months agoARIA-312 Validation of workflow and operation kwargs raise False alarms 182/head
max-orlov [Mon, 10 Jul 2017 14:12:00 +0000 (17:12 +0300)] 
ARIA-312 Validation of workflow and operation kwargs raise False alarms

Workflow and Operation function kwargs validation failed in some scenarios.

7 months agoARIA-103 Remove dependency on Clint 181/head
Tal Liron [Mon, 10 Jul 2017 09:28:23 +0000 (12:28 +0300)] 
ARIA-103 Remove dependency on Clint

We no longer require this third-party library, instead the utils/console
module uses the existing cli/color module.

This commit also fixes the cli/color module to properly support Unicode,
and also properly deinitialize Colorama in Windows.

7 months agoARIA-299 Resuming canceled execution with frozen task fails 175/head
max-orlov [Wed, 5 Jul 2017 13:16:39 +0000 (16:16 +0300)] 
ARIA-299 Resuming canceled execution with frozen task fails

7 months agoARIA-305 Advance ARIA version 180/head
Ran Ziv [Mon, 10 Jul 2017 09:36:08 +0000 (12:36 +0300)] 
ARIA-305 Advance ARIA version

Set package version to 0.2.0

7 months agoARIA-254 Scaling capabilities and policies 143/head
Tal Liron [Thu, 1 Jun 2017 19:17:17 +0000 (14:17 -0500)] 
ARIA-254 Scaling capabilities and policies

* New aria.Scaling policy (and "scaling" role)
* NodeTemplate model no longer stores scaling values (default_instances,
etc.) but instead fetches them from applicable scaling capabilities and
policies
* Some code cleanup

7 months agoARIA-301 Fix issue when installing from wheel 178/head
Ran Ziv [Thu, 6 Jul 2017 15:59:42 +0000 (18:59 +0300)] 
ARIA-301 Fix issue when installing from wheel

Fixed an issue when installing ARIA from wheel where
environment-marked dependencies would install regardless
of the environment ARIA is installed on.

7 months agoARIA-260 Send interface inputs as arguments 145/head
Tal Liron [Fri, 2 Jun 2017 18:35:21 +0000 (13:35 -0500)] 
ARIA-260 Send interface inputs as arguments

7 months agoARIA-287 Add tox environment for docs 170/head
Tal Liron [Fri, 30 Jun 2017 22:08:23 +0000 (17:08 -0500)] 
ARIA-287 Add tox environment for docs

Also adds the environment to "make test". Involves fixing Sphinx to
properly exclude SSH documentation when Fabric is not installed.

7 months agoARIA-202 Execution plugin assumes \/tmp for temp directory on the local\/remote machine 174/head
max-orlov [Tue, 4 Jul 2017 13:13:41 +0000 (16:13 +0300)] 
ARIA-202 Execution plugin assumes \/tmp for temp directory on the local\/remote machine

7 months agoARIA-298 test suite sometimes fails or freezes while all tests pass 173/head
max-orlov [Mon, 3 Jul 2017 08:27:33 +0000 (11:27 +0300)] 
ARIA-298 test suite sometimes fails or freezes while all tests pass

7 months agoARIA-296 Process termination test fails on windows 172/head
max-orlov [Thu, 29 Jun 2017 07:55:54 +0000 (10:55 +0300)] 
ARIA-296 Process termination test fails on windows

7 months agoARIA-297 Make use of Apache RAT for compliance 171/head 0.1.0
Ran Ziv [Sun, 2 Jul 2017 11:25:11 +0000 (14:25 +0300)] 
ARIA-297 Make use of Apache RAT for compliance

Made use of Apache RAT for validating compliance; Created
a .rat-excludes file and added missing licenses where needed.

Additionally, added the DISCLAIMER file to MANIFEST.in.

Also, fixed a small issue in the "clean" target in Makefile.

7 months agoARIA-286 Sphinx documentation for code and CLI
Tal Liron [Fri, 23 Jun 2017 02:13:28 +0000 (21:13 -0500)] 
ARIA-286 Sphinx documentation for code and CLI

7 months agoARIA-295 Makefile fixes 169/head
Ran Ziv [Thu, 29 Jun 2017 10:42:01 +0000 (13:42 +0300)] 
ARIA-295 Makefile fixes

 - Fixed the "clean" target which would sometimes raise errors. Also,
it will no longer delete the *.egg-info directory, which is needed
for editable mode installations.

 - Removed the "deploy" target which was broken, and should probably
not be a part of the Makefile at this stage.

7 months agoARIA-289 Don't attempt resuming a workflow which finished successfully 167/head
max-orlov [Wed, 28 Jun 2017 09:27:38 +0000 (12:27 +0300)] 
ARIA-289 Don't attempt resuming a workflow which finished successfully

7 months agoARIA-294 Workflow tasks execution is not in order 166/head
max-orlov [Tue, 27 Jun 2017 17:32:08 +0000 (20:32 +0300)] 
ARIA-294 Workflow tasks execution is not in order

7 months agoARIA-285 Cancel execution may leave running processes 163/head
max-orlov [Sun, 25 Jun 2017 09:19:02 +0000 (12:19 +0300)] 
ARIA-285 Cancel execution may leave running processes

7 months agoARIA-291 Add ASCII art in ARIA CLI version command 165/head
Ran Ziv [Sun, 25 Jun 2017 14:04:43 +0000 (17:04 +0300)] 
ARIA-291 Add ASCII art in ARIA CLI version command

7 months agoARIA-280 Change package name 162/head
Ran Ziv [Thu, 22 Jun 2017 12:39:28 +0000 (15:39 +0300)] 
ARIA-280 Change package name

Changed package name from 'aria' to 'apache-ariatosca',
in accordance with Apache's standards.
The CLI '--version' command will now also show the correct
package name.

Additionally, fixed the download_url field in setup.py -
it now includes an '-incubating' suffix.

7 months agoARIA-290 Update Makefile for binary dist creation 164/head
Ran Ziv [Sun, 25 Jun 2017 13:49:42 +0000 (16:49 +0300)] 
ARIA-290 Update Makefile for binary dist creation

Updated the Makefile to push required files for release
(LICENSE, NOTICE, DISCLAIMER) into the binary distribution
archive (wheel) automatically.

7 months agoARIA-284 Cleanup and optimize the task execution 159/head
max-orlov [Wed, 21 Jun 2017 09:41:33 +0000 (12:41 +0300)] 
ARIA-284 Cleanup and optimize the task execution

7 months agoARIA-236 Resumable workflow executions 158/head
max-orlov [Mon, 19 Jun 2017 14:44:45 +0000 (17:44 +0300)] 
ARIA-236 Resumable workflow executions

7 months agoARIA-283 Update readme installation instructions 161/head
Ran Ziv [Wed, 21 Jun 2017 15:05:05 +0000 (18:05 +0300)] 
ARIA-283 Update readme installation instructions

7 months agoARIA-282 Make SSH capability opt-in 160/head
Ran Ziv [Wed, 21 Jun 2017 12:39:34 +0000 (15:39 +0300)] 
ARIA-282 Make SSH capability opt-in

Since the Fabric library uses Paramiko, which is a library
using a license which is incompatible with Apache's,
ARIA's SSH capabilities are now opt-in and no longer part
of the default installation.

Instead, users who would like to use SSH operations
should install ARIA's extra "[ssh]", which would install
Fabric and allow to take advantage of the execution-plugin's
SSH capabilities.

Users who won't install this extra will still be able to use
ARIA as well as the execution plugin, only without SSH.

Additional changes:

 - A new tox environment has been created for running
   SSH tests. The remaining envs only install plain ARIA.

 - requirements.in commented lines were removed -
   the bug that used to exist regarding environment markers
   has been fixed, and there's no longer the need
   to copy these manually to requirements.txt.

 - Environment-marked dependencies are now installed
   via "install_requires" rather than "extra_requires".

 - Added requirements.in to the manifest file,
   as well as fixed a bug in setup.py, which caused
   source distribution to make aria get installed
   without any dependencies before this fix.

8 months agoARIA-278 remove core tasks 156/head
max-orlov [Sun, 11 Jun 2017 16:05:35 +0000 (19:05 +0300)] 
ARIA-278 remove core tasks

8 months agoARIA-281 Update click library version 157/head
Ran Ziv [Tue, 20 Jun 2017 12:47:09 +0000 (15:47 +0300)] 
ARIA-281 Update click library version

Updated click library version to a newer version.
This will also make it compatible in the same environment with the
pip-tools library which uses click too and requires the newer version.

Additional changes:
 - Removed PyYAML dependency from requirements.txt (leftover)
 - Disabled default goal of Makefile

8 months agoARIA-54 Prepare for ARIA packaging 155/head
Ran Ziv [Mon, 5 Jun 2017 10:24:49 +0000 (13:24 +0300)] 
ARIA-54 Prepare for ARIA packaging

Preparations for ARIA packaging:
 - Added CHANGELOG file
 - Added CONTRIBUTING file
 - Added DISCLAIMER file
 - Updated Makefile
 - Converted README from md to rst for PyPI compatiability
 - Removed outdated TODO file
 - Added long_description, download_url to setup.py metadata
 - Modified setup.py url metadata to point at ASF domain
 - Added more badges to README

8 months agoARIA-276 Support model instrumentation for workflows 151/head
max-orlov [Thu, 8 Jun 2017 06:52:31 +0000 (09:52 +0300)] 
ARIA-276 Support model instrumentation for workflows

8 months agoARIA-275 Update NFV profile to csd04 147/head
Avia Efrat [Sun, 4 Jun 2017 19:11:10 +0000 (22:11 +0300)] 
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.

8 months agoARIA-166 Update README file 152/head
Ran Ziv [Thu, 8 Jun 2017 15:26:29 +0000 (18:26 +0300)] 
ARIA-166 Update README file

8 months agoARIA-199 Add "services outputs" CLI command 146/head
Tal Liron [Fri, 2 Jun 2017 19:20:28 +0000 (14:20 -0500)] 
ARIA-199 Add "services outputs" CLI command

* Also add an output to hello world example

8 months agoARIA-213 sporadic tests failures over locked database issue 148/head
max-orlov [Tue, 6 Jun 2017 14:05:21 +0000 (17:05 +0300)] 
ARIA-213 sporadic tests failures over locked database issue

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

8 months agoARIA-262 Inconsistent node attributes behavior 141/head
max-orlov [Wed, 31 May 2017 18:07:49 +0000 (21:07 +0300)] 
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.

8 months agoARIA-64 Remove PyYAML dependency 144/head
Tal Liron [Fri, 2 Jun 2017 17:39:00 +0000 (12:39 -0500)] 
ARIA-64 Remove PyYAML dependency

8 months agoARIA-180 Separate Parameter models and change relationships 142/head
Avia Efrat [Sun, 21 May 2017 13:28:30 +0000 (16:28 +0300)] 
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.

8 months agoARIA-149 Enhance operation configuration
Tal Liron [Thu, 20 Apr 2017 22:54:47 +0000 (17:54 -0500)] 
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

8 months agoARIA-268 Add NOTICE file 140/head
Ran Ziv [Mon, 29 May 2017 14:11:04 +0000 (17:11 +0300)] 
ARIA-268 Add NOTICE file

8 months agoARIA-261 Single-source ARIA version 139/head
Ran Ziv [Thu, 25 May 2017 09:18:58 +0000 (12:18 +0300)] 
ARIA-261 Single-source ARIA version

8 months agoARIA-258 Convert runtime_properties to attributes 133/head
max-orlov [Sun, 14 May 2017 19:38:39 +0000 (22:38 +0300)] 
ARIA-258 Convert runtime_properties to attributes

8 months agoNullPool logging messages appear during execution 137/head
max-orlov [Mon, 22 May 2017 15:28:12 +0000 (18:28 +0300)] 
NullPool logging messages appear during execution

8 months agoARIA-162 Upgrade Colorama library version 136/head
Ran Ziv [Mon, 22 May 2017 13:44:00 +0000 (16:44 +0300)] 
ARIA-162 Upgrade Colorama library version

Upgraded the Colorama library version - This should
take care of the closed-stream error that appeared
sporadically after test runs.

8 months agoARIA-208 Fix models relationships 135/head
Ran Ziv [Sun, 7 May 2017 11:58:46 +0000 (14:58 +0300)] 
ARIA-208 Fix models relationships

9 months agoARIA-259 Updated README install section for ArchLinux
Alexandru Zbarcea [Thu, 18 May 2017 20:23:13 +0000 (23:23 +0300)] 
ARIA-259 Updated README install section for ArchLinux

9 months agoARIA-171 service_template.services type inconsistency 132/head
Avia Efrat [Mon, 15 May 2017 11:26:34 +0000 (14:26 +0300)] 
ARIA-171 service_template.services type inconsistency

As opposed to service_template.node_templates and service.nodes
which have a dict interface, service_template.services
had a list interface. That seemed inconsistent, so the former
interface was changed to a dict interface as well.

9 months agoARIA-148 Enhance CLI show commands 107/head
Tal Liron [Thu, 20 Apr 2017 22:54:47 +0000 (17:54 -0500)] 
ARIA-148 Enhance CLI show commands

* Allow "--full" flag to provide a complete dump
* Allow "--json" and "--yaml" flags for dump in those formats
* Support for node graph and type hierarchies
* Some fixes for YAML dump for our custom types
* Also closes ARIA-186: "aria services show" command

9 months agoARIA-139 Support attributes 118/head
Tal Liron [Thu, 20 Apr 2017 01:07:33 +0000 (20:07 -0500)] 
ARIA-139 Support attributes

* Fully implement attribute support in parser
* New intrinsic function evaluation mechanism
* Implemented more intrinsic functions, including get_attribute
* Fix to one-on-one relationship back population
* Fixes to TOSCA use case examples
* Indirectly related: re-enabled node_filter mechanism and reworked
filter constraints in order to make them serializable
* utils/type is much more robust now and consolidates all conversions
and names
* Moved dsl_specification to new utils/specification (because utils/type
uses it)

9 months agoARIA-213 Sporadic tests failures over locked database issue 129/head
max-orlov [Tue, 9 May 2017 14:24:31 +0000 (17:24 +0300)] 
ARIA-213 Sporadic tests failures over locked database issue

Move from 2 different sessions - one for the log, and the other for general model operations,
to one single session, while utilizing the keep tracking of changes mechanism for both logs and node/task states.

9 months agoARIA-157 Failing CLI service-templates store tests on Windows 131/head
Avia Efrat [Wed, 10 May 2017 14:39:49 +0000 (17:39 +0300)] 
ARIA-157 Failing CLI service-templates store tests on Windows

Three tests from `aria service-templates store` failed on Windows, but
not on Linux.

The reason for this failures was differing implementation of
os.path.dirname across the platforms.

Python implements os.path.dirname in the ntpath module. There, somewhere
down the line of calls, (a part of) the argument of dirname is tested
for membership in a string (using `in`). In these three tests, the
argument of dirname is of type MagicMock, and an error is raised since
only a string can be tested for membership in a string.

The solution was to mock the dirname calls.

9 months agoARIA-62 Apply pylint on extensions 130/head
Ran Ziv [Wed, 10 May 2017 09:08:01 +0000 (12:08 +0300)] 
ARIA-62 Apply pylint on extensions

9 months agoARIA-140 Version utils 100/head
Tal Liron [Fri, 14 Apr 2017 18:39:02 +0000 (13:39 -0500)] 
ARIA-140 Version utils

Provided mainly to support version comparisons for plugins in order to
select the highest version of available plugins that would match a
plugin specification. In the future may be useful for other version
comparisons.

9 months agoARIA-210 Handle relative paths in CLI service-templates 128/head
Avia Efrat [Mon, 8 May 2017 14:45:23 +0000 (17:45 +0300)] 
ARIA-210 Handle relative paths in CLI service-templates

This was a rather simple change, mainly involving adding absolute path
references.

The problems were only in `service-templates store` and in
`service-templates create-archive`.
`service-templates validate` was not affected.

9 months agoARIA-160 Tests fail spordically over parameter binding 126/head
max-orlov [Mon, 8 May 2017 11:46:58 +0000 (14:46 +0300)] 
ARIA-160 Tests fail spordically over parameter binding

9 months agoARIA-165 Make node name suffix UUIDs become more readable 125/head
max-orlov [Mon, 8 May 2017 12:25:37 +0000 (15:25 +0300)] 
ARIA-165 Make node name suffix UUIDs become more readable

9 months agoARIA-230 Dry execution doesn't log empty operations 127/head
max-orlov [Mon, 8 May 2017 14:29:29 +0000 (17:29 +0300)] 
ARIA-230 Dry execution doesn't log empty operations

9 months agoARIA-214 Dry execution changes the state of non implemented operations 123/head
max-orlov [Sun, 7 May 2017 13:12:56 +0000 (16:12 +0300)] 
ARIA-214 Dry execution changes the state of non implemented operations

9 months agoARIA-215 Refactor plugin-related code into PluginManager 124/head
Ran Ziv [Sun, 7 May 2017 13:36:39 +0000 (16:36 +0300)] 
ARIA-215 Refactor plugin-related code into PluginManager

Refactored plugin-related code from ProcessExecutor into PluginManager.
Additionally, renamed plugin_prefix to plugin_dir in PluginManager.

9 months agoARIA-160 Operation toolbelt unit tests fail spordically 119/head
max-orlov [Wed, 3 May 2017 09:42:27 +0000 (12:42 +0300)] 
ARIA-160 Operation toolbelt unit tests fail spordically

Inroduced a filesystem based data holder

9 months agoARIA-156 Better handle exceptions in the process executor 122/head
Avia Efrat [Sun, 7 May 2017 08:42:58 +0000 (11:42 +0300)] 
ARIA-156 Better handle exceptions in the process executor

Previously, if an exception was raised during the starting of a task,
the task's process was permanently blocked on receiving a message.

The reason was that the exception caused the 'listener thread' to
not send a response to the task's process, as the exception was not
handled inside the 'with' block of the listener thread.

The first change I introduced was to wrap the yielding of the message and
the response inside a try-except-finally block, so the exception will be
handled within the 'with' scope, and to ensure a response is sent to the
task's process.

The second change is to move the sending of the 'task started' message in
the task's process to a place where encountering an exception will be
handled via sending a 'task failed' message back to the listener thread.

9 months agoARIA-209 Fix create-archive CLI command help 120/head
Ran Ziv [Thu, 4 May 2017 14:07:50 +0000 (17:07 +0300)] 
ARIA-209 Fix create-archive CLI command help

9 months agoARIA-163 Update node state for empty tasks 117/head
max-orlov [Sun, 30 Apr 2017 13:05:27 +0000 (16:05 +0300)] 
ARIA-163 Update node state for empty tasks

Additional changes:
 * removed `for_node` and `for_relationship` from the api OperationTask.
 * api based OperationTask could also have an empty implementation.
 * each core task wields its own executor.
 * Reordered some of the helper functions for creating tasks.
 * intoduced 2 new executors: StubTaskExecutor (for stub tasks) and EmptyOperationExecutor (for empty tasks)

9 months agoARIA-161 Disable end2end tests on Windows 116/head
Ran Ziv [Sun, 30 Apr 2017 12:40:57 +0000 (15:40 +0300)] 
ARIA-161 Disable end2end tests on Windows

9 months agoARIA-155 Clean models from unused fields 114/head
Ran Ziv [Sun, 30 Apr 2017 12:15:37 +0000 (15:15 +0300)] 
ARIA-155 Clean models from unused fields