From: Imesh Gunaratne [mailto:[email protected]]
Sent: 14 May 2015 16:04
To: dev
Cc: Reka Thirunavukkarasu; Dakshika Jayathilaka; Martin Eppel (meppel)
Subject: Re: [Discuss] Fixing Comma Separated Dependency JSON Definitions

Hi Shaheed,

On Tue, May 12, 2015 at 10:01 PM, Shaheedur Haque (shahhaqu) 
<[email protected]<mailto:[email protected]>> wrote:
Let me come to the alias part in a moment, because I have thought about that 
last night ☺.

The question I posed might be phrased like this:

•        My expectation is that startup orders were originally meant to be 
expressed as pairwise relationships.
Not exactly, we initially implemented them as a collection of lists, not as a 
collection of pairs. May you understood it differently.

[SRH] OK, it is not pairs, but you have not actually described the expected 
semantics. Is it that, as Martin guessed, that you require a set of walked 
paths which represent the DAG? Or something else? That is what we need to know!

•        So, I don’t understand the significance of the first part of your 
example (highlighted in red below).

o   Is the idea that this is saying “start oracle1, then cassandra1 and then 
tomcat1”?
It starts instances in the following order:
oracle1 -> cassandra1 -> tomcat1
             -> redis1

Oracle1 starts first, then cassandra1 and redis1 are started in parallel, once 
cassandra1 is started, tomcat1 is started.

The question about aliases is an interesting one. As you know, I disagree with 
the idea that aliases are used instead of the basic name in these constructs 
because from a user’s point of view, s/he only cares about the original names. 
AFAICS, aliases are a manifestation of the internal implementation of Stratos 
and do not belong in the public JSON. To the extent that they are already 
there, and already used for other stuff, does not justify proliferating their 
use.

IMO we cannot use cartridge types and group names here because they can be 
reused in the same application multiple times. That's why we have used aliases 
for specifying the startup order.

[SRH] Not at all. First, the rules are scoped to a single level and second, any 
clash between cartridges and groups is protected by the “cartridge.” and 
“group.” prefixes. Again, I see no value to the user in exposing aliases: if 
Stratos needs them, it can and should generate them internally.

Even if you argue that “one day”, we might have a need for references which 
span levels, then the correct way to do that would be to traverse the hierarchy 
of names and not resort to these globally-unique aliases.


Thanks
Imesh

Reply via email to