Support for the property type 'null'

2018-01-04 Thread Vaishnavi K . R
Hi,


I tried using the property type 'null' in one of the properties of a node type.

And I didn't pass any value to the property in the respective node template.


When I tried storing the template, I get the following validation issues,


Storing service template null_test...
Validation issues:
  2: field "type" in 
"aria_extension_tosca.simple_v1_0.definitions.PropertyDefinition" is not a 
valid "str": None
 @"null.yaml":9:15
 ValueError: not a "unicode": None
  4: "type" refers to an unknown data type in "my_null_param": 'None'
 @"null.yaml":9:15
Failed to parse service template

I used the following service template,

tosca_definitions_version: tosca_simple_yaml_1_0

node_types:
  tosca.nodes.null:
derived_from: tosca.nodes.Root
properties:
  my_null_param:
required: True
type: null
  my_str_param:
required: True
type: string

topology_template:
  node_templates:
  test_node:
  type: tosca.nodes.null
  properties:
my_null_param:
my_str_param: hello


I had a look at the source code and found that 'null' is regarded as a 
primitive datatype.

As 'null' type also have a YAML specification that must be adhered, could that 
be handled as a separate datatype like 'timestamp' ?


And also is this a known issue? Does a JIRA exist for this?


Thanks,

/Vaish


Node state updation in custom workflows

2017-12-17 Thread Vaishnavi K . R
Hi,


How does the node state updation during the execution of the custom workflows 
is handled?


I have defined a new interface type with its own set of lifecycle operations. 
It does not involve the TOSCA defined lifecycle operations like create, 
configure, start etc.

So when I execute my service using the custom workflow, the node state is in 
'initial' state.


I arrived at the following observations after looking through the source code,


  1.  Only the 'standard' interface type is checked and  the node states are 
updated based on the lifecycle operation associated with that interface type.
  2.  Node states are not updated when the interface type is not 'standard' and 
it remains with the default value 'initial'
  3.  In the model class of the node, only the set of node states defined by 
TOSCA and the 'deleted' state is hardcoded and set as enum to the status column


Do we have any plans to support the updation of the node states during the 
custom workflow execution?

If we have, will the user be allowed to pass the node states in the custom 
workflows module with the transitional and the finished states?


Thanks,

/Vaish


Re: pip executable expected as part of plugin install.

2017-12-12 Thread Vaishnavi K . R
Hi,


In ARIA, the pip executable path is used to get the output of the 'pip freeze' 
command. This lists the installed packages in the local system. This list is 
written to a file and passed as a constraint to the 'pip install' command used 
by wagon.


At times, the installation directory changes and so the pip executable path. 
This creates problem in our systems and we need to handle the installation of 
pip exclusively. So it would be good to use the pip library instead of the 
executable path.


I tried using the pip library inplace of the 'pip executable path' to get the 
list of installed packages. The pip library for freeze does not return anything 
but rather prints the output to the 'stdout'. So the stdout needs to be 
redirected and stored in a variable.


Is redirecting stdout recommended?


With my current understanding on the utilities provided by pip, this is the 
available option to use the pip library instead of the pip executable.


Thanks,

/Vaish


From: Vaishnavi K.R 
Sent: Friday, December 8, 2017 11:47:21 AM
To: dev@ariatosca.incubator.apache.org
Subject: Re: pip executable expected as part of plugin install.

Hi,


There is no change with regards to this in the latest code base.

The following is the error that we get when the pip executable is not found.


Validating plugin /root/testplugin-1.0-py27-none-any.wgn...

Plugin validated successfully

Installing plugin /root/testplugin-1.0-py27-none-any.wgn...

Retrieving source...

Extracting zip /root/testplugin-1.0-py27-none-any.wgn to /tmp/tmp3Q0BL2...

Source is: /tmp/tmp3Q0BL2/testplugin

[Errno 2] No such file or directory



Thanks,

/Vaish


From: Thomas Nadeau 
Sent: Sunday, December 3, 2017 2:57:22 PM
To: dev@ariatosca.incubator.apache.org
Subject: Re: pip executable expected as part of plugin install.

DJ,

If when you take a look at this, you find that it fails, please send
detailed log/output
so we can figure this out.  I don’t see any of that from the thread below.

Thx,

—Tom


On Sun, Dec 3, 2017 at 11:22 AM, Tal Liron  wrote:

