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
