+1 Yeah I think it should be a json array. IMO we can use mygroup1.mygroup1mysql1 sort of a naming for identify the dendencies as it improves the readability of the alias.WDYT?
Thanks, Gayan On Friday, October 3, 2014, Isuru Haththotuwa <[email protected]> wrote: > +1 for the general idea, can we come up with the better name for > 'metaInfoAlias'? Just my opinion, it seems misleading to me. How about > 'dependencyAliases' ? And note that it should actually be an array, since > there can be a one-to-many relationship. > > On Fri, Oct 3, 2014 at 3:32 PM, Udara Liyanage <[email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote: > >> >> Hi, >> >> According to the new metadata services usage, some instances send its >> details to the metadata service so interested parties can retrive the >> details from the metadata service. Party which gets the details should know >> from which details it needs to retrive. For instance, PHP should get >> details published by MySQL. So there should be a mechanism PHP instances >> should know from which details it needed. Earlier plan was to CC or AS >> publish dependent details to the metadata service. PHP depends on MySQL. SO >> within PHP instance, it can get its dependencies from the metadata service >> and then get the relavent details. >> However it is simple AS or CC does not publish dependency or any other >> details to the metadata service, only service instances publish ang query >> data from the metadata service. AS an example, MySQL publish its >> details(host,ip, password) to metadata service with its alias and PHP >> retrive the details using the alias. Then the issue is how PHP instances >> know which details to retrive. There may be multiple MySQL cartridges in an >> application. >> This can be done by specifying the alias from which it needs to get data >> from. Consider the application definition mentioned below. There MySQL has >> the alias mygroup1mysql. In subscribale info of the PHP, I have introduced >> another variable(metaInfoAlias) to specify from where to get the details. >> Even in cases where there are multiple MySQL cartridges are mentioned in >> the application definition hirachy, PHP instance know from where to get its >> metadata. >> >> Ex: >> "metaInfoAlias":"mygroup1mysql" >> >> >> { >> "applicationId": "test_app_1", >> "alias": "mytestapp1", >> "components": { >> "groups": [ >> { >> "name": "group2", >> "alias": "mygroup2", >> "deploymentPolicy": "dep_policy_group2", >> "autoscalingPolicy": "autoscale_policy_group2", >> "subscribables": [ >> { >> "type": "php", >> "alias": "mygroup2php", >> >> } >> ], >> "subGroups": [ >> { >> "name": "group1", >> "alias": "mygroup1", >> } >> ], >> }, >> { >> "name": "group1", >> "alias": "mygroup1", >> "deploymentPolicy": "dep_policy_group1", >> "autoscalingPolicy": "autoscale_policy_group1", >> "subscribables": [ >> { >> "type": "mysql", >> "alias": "mygroup1mysql", >> }, >> ], >> >> }, >> ] >> }, >> "subscribableInfo": [ >> { >> "alias": "mygroup1mysql", >> "deploymentPolicy": "dep_policy_mysql", >> "autoscalingPolicy": "autoscale_policy_mysql" >> }, >> { >> "alias": "mygroup2php", >> *"metaInfoAlias":"mygroup1mysql"* >> "deploymentPolicy": "dep_policy_php", >> "autoscalingPolicy": "autoscale_policy_php", >> "repoURL": "www.mygit.com/php.git", >> "privateRepo": "true", >> "repoUsername": "admin", >> "repoPassword": "xxxx" >> } >> ] >> } >> -- >> >> Udara Liyanage >> Software Engineer >> WSO2, Inc.: http://wso2.com >> lean. enterprise. middleware >> >> web: http://udaraliyanage.wordpress.com >> phone: +94 71 443 6897 >> >> -- >> Thanks and Regards, >> >> Isuru H. >> +94 716 358 048* <http://wso2.com/>* >> >> >> * <http://wso2.com/>* >> >> >> -- Best Regards, Gayan Gunarathne Technical Lead WSO2 Inc. (http://wso2.com) email : [email protected] | mobile : +94 766819985