> Hi DJ,
>
> A lot has changed since August. :) I wonder if you can take a look at the
> current state of master and see if things have improved with wagon
> installs?
>
> On Fri, Dec 1, 2017 at 9:22 AM, D Jayachandran <
> d.jayachand...@ericsson.com>
> wrote:
>
> > Hi Ran,
> >
> > Sorry I had missed to answer this thread. Just to answer your question
> > wagon also expects pip as a binary "/usr/bin/pip".  The above path may
> not
> > be the same for al distros of linux and when the path varies we run into
> > the issue/
> > As I already told we could probably fix this issue by using pip as
> library
> > instead of a 3PP.
> > Please let me know if we can also apply the same fix with wagon as well.
> >
> > Regards,
> > DJ
> > -Original Message-
> > From: Ran Ziv [mailto:r...@cloudify.co]
> > Sent: Sunday, August 20, 2017 12:40 PM
> > To: dev@ariatosca.incubator.apache.org
> > Subject: Re: pip executable expected as part of plugin install.
> >
> > Can you try to explain again what's the issue you're seeing with the way
> > Wagon works right now?
> > We could create a pull request for Wagon as well, but I'm not sure I
> > understand the problem at the moment.
> >
> > On Wed, Aug 16, 2017 at 6:04 PM, D Jayachandran <
> > d.jayachand...@ericsson.com
> > > wrote:
> >
> > > Even if we fix the issue in ARIA. Wagon library still uses the same
> > > logic in finding the pip path and it is wrong.
> > > Am not sure how to fix this with wagon.
> > >
> > > Regards,
> > > DJ
> > > -Original Message-
> > > From: D Jayachandran [mailto:d.jayachand...@ericsson.com]
> > > Sent: Thursday, August 03, 2017 5:00 PM
> > > To: dev@ariatosca.incubator.apache.org
> > > Subject: RE: pip executable expected as part of plugin install.
> > >
> > > Thanks Avia, I will open an issue.
> > >
> > > Regards,
> > > DJ
> > >
> > > -Original Message-
> > > From: Avia Efrat [mailto:a...@cloudify.co]
> > > Sent: Thursday, August 03, 2017 4:01 PM
> > > To: dev@ariatosca.incubator.apache.org
> > > Subject: Re: pip executable expected as part of plugin install.
> > >
> > > 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 <
> > > d.jayachand...@ericsson.com
> > > > 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"""
> > > > 

Re: Loading custom workflows

2017-12-12 Thread Vaishnavi K . R
Hi,


Do we have any update on the design of the loading mechanism?


Thanks,

/Vaish


From: Tal Liron 
Sent: Thursday, December 7, 2017 8:54:47 PM
To: dev@ariatosca.incubator.apache.org
Subject: Re: Loading custom workflows

We had some good discussions are are just about ready to make them public
for soliciting feedback.

I will handle it next week and let the mailing list know!

On Thu, Dec 7, 2017 at 2:31 PM, Thomas Nadeau  wrote:

> Do you think it is a good idea to start a document and/or wiki entry for a
> thumbnail sketch of how we want to do this?
>
> --Tom
>
> On Thu, Dec 7, 2017 at 2:04 PM, Tal Liron  wrote:
>
> > Our current idea is to support multiple ways of installing extensions.
> One
> > of them will, of course, be by including them in the CSAR file (which can
> > be done in various ways: Python source code, wheels, wagons, etc.). We
> want
> > to standardize all extensions with a single well-defined entry point.
> >
> > On Wed, Dec 6, 2017 at 4:58 PM, Vaishnavi K.R <
> vaishnavi@ericsson.com>
> > wrote:
> >
> > > Hi Tal,
> > >
> > >
> > > Good that this has been considered.
> > >
> > > As all the three entities are mere python modules, it is good to have a
> > > common loading mechanism.
> > >
> > > But will there be any major change in the existing way of loading
> plugins
> > > and using the same in the service template?
> > >
> > >
> > > Thanks,
> > >
> > > /Vaish
> > >
> > > 
> > > From: Tal Liron 
> > > Sent: Wednesday, December 6, 2017 7:27:02 PM
> > > To: dev@ariatosca.incubator.apache.org
> > > Subject: Re: Loading custom workflows
> > >
> > > Great question, and it was asked very recently on this list ...
> > >
> > > There is a need for a unified way to dynamically load
> > > extensions/plugins/workflows from CSAR files as well as other places.
> We
> > > are trying to come with a good, forward-looking architectural design
> for
> > > this loading mechanism. I will provide an update on this in the next
> few
> > > days.
> > >
> > > On Wed, Dec 6, 2017 at 3:51 PM, Vaishnavi K.R <
> > vaishnavi@ericsson.com>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > >
> > > > I tried using the custom workflow support provided by ARIA.
> > > >
> > > > In the current ARIA, the custom workflows are directly imported as
> > python
> > > > modules.
> > > >
> > > > It looks like it is loading the python modules that are bundled along
> > > with
> > > > the service template in CSAR.
> > > >
> > > >
> > > > Also I could see that you have plans to load it as how the plugins
> are.
> > > >
> > > > Is anyone working on this?
> > > >
> > > > Will the workflows be packaged as wagon archives and installed?
> > > >
> > > > Will they be referred in the service template with the same
> convention
> > as
> > > > plugins?
> > > >
> > > >
> > > > Thanks,
> > > >
> > > > /Vaish
> > > >
> > >
> >
>


Re: pip executable expected as part of plugin install.

2017-12-07 Thread Vaishnavi K . R
Hi,


There is no change with regards to this in the latest code base.

The following is the error that we get when the pip executable is not found.


Validating plugin /root/testplugin-1.0-py27-none-any.wgn...

Plugin validated successfully

Installing plugin /root/testplugin-1.0-py27-none-any.wgn...

Retrieving source...

Extracting zip /root/testplugin-1.0-py27-none-any.wgn to /tmp/tmp3Q0BL2...

Source is: /tmp/tmp3Q0BL2/testplugin

[Errno 2] No such file or directory



Thanks,

/Vaish


From: Thomas Nadeau 
Sent: Sunday, December 3, 2017 2:57:22 PM
To: dev@ariatosca.incubator.apache.org
Subject: Re: pip executable expected as part of plugin install.

DJ,

If when you take a look at this, you find that it fails, please send
detailed log/output
so we can figure this out.  I don’t see any of that from the thread below.

Thx,

—Tom


On Sun, Dec 3, 2017 at 11:22 AM, Tal Liron  wrote:

> Hi DJ,
>
> A lot has changed since August. :) I wonder if you can take a look at the
> current state of master and see if things have improved with wagon
> installs?
>
> On Fri, Dec 1, 2017 at 9:22 AM, D Jayachandran <
> d.jayachand...@ericsson.com>
> wrote:
>
> > Hi Ran,
> >
> > Sorry I had missed to answer this thread. Just to answer your question
> > wagon also expects pip as a binary "/usr/bin/pip".  The above path may
> not
> > be the same for al distros of linux and when the path varies we run into
> > the issue/
> > As I already told we could probably fix this issue by using pip as
> library
> > instead of a 3PP.
> > Please let me know if we can also apply the same fix with wagon as well.
> >
> > Regards,
> > DJ
> > -Original Message-
> > From: Ran Ziv [mailto:r...@cloudify.co]
> > Sent: Sunday, August 20, 2017 12:40 PM
> > To: dev@ariatosca.incubator.apache.org
> > Subject: Re: pip executable expected as part of plugin install.
> >
> > Can you try to explain again what's the issue you're seeing with the way
> > Wagon works right now?
> > We could create a pull request for Wagon as well, but I'm not sure I
> > understand the problem at the moment.
> >
> > On Wed, Aug 16, 2017 at 6:04 PM, D Jayachandran <
> > d.jayachand...@ericsson.com
> > > wrote:
> >
> > > Even if we fix the issue in ARIA. Wagon library still uses the same
> > > logic in finding the pip path and it is wrong.
> > > Am not sure how to fix this with wagon.
> > >
> > > Regards,
> > > DJ
> > > -Original Message-
> > > From: D Jayachandran [mailto:d.jayachand...@ericsson.com]
> > > Sent: Thursday, August 03, 2017 5:00 PM
> > > To: dev@ariatosca.incubator.apache.org
> > > Subject: RE: pip executable expected as part of plugin install.
> > >
> > > Thanks Avia, I will open an issue.
> > >
> > > Regards,
> > > DJ
> > >
> > > -Original Message-
> > > From: Avia Efrat [mailto:a...@cloudify.co]
> > > Sent: Thursday, August 03, 2017 4:01 PM
> > > To: dev@ariatosca.incubator.apache.org
> > > Subject: Re: pip executable expected as part of plugin install.
> > >
> > > 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 <
> > > d.jayachand...@ericsson.com
> > > > 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
> > > >
> > >
> >
>


Re: Loading Custom Workflows from CSAR

2017-12-07 Thread Vaishnavi K . R
Hi Tal,


The loading of the python modules with python functions for workflows happens 
when the module is in PYTHONPATH.

But I could also see that, the absolute path of the resource storage with the 
service template ID is added to sys.path to make it available for python.

This facilitates the loading of modules from CSAR, provided the modules are 
present in the root directory of the CSAR.

Am I right?


Thanks,

/Vaish


From: Tal Liron 
Sent: Thursday, December 7, 2017 8:51:49 PM
To: dev@ariatosca.incubator.apache.org
Subject: Re: Loading Custom Workflows from CSAR

Actually, the current implementation does not use the CSAR: it expects that
the Python function (decorated by @workflow) would be somewhere in the
Python path, and we are currently missing a CSAR code-loading mechanism.

We do not expect the @workflow function structure to change in any way, so
I think you can feel confident about writing custom workflows in this
matter. What might change slightly in the near future is how to package the
.py file.


On Thu, Dec 7, 2017 at 2:57 PM, Steve Baillargeon <
steve.baillarg...@ericsson.com> wrote:

> Hi
> While the investigation is on-going, I need to double check what can be
> done today.
> But I guess how it is done today might change as well (?)
> Based on our analysis of the latest code base, the loading of the custom
> workflows today is from CSAR only.
> Please advise.
>
> -Steve
>
> -Original Message-
> From: Tal Liron [mailto:t...@cloudify.co]
> Sent: Tuesday, November 28, 2017 2:06 PM
> To: dev@ariatosca.incubator.apache.org
> Subject: Re: Loading Custom Workflows from CSAR
>
> Thanks, Steve. We don't have a JIRA for this right now, but we do intend
> to have a way to include "plugins" in a CSAR and have them automatically
> installed. A "plugin" is basically a Python extension to ARIA that can be
> loaded at runtime and contained per service.
>
> This is part of our current general work trying to find a good design for
> plugins generally, and will likely result in a JIRA epic with several
> issues. At this time, I don't think it's worth created this epic if we
> don't have a plan.
>
> The design will likely be inspired by the plugin design in Cloudify, from
> which we grabbed our seed code. However, there is room for some
> re-imagination especially as pertains TOSCA-specific issues.
>
> On Tue, Nov 28, 2017 at 1:01 PM, Steve Baillargeon <
> steve.baillarg...@ericsson.com> wrote:
>
> > Hi
> > As far as I know the implementation string associated with the
> > aria.Workflow type must call or execute a Python function (using the
> > dot
> > notation) that is stored in ARIA, like a plugin.
> > When will it be possible to refer to  a .py file stored in the CSAR
> > instead?
> > Do you have any Jira for this enhancement?
> >
> > Regards
> > Steve B
> >
>


Re: Loading custom workflows

2017-12-06 Thread Vaishnavi K . R
Hi Tal,


Good that this has been considered.

As all the three entities are mere python modules, it is good to have a common 
loading mechanism.

But will there be any major change in the existing way of loading plugins and 
using the same in the service template?


Thanks,

/Vaish


From: Tal Liron 
Sent: Wednesday, December 6, 2017 7:27:02 PM
To: dev@ariatosca.incubator.apache.org
Subject: Re: Loading custom workflows

Great question, and it was asked very recently on this list ...

There is a need for a unified way to dynamically load
extensions/plugins/workflows from CSAR files as well as other places. We
are trying to come with a good, forward-looking architectural design for
this loading mechanism. I will provide an update on this in the next few
days.

On Wed, Dec 6, 2017 at 3:51 PM, Vaishnavi K.R 
wrote:

> Hi,
>
>
> I tried using the custom workflow support provided by ARIA.
>
> In the current ARIA, the custom workflows are directly imported as python
> modules.
>
> It looks like it is loading the python modules that are bundled along with
> the service template in CSAR.
>
>
> Also I could see that you have plans to load it as how the plugins are.
>
> Is anyone working on this?
>
> Will the workflows be packaged as wagon archives and installed?
>
> Will they be referred in the service template with the same convention as
> plugins?
>
>
> Thanks,
>
> /Vaish
>


Loading custom workflows

2017-12-06 Thread Vaishnavi K . R
Hi,


I tried using the custom workflow support provided by ARIA.

In the current ARIA, the custom workflows are directly imported as python 
modules.

It looks like it is loading the python modules that are bundled along with the 
service template in CSAR.


Also I could see that you have plans to load it as how the plugins are.

Is anyone working on this?

Will the workflows be packaged as wagon archives and installed?

Will they be referred in the service template with the same convention as 
plugins?


Thanks,

/Vaish


Re: decoupling type definitions from CSAR

2017-11-12 Thread Vaishnavi K . R
Hi,


I agree with your points.

It is possible to load the type definitions or any files using the URL.

But in a situation where

  1.  it is not recommended to access the external repositories
  2.  for the user to be sure of what is being used

it would be good to provide an option for the user to import the type 
definitions locally and reuse it across service templates.


Thanks,

/Vaish


From: Tal Liron 
Sent: Friday, November 10, 2017 10:40:14 PM
To: dev@ariatosca.incubator.apache.org
Subject: Re: decoupling type definitions from CSAR

I'll just add that you can either use a repository or just a complete URL
in the "file" section of "imports" (or short-form, which is just the URL).

Also, obviously there is a risk in using external imports: external changes
could break existing imports. But considering the complexities of cloud
deployments, I imagine there are a lot of dependencies on external factors,
anyway...

On Fri, Nov 10, 2017 at 10:12 AM, Steve Baillargeon <
steve.baillarg...@ericsson.com> wrote:

> Hi Vaish
> I agree.
>
> We should also consider the same idea for NFV and ONAP types (as opposed
> to make them built-in).
> I suspect those types may get updated without the need to update the ARIA
> orchestrator version.
>
> Is it just a matter of allowing the admin user to load/delete type
> definitions files  into the ARIA local host and specifying the repository
> option in the import definition?
> Similar to plugins?
>
> For instance:
>
> For individually managed plugins:
> -file : plugin.yaml
>   repository: plugins
>
> For individually managed type definitions files:
> -file : typedefintion.yaml
>   repository: definitions
>
>
> Regards
> Steve B
>
>
>
>
> -Original Message-
> From: Vaishnavi K.R [mailto:vaishnavi@ericsson.com]
> Sent: Friday, November 10, 2017 6:30 AM
> To: dev@ariatosca.incubator.apache.org
> Subject: decoupling type definitions from CSAR
>
> Hi,
>
>
> With the current ARIA, in order to use the type definitions that are user
> defined, it must be imported in the Service Template. The definitions files
> are imported by specifying the relative paths in the 'imports' section.
> These type definition files can rather reside in the localhost running ARIA
> or can be made available by bundling along with the service templates in a
> CSAR. For remote executions, the latter holds good.
>
>
> However if the type definitions are so common and can be used across
> Service Templates, it becomes mandatory to include the same file in
> different CSARs.
>
>
> In order to reuse the type definitions that are common across service
> templates, it would be better to maintain the user defined type definitions
> separately and every service template can use it irrespective of their
> CSARs.
>
>
> This makes the user defined type definitions to be loaded once and the
> service templates could import it.
>
>
> I would like to know your view on this.
>
>
> Thanks,
>
> /Vaish
>


decoupling type definitions from CSAR

2017-11-10 Thread Vaishnavi K . R
Hi,


With the current ARIA, in order to use the type definitions that are user 
defined, it must be imported in the Service Template. The definitions files are 
imported by specifying the relative paths in the 'imports' section. These type 
definition files can rather reside in the localhost running ARIA or can be made 
available by bundling along with the service templates in a CSAR. For remote 
executions, the latter holds good.


However if the type definitions are so common and can be used across Service 
Templates, it becomes mandatory to include the same file in different CSARs.


In order to reuse the type definitions that are common across service 
templates, it would be better to maintain the user defined type definitions 
separately and every service template can use it irrespective of their CSARs.


This makes the user defined type definitions to be loaded once and the service 
templates could import it.


I would like to know your view on this.


Thanks,

/Vaish


Re: Unique identification of an instance element across services

2017-09-28 Thread Vaishnavi K . R
Thanks Tal.


I think many of us are not convinced with the inclusion of the UUID for element 
identification.

As of now, we have ID for the unique identification. So why should we restrict 
the users from giving duplicate names for the service templates.


I wish to confirm if anyone has a second opinion in allowing duplicate names.

If not, I can raise a JIRA issue and fix it.

Looking forward to your comments.


Thanks,

/Vaish


From: Tal Liron 
Sent: Tuesday, September 26, 2017 2:04:50 AM
To: dev@ariatosca.incubator.apache.org
Subject: Re: Unique identification of an instance element across services

DeWayne, I think you missed parts of this discussion where we answered some
these issues:

1) ARIA *does* allow you configure you choice of ID generation, and I agree
it can be an integration requirement. (We have a JIRA open to give this
configuration a CLI.)
2) ARIA has a choice of UUID formats beyond the very long 36-character hex.
Base57 is 22 characters and designed for human readability.
3) All the costs you mention seem very negligible to me. ARIA's database
storage is tiny. UUID generation happens only when new nodes are created,
and is many orders of magnitude faster than storing anything in a database.

It doesn't easy to resolve this issue, as there are two camps here. But I'm
very convinced that Vaish and I are correct here. :) Node (and service)
names in the real world are used for other systems beyond ARIA once the
nodes are installed: names become domain names linked to IP addresses,
names of operating system services, registration IDs for message queues,
analytics IDs, etc. For all of these a collision is disastrous, and Vaish
is right that if it's set up initially by ARIA there is no need to do
anything else.

The only possible user discomfort is in using the "aria nodes show", which
frankly is a command that I have never even used myself. As for logs, in
any install that has more than one service you will be filtering by
workflow ID or service ID anyway.

Also, in case there was any confusion: we are talking about node names
here, not database IDs. The database IDs are entirely handled within the
database and are obviously unique only per table and per installation of
ARIA. The "name" is an extra column that is uses out in the real world.

If this will have to come to a vote among committers, I will absolutely
advocate UUIDs by default, and a preference for base57 format. I would
consider any other kind of default to be broken for real world cloud
orchestration, and I would be very worried if ARIA is to be broken out of
the box.


On Thu, Sep 21, 2017 at 11:09 AM, DeWayne Filppi 
wrote:

> IMHO, obviously UUIDs "work", in the sense that they are "universally
> unique" and therefore make collisions unlikely.  On the other hand, they
> are "universally unique", which includes time and space.  There is a cost
> to that, and it is the ridiculous number of bits used (IOW they are
> insanely inefficient).  That has a cost both in storage and readability..
> Also, unless there is a way to mathematically map the UUID to the table
> index it refers to, the UUID will have to be in the database, and therefore
> the database will be exposed to the user.  Besides bulk, the UUID gets
> exposed in logs ( and occasionally in the CLI ), which just creates a mess
> and eats storage.   So UUIDs work, but are a last resort, IMO.  Has anyone
> put any thought into a structured ID?  Structured IDs are far more useful
> and user friendly (readable) and potentially compact.  I think it would be
> good to at least exhaust alternatives before resorting to UUIDs.  Another
> option is just to punt, make user exposed ID generation pluggable, and
> provide a default implementation (or two).  This would allow consumers to
> use their own ID formats, which might be an integration requirement.
>
> --DeWayne
>
> On Thu, Sep 21, 2017 at 4:25 AM, Vaishnavi K.R  >
> wrote:
>
> > Hi,
> >
> >
> > Yes. You are correct. IDs remain unique across the table.
> >
> > Usually the IDs in the database are used for the internal operations.
> >
> > In general, they need not be exposed to the user. It is more used by the
> > application itself.
> >
> >
> > That's why it would be better to have an UUID which is specially meant to
> > be used by the user. And also in the large scale environments, where huge
> > number of service templates and instances pour in, they could have
> uniform
> > identification IDs rather than incremental numbers.
> >
> >
> > And about allowing duplicate names for the service templates and service
> > instances, it is MUST to have it. In multi user and multi tenant
> > applications, the probability of getting the duplicate names is high. So
> > its better to handle it in the initial phase itself.
> >
> >
> > So I would like to know your suggestion and comment on the following
> three
> > items,
> >
> >
> >   1.  Allowing duplicate names for the service templates and service
> > i

Re: Unique identification of an instance element across services

2017-09-21 Thread Vaishnavi K . R
Hi,


Yes. You are correct. IDs remain unique across the table.

Usually the IDs in the database are used for the internal operations.

In general, they need not be exposed to the user. It is more used by the 
application itself.


That's why it would be better to have an UUID which is specially meant to be 
used by the user. And also in the large scale environments, where huge number 
of service templates and instances pour in, they could have uniform 
identification IDs rather than incremental numbers.


And about allowing duplicate names for the service templates and service 
instances, it is MUST to have it. In multi user and multi tenant applications, 
the probability of getting the duplicate names is high. So its better to handle 
it in the initial phase itself.


So I would like to know your suggestion and comment on the following three 
items,


  1.  Allowing duplicate names for the service templates and service instances
  2.  Appending UUID to the node instances
  3.  Identifying the service templates and the service instances by UUIDs (not 
appended to their names, because that might confuse the user when a list of 
items are scrolled on)


Thanks,

/Vaish


From: Ran Ziv 
Sent: Monday, September 18, 2017 4:25:57 PM
To: dev@ariatosca.incubator.apache.org
Subject: Re: Unique identification of an instance element across services

The service name is optional - it may be auto-generated according to the
service-template name.

The service-template name can also be made optional (see this jira issue:
https://issues.apache.org/jira/browse/ARIA-221 ).


Regarding the scenario of non-CLI interaction - for any non-human usage,
IDs should be used, as they're guaranteed to be unique. I don't see why
UUIDs are necessary in this case.


On Mon, Sep 18, 2017 at 9:22 AM, Vaishnavi K.R 
wrote:

> Hi All,
>
>
> In addition to the node instance name, I am concerned about the service
> template name and the service instance names. In a wider perspective, there
> is high chance for these names to be the same.
>
>
> And as I have already mentioned in previous discussion, its an overhead
> for an user to change the name again and again when he encounters the
> 'already exist' error.
>
>
> And also when ARIA is used as a TOSCA Orchestration service provider,
> manual interaction via CLI won't happen. All operations could be performed
> over the HTTP calls. In such scenerio, it would be great and very much
> useful, if elements are queried or identified using the UUID.
>
>
> So I see the uniqueness should prevail across the elements like service
> templates, service instances and node instances.
>
>
> Thanks,
>
> /Vaish
>
> 
> From: Ran Ziv 
> Sent: Saturday, September 16, 2017 12:12:22 AM
> To: dev@ariatosca.incubator.apache.org
> Subject: Re: Unique identification of an instance element across services
>
> I can't seem to be able to access our JIRA at the moment, but generally
> speaking, the CLI currently supports "static completion" only, i.e. it
> auto-completes CLI commands but not object names.
> We tried implementing dynamic completion (e.g. tab on "-s" would
> auto-complete service names from the storage), but we ran into some issues
> with the underlying Click framework.
> I'm not sure if an issue for trying to implement this further is currently
> open on our JIRA.
>
> Regarding a "partial hash" concept, I don't really find this to be useful
> in this case. IMO, as Tal's mentioned, the cases when you need to actually
> use these auto-generated long names are rare, and when that happens,
> dynamic completion can take care of it well, if we can get it done.
>
>
>
> On Fri, Sep 15, 2017 at 9:04 PM, Thomas Nadeau 
> wrote:
>
> >
> > > On Sep 15, 2017, at 1:53 PM, Tal Liron  wrote:
> > >
> > > When do you actually have to ender node names? Probably only in "aria
> > nodes
> > > show". And in those cases you would be copy-pasting from a list. We
> could
> > > also improve our CLI completion code to properly complete node IDs.
> >
> > That sounds like a very useful enhancement.  Do we have a Jira
> for
> > this yet? *)
> >
> > > I think the serial numbers are more confusing than helpful. Let's say
> you
> > > currently have 20 difference services running, and they are of various
> > > different service templates. But let's say a few service templates have
> > > node templates with the same name, "database". You could potentially
> > > "database_1" in the list and "database_2", but each one of these nodes
> > > would be of a different node template of a different service template.
> > The
> > > serial number gives the false sense that these two nodes are somehow
> > > together. Anyway, we discussed this in much detail already: we all
> agree
> > > that the serial system is totally broken if you're using more than ARIA
> > > install, or even if a few different ARIA users are using the same cloud
> > > accounts (each ARIA install could create its

Re: Unique identification of an instance element across services

2017-09-17 Thread Vaishnavi K . R
Hi All,


In addition to the node instance name, I am concerned about the service 
template name and the service instance names. In a wider perspective, there is 
high chance for these names to be the same.


And as I have already mentioned in previous discussion, its an overhead for an 
user to change the name again and again when he encounters the 'already exist' 
error.


And also when ARIA is used as a TOSCA Orchestration service provider, manual 
interaction via CLI won't happen. All operations could be performed over the 
HTTP calls. In such scenerio, it would be great and very much useful, if 
elements are queried or identified using the UUID.


So I see the uniqueness should prevail across the elements like service 
templates, service instances and node instances.


Thanks,

/Vaish


From: Ran Ziv 
Sent: Saturday, September 16, 2017 12:12:22 AM
To: dev@ariatosca.incubator.apache.org
Subject: Re: Unique identification of an instance element across services

I can't seem to be able to access our JIRA at the moment, but generally
speaking, the CLI currently supports "static completion" only, i.e. it
auto-completes CLI commands but not object names.
We tried implementing dynamic completion (e.g. tab on "-s" would
auto-complete service names from the storage), but we ran into some issues
with the underlying Click framework.
I'm not sure if an issue for trying to implement this further is currently
open on our JIRA.

Regarding a "partial hash" concept, I don't really find this to be useful
in this case. IMO, as Tal's mentioned, the cases when you need to actually
use these auto-generated long names are rare, and when that happens,
dynamic completion can take care of it well, if we can get it done.



On Fri, Sep 15, 2017 at 9:04 PM, Thomas Nadeau 
wrote:

>
> > On Sep 15, 2017, at 1:53 PM, Tal Liron  wrote:
> >
> > When do you actually have to ender node names? Probably only in "aria
> nodes
> > show". And in those cases you would be copy-pasting from a list. We could
> > also improve our CLI completion code to properly complete node IDs.
>
> That sounds like a very useful enhancement.  Do we have a Jira for
> this yet? *)
>
> > I think the serial numbers are more confusing than helpful. Let's say you
> > currently have 20 difference services running, and they are of various
> > different service templates. But let's say a few service templates have
> > node templates with the same name, "database". You could potentially
> > "database_1" in the list and "database_2", but each one of these nodes
> > would be of a different node template of a different service template.
> The
> > serial number gives the false sense that these two nodes are somehow
> > together. Anyway, we discussed this in much detail already: we all agree
> > that the serial system is totally broken if you're using more than ARIA
> > install, or even if a few different ARIA users are using the same cloud
> > accounts (each ARIA install could create its own "database_1" -- what if
> > you have two hosts with that same DNS name?).
>
> I was just going to say the point you made above about DNS name
> overlap.
> It sounds like we need to sit down and re-visit the serial number
> management?
>
> —Tom
>
>
> >
> >
> > On Fri, Sep 15, 2017 at 12:35 PM, DeWayne Filppi 
> > wrote:
> >
> >> I get the feeling that you are more gifted typist than most.  Or are you
> >> saying nobody will ever be required to type in one those IDs?
> >>
> >> On Fri, Sep 15, 2017 at 9:27 AM, Tal Liron  wrote:
> >>
> >>> Before we allow users to configure this, we have another JIRA to
> resolve:
> >>> actually, we don't have a mechanism for storing configuration yet! Here
> >> is
> >>> the open JIRA:
> >>>
> >>> https://issues.apache.org/jira/browse/ARIA-229
> >>>
> >>> As for what to configure in this case, our practice until now was that
> >> the
> >>> UUID would be added as an underscored postfix of the object's name. So
> if
> >>> you have a node template named "database" then node instances could be,
> >>> assuming longest form of UUID (alphanumeric, 36 characters):
> >>>
> >>> database_2d79fd86-0877-49ca-81d8-cd2dc9f7b0e2
> >>> database_2819972e-3b07-4923-be94-43e95985155f
> >>> database_45b9faf5-8bf4-482a-a570-d1c058270424
> >>>
> >>> This guarantees names that are universally unique and yet still
> >> meaningful:
> >>> you would be able to tell at a glance what kind of node this is: a
> >>> database. Note that we also have a mechanism in place to warn you if
> the
> >>> final name is more than 63 characters, because such names can't be used
> >> as
> >>> DNS hostnames (a common usage for node names in the cloud). This should
> >>> also be configurable.
> >>>
> >>> I don't see why this needs to be abstracted from the user. If you are
> >> using
> >>> the CLI and see the list of nodes, you can refer to the node you are
> >>> examining with the full name as seen above. I think having a separate
> UI
> >>> name s

Property type 'null' validation issue

2017-09-17 Thread Vaishnavi K . R
Hi,


I tried using the 'null' property type as mentioned in the TOSCA simple YAML 
1.0 specification. I get the validation issue saying that the datatype 
specified in the service template is an unknown datatype.


I just surfed through the code and found that 'null' is considered as one of 
the primitive datatypes. But when it is validated if its a primitive datatype, 
a class object of Null() is passed as a value. The validation fails as it 
expects a string value of 'null'.


Is this a known issue? Do we have a JIRA item opened for this?




Thanks,

/Vaish


Re: Unique identification of an instance element across services

2017-09-15 Thread Vaishnavi K . R
Hi,


Thanks for the update.


With current ARIA, the utility module to generate the UUID is available. But 
the UUID support will also mandate the following changes if my understanding is 
right,

  1.  the inclusion of the UUID column in the mapper classes of sqlalchemy
  2.  the model object created should set the value for the UUID and send it to 
database

For an use case in our product, we badly need this UUID based element 
identification. So I look forward to your comments on the following,


  1.  We contribute the UUID support to ARIA without affecting the current CLI 
module i.e. CLI will continue to use the name option. The UUID will be 
completely abstracted from the user.
  2.  Configurable option to use UUID or name based identification. By default, 
it will work with the name based identification

Also I need clarification on the UUID generation. Currently ARIA supports four 
variants. Do we have any standard on how this UUID should be and also on what 
aspect these four variants are concluded on?


Thanks,

/Vaish


From: Tal Liron 
Sent: Tuesday, September 5, 2017 8:24:41 PM
To: dev@ariatosca.incubator.apache.org
Subject: Re: Unique identification of an instance element across services

We already have utility code to generate all kinds of UUIDs, so it's
trivial to make the change. I guess it's just a matter of making a
decision...

On Tue, Sep 5, 2017 at 3:57 AM, Vaishnavi K.R 
wrote:

>
> Hi,
>
> I agree that with the CLI based usage in ARIA, the requirement of the UUID
> based identification of the node and service instance elements is an
> overhead.
>
> From the discussions so far, it seems like UUID is important in handling
> the multi-user and multi-tenant scenarios.
>
> Do you have any update on when UUID will be considered in the roadmap?
> If its not too far, we would like to make our contribution to ARIA on UUID.
>
> Looking forward to your response.
>
>
> Thanks,
>
> /Vaish
>
> 
> From: Avia Efrat 
> Sent: Sunday, July 30, 2017 10:35:45 PM
> To: dev@ariatosca.incubator.apache.org
> Subject: Re: Unique identification of an instance element across services
>
> 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 <
> vaishnavi@ericsson.com>
> 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 

Re: Unique identification of an instance element across services

2017-09-05 Thread Vaishnavi K . R

Hi,

I agree that with the CLI based usage in ARIA, the requirement of the UUID 
based identification of the node and service instance elements is an overhead.

>From the discussions so far, it seems like UUID is important in handling the 
>multi-user and multi-tenant scenarios.

Do you have any update on when UUID will be considered in the roadmap?
If its not too far, we would like to make our contribution to ARIA on UUID.

Looking forward to your response.


Thanks,

/Vaish


From: Avia Efrat 
Sent: Sunday, July 30, 2017 10:35:45 PM
To: dev@ariatosca.incubator.apache.org
Subject: Re: Unique identification of an instance element across services

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

Re: TOSCA spec compliance on finding target node

2017-08-06 Thread Vaishnavi K . R
Hi,


I tried the following combinations in my service template,

  1.  Type definition with capability type alone but node template having any 
of the following,
 *   capability type alone
 *   capability name alone
 *   node type alone
 *   node name alone
 *   capability name and node name
 *   capability name and node type
 *   capability type and node type
 *   capability type and node type
  2.  Type definition with capability type and node type
 *   capability type alone
 *   capability name alone
 *   node type alone
 *   node name alone
 *   capability name and node name
 *   capability name and node type
 *   capability type and node type
 *   capability type and node type

As per the TOSCA specification, the above are valid combinations.

Will ARIA support all the above ?? If so, we wish to contribute.

Looking forward to your comment.



Thanks,

/Vaish


From: Tal Liron 
Sent: Tuesday, July 25, 2017 10:03:18 PM
To: dev@ariatosca.incubator.apache.org
Subject: Re: TOSCA spec compliance on finding target node

It indeed should *not* be required. I just verified that it you are
correct, and a match is not made if only the capability is specified
without a node type/template.

This is a regression, because it used to work correctly.

There is currently work in progress to refactor that mechanism, so I will
add a test case to make sure the regression is fixed.

See my test case and follow progress here:
https://issues.apache.org/jira/browse/ARIA-174

On Tue, Jul 25, 2017 at 3:28 AM, Vaishnavi K.R 
wrote:

> Hi ARIA folks,
>
>
> I had a look at the source code of ARIA on how the target node is
> identified based on the requirement and capability information furnished in
> the node template and its corresponding node type. But I find that only few
> of the combinations are supported i.e., as per the TOSCA spec, in the
> requirement section of a node template, the 'node' option is not mandatory,
> but ARIA expects that to be present.
>
>
> In my use-case, my node template has a requirement on a node which has a
> particular capability. So I just specify the capability type in my node
> template under the requirement section. As ARIA expects the 'node' option
> to be present, this use-case fails.
>
>
> So I wish to get clarified is there any specific reason for mandating the
> 'node' option or if TOSCA spec compliance on this target identification
> based on the capability name or type will be supported in the future
> versions?
>
>
> Thanks,
>
> /Vaish
>


Re: Unique identification of an instance element across services

2017-07-27 Thread Vaishnavi K . R
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 determining the next index is not concurrently safe
> (no
> > > > atomic
> > > > > transaction) so I can see it breaking in concurrent use cases
> > (running
> > > > two
> > > > > ARIA commands at the same time).
> > > > >
> > > > > What is to gain here in terms of human readability? In my opinion
> it
> > > adds
> > > > > confusion because it gives a false sense of predictability.
> > > > >
> > > > > In my opinion the best compromise is to use base57-encoded UUIDs.
> > These
> > > > are
> > > > > true UUIDs, but use a mix of upper and lowercase alphanumerics
> > ensuring
> > > > no
> > > > > visually ambiguous characters. We have the code for this in
> > > > utils/uuid.py.
> > > > >
> > > > > See also: https://github.com/wyattisimo/base57-ruby
> > > > >
> > > > > On Tue, Jul 25, 2017 at 1:28 PM, Maxim Orlov 
> > > wrote:
> > > > >
> > > > > > Actually the refactoring was made so the id would be more user
> > > > readable.
> > > > > > The index is determined according to the used indices (it's not
> > just
> > > a
> > > > > > running number). If indeed this poses an issue (or if indeed a
> uuid
> > > is
> > > > > > easier to recognize, or even use in a 

Unique identification of an instance element across services

2017-07-25 Thread Vaishnavi K . R
Hi,


With my understanding in current ARIA, the node instances are made unique by 
prefixing the node name with the 'id of the service' (i.e. the primary key of 
the service table) as the instances are specific to the service.


What will be the name of the node instances if the default instances for the 
node template is '3' and how this will hold good during scale in and out?


Could UUID be of great help in handling such cases by including that as a 
column in the database tables of the service and the node?

This will wipe out the naming confusions and querying can be made easy with the 
UUIDs.


Looking forward to your suggestion.


Thanks,

/Vaish


TOSCA spec compliance on finding target node

2017-07-25 Thread Vaishnavi K . R
Hi ARIA folks,


I had a look at the source code of ARIA on how the target node is identified 
based on the requirement and capability information furnished in the node 
template and its corresponding node type. But I find that only few of the 
combinations are supported i.e., as per the TOSCA spec, in the requirement 
section of a node template, the 'node' option is not mandatory, but ARIA 
expects that to be present.


In my use-case, my node template has a requirement on a node which has a 
particular capability. So I just specify the capability type in my node 
template under the requirement section. As ARIA expects the 'node' option to be 
present, this use-case fails.


So I wish to get clarified is there any specific reason for mandating the 
'node' option or if TOSCA spec compliance on this target identification based 
on the capability name or type will be supported in the future versions?


Thanks,

/Vaish