+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 <ud...@wso2.com> 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/>*
>
>
>

Reply via email to